亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么就是顯示不出效果呢

有問題的代碼:

var canvas;
var stage;
var img=new Image();
var sprite;

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

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

? ?var data={
? ? ? ?images:["1.jpg"],
? ? ? ?frames:{width:20,height:20,regX:10,regY:10}


? ?};
? ?sprite=new createjs.Sprite(new createjs.SpriteSheet(data));
? ?createjs.Ticker.setFPS(20);
? ?createjs.Ticker.addEventListener("tick",tick);




}

function tick(e) {
? ?var t=stage.getNumChildren();
? ?for (var i=t-1;i>0;i--){
? ? ? ?var s=stage.getChildAt(i);

? ? ? ?s.vY+=2;
? ? ? ?s.vX+=1;
? ? ? ?s.x+=s.vX;
? ? ? ?s.y+=s.vY;

? ? ? ?s.scalex=s.scaleY=s.scalex+s.vS;
? ? ? ?s.alpha+=s.vA;

? ? ? ?if (s.alpha<=0||s.y>canvas.height){
? ? ? ? ? ?stage.removeChildAt(i);
? ? ? ?}


? ?}
? ?stage.update(e);

? ?
}

function clickCanvas(e) {
? ?addS(Math.random()*200+100,stage.mouseX,stage.mouseY,2);

? ?
}

function moveCanvas(e) {
? ?addS(Math.random()*2+1,stage.mouseX,stage.mouseY,1);
? ?
}

function addS(count,x,y,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.vS=(Math.random()-0.5)*0.2;
? ? ? ?s.vA=-Math.random()*0.05-0.01;

? ? ? ?stage.addChild(s);


? ?}
? ?
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

以下是正確的代碼 可是自己找了很久的bug 還是沒有找到 不知道哪里錯了


var canvas;
var stage;
var img=new Image();
var sprite;
window.onload=function () {
? ?canvas=document.getElementById("canvas");
? ?stage=new createjs.Stage("canvas");

? ?stage.addEventListener("stagemousedown",clickCanvas); ?//點擊畫布
? ?stage.addEventListener("stagemousemove",moveCanvas); ? //在畫布上移動v

? ?var data={ ? //data序列 ?數據
? ? ? ?images:["1.jpg"],
? ? ? ?frames:{width:20,height:20,regX:10,regY:10} ?//reg? 變化區域?這里怎么理解呢???

? ?};

? ?sprite=new createjs.Sprite(new createjs.SpriteSheet(data)); ?//css精靈 網頁圖片應用處理方式 它將一個頁面涉及到的所有零星圖片都包含到一張大圖中去
? ?createjs.Ticker.setFPS(20); //設置和獲取getFPS幀頻的函數
? ?createjs.Ticker.addEventListener("tick",tick);
}


function tick(e) { ? //最后編寫
? ?var t=stage.getNumChildren();// 移動或者點擊時候所產生的數量
? ?for (var i=t-1;i>0;i--){ ? //對每一個進行設計 ; 不懂這個循環???
? ? ? ?var s=stage.getChildAt(i);

? ? ? ?s.vY+=2; ? //橫坐標較寬
? ? ? ?s.vX+=1; ?//
? ? ? ?s.x+=s.vX; //
? ? ? ?s.y+=s.vY; ? //每一個小方塊出現的位置

? ? ? ?s.scaleX=s.scaleY=s.scaleX+s.vS; ?//同時變化 不變形
? ? ? ?s.alpha+=s.vA;

? ? ? ?if (s.alpha<=0||s.y>canvas.height){ ?//透明度<=0 或者 超出容器的的底部 >height ?//消除小方塊
? ? ? ? ? ?stage.removeChildAt(i); ?//移除當前的
? ? ? ?}

? ?}

? ?stage.update(e); ?//舞臺更新
}

function clickCanvas(e) {
? ?//function addS(count,x,y,speed) ?點擊事件/ /
? ?addS(Math.random()*200+100,stage.mouseX,stage.mouseY,2); ?//數量多
? ?
}

function moveCanvas(e) {
? ?//function addS(count,x,y,speed) ?點擊事件//
? ?addS(Math.random()*2+1,stage.mouseX,stage.mouseY,1); ? //數量少
? ?
}

function addS(count,x,y,speed) { ?//首先定義移動和點擊的事件
? ?for (var i=0;i<count;i++){
? ? ? ?var s=sprite.clone();//clone克隆/復制方法作用是執行后將復制一份當前對象,并返回
? ? ? ?s.x=x; ?//出現的位置 ?X
? ? ? ?s.y=y; ?// ? Y
? ? ? ?s.alpha=Math.random()*0.5+0.5; ?// 透明度 alpha; math.random 隨機數; 產生的數乘以 0.5 半透明 值越小越透明 ; +0.5 變化慢 值越大越慢
? ? ? ?s.scaleX=s.scaleY=Math.random()+0.3;//scale 縮放 x=y 不變形 ?;0.3 防止太小

? ? ? ?var a=Math.PI*2*Math.random(); ?//PI半圓; *2 全圓 ;滑動的曲線 ;變化的范圍 ?//arc ?。ǘ龋?
? ? ? ?var v=(Math.random()-0.5)*30*speed;//速度 v ;點擊速度和滑動速度不一樣 ; -0.5 范圍小 速度慢一半 ?;*30 表示有30個同樣的小方塊出現

? ? ? ?s.vX=Math.cos(a)*v; ?// X坐標; +y坐標 得到曲線的變化 ?這里怎么理解呢?
? ? ? ?s.vY=Math.sin(a)*v; ? // Y坐標 ? 同上 ? ?這里怎么理解呢?
? ? ? ?s.vS=(Math.random()-0.5)*0.2; ?//scale 縮放 -0.5 總體值越小縮放越?。?//變化的小方塊
? ? ? ?s.vA=-Math.random()*0.05-0.01; //alpha ?透明度 ?總體值越大越透明 越好看;-0.01 速度慢 ? //變化的小方塊

? ? ? ?stage.addChild(s); ?//切記 添加在舞臺


? ?}

? ?
}

















正在回答

3 回答

換張圖片試試,可能是你圖片問題

0 回復 有任何疑惑可以回復我~

你這代碼沒頭沒尾,我看了半天,你開始定義得var img=new Image();,從頭到尾都沒用img。

0 回復 有任何疑惑可以回復我~
#1

慕數據9493197 提問者

開始的時候已經定義過了呢
2016-11-01 回復 有任何疑惑可以回復我~

寫代碼不寫注釋,不看。

0 回復 有任何疑惑可以回復我~
#1

慕數據9493197 提問者

sorry 現在更新一下 主要是想做一個 當鼠標點擊和滑動的時候會出現一系列的小方塊
2016-11-01 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么就是顯示不出效果呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號