Страница 53 из 143 ПерваяПервая ... 343515253545563103 ... ПоследняяПоследняя
Показано с 521 по 530 из 1427

Тема: Помощь с скриптами (RGSS)

  1. #521
    Местный Аватар для SethNsk
    Информация о пользователе
    Регистрация
    25.03.2010
    Сообщений
    235
    Записей в дневнике
    7
    Репутация: 12 Добавить или отнять репутацию

    По умолчанию

    Не думал что их много, и разных...
    Этот:
    class Sprite_Character < Sprite_Base
    def update_bitmap
    if @tile_id != @character.tile_id or
    @character_name != @character.character_name or
    @character_index != @character.character_index
    @tile_id = @character.tile_id
    @character_name = @character.character_name
    @character_index = @character.character_index
    if @tile_id > 0
    sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
    sy = @tile_id % 256 / 8 % 16 * 32;
    self.bitmap = tileset_bitmap(@tile_id)
    self.src_rect.set(sx, sy, 32, 32)
    self.ox = 16
    self.oy = 32
    else
    self.bitmap = Cache.character(@character_name)
    sign = @character_name[/^[\!\$\%]./]
    if sign != nil and sign.include?('$')
    @cw = sign.include?('%') ? bitmap.width / 4 : bitmap.width / 3
    @ch = bitmap.height / 4
    else
    @cw = bitmap.width / 12
    @ch = bitmap.height / 8
    end
    self.ox = @cw / 2
    self.oy = @ch
    end
    end
    end
    #--------------------------------------------------------------------------
    def update_src_rect
    if @tile_id == 0
    index = @character.character_index
    pattern = @character.pattern < 3 ? @character.pattern : 1
    xp_style = self.bitmap.width == @cw * 4 ? true : false
    sx = (index % 4 * 3 + (xp_style ? pattern.next : pattern)) * @cw
    sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
    self.src_rect.set(sx, sy, @cw, @ch)
    end
    end
    end
    Последний раз редактировалось SethNsk; 05.11.2011 в 21:04.

  2. #522

    По умолчанию

    Цитата Сообщение от SethNsk Посмотреть сообщение
    Не думал что их много, и разных...
    Этот:
    Сколько напишут. Скриптеры редко пользуются чужими работами, исключая SDK и большие библиотеки. Да и написать свой порой легче, чем искать нужный. В этом вон - пару строчек добавить.
    Здесь я никакого пропуска не наблюдаю. Используется каждый кадр. Если ты используешь 4х кадровые чарсеты, они должны начинаться с "!$%". Например: "!$%MyXPCharset.png"

  3. #523
    Местный Аватар для SethNsk
    Информация о пользователе
    Регистрация
    25.03.2010
    Сообщений
    235
    Записей в дневнике
    7
    Репутация: 12 Добавить или отнять репутацию

    По умолчанию

    Спасибо. Просто из моих исходников я могу слепить и под Викс, и под Икспи.(и еще спрайты останутся ) Но я пользуюсь Виксом, а 4 кадра, мне кажется, будут лучше смотреться...
    Я тут присмотрелся, и заметил что от 4-ех полосной анимации Икспи нет проку... Можно ли переписав этот скрипт использовать 5-и полосную и больше?..
    Последний раз редактировалось SethNsk; 06.11.2011 в 11:52.

  4. #524

    По умолчанию

    Цитата Сообщение от SethNsk Посмотреть сообщение
    Спасибо. Просто из моих исходников я могу слепить и под Викс, и под Икспи.(и еще спрайты останутся ) Но я пользуюсь Виксом, а 4 кадра, мне кажется, будут лучше смотреться...
    Я тут присмотрелся, и заметил что от 4-ех полосной анимации Икспи нет проку... Можно ли переписав этот скрипт использовать 5-и полосную и больше?..
    Не понял. Уточни. Тебе нужно увеличение количества кадров с 4 до 8, 12 и больше? Может, ты немного неверно понимаешь принципы работы этой раскадровки? Дело в том, что за один шаг (клетку) проигрывается ровно 1 кадр. То есть на 1ой клетке 1 кадр, на 2ой - 2ой, на 3 - 3ий, и так далее. В конце движения анимация снова сбрасывается на изначальную, стоячую. А ты хочешь более плавных движений? Чтобы за 1 клетку менялся ни один образ, а 2, 3, ... ?

  5. #525
    Местный Аватар для SethNsk
    Информация о пользователе
    Регистрация
    25.03.2010
    Сообщений
    235
    Записей в дневнике
    7
    Репутация: 12 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Equilibrium Keeper Посмотреть сообщение
    А ты хочешь более плавных движений? Чтобы за 1 клетку менялся ни один образ, а 2, 3, ... ?
    Да.

  6. #526

    По умолчанию

    Цитата Сообщение от SethNsk Посмотреть сообщение
    Да.
    Ммм... в текущем варианте это сделать можно, но очень криво и неудобно. Нужно переписывать всю систему движения, отделяя ее от проигрывания анимации.
    Сейчас имеем: "Двигаясь, менять кадры".
    Нужно изменить на: "Менять кадры, в зависимости от движения".
    И тут мы опять возвращаемся к камню преткновения мейкера - однопоточности. Мы не можем выделить отдельный поток для орбработки анимации, в результате придется обрабатывать ее в гланом цикле для каждого ивента, что существенно скажется на производительности (не в лучшую сторону).

  7. #527
    Местный Аватар для SethNsk
    Информация о пользователе
    Регистрация
    25.03.2010
    Сообщений
    235
    Записей в дневнике
    7
    Репутация: 12 Добавить или отнять репутацию

    По умолчанию

    Типо: "сделать шаг, проиграть анимацию"?
    Понял, жаль... Спасибо.
    Последний раз редактировалось SethNsk; 08.11.2011 в 05:42.

  8. #528

    По умолчанию

    Цитата Сообщение от SethNsk Посмотреть сообщение
    Типо: "сделать шаг, проиграть анимацию"?
    В плане того, что можно сделать - да. В плане того, что нужно - нет. Просто в таком варианте рендеринг области просмотра будет замедлен в 2, 3 и т.д. раз, чтобы отобразить эту самую анимацию (точно не помню, но если события рисуются всегда а не только попадая в область просмотра, то на картах с большим количеством ивентов начнутся существенные просадки в скорости.

  9. #529
    Пользователь Аватар для dreamw-krr
    Информация о пользователе
    Регистрация
    08.09.2011
    Сообщений
    57
    Записей в дневнике
    3
    Репутация: 2 Добавить или отнять репутацию

    По умолчанию

    извините что пишу в эту тему, но не могли бы вы подкорректировать один скрипт?
    Скачал скрипт, называется DRIAC SYSTEM, позволяет выбрасывать вещи из инвентаря и прописывать айтемам и амуниции вес. Но дело в том что вес можно прописать только целыми числами (1, 2, 3, 4 ...) , а не мог бы кто нибудь его дополнить или исправить что бы можно было прописывать и десятые (1.2 , 0.3 и тд)? Или посоветуйте скрипт который это умеет.. Вес предметов и выбрасывание предметов из рюкзака просто необходимы в моем проекте... Заранее спасибо

  10. #530

    По умолчанию

    1. Скрипт в студию.
    2. Если нужно что-то править, то куда проще указать вес целым числом (в граммах, миллиграммах, нанограммах...) а при выводе отображения делить на 1000, 10000, 1000000000... Это, кстати, еще и лучше так как: а) занимает в два раза меньше памяти, чем дробное число
    б) точнее, так как не имеет проблем с представлением в виде мантиссы (проблема хранения чисел с плавающей точкой в памяти компьютера).

Страница 53 из 143 ПерваяПервая ... 343515253545563103 ... ПоследняяПоследняя

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

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

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

Метки этой темы

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

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

Ваши права

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