Итак, я получил этот класс bulletContainer, который стреляет во все эти пули, он работает и стреляет отлично, когда я помещаю класс в подвижную заставку, чтобы добавить на сцену.У меня не может быть этого в мувиклипе, потому что, когда я вызываю функцию bulletClass, она выдаст мне ошибку, говоря, что она существует.Теперь моя проблема в том, что когда я добавлюChild (bulletClass) на сцену, он будет работать точно так, как запрограммировано, за исключением движения / анимации.Пуля движется хорошо, за исключением того, что когда я стреляю, она стреляет в противоположную сторону, и не ПРОСТО стреляет в противоположную сторону, она стреляет немного влево (если я указываю прямо вверх немного влево), то, если я укажу полностью вправо, это будетвращаться, чтобы стрелять прямо со мной.Так что это в основном bass-akwards. Во всех отношениях, как я сказал, и это только когда я добавляюChild () с классом (который расширяет Movieclip).Я не знаю, почему я даю вам свой код, потому что он еще больше запутает вас, когда все проверит;Я думаю, что где-то есть преобразование, например, классы, которые расширяют Movieclip, ориентированы иначе, чем библиотека MovieClips?
Этот код находится в функции bulletAdder (), единственное место, где пули создаются в bulletContainer
var localPlayer = Object(root).localSurvivor;
//Select what movieclip should go into the bullet
var newBullet;
newBullet = new bullet1;
//Create a local movieclip for this
var newBulletMC:MovieClip = new MovieClip;
newBulletMC.addChild(newBullet);
newBulletMC.x = setX;
newBulletMC.y = setY;
//trace(localPlayer.rotation);
//Create the newBullet class for movement
var localPlayerRotation = Object(root).localSurvivor.rotation;
trace(localPlayerRotation);
var newBulletClass:bulletClass = new bulletClass(localPlayerRotation, bulletLifetime);
//Add bulletMC to the bulletClass
newBulletClass.addChild(newBulletMC);
//Add to array
bulletArray.push(newBulletClass);
//Add to stage
localStage.addChild(newBulletClass);
Это bulletClass, пули, которые движутся на экране
package com{
import flash.display.*
import flash.utils.*
public class bulletClass extends MovieClip{
public var lifetime = 0;
public var dir = 0;
var animationInt;
public function bulletClass(playerRotation, bLifetime:Number = 1){
dir = playerRotation
//Start life
animationInt = setInterval(animateBullet, 40);
}
private function animateBullet(){
this.x += 10 * Math.sin(dir * (Math.PI / 180));
this.y += 10 * Math.cos(dir * (Math.PI / 180));
}
}
}