我的完全没有效果

jike_8847987 HTML5 Canvas 应用 最后由 jike_8847987 于2016年07月19日回复

  • 6 回答
  • 1.8k 浏览

我照着做完全没效果,怎么传上压缩包呀

  • jike_8847987 2016年07月19日 回答 #2楼
  • html

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>炫酷的点击移动</title>
    <style>
    #canvas{
    background-color: #eeee66;
    }
    </style>

    </head>
    <body>
    <script src="easeljs-0.8.2.min.js"></script>
    <script src="js/star.js"></script>
    <canvas id="canvas" width="500" height="500" ></canvas>
    </body>
    </html>
  • 0 评论
  • jike_8847987 2016年07月19日 回答 #3楼
  • js第一部分

    window.onload=function () {
    canvas=document.getElementById("canvas");
    stage=new createjs.Stage(canvas);

    stage.addEventListener("stagemousedown",clickCanvas);
    stage.addEventListener("stagemousemove",moveCanvas);

    var data={
    images:["picture/green.png"],
    frames:{width:10,height:10,regX:2,regY:2}
    }
    sprite=new createjs.Sprite(new createjs.SpriteSheet(data));

    createjs.Ticker.setFPS(20);
    createjs.Ticker.addEventListener("tick",tick);
    }

    function clickCanvas(e) {
    add(stage.mouseX,stage.mouseY,Math.random()*20+100,3);
    }
    function moveCanvas(e) {
    add(stage.mouseX,stage.mouseY,Math.random()*20+5,1);
    }
  • 0 评论
  • jike_8847987 2016年07月19日 回答 #4楼
  • js第二部分

    function tick(e) {
    var n=stage.getNumChildren();
    for(var i=n-1;i>0;i--){
    var s=stage.getChildAt(i);
    s.vY+=2;
    s.vX+=1;
    s.x+=s.vX;
    s.y+=s.vY;

    s.alpha+=s.vA;
    s.scaleX=s.scaleY=s.scaleX+s.vS;

    if(s.y>canvas.height||s.alpha<=0){
    stage.removeChildAt(i);
    }
    }
    stage.update(e);
    }
  • 0 评论
  • jike_8847987 2016年07月19日 回答 #5楼
  • js第三部分

    function add(x,y,count,speed) {
    for(var i=0;i<count;i++){
    var s=sprite.clone();
    s.x=x;
    s.y=y;
    s.alpha=Math.random()*0.5+0.5;
    s.scaleX=s.scaleY=Math.random()+0.3;

    var a=Math.PI*2*Math.random();
    var v=(Math.random()-0.5)*30*speed;
    s.vX=Math.cos(a)*v;
    s.vY=Math.sin(a)*v;
    s.vA=-Math.random()*0.05-0.02;
    s.vS=(Math.random()-0.2)*0.3;

    stage.addChild(s);

    }
    }
  • 0 评论