我有一些麻烦处理数组和位运算符与阵列和位运算符的工作...基于ActionScript3
这就是这个问题:我有类型为复选框的数组,这个数组中我有3个复选框,一个对于每个选项(pvrtc,dtc1,dtx15),然后我可以选择:只有一个复选框为真,或全部为真。现在我想为我的状态使用按位运算符。
我是这么认为现在得到直到:
// thats my class with the possible states like consts
public class CompressionCombinations {
public static const selectedPvrtc:uint = 1<<0;
public static const selectedEtc1:uint = 1<<1;
public static const selectedDxt15:uint = 1<<2;
public static const selectedPvrtcEtc1Dxt15:uint = selectedPvrtc && selectedEtc1 &&
selectedDxt15;
// thats mean: selectedPvrtc = checkbox1 true, checkbox2 false, checkbox3 false.
//now my main class
//attributing my checkboxes into array
_combinationArray = new Array();
_combinationArray[0] = _checkBoxPvrtc;
_combinationArray[1] = _checkBoxEtc1;
_combinationArray[2] = _checkBoxDxt15;
// a function that do the maths
if((bin=uint(_combinationArray[0].selected + _combinationArray[1].selected +
_combinationArray[2].selected)) == CompressionCombinations.selectedPvrtc){
_argNativeProcess = new String("p");
_nativeProcess.setupAndLaunch(_inputNativeProcess, _outputNativeProcess,
_argNativeProcess, this);
_msgSuccessErrorTextField.text = "Converting...";
}
else{
trace("not working");
}
那这个问题,我不能把它应用的按位opperation ...不知道如何使用或构建一个函数来做到这一点。我知道怎么做没有按位运算符,但我想按位操作未来的新版本...
任何想法?如何解决这个问题的建议?
为什么使用位在所有跟踪((UINT(真)+ UINT(真)+ UINT(假))> 1) – 2013-03-12 17:40:38
SRY,我不明白......那其作用是不正确的,我只是tryied做一些事情...我想比较3复选框的结果与我的常量...成本'公共静态常量selectedPvrtc:uint = 1 << 0;'意味着checkboxes1 selected = true,其余的为false。 – RafaelFelisbino 2013-03-12 18:10:08
我想要做的是...... if(selectedPvrtc){做点什么}; if(selectedEtc1){Do something}; if(selectedDxt15){Do something}' – RafaelFelisbino 2013-03-12 18:12:20