1. 帧频函数执行原理:
帧频函数每秒调用 60 次, 每次执行一帧动画.
如果想在游戏中控制帧频函数的执行频率,不想执行这么快,那么可以通过变量计数的方式,来实现对频率的控制
代码如下:
// 计数变量var a = 0;app.ticker.add(function animate() {if(a == 60){//相关代码a = 0;}a++;});
2. 案例目标
var app = new PIXI.Application(400, 400);document.body.appendChild(app.view);var bg = new PIXI.Sprite.fromImage("res/bg_02.png");app.stage.addChild(bg);var plane = new PIXI.Sprite.fromImage("res/plane_blue_01.png");plane.anchor.set(0.5,0.5);plane.x = 200;plane.y = 300;app.stage.addChild(plane);//飞机plane的鼠标跟随bg.interactive = true;bg.on("mousemove",movePlane);function movePlane(event) {var pos = event.data.getLocalPosition(app.stage);plane.x = pos.x;plane.y = pos.y;}//存储子弹的数组var arr = [];app.ticker.add(animate);function animate() {addBullet();//创建子弹moveBullet();//移动子弹}//创建子弹var time = 0;function addBullet() {if(time == 10) {var bullet = PIXI.Sprite.fromImage("res/plane/bullet_01.png");bullet.anchor.set(0.5,0.5);bullet.x = plane.x;bullet.y = plane.y;app.stage.addChild(bullet);//将子弹存入arr数组arr.push(bullet);time = 0;}time++;}//移动子弹function moveBullet(){//移动arr数组中的子弹for(var i=0;i<arr.length;i++){arr[i].y -= 8;}//如果子弹的超出边界,将子弹删除for(var i=arr.length-1;i>=0;i--){if(arr[i].y < -100) {app.stage.removeChild(arr[i]);arr.splice(i,1);}}}
3. 颜色换算
颜色 是使用 十六进制数表示
十六进制的数有效范围是 0~9,A~F
颜色的组成是 RGB , R-RED, G-GREEN , B-BLUE
表示颜色时,使用一个字节表示一个原色
一个颜色由三个字节组成
