2015-01-09 5 views
0

Итак, я создаю простую 2-мерную игру в духе битруннера, с символом, двигающимся вправо. И у меня проблемы с камерой, чтобы придерживаться персонажа.Движение камеры с персонажем - AS3

Я очень в начале обучения as3 и никогда раньше не делал этого. Я искал примеры этого, но до сих пор я не нашел простого кода, который я понял достаточно, чтобы вставить в игру. И многие говорят, что это так просто, что мне не нужен код для этого ... но я знаю.

Мне лучше учиться на коде, который я вижу, чем кто-то объясняющий это мне.

//stop/start animations 
Player.stop(); 
rocket_1.play(); 

//variables 
var gravity = 5; 
var speedy = 20; 
var speedx = 5; 

//event listeners 
stage.addEventListener(KeyboardEvent.KEY_DOWN,charMove); 
stage.addEventListener(KeyboardEvent.KEY_UP, stand); 
stage.addEventListener(Event.ENTER_FRAME, grav); 

function grav(event:Event): void{ 
    Player.y += gravity; 
} 


//functions 
function charMove(event:KeyboardEvent): void{ 
    switch (event.keyCode){ 

     case Keyboard.RIGHT: 
     trace("I've been pressed right"); 
     Player.x += speedx; 
     Player.play(); 
     break; 

     case Keyboard.SPACE: 
     trace("space"); 
     Player.y -= speedy; 
     break; 

    } 
} 

function stand(event:KeyboardEvent): void{ 
    Player.gotoAndStop(1); 
} 

ответ

0

В Flash не существует по умолчанию камеры нет, есть стадия, с размером, шириной и высотой, , так что если вы персонаж двигаться вне сцены, вы не можете видеть его больше.

, так что вам нужно заставить все двигаться по оси х, но не ваш персонаж.

+0

Как бы я это сделал? не могли бы вы написать код? Я знаю, что мне нужно перемещать вещи влево, но мне нужно сделать это индивидуально? Или мне нужно сгруппировать их? Но группировка их не повлияет на обнаружение хитов, которые уже включены? – user3096986