任務
1. 大按鈕控制整個笑臉左右移動
2. 小按鈕控制眼睛旋轉
3. 用滑鼠可以拖曳整張圖
要用到的圖片,
已經用 Flash CC 畫好了,
輸出成 myFlash.js 等你用。
更多 Flash CC 繪圖↓
html
<!--建立 createJS 環境-->
<script src="createjs/easeljs.min.js"></script>
<!--把畫好的 Flash 讀近來-->
<script src="flash/myFlash.js"></script>
<!--主程式-->
<script src="myScript.js"></script>
myScript.js(注意!不是myFlash.js)
//createJS 用
var canvas, stage, myFlash;
//body onload 時,執行 initialize
function init(){
//新建一個 myFlash.js 中的 lib.myFlash,並加到 stage
canvas = document.getElementById("canvas");//取得 canvas
myFlash = new lib.myFlash();//new 一個 myFlash
stage = new createjs.Stage(canvas);//建立一個 createjs 的 stage
stage.addChild(myFlash);//在 satge 上加入 myFlash
}
.....
createjs.Ticker.setFPS(lib.properties.fps);
createjs.Ticker.addEventListener("tick", myTick);
.....
function myTick(){
..............
}
myFlash.btnRight.name='btnRight';
myFlash.btnRight.addEventListener("click",clickBtn);
...
function clickBtn(e){
//先判斷按下哪一個按鈕
if(e.target.name=="btnRight"){//大右
...
}else if...
}
.x | x座標 |
.y | y座標 |
.scaleX | x縮放 |
.scaleY | y縮放 |
.rotation | 旋轉(角度) |
1. 大按鈕控制整個笑臉左右移動
2. 小按鈕控制眼睛旋轉
更多題目↓
更多題目↓
1. 加入變數 isDraging
2. 滑鼠按下 true,放開 false
3. 每次 tick 時,true 就跟滑鼠,false 就沒事
4. 想一想,如何避免「瞬間移動」
\[x = v\ t\]
\[\theta = \omega\ t\]
\[x = r\ cos(\omega\ t)\]
\[y = r\ sin(\omega\ t)\]
\[\omega = \frac{\Delta \theta}{\Delta t} = \frac{2\pi}{T}\] \[v = \frac{\Delta v}{\Delta t} = \frac{2\pi R}{T} = R\ \omega\] \[\omega =\frac{v}{R}\] |
1.偵測滑鼠位置
2.偵測滑鼠動作
var mx = stage.mouseX;
var my = stage.mouseY;
myFlash.ball01.addEventListener("mousedown" , myMouseDownFunction);
myFlash.ball01.addEventListener("pressup" , myMouseUpFunction);
myFlash.ball01.addEventListener("click" , myMouseClickFunction);
或者
myFlash.ball01.on("mousedown" , myMouseDownFunction);
myFlash.ball01.on("pressup" , myMouseUpFunction);
myFlash.ball01.on("click" , myMouseClickFunction);