HSP - Hot Soup Processor [14]
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/12/09(土) 22:35:08ID:E0eCgjhQ.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
0491名前は開発中のものです。
2007/02/26(月) 21:09:27ID:I1DVp87Uムチャクチャ言うとるw
だからTSS使えと
0492名前は開発中のものです。
2007/02/26(月) 22:17:32ID:PGtAGC7+HSPの話題ないのかね
0493名前は開発中のものです。
2007/02/26(月) 22:53:47ID:oDJiOUFE0494名前は開発中のものです。
2007/02/27(火) 01:26:41ID:sv8ON4Xoと妥協気味なんだが。
0495名前は開発中のものです。
2007/02/27(火) 04:16:21ID:sv8ON4Xo0496名前は開発中のものです。
2007/03/02(金) 17:27:06ID:RL8xs1BYレストンクス
cnt+1はそういうことだたのかー。
あの時はcntがどこにかかっているのかまだ良くわかってなかった。
でも これは (cnt+1/43)^(cnt+1) ってことで
確率としてはよっぽどと思うけど、
プログラマからすると高い方なんだろうか。
組んで計算してみようかと思ったけど、累乗してくれる命令が見つからない。
a=はフラグなのね。なるほどね。フラグってそうやって表すんか。
別のプログラムでこのやり方使ってうまくいった。勉強になりました。
>470-471
ようやっと仕組みがわかった。これも凄いな。
こういう発想は慣れればすぐ出てくるものなのかとただただ感心。
でもそれだけじゃ悔しいのであえていうと、
ロト6にゼロはないから、 a(cnt)=cnt+1にシル。
0497名前は開発中のものです。
2007/03/02(金) 21:45:03ID:nNF0epL2アクセス権限がありません
とかで見れない・・・俺だけ?
0498名前は開発中のものです。
2007/03/02(金) 22:49:20ID:5hSvgbhg……何かやらかしたんじゃないだろうなw
0499名前は開発中のものです。
2007/03/02(金) 22:52:48ID:xch9HBdf俺は開ける
ついこの前開発wikiが
>07/02/28から07/03/01までの間アクセスできない状態が続きました。原因はスパムによる高負荷だったようです。
だったみたいだから
そのうち繋がるんじゃね?
0500名前は開発中のものです。
2007/03/03(土) 08:16:02ID:/ZMyxF+Oところで、
装備品やアイテムのパラメータがExcelで管理できたら
製作者的に便利だと思ったんですが、
HSPとのやりとりは難しいですかね・・・?
今はnote命令でやってるんですが視認性があまり良くなくて・・・
0501名前は開発中のものです。
2007/03/03(土) 11:47:02ID:b1MKL1pP本格的なxsl形式対応は難しくても、csvなら簡単じゃね?
まあ何をどういう感じにしたいのかは知らんが。
0502名前は開発中のものです。
2007/03/03(土) 12:28:23ID:WpAkZHyn今はどんな感じに(noteで読んでる)ファイル作ってる?
0503名前は開発中のものです。
2007/03/03(土) 13:18:13ID:a544u/75screen で作成したWindowを、HSPスクリプトディタみたく、
最大化ボタンを追加し、起動時に最大化を行う
(ただしタスクバーと重ならないように)
ようにする方法があれば教えてください。
Wikiの過去ログで最大化ボタンを追加する方法がありましたが、
タスクバーの後ろに画面が重なったり、
プログラム実行時、自動的に最大化する方法がわかりませんでした。
0504名前は開発中のものです。
2007/03/03(土) 13:21:58ID:/ZMyxF+O;武器データの例(各0行目=インデックス=武器ID)
;10行目;ファイル名,アイテム名,材質
;11行目;アイテムの説明
;12行目;損壊後ID,耐久度,重量
;13行目;切断力,刺突力,衝撃力
;14行目;対切,対刺,対衝
;15行目;切,穿,打
;16行目;構えN,構えT,構えW
;17行目;持易N,持易T,持易W
;18行目;価格,汎/重
;19行目;欠番(改行だけを入れる)
Excelだとフィルタとか使えてアイテム間のバランス調整が楽だなあと思いまして
0505名前は開発中のものです。
2007/03/03(土) 14:07:38ID:WpAkZHyn#uselib "user32.dll"
#func ShowWindow "ShowWindow" int, int
// BOOL ShowWindow(
// HWND hWnd, // ウィンドウハンドル
// int nCmdShow // 表示状態
// );
#func SetWindowLong "SetWindowLongA" int, int, int
// LONG SetWindowLongA(
// HWND hWnd, // ウィンドウハンドル
// int nIndex, // 変更するデータの指定
// LONG dwNewLong // 新しい値
// );
#func SetWindowPos "SetWindowPos" int, int, int, int, int, int, int
// BOOL SetWindowPos(
// HWND hWnd, // ウィンドウのハンドル
// HWND hWndInsertAfter, // 配置順序のハンドル
// int X,int Y,int cx,int cy, //位置と大きさ
// UINT uFlags // ウィンドウ位置のオプション
// );
#define GWL_STYLE -16
#define WS_OVERLAPPEDWINDOW 0x00CF0000
#define SW_SHOWMAXIMIZED 3
#define SWP_FRAMECHANGED 0x0020
screen 0,ginfo_dispx,ginfo_dispy,0,,,640,480
SetWindowLong hwnd, GWL_STYLE, WS_OVERLAPPEDWINDOW
ShowWindow hwnd, SW_SHOWMAXIMIZED
SetWindowPos hwnd, 0, ginfo_wx1, ginfo_wy1, ginfo_dispx, ginfo_dispy, SWP_FRAMECHANGED
とりあえず作ったぜ?最大化はこんな感じ?
で、タスクバーが重ならないのはフルスクリーンではないのか?
0506503
2007/03/03(土) 14:33:02ID:a544u/75早い回答ありがとうございます。
>>505の内容を新規作成で実行しましたが、ウィンドウがちらっと見えて速攻落ちました。
ちなみにこちらで作ってみたのを下に書いてみます。
screen 0,10,10,2
sz_w = ginfo(20)
sz_h = ginfo(21)
screen 2,sz_w,sz_h,,0,0
cls 4
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#uselib "user32.dll"
#cfunc GetWindowLong "GetWindowLongA" int,int
#func SetWindowLong "SetWindowLongA" int,int,int
#const GWL_STYLE -16
#const WS_MAXIMIZEBOX 0x00010000
ws = GetWindowLong( hwnd, GWL_STYLE ) //ウインドウスタイル取得
ws = ws | WS_MAXIMIZEBOX //最大化ボタン表示フラグを追加
SetWindowLong hwnd, GWL_STYLE, ws //ウインドウスタイルを再設定
gsel 2,-1 : gsel 2,1 // [最大化ボタン]再描画のため
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
>で、タスクバーが重ならないのはフルスクリーンではないのか?
フルスクリーンというのは、↓こんなのですか?
;$$$$$$$$$$$$$$$$$$$$$$
bgscr 2,ginfo(20),ginfo(21),,0,0
cls 4
;$$$$$$$$$$$$$$$$$$$$$$
というより、やりたかったのは最大化ボタンで最大化するとタスクバーを避けた範囲で最大化し、
タスクバーの高さをちょこちょこいじっても、追従してウィンドウの下枠が移動してくれるのです。
0507名前は開発中のものです。
2007/03/03(土) 14:46:03ID:WpAkZHyn落ちたっすかwwwwwwサーセンwwwwwww
そのままコピペして全角スペース残って無いだろうな?#defineの所。もし、そうならプロセスが残ってるはずだ
>フルスクリーン
そんなの
>追従してウィンドウの下枠が移動
そのスクリプトでその通りに動いてるが?というかWindowsが勝手にやってね?
0508506
2007/03/03(土) 14:54:53ID:a544u/75もうしわけございません。//の行をそのままやってました。
ちゃんと整理すると思い描いていたとおりの動きで感激です。
かなり嬉しいです。どうも。
0509名前は開発中のものです。
2007/03/03(土) 19:32:20ID:Ia/P8ltl見吉ィぃぃぃぃいぃぃ!!!!
0510名前は開発中のものです。
2007/03/04(日) 17:15:14ID:wznVdj4Vしてみたのですが、HSP3ではエラーになってしまいます。
ソースコンバータ(HSP2をHSP3に変換してくれる)にかけたのですがサーバ側は問題
ないのですが、Client側でエラーが出てしまいます。
85|*main
86| tcpfail soc
87| if stat : tcpclose soc : dialog "接続が切断されました!",1 : end
88| tcpgetl buf,1024,soc
89| if stat : gosub *recv
90| instr a,msg,"\n"
91| if a!-1 : gosub *send
92| wait 1
93| goto *main
line89がエラーと出るのですが、どうしたらいいでしょうか? 教えてください
0511名前は開発中のものです。
2007/03/04(日) 17:42:38ID:S2R5w3OYソースコンバータを過信しすぎだな。
HSP3.1b7で実行すれば、エラーメッセージに原因が表示されるぞ。
0512名前は開発中のものです。
2007/03/04(日) 18:57:05ID:YMvgADvJ05131
2007/03/05(月) 00:21:04ID:6FToFsADinstrを関数にしたいのですが、例えばa=instr(p1,p2,"string")ですよね?
このa=のaの部分を何にすればいいのかわかりません;;
>>511
早速DLしてきて試してみます! ありがとうございます ペコリ
0514名前は開発中のものです。
2007/03/05(月) 00:26:34ID:ao1dJWkiヘルプ見ろって・・・
>instr(p1,p2,"string")
>p1=変数名 : 検索される文字列が格納されている文字列型変数名
>p2=0〜(0) : 検索を始めるインデックス
>"string" : 検索する文字列
これでインデックス(自然数)が返ってくる。無ければ-1が返ってくる
05151
2007/03/05(月) 00:34:38ID:6FToFsADすみません;; 本気でわからないのですが、instr(a,msg,"\n")では
パラメータ式の記述が無効です。
ってなります;;
0516名前は開発中のものです。
2007/03/05(月) 00:35:14ID:6FToFsAD0517名前は開発中のものです。
2007/03/05(月) 00:48:28ID:ao1dJWkiC言語とかだと有効だけど、HSPでは関数の戻り値を入れる変数が必要
つまり、index=instr(a,msg,"\n")みたいな感じで。
というか、戻り値使わないと関数を実行する意味無くね?
0518名前は開発中のものです。
2007/03/05(月) 01:10:21ID:6FToFsADinstrでmsgから"\n"改行?を探してるのかな?ってぐらいにしかわからないです;;
0519名前は開発中のものです。
2007/03/05(月) 01:36:15ID:6FToFsADですが、これで実行してみるとチャット欄にhelloって文字を打ちエンター押すと
10行ぐらいhelloってずらずら続いてしまいます・・・・
やはり違うのかな・・・・
0520名前は開発中のものです。
2007/03/05(月) 02:07:49ID:ao1dJWkiこれでmsgの中身をインデックス0(1文字目)から検索して"\n"があるインデックスがindexに入る
例 : msg = "hello\n"の時
6文字目にあるのでindexには5が入る。
0521名前は開発中のものです。
2007/03/05(月) 02:11:49ID:6FToFsADはい、そこまではわかりました。 でも、こんどはメッセージを送信したときに
メッセージがずらずら〜っといっぱい出てきてしまいます;;
Test17>test
Test17>test
Test17>test
Test17>test
Test17>test
こんな感じです;;
もう、思いつく限りの関数はHSP3用に直したのですが・・・;;
原因がさっぱりです
0522名前は開発中のものです。
2007/03/05(月) 02:14:37ID:6FToFsADs=msg
instr a,s,"\n" //ここもa=instr(s,,"\n")に直しました
getstr ss,s,a+2
poke s,a,0
s+=ss
buf="say "+s+"\n"
tcpput buf,soc
objprm 0,""
return
0523名前は開発中のものです。
2007/03/05(月) 02:36:17ID:ao1dJWkis = "0123456789\nabcdefg"
ss = ""
a = instr(s,0,"\n")
mes a
getstr ss,s,a+2
mes ss
poke s,a,0
s+=ss
mes s
つまり文字列途中の改行を抜きたいってことでいいのか?
もしそうならinstrとstrmidをセットで使ったほうが楽
strmid(buff,instr(buff,0,"\n")+2,256)
これでbuff内の\n以降が取得できる。
余談だが、\nって二文字分なのな。\n\rに変換してるってどっかで見たが・・・
0524名前は開発中のものです。
2007/03/05(月) 02:48:59ID:6FToFsADいぇ、改行を抜きたいのではなくて、pcbnet2のサンプルのsample01_Simplechat
をHSP3で正しくコンパイルしたいだけでして・・・;;
0525名前は開発中のものです。
2007/03/05(月) 02:54:53ID:ao1dJWkiというか俺、さっきも書いた気がするがHSP3から入ったからHSP2の知識が全く無い。
移植そのものの役には立てそうにない。
しかし、良いスクリプトってだいたいHSP2だな・・・
0526名前は開発中のものです。
2007/03/05(月) 02:58:45ID:6FToFsADですねぇ;; ソースコンバータがもっとバージョンアップしてくれれば・・・・
↑
すごい他力本願^^;
0527名前は開発中のものです。
2007/03/05(月) 03:54:46ID:IdxZqlrkmsg=""
objprm 0,""
return
一応これで出来た
hsp2だと objprm 0,"" で使ってるバッファも影響受けるのかな?
0528名前は開発中のものです。
2007/03/05(月) 03:57:48ID:ay926VlWソースコンバータ通したスクリプトを
90行目
a=instr(msg,0,"\n")
135行目
a=instr(s,0,"\n"):msg=""
にするだけの話だぞ
0529名前は開発中のものです。
2007/03/05(月) 04:04:56ID:6FToFsADおお!! でけた! 528さん、ありがとうございます;;
このサンプルでpcbnet一生懸命勉強しようと思います。
どうもありがとうございました ペコペコ
0530名前は開発中のものです。
2007/03/05(月) 04:19:35ID:IdxZqlrkmesbox msg,200,24,1
repeat
s=msg
;instr(a,s,"\n") ;2用
a=instr(s,0,"\n") ;3用
if a>0{objprm 0,""}
title ""+msg
wait 1
loop
stop
やっぱり objprm の動作が2と3で違うな
2ならobjprm で操作したら使ってる変数内容も
変化するけど 3は変わらない
バグっぽいけど・・・
0531名前は開発中のものです。
2007/03/05(月) 08:05:10ID:9TVkJKsyOKなんだけどね。
ていうかウィンドウキャプション、改行コードも表示されちゃうんだ。
知らんかった。
0532名前は開発中のものです。
2007/03/07(水) 17:18:17ID:nPv9ImbS0533名前は開発中のものです。
2007/03/07(水) 18:44:46ID:nwF22j0YHTTPのGETコマンドで画像ファイルのURLをリクエストすればいい。
でもバイナリデータだからHSPだと切り出しがツライかも。
0534名前は開発中のものです。
2007/03/07(水) 20:09:37ID:nPv9ImbSいあ、HTTPではなくて、サーバ側のbufferに描いた画像をクライアント側
にgcopyするみたいなことってできないですかね?
0535名前は開発中のものです。
2007/03/07(水) 20:18:53ID:hRCFzq0Xクライアント側がサーバになり(ポートを開いて接続を待ち受ける)、
サーバ側がクライアントとして振舞う(クライアントに接続に行く)ことで
ファイルを送りつけることは可能。
でも現実にはルータやファイアウォールとか、サーバの規約とか、
ウイルス扱いされるとか、ネットワークの安全性とか、色々な問題が予想されます。
0536名前は開発中のものです。
2007/03/07(水) 21:06:27ID:ydn30hoMクライアント側に初めから用意されている画像を、
『どの位置か』といったシンプルな情報だけを通信でやりとりして、
それを基にクライアント側で処理させるのが無難。
何のためにそれをしたいのかを書かないと、大したアドバイスは出来ないと思う。
絵チャットみたいなのをしたいの?
0537名前は開発中のものです。
2007/03/07(水) 21:53:25ID:nPv9ImbSなるほど。 別になにかしたいってわけではなくて、ただ、どうやったら
できるのかな?って疑問に思っただけなんです^^;
「どの位置」をクライアント側に渡してやればいいのかあ。
考えてみます。
どうもありがとうございました。
0538名前は開発中のものです。
2007/03/08(木) 17:40:29ID:TEJL+ADwアクセルとブレーキの実装ってどうやっているのか知りたいのですが。
0539名前は開発中のものです。
2007/03/08(木) 17:51:20ID:V+92YLpv物理計算を単純にした感じでいいんじゃね?
0540名前は開発中のものです。
2007/03/08(木) 19:31:25ID:swI1jhiZブレーキ 停止
じゃなくて
アクセル 速度上昇
ブレーキ 速度減少
にして、速度によって位置を変えていけばいいんじゃね?
って回答でおk?
0541名前は開発中のものです。
2007/03/08(木) 19:34:54ID:TEJL+ADwすいません、物理計算っていうのがわかりません;;
0542名前は開発中のものです。
2007/03/08(木) 19:42:23ID:TEJL+ADwなるほどお!? わかったような、わからないような・・・
普通のキー入力だと、キーを離すとキャラクタが止まってしまいますよね?
キーを離しても、慣性で進んでいくような、レースゲームでは当たり前でしょうが、
経験が浅いのかおつむがバカなのかその具体的な方法が思いつきません
0543名前は開発中のものです。
2007/03/08(木) 20:07:41ID:hsHUTUZZ//キーチェック
if(加速キーが押されてたら):加速度=加速度+いくらか
if(減速キーが押されてたら):加速度=加速度-なんぼか
//座標更新
座標=座標+加速度
//グラフィック表示
pos(座標…
gcopy(グラフィック表示…
//ループ毎に減らす(アクセルを踏んでないとエンジンブレーキ)
加速度=加速度-ちょっと
goto *main
レースゲームだとたぶんキャラの位置は固定で背景だけが動く
だろうから適当に工夫してちょ
0544名前は開発中のものです。
2007/03/08(木) 20:29:52ID:TEJL+ADwおお!ありがとうございます! これを元に考えてみます
0545名前は開発中のものです。
2007/03/09(金) 04:35:11ID:PSudILgY加速度→速度
いくらか・なんぼか→加速度
じゃね?
0546名前は開発中のものです。
2007/03/09(金) 05:52:08ID:mAtCxyxj本能で書いた
すまぬ
0547名前は開発中のものです。
2007/03/09(金) 22:18:11ID:OmsA6ix3背景で画面をクリア(残像を消去)しながらやるとちらついてしまいます。
多分gzoom命令のせいだと思いますがちらつかなくする方法ってありますか?
0548名前は開発中のものです。
2007/03/09(金) 23:08:54ID:mAtCxyxjgcopyではチラつかないのにgzoomだとチラつく?
0549名前は開発中のものです。
2007/03/09(金) 23:48:34ID:9wm9gx0Iだから色々チラつくんじゃないかな。
0550547
2007/03/10(土) 07:57:00ID:BrhUO2D5初歩的なことですいませんでした
0551548
2007/03/10(土) 08:53:38ID:s4EgJTT+0552名前は開発中のものです。
2007/03/10(土) 09:47:14ID:RgqImxK/このTIPSは理解しやすいように変数に全角文字を 使ってるけど
行儀が悪いので半角に換えましょう
みたいな事が書かれてたんだけど、・・・行儀悪い?
俺見易くなるようにNOを#とかにしてるけど・・・
後で思わぬ不具合が出るとか?
0553名前は開発中のものです。
2007/03/10(土) 12:02:56ID:EgnyZfl8どの書き方がよくてどれが悪いなんて無い
0554名前は開発中のものです。
2007/03/10(土) 15:53:04ID:dqgHW26b0555名前は開発中のものです。
2007/03/10(土) 16:21:45ID:C28IpD1h0556名前は開発中のものです。
2007/03/10(土) 17:19:27ID:eQ0ijKNl他人に公開することもなく、チームを組んで作るとか後で後輩に引き継ぐとかするのでもなければ
行儀なんてどうでもいいんだろうな。現実にはそういう場合でもきったねえんだけどさ。
でもHSPなんてフリーソフトなんだから、やっぱ標準的な書き方しないと心配じゃね?変数を全角で
書いて、もし変な不具合が起こったらどうしようってずーっと心配しなくちゃいけない。行儀がどうこう
ってんじゃなくて、信用できない。起こらないんだろうけど。てか現実にはマイクロソフトだってそんな
に信用できないけどさ。
>>552
Dr.Dに怒られちゃうぞ。
0557名前は開発中のものです。
2007/03/10(土) 17:34:29ID:eQ0ijKNlシューティングでもテトリスでも作り方がある程度分かればアクションも作れるだろ。あとはたっぷり
アクションゲームをやることだ。お前の言ってるアクションが格闘アクションのことだったら知らんけど。
てかHSPでアクションゲームに特化して解説してるがなかったら作れないってんならやめちまえ!
でも頑張ってね。(←ツンデレで)
0558名前は開発中のものです。
2007/03/10(土) 17:51:50ID:GJ+Cs3X4シューティングよりも、テトリスの方が似てるかな。
テトリスの棒が左右に歩いてジャンプできれば、一画面物アクションなら出来たも同然。
0559名前は開発中のものです。
2007/03/10(土) 18:51:01ID:3t9NJGvEサイコロの出た目によってコマが進むしくみが知りたいのですがどうすればよいのかわかりません。
0560名前は開発中のものです。
2007/03/10(土) 19:31:06ID:s4EgJTT+0561名前は開発中のものです。
2007/03/10(土) 19:49:45ID:GJ+Cs3X4双六は、マップのデータの持ち方が意外にややこしいかもな。
・・・どうも、それ以前の段階で詰まってそうな感じだけど。
0562名前は開発中のものです。
2007/03/10(土) 19:56:29ID:5ZAWuvtIまず一方通行&一直線のすごろくを作って、
配列インデックスと座標データとコマ表示の関係を学ぶといい。
1.一方通行&一直線のすごろく (基本)
2.クネクネしたすごろく (応用)
3.ぐるぐる回るすごろく (モノポリーなど)
4.分岐やループのあるすごろく (人生ゲームなど)
5.目的地があり、好きな方向に動けるすごろく (桃太郎電鉄など)
この流れで作っていけば君もすごろくマスターだ!
0563名前は開発中のものです。
2007/03/10(土) 21:02:03ID:rcfj8Pc0同一ソース内に全角と半角を混ぜるなんて、
ちゃんと動いたとしても、気持ち悪くて出来ないな。
万が一、半角スペースのつもりで全角スペースを入れたときとか
見つけにくいんだよ意外と。
「そんなミスするわけないだろ(笑)」とか思っててもやってしまうのが
プログラミング。
少なくともそういう、「全角だろうが半角だろうがOK!」
っていう教え方をする先輩や上司はいないだろうな。
というか既に結論出ちゃってるけど、
個人でやるなら自由にすればいい。
団体でやるならマナーを守れと。
0564名前は開発中のものです。
2007/03/10(土) 21:14:58ID:Of9Rb6RG0565名前は開発中のものです。
2007/03/10(土) 22:04:35ID:A2NSoGOm統一すんのは検索効率もあるし
0566名前は開発中のものです。
2007/03/10(土) 22:58:30ID:s4EgJTT+コメント文をソースに書くとき
全角にして半角に戻すのって面倒臭くない?
VC++でもしょっちゅう間違えてソースの方に
全角スペース入れてしまってコンパイル蹴られる。
漢字キーがもうちょっと近くにあると嬉しいのだが
0567名前は開発中のものです。
2007/03/10(土) 23:00:49ID:Of9Rb6RG0568名前は開発中のものです。
2007/03/10(土) 23:05:06ID:s4EgJTT+0569名前は開発中のものです。
2007/03/10(土) 23:25:27ID:9POELrpn0570名前は開発中のものです。
2007/03/10(土) 23:28:51ID:uQgnCiseマルチ乙w
釣りじゃないんなら
なにがわかんないのか書けばいいと思うよ
0571名前は開発中のものです。
2007/03/10(土) 23:34:42ID:s4EgJTT+シフト押しながらスペースで全角スペースになる
なんで家ではやってなかったんだ俺
なんか理由があった気がするが…忘れた
0572名前は開発中のものです。
2007/03/11(日) 00:39:28ID:stPPhm55es_set等でスプライトの優先順位を設定した際に
数値が大きいスプライトが手前に表示されるのですが、
小さいほうを手前に出来ないでしょうか?
なんか設定ミスってんのかな、俺。
0573名前は開発中のものです。
2007/03/11(日) 09:11:36ID:iZ4HV+4fウィザードリィ風な3Dダンジョンをつくるのに台形の塗り潰し機能を使おうとしてます。
壁と天井の色を分けて裏画面で奥から手前に向かう順番で壁で塗り潰していってるのですが、
pal_DrawPolygonを使っていると、画面を何度か更新しているうちに
色がどちらか一方の色だけにかわってしまいます。
0574名前は開発中のものです。
2007/03/11(日) 12:00:57ID:/T7FdIWggsquareじゃ駄目なん?
0575名前は開発中のものです。
2007/03/11(日) 13:01:37ID:9H6tJUaN0576名前は開発中のものです。
2007/03/11(日) 15:27:59ID:GsSBQTuQ0577573
2007/03/11(日) 15:49:57ID:iZ4HV+4fサンクス!
gsquareにかえたら問題解消でした。
短いソースかいてみます。
0578573
2007/03/11(日) 17:46:02ID:iZ4HV+4fぽち、ぽち・・・と、Enterキーを、20回くらい押し続けると、
なぜか画像が変化します。
pal_DrawPolygonは、ここ↓
http://www.vector.co.jp/soft/win95/prog/se209258.html
#include "palhsp.as"
repeat
stick KY
if KY=32 {
screen 2,640,480 : cls 4
buffer 3,640,480 : cls 4
for j, 11, 7, -1 : for k, 3, 12,1 : for i, 6,15,1
pal_SetPoint 0,310+i*2,310+i*2
pal_SetPoint 1,410+j*2,310+j*2
pal_SetPoint 2,410+k*2,410+k*2
pal_SetPoint 3,310+k*2,410+k*2
color 25,125,50
pal_DrawPolygon 4,1
redraw 1
next : next : next
gsel 2,1
gcopy 3,0,0,640,480
}
wait 5
loop
0579名前は開発中のものです。
2007/03/11(日) 18:21:12ID:/T7FdIWg基本命令の使い方すらわかってないのは良くわかった
こんなレベルでプラグイン使うな
あと、せめてこのソースが何をしようとしているか
ぐらい書け
「ボタン押している間だけ台形が表示される」か?
なんでメインループの、しかもキーチェックの中に
screen,bufferがあるんだ?
0580名前は開発中のものです。
2007/03/11(日) 20:33:12ID:yv4HZkMuこれはひどい
0581名前は開発中のものです。
2007/03/11(日) 21:08:13ID:9lsP7SN/HSPスレは初心者もしくはプログラム触り始めの人間が
現れるとすぐにムキになってブッ叩くクセがあって良くない。
>>578
これはひどい
0582名前は開発中のものです。
2007/03/11(日) 21:33:08ID:fVOjDyWrどんな代物なのか自分でも確かめるために、>578の件を調べてみたが。
一見、HSPでも問題なく動いているように見えるけど、
更新されたのが2002年2月で、HSP3が出るずっと前のプラグインだから
HSP3には完全対応してないんじゃないかと思った。
実際、>578のスクリプトを2.61用に一部修正して実行したら、
描画が変化する問題は発生しなかった。
それにしても
>>578
これはひどい
ボタン1回押すごとに、324個のポリゴン描画してるのは
573の意図したものなのか、疑わしいな。
参考までに。 wait 5の前に
title str(cnt)
とか追加して、実行してみるといい。
これが573の意図した動作なのかどうか。
0583名前は開発中のものです。
2007/03/11(日) 22:29:42ID:/T7FdIWgscreen 0,640,480 : //ループに入れるなカス!IDは0だろ
buffer 3,640,480 : cls 4//透過色用に黒か?
//意図は知らんがループ前に作ってちゃ駄目か?
for j, 11, 7, -1 : for k, 3, 12,1 : for i, 6,15,1
pal_SetPoint 0,310+i*2,310+i*2
pal_SetPoint 1,410+j*2,310+j*2
pal_SetPoint 2,410+k*2,410+k*2
pal_SetPoint 3,310+k*2,410+k*2
color 25,125,50
pal_DrawPolygon 4,1//んなマイナーなプラグイン知らん
next : next : next
gsel 0//描画対象を0に戻せ
repeat
redraw 0 //まず描画を裏画面にセットしろカス
color 80,50,50 : boxf //まず先に画面を背景でクリアしろカス!
//色をつけてみたのは透過するか確かめる為だ
//その上から描きたいものを載せろこのウジムシ!!
stick KY,32 //押しっぱなしの処理がしたいのか?ボウヤ
if KY=32 {
gmode 2//透過コピーで良いのか?
gcopy 3,0,0,640,480 //ID3に描いといた奴をコピーで良いのか?
}
redraw 1 //全部描き終わったら裏画面を表画面に反映しやがれ
title str(""+cnt+" "+(cnt/60))//秒間60フレームより速ければ秒より速く表示
await 5//awaitにしてみた
loop
//お前のママでもエスパーでもないんだ
//何やりたいかなんか知るかカス
//動的に変化させて表示させる意図なら知らん!自分で考えろ
//マニュアルのredrawとscreenとgselとこ100回読んで氏ね
0584名前は開発中のものです。
2007/03/11(日) 23:03:03ID:k4eFOmxa>screen 0,640,480
いらなくね
>redraw 0
redraw 2のがいいはず。
まあ実際はたいして変わらんが。
>KY=32
KY&32のがええかも。仕様によるが。
>gmode 2
ループの外に出せるね。
0585名前は開発中のものです。
2007/03/11(日) 23:10:44ID:V3/hxKyIツンデレってこのスレのことやね。
0586名前は開発中のものです。
2007/03/11(日) 23:24:14ID:/T7FdIWg今後の変更のことも考えてそうした
背景を透過なしで使う可能性が高いからな
redrawはそうだっけ?忘れた
keyはコイツには&の説明すんのはめんどかった
05871/2
2007/03/12(月) 02:01:28ID:UmbRWuRt分岐無しだけど・・・
準備
#define colrgb(%1) color ((%1)>>16),(((%1)>>8)&$ff),((%1)&$ff)
#module
#deffunc getdat var indx,array ps,int no,int fg,local notdat,local strdata
chk='=' , ':' , ':' , ':' , ':'
noteget notdat,0:if fg=1 {indx=strsizeindx(no):masmax=no}:getstr strdata,notdat,indx,','
if strsize>0 {if fg=0 {masmax++:indx+strsize:strsizeindx(masmax)=indx}:idx=0
repeat 5:getstr tmpstr,strdata,idx,chk(cnt):if (strsize>0) {idx+strsize
: ps(cnt)=int(tmpstr)}loop}else{return -1}return masmax
#deffunc masmov array pdat,int pno,int masno
dupptr masdat,varptr(pdat(0,pno)),4*5:getdat indx,masdat,masno,1:return
#global
mas="0=16:16:100:80:,1=120:25:80:70:,1=200:32:80:70:,1=280:50:80:70"
mas+",1=300:130:80:70,1=220:150:80:70,1=140:180:80:70,1=80:230:80:70"
mas+",2=40:290:80:70:1j0n,1=120:300:80:70,3=200:290:80:70,1=280:310:80:70,10=360:340:120:90"
evmes="☆スタート☆","イベント無し","分岐点\n(未実証)","一回休み\n(未実証)","4","5","6","7","8","9"," ★ゴール★"
evcol=$f08080,$8080c0,$505080,$806030,$806030,$806030,$806030,$806030,$806030,$806030,$5080f0
evmcol=$ffff50,$a0f0f0,$f000f0,$101010,$806030,$806030,$806030,$806030,$806030,$806030,$f05060
randomize:buffer 1:notesel mas:repeat :getdat indx,ps,0,0:if stat<0 {break}
masmax=stat:colrgb(evcol(ps(0))):circle ps(1),ps(2),ps(1)+ps(3),ps(2)+ps(4),1
colrgb(evmcol(ps(0))):pos ps(1),ps(2)+ps(4)/2-8:mes evmes(ps(0)):color:pos ps(1),ps(2):mes masmax-1:loop
playernam="@","A":playermax=2
続く
05882/2
2007/03/12(月) 02:06:06ID:UmbRWuRtrepeat:dim pdat,5,playermax:dim player,playermax:playerno=0:sai=0
gsel 0:clrobj :pos 500,100:button gosub "サイコロ",*rndsai:repeat:redraw 0:pos 0,0:gcopy 1,0,0,640,480:
if (sai>0)&(((cnt-tim)\15)=0)&mov{sai--:player(playerno)++:if sai=0{playerno=(playerno+1)\2::objprm 0,"サイコロ"}}
repeat playermax:masmov pdat,cnt,player(cnt):if pdat(0,cnt)=10 {Gaul=1}:color:x=pdat(1,cnt)+pdat(3,cnt)/5+cnt*32
y=pdat(2,cnt)+pdat(4,cnt)/5:circle x,y,x+17,y+17,1:color cnt*255,(cnt=0)*255:pos x,y:
mes playernam(cnt):loop:pos 0,0:color:mes "残り("+sai+")"
if Gaul{break}:repeat 2:pos 200-cnt,5-cnt:color (playerno*255)*cnt,(playerno=0)*255*cnt
mes "[ "+playernam(playerno)+" ] の番です。":loop:redraw 1:await 10:loop:Gaul=0:pos 250,220:color 255:
mes "[ "+playernam(playerno)+" が ゴール しました]":redraw 1:wait 200:loop
*rndsai:if sai=0 {sai=rnd(6)+1:title "サイの目["+sai+"]":mov=0:objprm 0,"移動"}else{mov=1:tim=cnt}:return
適当に改行してコメント入れてけば読めるだろう
0589名前は開発中のものです。
2007/03/12(月) 11:04:23ID:mM+HHXub確かawait 16なら前のawaitから0.016秒「待った」後でウェイトが入るんだよね?
0591名前は開発中のものです。
2007/03/12(月) 11:55:55ID:gLL2hKArうちの環境では、15と16では、かなりの差があり、15の方が正確に、秒をきざんでいるのですが
環境に依存するのでしょうか?
repeat
a+
title "" + a/60 + "秒"
await 15
loop
■ このスレッドは過去ログ倉庫に格納されています