在JavaScript中,var app = new PIXI.Application(500,600); document.body.appendChild(app.view); var bg = new PIXI.Sprite.fromImage("res/bg_01.png"); app.stage.addChild(bg); var bullet = new PIXI.Sprite.fromImage("res/plane/bullet/img_bullet_14.png"); bullet.anchor.set(0.5,0.5); app.stage.addChild(bullet); var plane = new PIXI.Sprite.fromImage("res/plane_blue_01.png"); plane.anchor.set(0.5,0.5); plane.x = 250; plane.y = 500; app.stage.addChild(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; }, 添加帧频函数:animate,用于设置子弹 bullet 向上移动(30像素/帧) 当 bullet y < -50时,设置bullet y:plane.y-50、bullet x: plane.x。
时间: 2023-06-24 20:06:00 浏览: 188
可以在代码中添加如下的 animate 函数,用于设置子弹 bullet 向上移动并更新位置:
```
function animate() {
requestAnimationFrame(animate);
bullet.y -= 30;
if (bullet.y < -50) {
bullet.y = plane.y - 50;
bullet.x = plane.x;
}
app.renderer.render(app.stage);
}
```
然后在创建 PIXI 应用程序后调用 animate 函数即可:
```
var app = new PIXI.Application(500, 600);
document.body.appendChild(app.view);
// ...
animate();
```
相关问题
在JavaScript中如何表达以下代码?var app = new PIXI.Application(600,500); document.body.appendChild(app.view); var bg = new PIXI.Sprite.fromImage("res/pao/ground01_2.png"); app.stage.addChild(bg); bg.y = 300; var ball = new PIXI.Sprite.fromImage("res/lianxi/llball/ball.png"); app.stage.addChild(ball); ball.y = 240; 1、小球向右移动(1像素/帧)。 2、在移动到坑的位置时,向下移动,实现(垂直)掉落坑中的动画效果。 3、小球掉落位置范围(280-440)
var app = new PIXI.Application(600, 500);
document.body.appendChild(app.view);
var bg = PIXI.Sprite.fromImage("res/pao/ground01_2.png");
bg.y = 300;
app.stage.addChild(bg);
var ball = PIXI.Sprite.fromImage("res/lianxi/llball/ball.png");
ball.y = 240;
app.stage.addChild(ball);
function animate() {
requestAnimationFrame(animate);
ball.x += 1;
if (ball.x >= 400 && ball.y < 440) {
ball.y += 1;
}
}
animate();
在JavaScript中利用程序调式进行修改:代码编写区域内给定的代码有错误 利用程序调试的手段,使代码运行效果与目标效果一致; bullet子弹的移动速度为:7像素/帧(从左到右移动); bullet子弹的 x 坐标大于 1008 像素时,重新设置 x 坐标为 445 像素;var app = new PIXI.Application(1008,640); document.body.appendChild(app.view); var bullet = new PIXI.Sprite.fromImage('res/lianxi/peas/zidan1.png'); bullet.x = 445; bullet.y = 295; app.stage.addChild(bullet); var bg = new PIXI.Sprite.fromImage("res/lianxi/peas/bg.png"); app.stage.addChild(bg); app.addChild(bullet); var peas = new PIXI.Sprite.fromImage("res/lianxi/peas/peas.png"); peas.x = 354; peas.y = 285; app.stage.addChild(peas); app.ticker.add(animate); function animate(){ bullet.x +=7; if(bullet.x >= 1008) { bullet.x = 445; } }
根据你提供的代码,bullet子弹的移动速度应该是7像素/帧而不是10像素/帧。修改 animate 函数中的代码如下:
```
function animate() {
bullet.x += 7;
if (bullet.x > 1008) {
bullet.x = 445;
}
}
```
这样子弹就能以7像素/帧的速度从左到右移动,当超过1008像素时,重新设置 x 坐标为445像素。
阅读全文