ooookay..这整个 html5 画布 jive 对我来说是全新的。
所以我想做的是让一个“像素”在屏幕上移动,后面有一个附加的尾巴,到某个点,然后让像素仍然“移动”,但让尾巴的内容滚动出去。
我真的希望我以体面的方式描述了这一点。我从昨天早上开始就一直在尝试解决这个问题,但它只是没有发生......这里有一些代码:
rando=function(n){
return Math.round(Math.random()*n);
}
pencil=function(id){
this.neon=new Array();
this.neon[0]="#00FF00";
this.neon[1]="#00FF33";
this.neon[2]="#00FF66";
this.neon[3]="#33FF00";
this.id=id;
this.x=0;
var me=this;
this.paper=document.createElement("canvas");
this.paper.id=id+"_paper";
this.paper.width=100;
this.paper.height=300;
document.body.appendChild(this.paper);
this.dot=this.paper.getContext("2d");
this.dot.beginPath();
this.dot.lineWidth=1;
this.dot.strokeStyle = this.neon[rando(this.neon.length)];
//this.img=this.dot.getImageData(0,0,this.paper.width,this.paper.height);
this.drawr=function(){
if(this.x==0){
this.y=rando(300)+.5;
this.dot.moveTo(this.x,this.y);
this.count=0;
}
this.x+=1;
this.count+=1;
if(this.count==20){
this.count=0;
this.y+=rando(2)-1;
}
this.dot.lineTo(this.x,this.y);
if(this.x>49){
//this.paper.width=this.paper.width;
//this.paper.height=this.paper.height;
//this.dot.putImageData(this.img, (this.x-50)*-1, 0);
//this.dot.translate(-1,0);
}
this.dot.stroke();
setTimeout(function(){ me.drawr(); },rando(50)+10);
};
}
window.onload=function(){
var line=new Array();
for(var i=0;i<5+rando(15);i++){
line[i]=new pencil(i);
line[i].drawr();
}
}
我尝试过翻译、绘制图像、放置图像数据和许多其他的东西,但没有任何效果..也许我正在接近这个完全错误的东西还是什么?任何有关解决此问题的不同方法的建议也可能有所帮助,感谢您的帮助!