CreateJS是否包含类似于“;ENTER_FRAME”;在AS3
Does CreateJS contain an event listener similar to "ENTER_FRAME" in AS3?
我正在尝试将"Actionscript 3.0:Game Programming University"中的效果转换为HTML5 Canvas渲染,更具体地说,是Create/EsselJS。
这是我正在处理的代码:
private var flipStep:uint;
private var isFlipping:Boolean = false;
private var flipToFrame:uint;
// begin the flip, remember which frame to jump to
public function startFlip(flipToWhichFrame:uint) {
isFlipping = true;
flipStep = 10;
flipToFrame = flipToWhichFrame;
this.addEventListener(Event.ENTER_FRAME, flip);
}
// take 10 steps to flip
public function flip(event:Event) {
flipStep--; // next step
if (flipStep > 5) { // first half of flip
this.scaleX = .20*(flipStep-6);
} else { // second half of flip
this.scaleX = .20*(5-flipStep);
}
// when it is the middle of the flip, go to new frame
if (flipStep == 5) {
gotoAndStop(flipToFrame);
}
// at the end of the flip, stop the animation
if (flipStep == 0) {
this.removeEventListener(Event.ENTER_FRAME, flip);
}
}
我已经完成了一半,才意识到它几乎需要一步一步地推动每一帧才能正确设置动画。这是我在HTML5:中的JS等价物
function FlipTile(e)
{
if (!TileFlipping)
{
var flipStep = 30;
var sprite = e.currentTarget;
console.log(sprite);
TileFlipping = true;
flipStep--;
if (flipStep > 15)
{
sprite.scaleX = .02 * (flipStep-6);
} else {
sprite.scaleX = .02 * (5 - flipStep);
}
if (flipStep == 0)
{
TileFlipping = false;
}
}
}
然而,这种效果就像一张卡在中心翻转一样这会破坏并"扭曲"精灵翻转,但没有一步一步。它也只发射一次,打破了翻转计数器。这让它开始寻找ENTER_FRAME的等价物。。或者一种替代的方法。此刻,我被难住了。
不太确定我是否答对了你的问题,但你应该使用CreateJS Ticker
来更新舞台上的内容,请查看此处的文档:http://www.createjs.com/docs/easeljs/classes/Ticker.html您可以将Event.ENTER_FRAME
替换为"tick"
,并保持与AS3示例中相同的逻辑。
在内部,Ticker
使用window.requestAnimationFrame
,它通常每秒运行60次(=60fps(。https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
相关文章:
- Flash AS3关闭浏览器窗口
- 如何将一个*参数*从JS传递到AS3
- X-Frame-Options SAMEORIGIN在我的域上阻止iframe
- 拒绝在框架中显示,因为它设置了'X-Frame-Options'到'拒绝'在JavaSc
- javascript中的Catch X-Frame-Options错误
- Javascript:如何对属性变量(例如var.hello.push)执行数组方法?太习惯AS3了
- as3中enter_frame的javascript版本
- 如何使用外部接口将参数从 JavaScript 传递到 AS3
- 在 AS3 和 HTML5 中创建 3D 条形图
- Javascript 在尝试将 var 发送到 AS3 ExternalInterface 时抛出错误
- 确保浏览器 AS3 支持限制
- 如何在 NativeScript 中获取对 self.view 和 self.view.frame 的引用
- AS3 XML上的翻页在IE和FIREFOX上看不到
- 使用postMessage指定window.frame
- Google Plus图标未显示-“X-Frame-Options禁止显示”
- 如何使用X-Frame-Options SAMEORIGIN对来自同一域的页面进行iframe
- 将R data.frame转换为Javascript数组
- 为什么AS3 navigationToURL()只运行一次
- Facebook AS3 SDK without JavaScript
- 错误响应上的X-Frame-Options标头