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

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

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

Регистрация: Jun 2011
Сообщений: 6
По умолчанию Динамический include

Доброго времени суток, уважаемые пользователи форума!

Собственно, разрабатываю сейчас движок для 2D файтингов, что-то типо M.U.G.E.N.

Но столкнулся с такой проблемой:

(пример)
Код AS3:
var CharConfig:Object = {
   moves: 'data/moves.as',
   basic: 'data/basic.as'
};
 
include CharConfig.moves; //Error
Возможно ли инклюдить сценарии по значению переменной? Если нет, то есть ли альтернативные способы?
Буду признателен за помощь, спасибо.

Старый 30.12.2013, 14:49
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 2  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Возможно вам помогут константы компилятора. Но я бы советовал Вам отказаться от подхода с инклюдами.
__________________
местонахождение

Старый 30.12.2013, 15:58
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 3  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
Цитата:
что-то типо M.U.G.E.N.
Хм, прикольно. Один раз пробовал кодить для Mugen'а.
Сделал дополнительную комбо-атаку для July из Street Fighter, лол.

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

Старый 30.12.2013, 16:08
Ruslan_xDD вне форума Посмотреть профиль Отправить личное сообщение для Ruslan_xDD Найти все сообщения от Ruslan_xDD
  № 4  
Ответить с цитированием
Ruslan_xDD

Регистрация: Jun 2011
Сообщений: 6
Цитата:
Возможно вам помогут константы компилятора.
А можно пожалуйста с этим подробнее? И желательно, с примерами. Спасибо.

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

Старый 30.12.2013, 17:06
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 5  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
А зачем аж инклюдами?
Вы хотите что-ли сделать один класс файтера для всех, а потом в него "инклюдить" уникальный функционал каждого бойца?

Для этого есть более человеческие ооп подходы.
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: Jun 2011
Сообщений: 6
Dukobpa3, просто я пытаюсь приблизить функционал ближе в MUGEN'у (движку для создания файтингов), там для каждого персонажа подключаются несколько файлов с сценариями. Например так (как задумал я для AS3):
Код AS3:
Config = {
  name: 'scorpion',
  id: 'scorpion',
  states: ['common.as', 'moves.as', 'finishes.as', 'basic_moves.as', 'commands.as']
}
То есть, в states пишется сколько угодно директорий к сценариям для данного персонажа.
Сами as сценарии будут не классами, а обычными ф-циями.


Например, из common.as:

Код AS3:
function Stance() { //Стандартная стройка персонажа
   type = 'S'; //Игрок в положении стоя
   control = true; //Игрок доступен для управления
 
   Player.animation('stance', 'loop');
}
 
function Walk() { //Ходьба
   ...
}
 
function Run() { //Бег
   ...
}
Из command.as:

Код AS3:
stage.addEventListener('enterFrame', function() {
 
  if(command == 'F, F, x' && control && type == 'S') { //Если игрок набрал комманду Вперёд, Вперёд, Х и при этом игрок доступен для управления, и ещё при этом игрок находится в положении стоя, то выполнится ф-ция Fireball;
     Fireball();
  }
});
Это всё выше примеры, примерно так будет реализовано. Надеюсь, сама суть ясна.

Цитата:
states: ['common.as', 'moves.as', 'finishes.as', 'basic_moves.as', 'commands.as']
А вот это нужно как-то всё подгрузить при загрузке персонажа в игру.

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
так будет реализовано.
Поспешу вас разочаровать, так реализовано НЕ БУДЕТ
Не на флеше как минимум.
getDefinitionByName() в помощь.
Будете грузить какие-то стандартные наборы быблиотек.
В конфигах указывать имена классов (а не файлов).
Доставать из аппДомена эти классы и по сути результат тот -же, зато глаз будет меньше резать.


А за вот это я бы ручки-то поотрывал.
Цитата:
Код AS3:
stage.addEventListener('enterFrame', function() {
 
  if(command == 'F, F, x' && control && type == 'S') { //Если игрок набрал комманду Вперёд, Вперёд, Х и при этом игрок доступен для управления, и ещё при этом игрок находится в положении стоя, то выполнится ф-ция Fireball;
     Fireball();
  }
});
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

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

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


 


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


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