android怎样不让view重绘,为什么没有view.invalidate立即重绘我的Android游戏中的屏幕...

我试图做一个

android游戏.

我有一个扩展活动并处理所有用户输入的游戏类.然后我有一个taskView类来扩展视图,并绘制屏幕上的级别.

当用户点击门时,我想添加一些动画.

会发生什么事情:游戏调用door.open.改变状态,所以view.onDraw函数会把门打开一半.游戏调用view.invalidate,它应该重画屏幕.然后游戏睡了半秒钟.然后再打电话给door.open.第二次调用这个函数会改变状态,所以view.onDraw函数把门完全打开.然后游戏调用view.invalidate再次.

问题是,当它获取到view.invalidate时,它不会重绘屏幕.如果我在线上设置了一个断点并运行调试器,然后单击其中的步骤就不会进入我的view.onDraw函数.它甚至不能显示我正在执行的代码.

我所拥有的是

门课:

public boolean open()

{

if (doorState == DoorState.Closed)

{

doorState = DoorState.Opening;

return true;

}

else if (doorState == DoorState.Opening)

{

doorState = doorState.Open;

return true;

}

else

{

return false;

}

}

游戏类:

if (tile instanceof DoorTile)

{

DoorTile doorTile = (DoorTile) tile;

Door door = doorTile.getDoor();

if (door.isClosed())

{

door.open();

selectedEntity.openDoor();

view.invalidate(); // This line does not work

try

{

Thread.sleep(500);

}

catch (InterruptedException e1)

{

// TODO Auto-generated catch block

e1.printStackTrace();

}

door.open();

// Handled touch event so break switch statement

break;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值