// さて、もともと人々は次のようなもののために ID を作成しています:
var Item1 = 0;
var Item2 = 1;
var Item3 = 2;
var Item4 = 3;
var Item5 = 4;
// ... 等々。
// 次に、次のようなチェック用の変数をさらに作成します。
var HasItem1 = false;
var HasItem2 = false;
var HasItem3 = false;
var HasItem4 = false;
var HasItem5 = false;
// 次に、コードのどこかで、ユーザーまたはプレーヤーにアイテムを持たせたい場合にアイテムを true に設定します。
// 代わりに、次のようなことをしたかった:
var Item1 = 1;
var Item2 = 2;
var Item3 = 4;
var Item4 = 8;
var Item5 = 16;
var HasItems = 0; // 0 = no items added.
// 私のコードのどこか:
HasItems = Item1 + Item3 + Item4; // 1 + 4 + 8 = 13
// しかし、たとえばプレイヤーが Item3 を持っているかどうかを確認する方法が見つかりません。
if(HasItems != 0 && (HasItems & Item3) != -1) { // It was something like this.
// Has the item we're looking for.
}
// 前に話した ID システムを見たのですが、どこだったか忘れてしまいました。// この ID のシステムについて知っている人はいますか?
// !!!編集!!! http://blog.millermedeiros.com/using-integers-to-store-multiple-boolean-values/
例:
[code]
var Item1 = (1 << 1);
var Item2 = (1 << 2);
var Item3 = (1 << 3);
var Item4 = (1 << 4);
var Item5 = (1 << 5);
var Items = (Item1 | Item3 | Item4);
if(Items & Item1) {
print("true 1");
}
else {
print("false 1");
}
if(Items & Item2) {
print("true 2");
}
else {
print("false 2");
}
if(Items & Item3) {
print("true 3");
}
else {
print("false 3");
}
if(Items & Item4) {
print("true 4");
}
else {
print("false 4");
}
if(Items & Item5) {
print("true 5");
}
else {
print("false 5");
}
[/code]
出力:
true 1
false 2
true 3
true 4
false 5
ご回答ありがとうございます。bitwise と walla を検索しました。冬の血に感謝します!あなたの懸念のために、私はそれが限られた量の値しかサポートしていないことを知っています.これは小さなシステムを対象としています.