[JavaFX] 我想让时间线更快一点
jimmyking
2009-06-23
刚入门javafx想做一个小游戏玩玩,现在遇到一个问题
我用时间线来控制小球的移动,当碰到某物体时 希望能让小球移动速度加快 var roadLine=Timeline { repeatCount: Timeline.INDEFINITE keyFrames : [ KeyFrame { time : bind speed action:function(){ moveBall(); } } ] } 我将time bind 了一个speed的变量 当我在碰撞的方法里改变speed时,游戏就卡在那里了 小球也不动了。 是不是我实现这个效果的方法错误了 ,望指点~~ |
|
javafxguy
2009-06-23
原因是:动画未停,不能随便改参数,否则动画变乱。
解决问题有两种方法, 1)先调用timeline.stop(), 然后是改变speed, 然后再timeline.playFromStart(); 2)直接改 timeline.rate的值,default是1.0,当 > 1.0时加快, < 1.0时减慢,可以试一下 (有可能需要stop()后playFromStart() ). |
|
jimmyking
2009-06-24
感谢javafxguy 的指点~~
我是用第2种方法实现的 bind rate值可以达到我需要的效果, 不需要stop() 但是第一方法没办法实现 我在 moveBall()方法里面没办法调用roadLine.stop() |
相关讨论
相关资源推荐
- BCGControlBar支持中文
- BCGControlBar支持中文的问题
- BCG静态编译且支持中文
- 安装BCGControlBar 编译错误解决办法 fatal error C1033: cannot open program database '*:/**/vc60.idb'
- VS2013 BCGControlBar 25 遇到的问题记录
- BCGControlBar对中文字符支持的问题
- BCGControlBar本地化(汉化)详解
- 中文BCGControlBar的向导源码,添加进VC6可以直接用向导生成中文的BCG界面
- BCG 中文资源
- BCGControlBar Pro V9.56 中文向导