Javascript 如何将创建的组精灵分离为单个精灵
我正在尝试创建一个小游戏,让一名士兵在一个小区域内移动并发射子弹。我是一名新的程序员,几个月前才开始使用javascript,因此,如果我的问题措词不当或代码笨拙,我深表歉意 我曾尝试使用[group].get(I)来隔离从枪中出来的每个精灵,但它只是破坏并崩溃了程序 以下是我的(小)程序的所有代码:Javascript 如何将创建的组精灵分离为单个精灵,javascript,sprite,Javascript,Sprite,我正在尝试创建一个小游戏,让一名士兵在一个小区域内移动并发射子弹。我是一名新的程序员,几个月前才开始使用javascript,因此,如果我的问题措词不当或代码笨拙,我深表歉意 我曾尝试使用[group].get(I)来隔离从枪中出来的每个精灵,但它只是破坏并崩溃了程序 以下是我的(小)程序的所有代码: var soldier = createSprite(200, 200); soldier.setAnimation("soldier_still"); var bullet = createGr
var soldier = createSprite(200, 200);
soldier.setAnimation("soldier_still");
var bullet = createGroup();
function draw() {
background(rgb(100, 85, 45));
move();
attack();
drawSprites();
}
function attack() {
if (mouseWentDown("leftButton")) {
for (var i = 0; i < 3; i++) {
bullet.add(createSprite(soldier.x, soldier.y));
bullet.setAnimationEach("bullet");
bullet.pointToEach(World.mouseX, World.mouseY);
bullet.setLifetimeEach(50);
bullet.setSpeedAndDirectionEach(20, World.mouseX, World.mouseY);
}
}
}
function move() {
createEdgeSprites();
World.allSprites.bounceOff(topEdge);
World.allSprites.bounceOff(bottomEdge);
World.allSprites.bounceOff(leftEdge);
World.allSprites.bounceOff(rightEdge);
soldier.pointTo (World.mouseX,World.mouseY);
if (keyDown() == false) {
soldier.setAnimation("soldier_still");
soldier.velocityX = 0;
soldier.velocityY = 0;
}
if (keyDown("up")) {
soldier.setAnimation("soldier_move");
soldier.velocityY = -5;
}
if (keyDown("down")) {
soldier.setAnimation("soldier_move");
soldier.velocityY = 5;
}
if (keyDown("left")) {
soldier.setAnimation("soldier_move");
soldier.velocityX = -5;
}
if (keyDown("right")) {
soldier.setAnimation("soldier_move");
soldier.velocityX = 5;
}
}
var-soldier=createSprite(200200);
士兵.setAnimation(“士兵仍然”);
var bullet=createGroup();
函数绘图(){
背景(rgb(100,85,45));
move();
攻击();
drawSprites();
}
函数攻击(){
如果(鼠标向下移动(“左键”)){
对于(变量i=0;i<3;i++){
bullet.add(createSprite(soldier.x,soldier.y));
bullet.setAnimationEach(“bullet”);
bullet.pointToEach(World.mouseX,World.mouseY);
bullet.SetLifetime每个(50);
bullet.setSpeedAndDirectionEach(20,World.mouseX,World.mouseY);
}
}
}
函数move(){
createEdgeSprites();
World.allSprites.bounceOff(topEdge);
World.allSprites.bounceOff(底边);
World.allSprites.bounceOff(左边缘);
World.allSprites.bounceOff(右边缘);
soldier.pointTo(World.mouseX,World.mouseY);
if(keyDown()==false){
士兵.setAnimation(“士兵仍然”);
soldier.velocityX=0;
soldier.velocityY=0;
}
如果(按键向下(“向上”)){
士兵。设置动画(“士兵移动”);
soldier.velocityY=-5;
}
如果(按键向下(“向下”)){
士兵。设置动画(“士兵移动”);
士兵速度y=5;
}
如果(向下键(“左”)){
士兵。设置动画(“士兵移动”);
soldier.velocityX=-5;
}
如果(按下键(“右”)){
士兵。设置动画(“士兵移动”);
soldier.velocityX=5;
}
}
程序要么崩溃,要么所有子弹精灵都面对鼠标的位置。是否有任何方法可以改进我的代码,或者有一个解决方案使每个组(子弹)精灵都有自己的单独精灵?看起来你在使用一个库(精灵没有内置到JS中);你在用什么图书馆?如果我们知道的话,人们会更容易提供帮助。看起来你正在使用一个库(精灵没有内置到JS中);你在用什么图书馆?如果我们知道的话,人们会更容易帮忙。