Flashgamedev.ru | Разработка и Монетизация Флэш игр
http://flashgamedev.ru/

Вопрос - ответ
http://flashgamedev.ru/viewtopic.php?f=6&t=572
Страница 1 из 758

Автор:  z3lf [ Вс фев 28, 2010 1:27 am ]
Заголовок сообщения:  Вопрос - ответ

Дочитал Мука "Подробное руководство по AS3" и все ровно остался вопрос: "Как реализовать пользовательское событие?"

К примеру, имеется объект objHero, нужно реализовать событие, которое отслеживает, когда x<0.
Код:
package {
   import flash.display.*;
   
   public class objHero extends Sprite {
      var body:Shape;
      var sprHero:Sprite;
      
      public function objHero() {
         //Спрайт главного героя
         body = new Shape();
         body.graphics.beginFill(0xFFFFFF);
         body.graphics.drawRect(-15,-15,30,30);
         
         sprHero = new Sprite();
         sprHero.addChild(body);
         
         addChild(sprHero);
      }
   }
}

Может я совсем все туго понимаю :(

//хочу реализовать простой платформер: ходьба, прыжок, столкновение.

Автор:  Jroslav.K [ Вс фев 28, 2010 1:43 am ]
Заголовок сообщения:  Re: Пользовательские события

>хочу реализовать простой платформер: ходьба, прыжок, столкновение

в таком случае тебе пользовательские собыстия не нужны
то что ты задумал, крайне непроизводительно

почитай http://xitri.com/

а с событием всё просто
dispatchEvent("ляля") при нужном условии

Автор:  z3lf [ Вс фев 28, 2010 1:48 am ]
Заголовок сообщения:  Re: Пользовательские события

Все дело в том, что я пишу на AS3, а на xitri уроки по AS1-2.
И игра строится исключительно на коде, без вмешивания во фреймы.

Автор:  Jroslav.K [ Вс фев 28, 2010 1:54 am ]
Заголовок сообщения:  Re: Пользовательские события

и чего?))

попробуй портани
это проще пареной репы

пересмотри своё отношение к xitri
там дело пишут)

Автор:  z3lf [ Вс фев 28, 2010 2:02 am ]
Заголовок сообщения:  Re: Пользовательские события

Все таки хочется услышать дельный совет по AS3.

По поводу производительности: сейчас мне это не главное, главное понять сам процесс.

Автор:  Jroslav.K [ Вс фев 28, 2010 2:09 am ]
Заголовок сообщения:  Re: Пользовательские события

пример пользовательского события :D

вызываться будет постоянно, когда x < 0

Код:
package
{
   import flash.display.Sprite;
   import flash.events.Event;
   import flash.events.EventDispatcher;
   
   public class Hero extends Sprite
   {
      public static const MY_EVENT:String = "MyEvent";
      
      public function Hero()
      {
         addEventListener(Event.ENTER_FRAME, onEnterFrame);
      }
      private function onEnterFrame(e:Event):void
      {
         if (x < 0) {
            
            dispatchEvent(new Event(MY_EVENT));
         }
      }
   }
   
   public class World extends Object
   {
      public function World()
      {
         var h:Hero = new Hero();
         h.addEventListener(Hero.MY_EVENT, onMyEvent);
      }
      private function onMyEvent(e:Event):void
      {
      }
   }
}

Автор:  z3lf [ Вт мар 02, 2010 5:21 am ]
Заголовок сообщения:  Re: Вопрос - ответ

Возник вопрос.
Есть отдельный код, который рисует белый прямоугольник. В другом коде я применяю ему разворот ( rect.direction ) и получается такое (столкновение прямоугольника и шарика проверяется через ball.hitTestObject(rect) ) а-ля спрайт вид меняет, а сама форма столкновения остается прежней:

Вложения:
Безымянный1.PNG
Безымянный1.PNG [ 3.92 KIB | Просмотров: 17831 ]

Автор:  hanuman [ Вт мар 02, 2010 9:03 am ]
Заголовок сообщения:  Re: Вопрос - ответ

z3lf писал(а):
Возник вопрос.
Есть отдельный код, который рисует белый прямоугольник. В другом коде я применяю ему разворот ( rect.direction ) и получается такое (столкновение прямоугольника и шарика проверяется через ball.hitTestObject(rect) ) а-ля спрайт вид меняет, а сама форма столкновения остается прежней:


hitTest не подойдёт, он не учитывает разворот объектов, нужно использовать сторонний код колижн детекшнов, например этот...

Автор:  Soulghai [ Вт мар 02, 2010 10:24 am ]
Заголовок сообщения:  Re: Вопрос - ответ

В hitTest'е, после указания координат, идёт ещё одна переменная булевского типа, если она = true, то повороты учитываются (и прозрачные элементы изображения тоже)

Автор:  hanuman [ Вт мар 02, 2010 11:06 am ]
Заголовок сообщения:  Re: Вопрос - ответ

Soulghai писал(а):
В hitTest'е, после указания координат, идёт ещё одна переменная булевского типа, если она = true, то повороты учитываются (и прозрачные элементы изображения тоже)


Ты перепутал, в hitTest'е нет такого. Переменная shapeFlag : Boolean есть только в HitTestPoint для проверки пересечения с точкой...

Страница 1 из 758 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/