Воскресенье, 17 Ноября 2024, 15:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Rotation в NeoAxis
CyberДата: Вторник, 11 Июня 2013, 13:47 | Сообщение # 21
был не раз
Сейчас нет на сайте
Теперь прямее некуда) На других форумах не лучше, а тут говорили эксперт есть в нео, сначала сомневался, а теперь вижу что есть такой)
UndeadДата: Среда, 12 Июня 2013, 07:40 | Сообщение # 22
NeoAxis User
Сейчас нет на сайте
Cyber, Ну я не эксперт. Просто движок неплохо знаю.

Вcем зла.
CyberДата: Среда, 12 Июня 2013, 16:24 | Сообщение # 23
был не раз
Сейчас нет на сайте
Это хорошо, так как знаете, снова нужна ваша помощь)) И что удивительно( для меня ) по тому же самому вопросу который мы уже как я думал прошли...)
Дело опять всё в том, что не определяются ракетные блоки как оружие, а главное пулемет без проблем после прохода по прикрепленным объектам определяется.
Я решил сделать как, при создании вертолета проходимся по прикрепленным объектам и ищем все оружия. У меня есть прикрепленный пулемет (AircraftGun), который попадает в коллекцию, и есть прикрепленный блок (типа Gun), который в коллекцию почему то не попадает.

Код

protected override void OnPostCreate( bool loaded )
{
     base.OnPostCreate( loaded );
     AddTimer();

     foreach (MapObjectAttachedObject attachedObject in AttachedObjects)
     {
         MapObjectAttachedMapObject attachedMapObject = attachedObject as MapObjectAttachedMapObject;
         if (attachedMapObject == null)
             continue;

         Gun mainG = (Gun)attachedMapObject.MapObject;
         if (mainG != null)
         {
             BlocksRocket.Add(mainG);/*Здесь пулемет попадает в коллекцию (тип AircraftGun), а ракетный блок (тип Gun) не попадет*/
             break;
         }
     }

     gunAttachObject = GetAttachedObjectByAlias("mainGun") as MapObjectAttachedMapObject;
     mainGun = (AircraftGun)gunAttachObject.MapObject; /*Пулемет*/

     body = PhysicsModel.Bodies[0];

     currentBlockRocket = BlocksRocket[0];

}


Сообщение отредактировал Cyber - Среда, 12 Июня 2013, 16:27
UndeadДата: Четверг, 13 Июня 2013, 19:33 | Сообщение # 24
NeoAxis User
Сейчас нет на сайте
Что за ракетные блоки?
Кидай в архив класс вертолёта и тип, посмотрим.

Добавлено (13.06.2013, 19:33)
---------------------------------------------
Посмотрел всё, что ты мне прислал.
Присылать было не обязательно. Я должен был это заметить сразу.
У тебя цикл перебора завершается после первого найденого оружия. Зачем тебе break в условии? Ты же из цикла сразу выходишь.
Немного поправил твой OnPostCreate:
Код
  protected override void OnPostCreate( bool loaded )
     {
      base.OnPostCreate( loaded );

               gunAttachObject = GetAttachedObjectByAlias("mainGun") as MapObjectAttachedMapObject;
               mainGun = (AircraftGun)gunAttachObject.MapObject;

               foreach (MapObjectAttachedObject attachedObject in AttachedObjects)
               {
                   MapObjectAttachedMapObject attachedMapObject = attachedObject as MapObjectAttachedMapObject;
                   if (attachedMapObject == null)
                       continue;

                   Gun mainG = (Gun)attachedMapObject.MapObject;
                   if (mainG != null && mainG != mainGun)
                   {
                       BlocksRocket.Add(mainG);
                   }
               }
                  
               body = PhysicsModel.Bodies[0];

               currentBlockRocket = BlocksRocket[0];     
     }

P.S.
Переименуй тему лучше в Вопрос-Ответ [NeoAxis]
И пиши все вопросы в этой теме.


Вcем зла.

Сообщение отредактировал Undead - Четверг, 13 Июня 2013, 19:56
CyberДата: Пятница, 14 Июня 2013, 15:13 | Сообщение # 25
был не раз
Сейчас нет на сайте
Снова вы оказали неоценимую помощь)) Благодарю. А у меня с детства как идет невнимательность, так она и идет..)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг