p5.js入門教程之小球動畫示例代碼
一、運(yùn)動的小球
本節(jié)將用p5.js做一個(gè)在屏幕上運(yùn)動的小球。
思路是用變量記錄小球的位置,然后在draw()函數(shù)里對其做出改變,由于draw()函數(shù)會不斷地運(yùn)行(頻率為FPS,默認(rèn)60幀/秒),所以小球便產(chǎn)生了運(yùn)動。
代碼如下:
var x=0;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
//width和height是關(guān)鍵詞,分別是Canvas的寬和高
x+=2;
ellipse(x,height/2,20,20);
}
二、反彈的小球
經(jīng)過一段時(shí)間后,小球會移出屏幕。為了不讓小球跑到屏幕之外,我們新增一個(gè)變量用來控制速度,并在小球離開屏幕時(shí)讓速度反向。
代碼如下:
var x=0;
var speed=2;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
ellipse(x,height/2,20,20);
//width和height是關(guān)鍵詞,分別是Canvas的寬和高
x+=speed;
if(x>width||x<0){
speed*=-1;
}
進(jìn)一步,我們可以用兩個(gè)變量控制x、y方向的速度,實(shí)現(xiàn)小球在畫布上彈射的功能。
代碼如下:
var x=200;
var y=200;
var Vx=2;
var Vy=3;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
ellipse(x,y,20,20);//width和height是關(guān)鍵詞,分別是Canvas的寬和高
x+=Vx;
y+=Vy;
if(x>width||x<0){
Vx*=-1;
}
if(y>height||y<0){
Vy*=-1;
}
}
最終效果:https://alpha.editor.p5js.org/full/Bya02GDBb
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript+canvas實(shí)現(xiàn)框內(nèi)跳動小球
- JavaScript結(jié)合Canvas繪畫畫運(yùn)動小球
- JavaScript canvas實(shí)現(xiàn)跟隨鼠標(biāo)移動小球
- 原生js實(shí)現(xiàn)移動小球(碰撞檢測)
- js實(shí)現(xiàn)小球在頁面規(guī)定的區(qū)域運(yùn)動
- 用js實(shí)現(xiàn)小球的自由移動代碼
- js實(shí)現(xiàn)跟隨鼠標(biāo)移動的小球
- JavaScript實(shí)現(xiàn)小球沿正弦曲線運(yùn)動
- 原生js實(shí)現(xiàn)彈跳小球
- 原生js實(shí)現(xiàn)彈動小球效果
相關(guān)文章
javascript+html5+css3自定義彈出窗口效果
這篇文章主要為大家詳細(xì)介紹了javascript+html5+css3自定義彈出窗口效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
JS實(shí)現(xiàn)鼠標(biāo)箭頭變成一個(gè)燃燒燭光效果的方法
這篇文章主要介紹了JS實(shí)現(xiàn)鼠標(biāo)箭頭變成一個(gè)燃燒燭光效果的方法,實(shí)例分析了javascript操作鼠標(biāo)事件及圖片的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02

