canvas實現多個彈跳小球 js部分

2021-08-11 14:16:52 字數 1034 閱讀 3555

// 獲取class名為picture的canvas元素

var can = document.queryselector('.picture');

// 讓它撐滿整個螢幕

can.width = window.innerwidth;

can.height = window.innerheight;

// 獲取2d上下文

ctx = can.getcontext('2d');

// 封裝乙個類

; (function (win)

this.x = ran(win.innerwidth);//圓心x軸座標

this.y = ran(win.innerheight);//圓心y軸座標

this.r = ran(20);//半徑

this.vx = ran(10);//速度

this.vy = ran(10);//速度

this.color = mock.random.color();中的隨機顏色api

}circle.prototype = ,

// 小球的邊界判定函式(回彈)

move: function (ctx)

if (this.x > (canvasheight - this.r) || this.x < this.r)

//偏移量

this.x += this.vx;

this.y += this.vy;

},// 隨機數函式

ran: function (num)

}//暴露介面

win.circle = circle;

}(window));

//呼叫20次(20和小球同時運動)

var arr = ;

for (var i = 0; i < 20; i++)

function draw()

requestanimationframe(draw)//動畫函式 遞迴呼叫draw函式

}draw();//首次呼叫

python實現彈跳小球

前言 學習python的過程中,比較喜歡通過實際的小專案進行鞏固學習,決定寫乙個彈跳小球的程式。這個實戰例程是在 上看到的,他的編寫過程比較完整,步驟清晰,貼的 並不完整,但是我還是決定嘗試一下,在嘗試的過程中由於自己的基礎知識並沒有學到類這裡,所以是在摸索的階段,一邊學習基礎知識,一邊編寫這個例程...

利用canvas 物件知識做彈跳小球

loop函式中的相關說明 1 requestanimationframe loop 讓函式每隔一段時間執行一次 2 如何讓小球避免長蛇軌跡,並稍微有一點之前的運動軌跡?可以在下一次小球出現的時候重繪畫布,讓他變為黑色,再給一點透明度,就可以顯示之前的一點運動軌跡了 doctype html en u...

使用pgzero實現小球彈跳效果

程式 做了如下操作 1 引入pgzero庫 2 定義幕布的長寬 3 定義小球的中心座標 半徑 移動速度 4 定義draw函式 繪製模組 對每幀畫面進行繪製 5 定義update函式 更新模組 在每幀畫面繪製之前更新物件的變數 6 執行遊戲 完整 如下 import pgzrun 引入pgzero庫 ...