HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0627
昆布マクロの扱い方……2解決


昆布

リンク

2015/6/27(Sat) 17:41:23|NO.69874

マクロの扱い方についての質問。
私は格ゲーを作っているのですが、
p1をotsu
p2をkou
として変数を扱っていましたが、

otsu+=1 kou+=1
のように、別々に処理していましたが、これを「マクロ定義で一回でまとめることが出来るのではないか」と思い、

repeat 2,1 if cnt=1 { #undef me #defune me otsu } if cnt=2 { #undef me #defune me kou } me+1 loop
と工面しようとしましたが、どうやら「#defune」は「if」を無視するようで、乙の処理が出来ていません。
どうしたら一つのマクロに二つの変数を格納出来るのでしょうか。



この記事に返信する


cats

リンク

2015/6/27(Sat) 18:59:56|NO.69875

#defineなどはプリプロセッサといって、コンパイル時に順に解釈されます。
なので、ループの中にいれても期待通りの動作はしません。
複数の変数を1つの変数で扱い、それをスイッチのように切り替えたいのならdup命令があります。

repeat 2, 1 if cnt == 1 { dup me, otsu } if cnt == 2 { dup me, kou } me++ loop



昆布

リンク

2015/6/27(Sat) 20:34:34|NO.69876

なんと!マクロでは無理でしたか。
dupの紹介有難うございます。
お陰様で解決しました



ONION software Copyright 1997-2021(c) All rights reserved.