Плохо! Плохо!:  0
Страница 1 из 7 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 62

Тема: Open RGSS3: Разработка

  1. #1
    Познающий Аватар для mephis
    Информация о пользователе
    Регистрация
    27.01.2011
    Адрес
    Новосибирск
    Сообщений
    330
    Записей в дневнике
    8
    Репутация: 34 Добавить или отнять репутацию

    По умолчанию Open RGSS3: Разработка

    Open RGSS3
    Разработка

    —————————————

    В этой теме только о разработке Open RGSS3:
    обсуждение концепции проекта, его структуры, рассмотрение предложенных методов и другие рабочие вопросы.

    Обсуждение использования библиотеки в другой теме.


    Направления работ

    Направление 1. Написать систему сверхклассов (модуль RPG), совместимую с мэйкерами XP и VX. Критерий завершения: Базовая часть RGSS3 работает без проблем.

    Направление 2. Написать базовую часть RGSS3. Критерий завершения: проекты обоих мэйкеров могут полноценно работать на одной версии скрипта RGSS3.

    Направление 3. Расширение встроенных классов. База полезных методов, расширяющих стандартные классы Ruby.

    Направление 4. Экспериментальная часть. Лаборатория нечеловеческих опытов над скриптами под предводительством Equilibrium Keeper. Здесь переписываются базовые классы с целью выжимания максимальной пользы.


    План работ

    Условные обозначения:
    + новый атрибут/метод/класс
    = переписанный метод
    О пока не реализованый метод/класс
    V Готовый метод/класс


    Направление 1. Модуль RPG (текущее)

    V RPG::Actor
    V RPG::Animation
    V RPG::Animation::Frame
    V RPG::Animation::Timing
    V RPG::Area
    V RPG::Armor
    V RPG::AudioFile
    V RPG::BaseItem
    V RPG::BGM
    V RPG::BGS
    V RPG::Class
    V RPG::Class::Learning
    V RPG::CommonEvent
    V RPG::Enemy
    V RPG::Enemy::Action
    V RPG::Enemy::DropItem
    V RPG::Event
    V RPG::EventCommand
    V RPG::Event::Page
    V RPG::Event::Page::Condition
    V RPG::Event::Page::Graphic
    V RPG::Item
    O RPG::Map
    O RPG::MapInfo
    V RPG::ME
    O RPG::MoveCommand
    O RPG::MoveRoute
    V RPG::SE
    V RPG::Skill
    O RPG::State
    O RPG::System
    O RPG::System::Terms
    O RPG::System::TestBattler
    O RPG::System::Vehicle
    O RPG::Troop
    O RPG::Troop::Member
    O RPG::Troop::Page
    O RPG::Troop::Page::Condition
    V RPG::UsableItem
    V RPG::Weapon
    O Window
    O Tilemap



    Направление 2. Базовая часть RGSS3
    Спойлер Спрятано. Пока неактуально.:

    Системные
    O Cache
    O Vocab
    O Sound

    Игровые
    O Game_Actor
    O Game_Actors
    O Game_BattleAction
    O Game_Battler
    O Game_Character
    O Game_CommonEvent
    O Game_Enemy
    O Game_Event
    O Game_Interpreter
    O Game_Map
    O Game_Message
    O Game_Party
    O Game_Picture
    O Game_Player
    O Game_Screen
    O Game_SelfSwitches
    O Game_Switches
    O Game_System
    O Game_Temp
    O Game_Troop
    O Game_Unit
    O Game_Variables
    O Game_Vehicle

    Сцены
    O Scene_Base
    O Scene_Battle
    O Scene_Debug
    O Scene_End
    O Scene_Equip
    O Scene_File
    O Scene_Gameover
    O Scene_Item
    O Scene_Map
    O Scene_Menu
    O Scene_Name
    O Scene_Shop
    O Scene_Skill
    O Scene_Status
    O Scene_Title

    Спрайты
    O Spriteset_Battle
    O Spriteset_Map
    O Spriteset_Weather
    O Sprite_Base
    O Sprite_Battler
    O Sprite_Character
    O Sprite_Picture
    O Sprite_Timer

    Окна
    O Window_ActorCommand
    O Window_Base
    O Window_BattleMessage
    O Window_BattleStatus
    O Window_Command
    O Window_DebugLeft
    O Window_DebugRight
    O Window_Equip
    O Window_EquipItem
    O Window_EquipStatus
    O Window_Gold
    O Window_Help
    O Window_Item
    O Window_MenuStatus
    O Window_Message
    O Window_NameEdit
    O Window_NameInput
    O Window_NumberInput
    O Window_PartyCommand
    O Window_SaveFile
    O Window_Selectable
    O Window_ShopBuy
    O Window_ShopNumber
    O Window_ShopSell
    O Window_ShopStatus
    O Window_Skill
    O Window_SkillStatus
    O Window_Status
    O Window_TargetEnemy

    Главный
    O Main



    Направление 3. Расширение встроенных классов
    Спойлер Спрятано. Пока неактуально.:

    module Graphics
    + self.width
    + self.height
    + self.brightness
    + self.brightness=
    + self.wait(duration)
    + self.fadeout(duration)
    + self.fadein(duration)


    module Screen
    + self.game_window
    + self.width
    + self.height
    + self.window_rect(window = game_window)
    + self.default
    + self.move(x, y, window = game_window)
    + self.center(window = game_window)
    + self.resize(rect, center = true, window = game_window)


    module WinAPI
    + GetSystemMetrics
    + FindWindowEx
    + GetWindowPlacement
    + MoveWindow


    module Kernel
    class Object
    + any_class?(*classes)
    + any_kind?(*classes)
    + exists?
    + disposable?
    + free
    + isXP?
    + isVX?
    class Array
    + alias to_s :join
    + rand
    + size(&closure)
    + to_rect
    class Bitmap
    + clear_rect(x, y, width, height)
    + clear_rect(rect)
    + gradient_fill_rect(x, y, width, height, color1, color2, vertical = false)
    + gradient_fill_rect(rect, color1, color2, vertical = false)
    class Hash
    + method_missing(id)
    class Numeric
    + limit(min, max = nil)
    class Range
    + rand
    class Rect
    + [](index)
    + []=(index, value)
    + clear
    + empty?
    + perimeter
    + square
    + to_a
    class String
    + alias to_a :split
    + trim
    + trim_left
    + trim_right



    Направление 4. Экспериментальная часть

    -- пока неизвестно --




    Правила форматирования кода

    Спойлер Читать:

    • Давайте переменным осмысленные имена, за ислючением итераторов, которые принято обозначать "i, j, k"

    PHP код:
    # Правильно
    perimeter width height

    # Неправильно
    pmtr wd hg 

    • Допускается одна временная переменная с однобуквенным именем

    PHP код:
    # Правильно
    def base_dex
      n 
    $data_actors[@actor_id].parameters[3, @level]
      
    weapon $data_weapons[@weapon_id]
      
    armor1 $data_armors[@armor1_id]
      
    armor2 $data_armors[@armor2_id]
      
    armor3 $data_armors[@armor3_id]
      
    armor4 $data_armors[@armor4_id]
      
    += weapon != nil weapon.dex_plus 0
      n 
    += armor1 != nil armor1.dex_plus 0
      n 
    += armor2 != nil armor2.dex_plus 0
      n 
    += armor3 != nil armor3.dex_plus 0
      n 
    += armor4 != nil armor4.dex_plus 0
      
    return [[n1].max999].min
    end

    # Неправильно
    def some_function(abc)
      
    11 c
      k 
    + (/ @f)
      
    /= @tri / @f
      
    return t.to_s
    end 
    • Имена модулей, классов и методов ВО ВСЕХ случаях должны быть осмысленными


    • Имя класса начинается с большой буквы. Нижнее подчёркивание используется ТОЛЬКО для разделения по СМЫСЛУ, а не по СЛОВАМ. Если сомневаетесь, посмотрите на именования классов RGSS.

    PHP код:
    # Правильно
    Window_MenuStatus
    Window_Shop

    # Неправильно
    windowBase
    WindowGold
    Window_Debug_Left 

    • Имена констант пишутся в верхнем регистре. Если имя состоит из нескольких слов, разделяйте их нижним подчёркиванием.

    PHP код:
    # Правильно
    WIDTH
    GOLD_AMOUNT

    # Неправильно
    GOLDAMOUNT
    Gold_amount 

    • Имена методов пишутся в нижнем регистре. Скобки ставятся сразу после имени. Если имя состоит из нескольких слов, разделяйте их нижним подчёркиванием

    PHP код:
    # Правильно
    def calc_mp_cost(skill)

    # Неправильно
    def calcMPCost (skill

    • Не рекомендуется использовать тернарный оператор условия ?:, кроме самых простых случаев

    PHP код:
    # Правильно
    hit self.cant_evade? ? 100 hit

    # Неправильно
    get some_func(weaponcount) ? (get_price(armorwidth) + 400 hello_world(peace)) : (is_selected(@option) ? 100 : -20
    • Отступы в коде — на ваше усмотрение. Всё равно, при сборке текст будет автоматически отформатирован по общим правилам.






    Документация по проекту

    Просмотр текущих исходников
    Актуальная документация

    продолжение следует...
    Последний раз редактировалось mephis; 04.09.2011 в 15:17. Причина: + 4 класса RPG

  2. #2

    По умолчанию

    Код:
    #==============================================================================
    # ** RPG::Actor
    #------------------------------------------------------------------------------
    #  Класс с данными актера.
    #  Примечание: Актеры - это герои, главные действующие лица игры.
    #==============================================================================
    module RPG
      #----------------------------------------------------------------------------
      class Actor    
        #==========================================================================
        #                                Аттрибуты
        #==========================================================================
        
        #··········································································
        # ID актера
        # :integer
        #··········································································
        attr_accessor :id
        
        #··········································································
        # Имя актера
        # :string
        #··········································································
        attr_accessor :name
        
        #··········································································
        # ID класса актера
        # :integer
        #··········································································
        attr_accessor :class_id
        
        #··········································································
        # Начальный уровень актера
        # :integer
        #··········································································
        attr_accessor :initial_level
        
        #··········································································
        # Максимальный уровень актера
        # ! Используется в XP
        # :integer
        #··········································································
        attr_accessor :final_level
        
        #··········································································
        # Значение, на котором базируется кривая опыта
        # :integer
        #··········································································
        attr_accessor :exp_basis
        
        #··········································································
        # Значение, на котором базируется кривая расширения
        # :integer
        #··········································································
        attr_accessor :exp_inflation
        
        #··········································································
        # Имя файла чарсета актера
        # :string
        #··········································································
        attr_accessor :character_name
        
        #··········································································
        # Порядковый номер чарсета в наборе чарсетов
        # ! Используется в VX
        # :integer
        #··········································································
        attr_accessor :character_index
        
        #··········································································
        # Оттенок чарсета
        # ! Используется в XP
        # :integer
        #··········································································
        attr_accessor :character_hue    
        
        #··········································································
        # Имя файла изображения актера в бою
        # ! Используется в XP
        # :string
        #··········································································
        attr_accessor :battler_name
        
        #··········································································
        # Оттенок изображения актера в бою
        # ! Используется в XP
        # :integer
        #··········································································
        attr_accessor :battler_hue
        
        #··········································································
        # Имя файла изображения лица актера
        # ! Используется в VX
        # :string
        #··········································································
        attr_accessor :face_name
        
        #··········································································
        # Порядковый номер лица в наборе лиц
        # ! Используется в VX
        # :integer
        #··········································································
        attr_accessor :face_index
        
        #··········································································
        # Таблица, содержащая основные параметры для каждого уровня
        # [kind, level] = value
        # :table
        #··········································································
        attr_accessor :parameters
        
        #··········································································
        # ID экипированного оружия
        # :integer
        #··········································································
        attr_accessor :weapon_id
        
        #··········································································
        # ID экипированного щита героя
        # :integer
        #··········································································
        attr_accessor :armor1_id
        
        #··········································································
        # ID экипированного шлема
        # :integer
        #··········································································
        attr_accessor :armor2_id
        
        #··········································································
        # ID экипированного доспеха
        # :integer
        #··········································································
        attr_accessor :armor3_id
        
        #··········································································
        # ID экипированного аксессуара
        # :integer
        #··········································································
        attr_accessor :armor4_id
        
        #··········································································
        # Флаг, запрещающий менять или убирать оружие
        # ! Используется в XP
        # :bool
        #··········································································
        attr_accessor :weapon_fix
        
        #··········································································
        # Флаг, запрещающий менять или убирать щит
        # ! Используется в XP
        # :bool
        #··········································································
        attr_accessor :armor1_fix
        
        #··········································································
        # Флаг, запрещающий менять или убирать шлем
        # ! Используется в XP
        # :bool
        #··········································································
        attr_accessor :armor2_fix
        
        #··········································································
        # Флаг, запрещающий менять или убирать броню
        # ! Используется в XP
        # :bool
        #··········································································
        attr_accessor :armor3_fix
        
        #··········································································
        # Флаг, запрещающий менять или убирать аксессуар
        # ! Используется в XP
        # :bool
        #··········································································
        attr_accessor :armor4_fix
    
        #··········································································
        # Флаг, запрещающий менять любую экипировку
        # ! Используется в VX
        # :bool
        #··········································································
        attr_accessor :fix_equipment
        
        #··········································································
        # Ture, включает режим [Парное оружие]
        # ! Используется в VX
        # :bool
        #··········································································
        attr_accessor :two_swords_style
        
        #··········································································
        # Ture, включает режим [Авто-бой]
        # ! Используется в VX
        # :bool
        #··········································································
        attr_accessor :auto_battle
        
        #··········································································
        # Ture, включает режим [Сверхзащита]
        # ! Используется в VX
        # :bool
        #··········································································
        attr_accessor :super_guard
        
        #··········································································
        # Ture, включает режим [Фармакология]
        # ! Используется в VX
        # :bool
        #··········································································
        attr_accessor :pharmacology
        
        #··········································································
        # Ture, включает режим [Критический бонус]
        # ! Используется в VX
        # :bool
        #··········································································
        attr_accessor :critical_bonus
        
        #==========================================================================
        #                                 Методы
        #==========================================================================
        
        #--------------------------------------------------------------------------
        # ? Инициализирует переменные класса, присваивает им значения по-умолчанию
        # ! Вызывается автоматически при создании нового экземпляра
        #   класса
        # :nil
        #--------------------------------------------------------------------------
        def initialize
          @id = 0                       
          @name = ""                    
          @class_id = 1                 
          @initial_level = 1            
          @final_level = 99
          @exp_basis = 25               
          @exp_inflation = 35
          @character_name = ""
          @character_index = 0
          @character_hue = 0
          @battler_name = ""
          @battler_hue = 0
          @face_name = ""
          @face_index = 0
          @parameters = Table.new(6,100)
          for i in 1..99
            @parameters[0,i] = 400+i*50
            @parameters[1,i] = 80+i*10
            @parameters[2,i] = 15+i*5/4
            @parameters[3,i] = 15+i*5/4
            @parameters[4,i] = 20+i*5/2
            @parameters[5,i] = 20+i*5/2
          end
          @weapon_id = 0
          @armor1_id = 0
          @armor2_id = 0
          @armor3_id = 0
          @armor4_id = 0
          @weapon_fix = false
          @armor1_fix = false
          @armor2_fix = false
          @armor3_fix = false
          @armor4_fix = false
          @fix_equipment = false
          @two_swords_style = false
          @auto_battle = false
          @super_guard = false
          @pharmacology = false
          @critical_bonus = false
        end
        #--------------------------------------------------------------------------
      end
      #----------------------------------------------------------------------------
    end
    #==============================================================================
    Беру все три RPG::Animation

  3. #3
    Создатель Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    10,081
    Записей в дневнике
    2
    Репутация: 108 Добавить или отнять репутацию

    По умолчанию

    Я понял ты переписал под вх просто.

  4. #4
    Познающий Аватар для mephis
    Информация о пользователе
    Регистрация
    27.01.2011
    Адрес
    Новосибирск
    Сообщений
    330
    Записей в дневнике
    8
    Репутация: 34 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Рольф Посмотреть сообщение
    Я понял ты переписал под вх просто.
    Рольф, а флудить здесь обязательно? Вот тебе жёлтая карточка . Ещё две — и бан!

    Кип, вот вариант с изменёнными комментариями, чтобы YARD правильно всё оформил:
    PHP код:
    module RPG
      
    ##
      # Класс с данными актера.
      #
      # <i><b>Примечание</b>: Актеры - это герои, главные действующие лица игры.</i>
      ##
      
    class Actor    
        
    #==========================================================================
        #                                Атрибуты
        #==========================================================================
        
        # ID актера
        # @return [integer]
        
    attr_accessor :id
        
        
    # Имя актера
        # @return [string]
        
    attr_accessor :name
        
        
    # ID класса актера
        # @return [integer]
        
    attr_accessor :class_id
        
        
    # Начальный уровень актера
        # @return [integer]
        
    attr_accessor :initial_level
        
        
    # Максимальный уровень актера
        # @note Используется в XP
        # @return [integer]
        
    attr_accessor :final_level
        
        
    # Значение, на котором базируется кривая опыта
        # @return [integer]
        
    attr_accessor :exp_basis
        
        
    # Значение, на котором базируется кривая расширения
        # @return [integer]
        
    attr_accessor :exp_inflation
        
        
    # Имя файла чарсета актера
        # @return [string]
        
    attr_accessor :character_name
        
        
    # Порядковый номер чарсета в наборе чарсетов
        # @note Используется в VX
        # @return [integer]
        
    attr_accessor :character_index
        
        
    # Оттенок чарсета
        # @note Используется в XP
        # @return [integer]
        
    attr_accessor :character_hue    
        
        
    # Имя файла изображения актера в бою
        # @note Используется в XP
        # @return [string]
        
    attr_accessor :battler_name
        
        
    # Оттенок изображения актера в бою
        # @note Используется в XP
        # @return [integer]
        
    attr_accessor :battler_hue
        
        
    # Имя файла изображения лица актера
        # @note Используется в VX
        # @return [string]
        
    attr_accessor :face_name
        
        
    # Порядковый номер лица в наборе лиц
        # @note Используется в VX
        # @return [integer]
        
    attr_accessor :face_index
        
        
    # Таблица, содержащая основные параметры для каждого уровня
        # @return [table] таблица вида [kind, level] = value
        
    attr_accessor :parameters
        
        
    # ID экипированного оружия
        # @return [integer]
        
    attr_accessor :weapon_id
        
        
    # ID экипированного щита героя
        # @return [integer]
        
    attr_accessor :armor1_id
        
        
    # ID экипированного шлема
        # @return [integer]
        
    attr_accessor :armor2_id
        
        
    # ID экипированного доспеха
        # @return [integer]
        
    attr_accessor :armor3_id
        
        
    # ID экипированного аксессуара
        # @return [integer]
        
    attr_accessor :armor4_id
        
        
    # Флаг, запрещающий менять или убирать оружие
        # @note Используется в XP
        # @return [bool]
        
    attr_accessor :weapon_fix
        
        
    # Флаг, запрещающий менять или убирать щит
        # @note Используется в XP
        # @return [bool]
        
    attr_accessor :armor1_fix
        
        
    # Флаг, запрещающий менять или убирать шлем
        # @note Используется в XP
        # @return [bool]
        
    attr_accessor :armor2_fix
        
        
    # Флаг, запрещающий менять или убирать броню
        # @note Используется в XP
        # @return [bool]
        
    attr_accessor :armor3_fix
        
        
    # Флаг, запрещающий менять или убирать аксессуар
        # @note Используется в XP
        # @return [bool]
        
    attr_accessor :armor4_fix

        
    # Флаг, запрещающий менять любую экипировку
        # @note Используется в VX
        # @return [bool]
        
    attr_accessor :fix_equipment
        
        
    # Ture, включает режим [Парное оружие]
        # @note Используется в VX
        # @return [bool]
        
    attr_accessor :two_swords_style
        
        
    # Ture, включает режим [Авто-бой]
        # @note Используется в VX
        # @return [bool]
        
    attr_accessor :auto_battle
        
        
    # Ture, включает режим [Сверхзащита]
        # @note Используется в VX
        # @return [bool]
        
    attr_accessor :super_guard
        
        
    # Ture, включает режим [Фармакология]
        # @note Используется в VX
        # @return [bool]
        
    attr_accessor :pharmacology
        
        
    # Ture, включает режим [Критический бонус]
        # @note Используется в VX
        # @return [bool]
        
    attr_accessor :critical_bonus
        
        
    #==========================================================================
        #                                 Методы
        #==========================================================================
        
        ##
        # Инициализирует переменные класса, присваивает им значения по умолчанию
        #
        # @note Вызывается автоматически при создании нового экземпляра
        ##
        
    def initialize
          
    @id 0                       
          
    @name ""                    
          
    @class_id 1                 
          
    @initial_level 1            
          
    @final_level 99
          
    @exp_basis 25               
          
    @exp_inflation 35
          
    @character_name ""
          
    @character_index 0
          
    @character_hue 0
          
    @battler_name ""
          
    @battler_hue 0
          
    @face_name ""
          
    @face_index 0
          
    @parameters Table.new(6,100)
          for 
    i in 1..99
            
    @parameters[0,i] = 400+i*50
            
    @parameters[1,i] = 80+i*10
            
    @parameters[2,i] = 15+i*5/4
            
    @parameters[3,i] = 15+i*5/4
            
    @parameters[4,i] = 20+i*5/2
            
    @parameters[5,i] = 20+i*5/2
          end
          
    @weapon_id 0
          
    @armor1_id 0
          
    @armor2_id 0
          
    @armor3_id 0
          
    @armor4_id 0
          
    @weapon_fix false
          
    @armor1_fix false
          
    @armor2_fix false
          
    @armor3_fix false
          
    @armor4_fix false
          
    @fix_equipment false
          
    @two_swords_style false
          
    @auto_battle false
          
    @super_guard false
          
    @pharmacology false
          
    @critical_bonus false
        end
        
    #--------------------------------------------------------------------------
      
    end
      
    #----------------------------------------------------------------------------
    end
    #============================================================================== 
    КСТАТИ!!! Ты разъясни, что такое "Ture" у тебя в комментариях. Я всю голову сломал, так и не пойму, что за хрень.
    Изображения Изображения

  5. #5

    По умолчанию

    Рольф
    План работ видел? Вот этим и занимаемся.

    mephis
    Принято. Ture - это, конечно же, True Просто с недавних пор стал замечать, что правая рука у меня печатает буковки чуть быстрее, чем левая. Что печально, всю жизнь был амбидекстром. Вот и получается, порой, что буквы меняются местами. Стараюсь следить, но иногда упускаю.

  6. #6
    Создатель Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    10,081
    Записей в дневнике
    2
    Репутация: 108 Добавить или отнять репутацию

    По умолчанию

    Спросил., просто.

  7. #7

    По умолчанию

    Код:
    #==============================================================================
    # ** RPG::Animation
    #------------------------------------------------------------------------------
    #  Класс с данными анимации.
    #==============================================================================
    module RPG
      ##
      # Класс с данными анимации.
      ## 
      class Animation
        #==========================================================================
        #                                Атрибуты
        #========================================================================== 
        
        # ID анимации
        # @return [Integer] 
        attr_accessor :id
        
        # Имя анимации
        # @return [String] 
        attr_accessor :name
        
        # Имя файла с анимацией
        # @note Используется в XP
        # @return [String] 
        attr_accessor :animation_name
        
        # Имя первого файла с анимацией
        # @note Используется в VX
        # @return [String] 
        attr_accessor :animation1_name
        
        # Имя второго файла с анимацией
        # @note Используется в VX
        # @return [String] 
        attr_accessor :animation2_name
        
        # Оттенок изображения анимации
        # @note Используется в XP
        # @return [Integer] 
        attr_accessor :animation_hue
        
        # Оттенок первого изображения анимации
        # @note Используется в VX
        # @return [Integer] 
        attr_accessor :animation1_hue
        
        # Оттенок второго изображения анимации
        # @note Используется в VX
        # @return [Integer] 
        attr_accessor :animation2_hue
        
        # Позиция анимации
        # @node (0: вверху, 1: посередине, 2: внизу, 3: на экране)
        # @return [Integer] 
        attr_accessor :position
        
        # Количество кадров
        # @return [Integer] 
        attr_accessor :frame_max
        
        # Содержимое кадров
        # @return [Array{RPG::Animation::Frame}]
        attr_accessor :frames
        
        # Таймеры для воспроизведения звуков и вспышек
        # @return [Array{RPG::Animation::Timing}]
        attr_accessor :timings
        
        #==========================================================================
        #                                 Методы
        #==========================================================================
        
        ##
        # Инициализирует переменные класса, присваивает им значения по умолчанию
        # @note Вызывается автоматически при создании нового экземпляра
        # @return NilClass
        ## 
        def initialize
          @id = 0
          @name = ""
          @animation_name = ""
          @animation_hue = 0
          @animation1_name = ""
          @animation1_hue = 0
          @animation2_name = ""
          @animation2_hue = 0
          @position = 1
          @frame_max = 1
          @frames = [RPG::Animation::Frame.new]
          @timings = []
        end
        #--------------------------------------------------------------------------
      end
      #----------------------------------------------------------------------------
    end
    #==============================================================================

  8. #8

    По умолчанию

    Код:
    #==============================================================================
    # ** RPG::Animation::Frame
    #------------------------------------------------------------------------------
    #  Класс с данными кадра анимации.
    #==============================================================================
    module RPG
      ##
      # Класс с данными анимации.
      ## 
      class Animation
        ##
        # Класс с данными кадра анимации.
        ## 
        class Frame
          
          #========================================================================
          #                                Атрибуты
          #======================================================================== 
          
          # Количество ячеек. Эквивалентный наибольшему номеру ячейки кадра.
          # @return [Integer] 
          attr_accessor :cell_max
          
          # Таблица, содержащий основу ячеек.
          # @note Обычно, принимает параметры вида cell_data[cell_index, data_index].
          #   data_index варьируется от 0 до 7 и обозначает различную информацию о ячейке (0: образец, 1: координату X, 2: координату Y, 3: масштаб, 4: угол поворота, 5: горизонтальное отражение, 6: непрозрачность, 7: режим смешивания). Образцов на 1 меньше, чем показано в RPGXP; -1 показывает, что данная ячейка не используется.
          # @return [Table] 
          attr_accessor :cell_data
          
          #========================================================================
          #                                 Методы
          #========================================================================
          
          ##
          # Инициализирует переменные класса, присваивает им значения по умолчанию
          # @note Вызывается автоматически при создании нового экземпляра
          # @return [NilClass]
          ## 
          def initialize
            @cell_max = 0
            @cell_data = Table.new(0, 0)
          end
          #------------------------------------------------------------------------
        end
        #--------------------------------------------------------------------------
      end
      #----------------------------------------------------------------------------
    end
    #==============================================================================
    Последний раз редактировалось Equilibrium Keeper; 26.07.2011 в 22:29.

  9. #9

    По умолчанию

    Код:
    #==============================================================================
    # ** RPG::Animation::Timing
    #------------------------------------------------------------------------------
    #  Класс с данными синхронизации анимации со звуками и эффектами вспышки.
    #==============================================================================
    module RPG
      ##
      # Класс с данными анимации.
      ## 
      class Animation
        ##
        # Класс с данными синхронизации анимации со звуками и эффектами вспышки.
        ## 
        class Timing
          
          #========================================================================
          #                                Атрибуты
          #======================================================================== 
          
          # Номер кадра.
          # @note На 1 меньше, чем показывает RPGMaker.
          # @return [Integer] 
          attr_accessor :frame
          
          # Звуковой эффект (SE).
          # @note На 1 меньше, чем показывает RPGMaker.
          # @return [RPG::AudioFile] 
          attr_accessor :se
          
          # Область вспышки.
          # @note (0: нет, 1: цель, 2: экран; 3: удалять цель).
          # @return [Integer] 
          attr_accessor :flash_scope
          
          # Цвет вспышки.
          # @return [Color] 
          attr_accessor :flash_color
          
          # Продолжительность вспышки.
          # @return [Integer] 
          attr_accessor :flash_duration
          
          # Состояние эффекта.
          # @note (0: нет, 1: попадание, 2: промах).
          #   Используется в XP
          # @return [Integer] 
          attr_accessor :condition
          
          #========================================================================
          #                                 Методы
          #========================================================================
          
          ##
          # Инициализирует переменные класса, присваивает им значения по умолчанию
          # @note Вызывается автоматически при создании нового экземпляра
          # @return [NilClass]
          ## 
          def initialize
            @frame = 0
            @se = RPG::AudioFile.new("", 80)
            @flash_scope = 0
            @flash_color = Color.new(255,255,255,255)
            @flash_duration = 5
            @condition = 0
          end
          #------------------------------------------------------------------------
        end
        #--------------------------------------------------------------------------
      end
      #----------------------------------------------------------------------------
    end
    #==============================================================================
    Беру RPG::Area

  10. #10

    По умолчанию

    Код:
    #==============================================================================
    # ** RPG::Area
    #------------------------------------------------------------------------------
    #  Класс с данными области.
    #==============================================================================
    module RPG
      ##
      # Класс с данными области.
      ## 
      class Area
        #==========================================================================
        #                                Атрибуты
        #========================================================================== 
        
        # ID области.
        # @return [Integer] 
        attr_accessor :id
        
        # Название области.
        # @return [String] 
        attr_accessor :name
        
        # ID родительской карты.
        # @return [Integer] 
        attr_accessor :map_id
        
        # Координаты области.
        # @return [Rect] 
        attr_accessor :rect
        
        # Список ID отрядов, встречающихся в данной области.
        # @return [Array[Integer]] 
        attr_accessor :encounter_list
        
        # Порядок отображения в древе областей карты.
        # @note Используется в самом редакторе.
        # @return [Integer] 
        attr_accessor :order
        
        #==========================================================================
        #                                 Методы
        #==========================================================================
        
        ##
        # Инициализирует переменные класса, присваивает им значения по умолчанию
        # @note Вызывается автоматически при создании нового экземпляра
        # @return [NilClass]
        ## 
        def initialize
          @id = 0
          @name = ""
          @map_id = 0
          @rect = Rect.new(0,0,0,0)
          @encounter_list = []
          @order = 0
        end
        #--------------------------------------------------------------------------
      end
      #----------------------------------------------------------------------------
    end
    #==============================================================================
    Беру RPG::BaseItem/UsableItem/Item/Armor/Weapon/Skill
    Последний раз редактировалось Equilibrium Keeper; 28.07.2011 в 16:22.

Страница 1 из 7 123 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Социальные закладки

Социальные закладки

Ваши права

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