簡単ビット演算操作

知らない記号を使うのでなかなか慣れないのが現実。
しかもその記号の優先度が結構特殊なので誤作動しやすい原因でもある。
なので最近自分がやってる方法をば。

---ONにするとき

例:8と256

[state スイッチON]
type=varadd
trigger1=!(var(0)&8) ;←保険。余計なスイッチをONにするのを避ける。
trigger1=ON条件
var(0)=8

[state スイッチON]
type=varadd
trigger1=!(var(0)&256)
trigger1=ON条件
var(0)=256

つまり代入じゃなくて加算を使えばわかりやすくスイッチの管理ができるわけ。
これで8と256の二つのスイッチをONにしたことになる。

で、OFFにするときは

[state スイッチOFF]
type=varadd
trigger1=var(0)&8 ;同じく保険。
trigger1=OFF条件
var(0)=-8

[state スイッチOFF]
type=varadd
trigger1=var(0)&256
trigger1=OFF条件
var(0)=-256

単純に引けばOFFにできる。

--------------------代用(:=を使う人向け)

ON版

[state ]
type=varadd
trigger1=1
var(0)=8*!(var(0)&8)*(ON条件)

[state ]
type=varadd
trigger1=1
var(0)=256*!(var(0)&8)*(ON条件)

OFF版

[state ]
type=varadd
trigger1=1
var(0)=-(var(0)&8)*(OFF条件)

[state ]
type=varadd
trigger1=1
var(0)=-(var(0)&256)*(OFF条件)

やってることはいっしょでふ。
:=で記述する場合は var(0):=var(0)+8*!(var(0)&8)*(ON条件)
こんな感じかと。

コメントの投稿

非公開コメント

No title

おお、ありがたい...
参考にさせてもらいます。

No title

>>Relさん
参考になれば幸いです。

No title

それ良いですね
参考にしてもいいですか?

No title

>>こんぺいとうさん
どうぞどうぞ。
一応使ってくださいみたいな主旨でもあるのがこのカテゴリーなのでw
プロフィール

SAIKEI

Author:SAIKEI
MUGEN製作跡地
現在製作はしておりません。
適当にはまってるゲームの攻略記事書いてます。

リンクフリーです

管理画面

キャラ公開
クリップボード01
・ユダ
本体
更新日:13/03/27
sff,sndファイル
更新日:11/03/03 クリップボード01
・ケンシロウ
本体(AI無し)
更新日:12/06/17
sff,sndファイル
更新日:12/05/21
AIが入ってる旧バージョン本体
更新日:12/02/19 クリップボード01
・サウザー
本体
更新日:10/12/26
sff,sndファイル
更新日:10/11/28

・ラオウAI(Ataru氏製)
AI
更新日:10/07/11
SFF修正ファイル
更新日:10/07/11

yukari_20090921184412.jpg
・影紫(09/08/24更新版)
※凶悪キャラにより注意
S-Yukari

・宇宙意思強化パッチ
パッチ
更新日 10/04/04
カテゴリ
月別アーカイブ
ブログカウンター
現在の閲覧者数:
検索フォーム
最新コメント
最新記事
リンク