// 好吧,最初人们为这样的东西做他们的 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
谢谢大家的回复,我按位和walla搜索了。特别感谢冬血!出于您的考虑,我知道它只支持有限数量的值,这适用于小型系统。