Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.02.2014, 15:15
tihomir вне форума Посмотреть профиль Отправить личное сообщение для tihomir Найти все сообщения от tihomir
  № 11  
Ответить с цитированием
tihomir

Регистрация: Feb 2014
Сообщений: 30
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
Уберите из кода спрайты и добавляйте в массив клипы.
Пишет
Цитата:
Монтажный кадр 1, слой "Слой 3", кадр 1, строка 2 1037: Пакеты не могут быть вложенными.

Старый 25.02.2014, 15:21
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 12  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Тут я Вам помочь не могу, я не понимаю в кадрах..

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

Старый 25.02.2014, 15:31
tihomir вне форума Посмотреть профиль Отправить личное сообщение для tihomir Найти все сообщения от tihomir
  № 13  
Ответить с цитированием
tihomir

Регистрация: Feb 2014
Сообщений: 30
Попробовал написать вот так
Код AS1/AS2:
 var leftPressed:Boolean = false;
    var rightPressed:Boolean = false;
 
    wolf.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey);
    stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed);
    stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed);
 
    function fl_MoveInDirectionOfKey(event:Event)
    {
       if (leftPressed)
       {
          wolf.x -= 5;
          wolf.gotoAndStop (2)
       }
       if (rightPressed)
       {
          wolf.x += 5;
          wolf.gotoAndStop (2)
       }
       if (leftPressed != true)
       {
          wolf.gotoAndStop (1)
       }
       if (rightPressed != true)
       {
          wolf.gotoAndStop (1)
       }
    }
 
    function fl_SetKeyPressed(event:KeyboardEvent):void
    {
       switch (event.keyCode)
       {
          case Keyboard.LEFT:
          {
             leftPressed = true;
             break;
          }
          case Keyboard.RIGHT:
          {
             rightPressed = true;
             break;
          }
       }
    }
 
    function fl_UnsetKeyPressed(event:KeyboardEvent):void
    {
       switch (event.keyCode)
       {
          case Keyboard.LEFT:
          {
             leftPressed = false;
             break;
          }
          case Keyboard.RIGHT:
          {
             rightPressed = false;
             break;
          }
       }
    }
теперь просто проигрывает анимацию и выдаёт ошибку
Цитата:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at _fla::MainTimeline/fl_MoveInDirectionOfKey()

Старый 25.02.2014, 16:44
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 14  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Не нужно извращаться, если Вы работаете во FlashIDE с мувиклипами. Все состояния волка - это различные клипы с анимациями внутри. Объедините их в один клип, раскидайте каждое состояние на свой кадр. Теперь Вы знаете номер кадра каждого состояния, поместите в константы. В нужном месте по коду просто запускайте
Код AS3:
const STATE_IDLE:uint = 1;
const STATE_WALK:uint = 2;
...
wolf.gotoAndStop(STATE_IDLE);
Добавлено через 6 минут
Код AS3:
function fl_MoveInDirectionOfKey(event:Event) {
    if (leftPressed) {
        wolf.x -= 5;
        wolf.gotoAndStop (STATE_WALK)
    }
    else if (rightPressed) {
        wolf.x += 5;
        wolf.gotoAndStop (STATE_WALK)
    }
    else {
        wolf.gotoAndStop(STATE_IDLE);
    }
}
__________________
тут я

Старый 26.02.2014, 10:05
tihomir вне форума Посмотреть профиль Отправить личное сообщение для tihomir Найти все сообщения от tihomir
  № 15  
Ответить с цитированием
tihomir

Регистрация: Feb 2014
Сообщений: 30
Попробовал я значит сделать так:
Код AS1/AS2:
var leftPressed:Boolean = false;
    var rightPressed:Boolean = false;
 var stopwolf1:Stopwolf = new Stopwolf();
 addChild(stopwolf1);
 stopwolf1.x = 250
 stopwolf1.y = 680
 var gowolf1:Gowolf = new Gowolf();
 addChild(gowolf1);
 gowolf1.x = 250
 gowolf1.y = 680
    gowolf1.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey);
	stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed);
    stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed);
 
    function fl_MoveInDirectionOfKey(event:Event)
    {
       if (leftPressed)
       {
          gowolf1.x -= 5;
          gowolf1.gotoAndStop (2)
       }
       if (rightPressed)
       {
          gowolf1.x += 5;
          gowolf1.gotoAndStop (2)
       }
       if (leftPressed != true)
       {
          gowolf1.gotoAndStop (1)
       }
       if (rightPressed != true)
       {
          gowolf1.gotoAndStop (1)
       }
    }
 
    function fl_SetKeyPressed(event:KeyboardEvent):void
    {
       switch (event.keyCode)
       {
          case Keyboard.LEFT:
          {
             leftPressed = true;
             break;
          }
          case Keyboard.RIGHT:
          {
             rightPressed = true;
             break;
          }
       }
    }
 
    function fl_UnsetKeyPressed(event:KeyboardEvent):void
    {
       switch (event.keyCode)
       {
          case Keyboard.LEFT:
          {
             leftPressed = false;
             break;
          }
          case Keyboard.RIGHT:
          {
             rightPressed = false;
             break;
          }
       }
    }
И получилось так что когда я нажимаю на клавиши влево вправо персонаж перескакивает и во время движения за ним остаётся шлейф, и ещё персонаж в спокойном состоянии остаётся на сцене а нужно чтобы исчезал во время движения и появлялся когда отпускаю клавиши. Подскажите пожалуйста как это исправить!!!

Старый 26.02.2014, 10:45
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 16  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
1. stopWolf1 надо же тоже перемещать вместе с goWolf1
2. управляйте свойством visible обоих волков в противофазе

а что теперь означают первый и второй кадры в бегущем волке? Раньше эти кадры содержали клипы стоящего и бегущего, а теперь какой смысл заложен в переходе со стопом на эти кадры?
__________________
Reality.getBounds(this);

Старый 26.02.2014, 11:05
tihomir вне форума Посмотреть профиль Отправить личное сообщение для tihomir Найти все сообщения от tihomir
  № 17  
Ответить с цитированием
tihomir

Регистрация: Feb 2014
Сообщений: 30
ой косяк
Код AS1/AS2:
gowolf1.gotoAndStop ("gowolf1")
забыл убрать, его же убрать надо?)

Старый 26.02.2014, 11:12
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 18  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну, если у Вас теперь goWolf1 это только движение, то Вам надо заменить команды переходов по кадрам командами переключения видимости двух клипов. А так какая-то двойная система получается)
__________________
Reality.getBounds(this);

Старый 26.02.2014, 11:14
tihomir вне форума Посмотреть профиль Отправить личное сообщение для tihomir Найти все сообщения от tihomir
  № 19  
Ответить с цитированием
tihomir

Регистрация: Feb 2014
Сообщений: 30
Так как я совсем зелёный во флеше то я не понимаю что на что нужно заменить конкретно

Старый 26.02.2014, 11:31
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 20  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Хороший шанс немного подрумяниться.
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:56.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.