07/12/05 20:59:01 bC8Q8nhy
00 #const global 紫 2
01 #const global 短細 200
02 #enum 短細赤 = 短細
03 #enum 短細青
04 #enum 短細紫
05 #const global 短細X 9
06 #const global 短細Y 17
07 #const global 短細HX 短細X>>1
08 #const global 短細HY 短細Y>>1
09 ;cx cy キャラクター位置情報
10 #module
11 #deffunc CreateShot int seed, int tone
12 es_exnew temp@,SHOTMIN@,SHOTMAX@
13 if temp@!-1 {es_set temp@,cx@+(CHARSIZE@>>1)-(17>>1),cy@+(CHARSIZE@>>1)-(19>>1),seed+tone,1
14 es_adir temp@,0,300
15 es_effect temp@,-短細X@,-短細Y@,0,0,0,-1,120}
16 return
17 #global
18 getkey Lclick,1 ;1=左クリック メインショット
19 if Lclick=1{
20 if time\7=0{CreateShot 短細,紫}}
(暫定版のため@使いまくりですが)弾を撃つ処理を分離しようと、
このようにしました。この状態では正常に動きます。
CreateShotに渡す値を少なくするため、15行の[-短細X@]を[int seed]+"X"のようにしたいのですが、
変数と文字列を組み合わせて別の変数を表現するにはどのようにすれば良いのでしょう。
また、11行の[int seed]の型をvarやstrに変更すると、
[変数名が指定されていません][パラメータの型が違います]とエラーになります。
正しくはどのようにして変数そのものを#deffuncに渡すのでしょうか。