位移获取和设置

        public function getMissonDone(nMissionId:int):Boolean
{
var offset:int = nMissionId / 32;
if(offset >= QuestVoReceiveList.length)
{
return false;
}

var _u:UINT=QuestVoReceiveList[offset];
var _i:int=nMissionId % 32;
var mod:int=(_u.m_Value >> _i) & 0x1;
if(mod == 1)
{
return true;
}
else
{
return false;
}
}

public function setMissonDone(nMissionId:int):void
{
var offset:int = nMissionId / 32;
if(offset >= QuestVoReceiveList.length)
{
return;
}

var _u:UINT=QuestVoReceiveList[offset];
var _i:int=nMissionId % 32;
//SET_(_VALUE, _POS) (_VALUE | (1 << _POS))
var mod:UINT=new UINT;
mod.m_Value=(_u.m_Value | (1 << _i));
QuestVoReceiveList[offset] = mod;
}
posted @ 2012-03-10 13:45  ndljava  阅读(154)  评论(0编辑  收藏  举报