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

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

時間在動,但小球一閃而過.

描述的清楚嗎?

彩色小球一閃就沒了 ,沒有運動 , ?時間在變, 變一次閃過一次小球. 代碼如下.

/**
?*?Created?by?WILL?on?15/3/13.
?*/
var?WINDOW_WIDTH?=?1024;
var?WINDOW_HEIGHT?=?768;
var?RADIUS?=?8;
var?MARGIN_TOP?=?60;
var?MARGIN_LEFT?=?30;
var?pi?=?Math.PI;
const?endTime?=?new?Date(2015,2,18,18,47,52);
var?curShowTimeSeconds?=?0;
var?balls?=?[];

const?colors?=?["#33B5E5","#0099CC","#AA66CC","#9933CC","#99CC00","#669900","#FFBB33","#FF8800","#FF4444","#CC0000"];
window.onload?=?function?(){
????var?canvas?=?document.getElementById('canvas');
????canvas.width?=?WINDOW_WIDTH;
????canvas.height?=?WINDOW_HEIGHT;
????var?context?=?canvas.getContext('2d');
????curShowTimeSeconds?=?getCurrentShowTimeSecond();
????setInterval(function(){
????????render(context);
????????update();
????},
????????50
????);
};
function?update(){
????var?nextShowTimeSeconds?=?getCurrentShowTimeSecond();
????var?nextHours?=?parseInt(nextShowTimeSeconds/3600),
????????nextMinutes?=?parseInt((nextShowTimeSeconds-nextHours*3600)/60),
????????nextSeconds?=?nextShowTimeSeconds%60;
????var?hours?=?parseInt(curShowTimeSeconds/3600),
????????minutes?=?parseInt((curShowTimeSeconds-hours*3600)/60),
????????seconds?=?curShowTimeSeconds%60;
????if(nextSeconds?!=?seconds){
????????if(?parseInt(hours/10)?!=?parseInt(nextHours/10)?){
????????????addBalls(?MARGIN_LEFT?+?0?,?MARGIN_TOP?,?parseInt(hours/10)?);
????????}
????????if(?parseInt(hours%10)?!=?parseInt(nextHours%10)?){
????????????addBalls(?MARGIN_LEFT?+?15*(RADIUS+1)?,?MARGIN_TOP?,?parseInt(hours/10)?);
????????}
????????if(?parseInt(minutes/10)?!=?parseInt(nextMinutes/10)?){
????????????addBalls(?MARGIN_LEFT?+?39*(RADIUS+1)?,?MARGIN_TOP?,?parseInt(minutes/10)?);
????????}
????????if(?parseInt(minutes%10)?!=?parseInt(nextMinutes%10)?){
????????????addBalls(?MARGIN_LEFT?+?54*(RADIUS+1)?,?MARGIN_TOP?,?parseInt(minutes%10)?);
????????}
????????if(?parseInt(seconds/10)?!=?parseInt(nextSeconds/10)?){
????????????addBalls(?MARGIN_LEFT?+?78*(RADIUS+1)?,?MARGIN_TOP?,?parseInt(seconds/10)?);
????????}
????????if(?parseInt(seconds%10)?!=?parseInt(nextSeconds%10)?){
????????????addBalls(?MARGIN_LEFT?+?93*(RADIUS+1)?,?MARGIN_TOP?,?parseInt(nextSeconds%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+i*2*(RADIUS?+1)+(RADIUS+1),
????????????????????r: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?getCurrentShowTimeSecond(){
????var?curTime?=?new?Date();
????var?ret?=?endTime.getTime()-curTime.getTime();
????ret?=?Math.round(ret/1000);
????return?ret>=0???ret?:?0;
}
function?render(c){
????c.clearRect(0,0,WINDOW_WIDTH,WINDOW_HEIGHT);
????var?hours?=?parseInt(curShowTimeSeconds/3600),
????????minutes?=?parseInt((curShowTimeSeconds-hours*3600)/60),
????????seconds?=?curShowTimeSeconds%60;
????renderDigit(MARGIN_LEFT,MARGIN_TOP,parseInt(hours/10),c);
????renderDigit(MARGIN_LEFT+15*(RADIUS+1),MARGIN_TOP,parseInt(hours%10),c);
????renderDigit(MARGIN_LEFT+30*(RADIUS+1),MARGIN_TOP,10,c);
????renderDigit(MARGIN_LEFT+39*(RADIUS+1),MARGIN_TOP,parseInt(minutes/10),c);
????renderDigit(MARGIN_LEFT+54*(RADIUS+1),MARGIN_TOP,parseInt(minutes%10),c);
????renderDigit(MARGIN_LEFT+69*(RADIUS+1),MARGIN_TOP,10,c);
????renderDigit(MARGIN_LEFT+78*(RADIUS+1),MARGIN_TOP,parseInt(seconds/10),c);
????renderDigit(MARGIN_LEFT+93*(RADIUS+1),MARGIN_TOP,parseInt(seconds%10),c);

????for(?var?i?=?0?;?i?<?balls.length?;?i?++?){
????????c.fillStyle=balls[i].color;
????????c.beginPath();
????????c.arc(?balls[i].x?,?balls[i].y?,?RADIUS?,?0?,?2*Math.PI?,?true?);
????????c.closePath();
????????c.fill();
????}
}
function?renderDigit(x,y,num,c){
????c.fillStyle?=?"rgb(0,102,153)";
//????c.fillStyle?=?"red";
????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){
????????????????c.beginPath();
????????????????c.arc(x+j*2*(RADIUS+1)+(RADIUS+1),y+i*2*(RADIUS+1)+(RADIUS+1),RADIUS,0,2*pi);
????????????????c.closePath();
????????????????c.fill();
????????????}
????????}
????}
}


正在回答

1 回答

你的代碼78行r改為g,寫錯了

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

舉報

0/150
提交
取消

時間在動,但小球一閃而過.

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

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

幫助反饋 APP下載

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

公眾號

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