miRoox / SnakeGame-wl

Experience the paclet development of Mathematica [WIP]
1 stars 0 forks source link

切换运行状态时会发生前进多格的现象 #1

Closed miRoox closed 5 years ago

miRoox commented 5 years ago

目前看应该是动态和Refresh的固有问题,无法只控制某一部分刷新。

考虑用ScheduledTask替代现有的状态更新方式。 另外,在此之前将速度设置从SnakeGame对象中分离出来,因为这不是游戏运行状态的一部分,而应作为运行设置独立出来。

miRoox commented 5 years ago

TaskObject不能在动态中正常访问。尤其,无法使用TaggingRulesCurrentValue访问正确的任务对象。

相关问题:

miRoox commented 5 years ago

目前的解决办法: 通过符号持有和访问TaskObject可以避免上述的问题。然后在TaggingRules里持有这个符号即可。 实现的时候使用了一些在制作LValueRef的过程中学会的技巧。