第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么我照著老師寫的代碼最后我的小球不出現(xiàn)相應(yīng)的數(shù)字?

http://img1.sycdn.imooc.com//56a7115b0001bdc612250427.jpg

var WINDOW_WIDTH=1024;
var WINDOW_HEIGHT=768;
var RADIUS=8;
var MARGIN_TOP=60;
var MARGIN_LEFT=30;

const endTime=new Date(2016,0,27,18,47,52);
var curShowTimeSeconds=0;

var balls=[];
const colors=["#33b5e5","#0099cc","#aa66cc","#9933cc","#99cc00","#66990","#ffbb33","#ff8800","#ff4444","#cc0000"]

window.onload=function(){
?? ?var canvas=document.getElementById("canvas");
?? ?var context=canvas.getContext("2d");

?? ?canvas.width=WINDOW_WIDTH;
?? ?canvas.height=WINDOW_HEIGHT;

??? curShowTimeSeconds=getCurrentShowTimeSeconds();
??? setInterval(function(){
?? ??? ?render(context);
?? ??? ?update();
??? },50)
?? ?
}

function getCurrentShowTimeSeconds(){
?? ?var curTime=new Date();
?? ?var ret=endTime.getTime()-curTime.getTime();
?? ?ret=Math.round(ret/1000);
?? ?return ret>=0?ret:0;
}
function update(){
?? ?var nextShowTimeSeconds=getCurrentShowTimeSeconds();

?? ?var nextHours=parseInt(nextShowTimeSeconds/3600);
?? ?var nextMinutes=parseInt((nextShowTimeSeconds-nextHours*3600)/60);
?? ?var nextSeconds=nextShowTimeSeconds%60;

?? ?var curHours=parseInt(curShowTimeSeconds/3600);
?? ?var curMinutes=parseInt((curShowTimeSeconds-curHours*3600)/60);
?? ?var curSeconds=curShowTimeSeconds%60;

?? ?if(curSeconds!=nextSeconds){
?? ??? ?if(parseInt(curHours/10)!=parseInt(nextHours/10)){
?? ??? ??? ?addBalls(MARGIN_LEFT+0,MARGIN_TOP,parseInt(curHours/10));
?? ??? ?}
?? ??? ?if(parseInt(curHours%10)!=parseInt(nextHours%10)){
?? ??? ??? ?addBalls(MARGIN_LEFT+15*(RADIUS+1),MARGIN_TOP,parseInt(curHours%10));
?? ??? ?}
?? ??? ?if(parseInt(curMinutes/10)!=parseInt(nextMinutes/10)){
?? ??? ??? ?addBalls(MARGIN_LEFT+39*(RADIUS+1),MARGIN_TOP,parseInt(curMinutes/10));
?? ??? ?}
?? ??? ?if(parseInt(curMinutes%10)!=parseInt(nextMinutes%10)){
?? ??? ??? ?addBalls(MARGIN_LEFT+54*(RADIUS+1),MARGIN_TOP,parseInt(curMinutes%10));
?? ??? ?}
?? ??? ?if(parseInt(curSeconds/10)!=parseInt(nextSeconds/10)){
?? ??? ??? ?addBalls(MARGIN_LEFT+78*(RADIUS+1),MARGIN_TOP,parseInt(curSeconds/10));
?? ??? ?}
?? ??? ?if(parseInt(curSeconds%10)!=parseInt(nextSeconds%10)){
?? ??? ??? ?addBalls(MARGIN_LEFT+93*(RADIUS+1),MARGIN_TOP,parseInt(curSeconds%10));

?? ??? ?}
??????? curShowTimeSeconds=nextShowTimeSeconds;
?? ?}
?? ?updateBalls();
}

