Я делаю шутер сверху вниз в Flash CS4 с использованием AS3.Использование localToGlobal во Flash CS4 AS3
Когда я стреляю в пули. Я установил его исходную позицию как player.x и player.y. Но именно здесь находится «голова» мувиклипа. Я хочу, чтобы он был создан с того места, где находится «Пистолет».
Я сделал еще один мувиклип внутри мувиклипа игрока под названием «NewShootingPoint» и расположил его там, где находится пистолет.
Я не могу найти правильные локальные ссылкиToGlobal, чтобы посоветовать мне. Я знаю, что localToGlobal преобразует локальную позицию мувиклипа в глобальную позицию. Но как мне это сделать?
Я попытался это: (Новый кодекс)
package {
import flash.display.MovieClip;
import flash.geom.Point;
import flash.display.Stage;
import flash.events.MouseEvent;
import flash.events.Event;
public class Main extends MovieClip {
//var myPoint : Point = new Point(340.1, 232.2);
var player : Player = new Player;
var origin : Gun = new Gun();
var bullet : Bullet = new Bullet();
public function Main() {
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler);
player.x = stage.stageWidth/2;
player.y = stage.stageHeight/2;
stage.addChild(player);
}
function onMouseDownHandler(e:Event) {
// I want this to happen.
bullet.x = origin.x;
bullet.y = origin.y;
// But it's still stuck at (0,0)
stage.addChild(bullet);
bullet.addEventListener(Event.ENTER_FRAME, thingy);
}
function thingy(e:Event) {
bullet.x += 10;
bullet.y += 10;
}
}
}
Да. Я знаю, что должен использовать классы. Я сделаю это позже. Пожалуйста, советую для этого!
localToGlobal используется, чтобы получить координаты объекта в зависимости от стадии, но так как вы добавите все на сцену, чтобы начать с localToGlobal не имеет смысла для вас. – BotMaster