Появились чарсеты из "Ванька", в которых движение производится за 8 фреймов, соответственно, возникла необходимость ввести их корректно в XP. Вот пример:
Гугление толку особо не дало, потому пришлось чуть поковыряться в коде.
Итак:
1) Создаем глобальную переменную
$anim_count = 8 # число фреймов на движение (кадров)
2) Добавим параметр класса Game_Character
attr_accessor :frames_count и в initialize ставим = $anim_count
3) В классе Sprite_Character ставим на 28 строке
@cw = bitmap.width / @character.frames_count (было 4)
4) Если сделать только 3 и запустить игру - то фреймы персонажа будут меняться медленно и использоваться только первые четыре, поэтому в классе Game_Character (2й файл) пишем:
Гугление толку особо не дало, потому пришлось чуть поковыряться в коде.
Итак:
1) Создаем глобальную переменную
$anim_count = 8 # число фреймов на движение (кадров)
2) Добавим параметр класса Game_Character
attr_accessor :frames_count и в initialize ставим = $anim_count
3) В классе Sprite_Character ставим на 28 строке
@cw = bitmap.width / @character.frames_count (было 4)
4) Если сделать только 3 и запустить игру - то фреймы персонажа будут меняться медленно и использоваться только первые четыре, поэтому в классе Game_Character (2й файл) пишем:
- @pattern = (@pattern + 1) % @frames_count (15 строка) - чтобы брать все 8 кадров, а не 4, как было раньше
- Чтобы анимация не была медленной, в update_move делаем так
- if @walk_anime
- @anime_count += 1.5 * (@frames_count / 4)
- elsif @step_anime
- @anime_count += 1 * (@frames_count / 4)
- в update_stop аналогично
Вот и всё, запускаем и наслаждаемся плавной анимацией Ваньки Малолесьева или вашего крутого чарсета из 8ми кадров.
PS: да, для обкатки такентайной боевки, баланса, некоторых формул и кастомной графики на XP, я хочу сделать небольшую вещь по мотивам древнючей забавной игры Dink Smallwood, благо вся графика есть в свободном доступе.
ОтветитьУдалить