createjs Ticker、stage.canvas

这篇博客展示了如何使用EaselJS库和TweenJS库在HTML5 Canvas上创建一个红色矩形,并使其进行旋转动画。通过`init()`函数初始化舞台,`handleTick()`处理每一帧更新,`start()`函数用于绘制并开始矩形的旋转动画。整个过程利用了JavaScript的事件监听和时间调度来实现平滑的视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <script src="lib/easeljs-0.7.1.min.js" charset="utf-8"></script>
    <script src="lib/tweenjs-0.5.1.min.js" charset="utf-8"></script>
  <!--  <script src="Circle.js" charset="utf-8"></script>
        <script src="app.js" charset="utf-8"></script>-->
  </head>
  <body onload="init()" style="margin:20px">
  <canvas id="canvas" width="800" height="600" style="border:black solid 1px"></canvas>
  </body>
  <script type="text/javascript">
     var stage
     function init(){
       stage=new createjs.Stage("canvas")

     //Ticker触发 如同AS 3 的ENTERFRAME
       createjs.Ticker.addEventListener("tick",handleTick)

  /刷新频率
       createjs.Ticker.setFPS(60)
 
       start()
     }
     function handleTick(e){
       stage.update()
     }
     function start(){
       var g=new createjs.Graphics()
       g.beginStroke("#000").beginFill("#ff0000").drawRect(0,0,100,100)

       var square=new createjs.Shape(g)
 

        //调整中心点
       square.regX=square.regY=50

      //放到canvas中心,这里的 stage.canvas很有意思  ,canvas称为了stage的子对象
       square.x=stage.canvas.width/2
       square.y=stage.canvas.height/2

       stage.addChild(square)
       createjs.Tween.get(square).to({rotation:360},8000)
     }
  </script>
  </html>

### FairyGUI与CreateJS集成进行前端UI开发 #### 创建项目结构 为了实现FairyGUI与CreateJS的集成,需先设置好基础环境。确保已安装Egret Wing或其他支持CreateJS项目的IDE。 #### 导入资源包 在项目中导入FairyGUI扩展库以及所需的CreateJS库文件[^1]。这一步骤通常通过配置构建工具完成,如Webpack或Grunt。 #### 初始化舞台 创建并初始化一个基于HTML5 Canvas的舞台实例,作为所有视觉元素的基础容器: ```javascript // Initialize stage with CreateJS var canvas = document.getElementById('gameCanvas'); var stage = new createjs.Stage(canvas); createjs.Ticker.setFPS(60); // Set frame rate to 60 FPS createjs.Ticker.addEventListener("tick", handleTick); function handleTick(event) { stage.update(); } ``` #### 加载FairyGUI场景 利用FairyGUI提供的API加载打包好的界面资源,并将其渲染到舞台上: ```javascript fgui.UIPackage.addPackage("res/ui/StartScene"); // Add UI package from resources path let startView = fgui.UIObjectFactory.newObject(fgui.UIPackage.getItemByURL("ui://StartScene/startBtn")); stage.addChild(startView.displayObject); // Convert FGUI component into display object compatible with CreateJS ``` #### 添加交互逻辑 对于`startBtn`这样的节点,在其上附加事件监听器来处理用户的输入行为,比如点击效果和启动新游戏流程等操作: ```javascript const buttonComponent = startView.getChild("n0").asCom; // Assuming 'n0' is the ID of your Button node within StartScene buttonComponent.onClick(addEventListener, function () { console.log("Game started!"); // Implement game initialization code here... }); ``` 以上代码片段展示了如何将FairyGUI中的按钮转换为可被CreateJS识别的对象,并为其绑定简单的点击回调函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值