Flash и as3 вопрос - PullRequest
       3

Flash и as3 вопрос

0 голосов
/ 16 июля 2010

Так что это странная ошибка, которую я получаю, потому что у меня есть четыре фрагмента фильма на моем кадре, которые я бегу взад и вперед по экрану в игре, похожей на лягушку. Три из них работают, а четвертый - нет, хотя у меня для всех них одинаковый код. Почему я получаю ошибку для одного, а не для другого 3? Вот мой код:

if((chris.x - laneOne) >= 0 && !turn1){
    chris.scaleX = 1;
    chris.x -= laneOne;
    turn1 = false;
}else{
    turn1 = true;
}
if((chris.x + laneOne) <= 500 && turn1){
    chris.scaleX = -1;
    chris.x += laneOne;
    turn1 = true;
}else{
    turn1 = false;
}
//Lane 2
if((kate.x - laneTwo) >= 0 && !turn2){
    kate.scaleX = 1;
    kate.x -= laneTwo;
    turn2 = false;
}else{
    turn2 = true;
}
if((kate.x + laneTwo) <= 500 && turn2){
    kate.scaleX = -1;
    kate.x += laneTwo;
    turn2 = true;
}else{
    turn2 = false;
}
//Lane 3
/*if((seth.x - laneThree) >= 0 && !turn3){
    seth.scaleX = 1;
    seth.x -= laneThree;
    turn3 = false;
}else{
    turn3 = true;
}
if((seth.x + laneThree) <= 500 && turn3){
    seth.scaleX = -1;
    seth.x += laneThree;
    turn3 = true;
}else{
    turn3 = false;
}*/
//Lane 4
if((mel.x - laneFour) >= 0 && !turn4){
    mel.scaleX = 1;
    mel.x -= laneFour;
    turn4 = false;
}else{
    turn4 = true;
}
if((mel.x + laneFour) <= 500 && turn4){
    mel.scaleX = -1;
    mel.x += laneFour;
    turn4 = true;
}else{
    turn4 = false;
}

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

Это мой первый вопрос.

Мой второй вопрос: у меня есть персонаж в том же кадре, и я хочу переместить его через клавиатуру, и я использую класс keyObject в senocular, и он не будет работать, если я не сверну экран и не открою его снова , Как только я снова открываю экран, он работает просто отлично.

У меня есть догадка, что обе эти проблемы связаны с тем, что видеоклип загружен не полностью, но я новичок во флэш-памяти и as3, поэтому любая помощь будет принята с благодарностью. Также, если требуется больше разъяснений, пожалуйста, попросите их, чтобы я мог получить некоторую помощь, потому что у меня есть эта проблема в течение приблизительно 2 дней, и я до сих пор не могу ее решить!

Ответы [ 2 ]

0 голосов
/ 23 июля 2010

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

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

Вот код, который я должен сделать, чтобы перейти к фактическомуигра:

<code>stop();
playGame.addEventListener(MouseEvent.CLICK, buttonClicked);
var clicked:Boolean = false;
function buttonClicked(event:MouseEvent){
    clicked = true;
    this.gotoAndStop('start');
}

Помогло ли это вам, ребята, помочь мне?

0 голосов
/ 19 июля 2010

Проблема 1: используйте trace (), чтобы узнать, является ли 'seth' неопределенным по какой-то причине.Поскольку в коде, который вы вставили, не упоминается Сет, я не могу сделать лучшего предложения там ... [править: StackOverflow урезает ваш код на моем iPhone, но трассировка по-прежнему остается способом отладки проблемы, ищите неопределенные свойства]

Проблема 2: убедитесь, что ваши ключевые слушатели добавлены на сцену, а не дочерний объект.Таким образом, вам не нужно нажимать Swf, чтобы получить фокус, прежде чем слушатели сработают.

[править 2: выяснил, как увидеть ваш код - зашифрован кодовый блок 'seth', это то, что вашпроблема?]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...