把锁定功能修改为只生效一次
来源:互联网 发布:ajax获取servlet数据 编辑:程序博客网 时间:2024/05/17 03:07
/////程序流程
//////////////////////GameWorld.__UpdateInputEvent
if (hge->Input_KeyUp(HGEK_S))
{pKeyManager->OnLockIsRelease(true);
}
//////////////////
void dteKeyManager::OnLockIsRelease(bool _bLock)
{
if ( nSelfID >= 0 && nSelfID < g_World->GetMaxPlayerCount() )
{
dtePlayer *player = g_World->GetPlayer( nSelfID );
bLock = !bLock;
if ( bLock )
{
player->OnDownIsDown();
}
else
{
player->OnDownIsReleased();
}
}
}
void dtePlayer::OnDownIsDown()
{
if ( enable && bEnableKey )
{
pTurret->OnLockStart();
}
}
void dteTurret::OnLockStart()
{
// 进入锁定高分怪状态
if ( !bLockHighScoreFish )
{
bLockHighScoreFish = true;
pLockState->EnterLockHighScoreFish();
}
}
void dteLockState::Update( float dt )
{
if ( bLockHighScoreFish )
{
//
if ( !bLockFlagArrived )
{
if ( pLockTargetNpc )
{
LockFlagTargetPos = *(pLockTargetNpc->GetPosition());
}
if ( Trace( &LockFlagCurPos, LockFlagTargetPos, fLockFlagMoveSpeed*dt ) )
{
bLockFlagArrived = true;
}
}
else
{
if ( pLockTargetNpc )
{
LockFlagCurPos = LockFlagTargetPos = *(pLockTargetNpc->GetPosition());
}
else
{
LockFlagCurPos= LockFlagTargetPos = TurretPos;
bShowLockFlag = false;
}
}
if ( bLockHighScoreFish )
{
bool bChangeLockTarget = false;
if ( !pLockTargetNpc || !pLockTargetNpc->IsEnabled() )
{
bChangeLockTarget = true;
}
if ( __IsLockFlagOutRange() )
{
bChangeLockTarget = true;
}
if ( bChangeLockTarget )
{
pLockTargetNpc = NULL;
pLockTargetLogo = NULL;
//__ChangeLockHighScoreFish();//此注释掉的是当锁定的鱼消失后重锁定鱼
dtePlayer *pPlayer = g_World->GetPlayer( nPlayerID );
if (pPlayer&&!pPlayer->IsAI())
{
g_World->GetKeyManager()->OnLockIsRelease(true);//自己添加的解锁鱼状态
}
}
}
}
else
{
if ( Trace( &LockFlagCurPos, LockFlagTargetPos, fLockFlagMoveSpeed*dt ) )
{
bLockFlagArrived= true;
bShowLockFlag = false;
}
}
//
if ( bShowLockFlag )
{
hgeVector dir = LockFlagCurPos - TurretPos;
float length = dir.Length();
float angle = dir.Angle();
nElementNum = (int)length/64;
for ( int i = 0; i < nElementNum; i ++ )
{
hgeVector pos, outPos;
pos = TurretPos;
pos.x += (i+1)*64.0f;
Rotate( TurretPos, pos, outPos, angle );
LockLineElementPos[i] = outPos;
}
}
}
- 把锁定功能修改为只生效一次
- File change事件只生效一次
- jQuery checkbox反复选中只生效一次的解决方法
- 解决checkbox全选按钮只生效一次的问题
- 锁定记录,只允许单用户修改的例子
- 锁定记录,只允许单用户修改的例子
- SQLSERVER 锁定记录,只允许单用户修改的例子
- 【转载】解决input file 的onchange事件只生效一次的问题
- 为什么Jquery对input file控件的onchange事件只生效一次
- input file里的JQ change() 事件的只生效一次
- file文件添加change事件,结合ajaxFileUpload使用文件上传只生效一次问题解决
- input file里的JQ change() 事件的只生效一次
- 怎么把F1-F12的功能按键模式修改为传统的单键快捷按键模式。
- php实现一天多次登录,只积分一次功能
- 一个IP只提示一次设为首页
- 记一次使用Android studio修改代码不生效的问题
- Linux中修改PATH环境变量(只在当前窗口下生效)
- 如何把JavaBean修改为EJB
- 如何使用Android中的OpenGL ES媒体效果
- C语言中的强符号与弱符号(关于变量声明与定义的深入讨论)
- POJ 3258- River Hopscotch(二分求最小值最大)
- 一些shell命令
- Java容器 HashMap与HashSet的学习
- 把锁定功能修改为只生效一次
- 通过configSource提高web.config配置灵活性
- Ubuntu14.04+CUDA7.0+Opencv3.0+Caffe 配置
- 查询数据的所有外键
- 混合加密算法(RSA和DES)
- 一个javascript的Cookie读写删的通用代码
- 第十三周--阅读程序(2)
- 9道补血丰胸家常菜 女人须知
- cocoa pod 制作私有静态库时写完codspec文件又遇到了linker command failed却没有具体错误原因的问题