function updateBalls(){
?? ?for(var i=0;i<balls.length;i++){
?? ??? ?balls[i].x+=balls[i].vx;
?? ??? ?balls[i].y+=balls[i].vy;
?? ??? ?balls[i].vy+=balls[i].g;

?? ??? ?if(balls[i].y>=WINDOW_HEIGHT-RADIUS){
?? ??? ??? ?balls[i].y=WINDOW_HEIGHT-RADIUS;
?? ??? ??? ?balls[i].vy=-balls[i].vy*0.75;
?? ??? ?}

?? ?}
}
function addBalls(x,y,num){
?? ?for( var i = 0 ; i < digit[num].length ; i ++ )
??????? for(var j = 0 ; j < digit[num][i].length ; j ++ )
??????????? if( digit[num][i][j] == 1 ){
??????????????? var aBall={
????????? ??? ? ??? ?x:x+j*2*(RADIUS+1)+(RADIUS+1),
????????? ??? ? ??? ?y:y+j*2*(RADIUS+1)+(RADIUS+1),
????????? ??? ? ??? ?g:1.5+Math.random(),
????????? ??? ? ??? ?vx:Math.pow(-1,Math.ceil(Math.random()*1000))*4,
????????? ??? ? ??? ?vy:-5,
????????? ??? ? ??? ?color:colors[Math.floor(Math.random()*colors.length)]
????????? ??? ?? }
????????? ??? ?? balls.push(aBall);
??????????? }
?? ?
??? ??? ?
??? ?
}
function render(cxt){
?? ?cxt.clearRect(0,0,WINDOW_WIDTH,WINDOW_HEIGHT);
?? ?var hours=parseInt(curShowTimeSeconds/3600);
?? ?var minutes=parseInt((curShowTimeSeconds-hours*3600)/60);
?? ?var seconds=curShowTimeSeconds%60;

?? ?renderDigit(MARGIN_LEFT,MARGIN_TOP,parseInt(hours/10),cxt);
?? ?renderDigit(MARGIN_LEFT+15*(RADIUS+1),MARGIN_TOP,parseInt(hours%10),cxt);
?? ?renderDigit(MARGIN_LEFT+30*(RADIUS+1),MARGIN_TOP,10,cxt);
?? ?renderDigit(MARGIN_LEFT+39*(RADIUS+1),MARGIN_TOP,parseInt(minutes/10),cxt);
?? ?renderDigit(MARGIN_LEFT+54*(RADIUS+1),MARGIN_TOP,parseInt(minutes%10),cxt);
?? ?renderDigit(MARGIN_LEFT+69*(RADIUS+1),MARGIN_TOP,10,cxt);
??? renderDigit(MARGIN_LEFT+78*(RADIUS+1),MARGIN_TOP,parseInt(seconds/10),cxt);
?? ?renderDigit(MARGIN_LEFT+93*(RADIUS+1),MARGIN_TOP,parseInt(seconds%10),cxt);
?? ?
??? for(var i=0;i<balls.length;i++){
?? ??? ?cxt.fillStyle=balls[i].color;

?? ??? ?cxt.beginPath();
?? ??? ?cxt.arc(balls[i].x,balls[i].y,RADIUS,0,2*Math.PI,true);
?? ??? ?cxt.closePath();
?? ??? ?cxt.fill();
??? }

}
function renderDigit( x , y , num , cxt ){

??? cxt.fillStyle = "rgb(0,102,153)";

??? for( var i = 0 ; i < digit[num].length ; i ++ )
??????? for(var j = 0 ; j < digit[num][i].length ; j ++ )
??????????? if( digit[num][i][j] == 1 ){
??????????????? cxt.beginPath();
??????????????? cxt.arc( x+j*2*(RADIUS+1)+(RADIUS+1) , y+i*2*(RADIUS+1)+(RADIUS+1) , RADIUS , 0 , 2*Math.PI )
??????????????? cxt.closePath()

??????????????? cxt.fill()
??????????? }
}

正在回答

1 回答

addBalls(x,y,num) 這個函數(shù)里面的這段代碼錯了

y:?y+j*2*(RADIUS+1)+(RADIUS+1),

應(yīng)該是這樣才對

y:?y+i*2*(RADIUS+1)+(RADIUS+1),

把j改成i

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

珍惜小燕子 提問者

謝謝了!確實是寫錯了
2016-01-27 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么我照著老師寫的代碼最后我的小球不出現(xiàn)相應(yīng)的數(shù)字?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號