- Сообщений: 2
- Спасибо получено: 1
Параметры методов и свойств?
- Zeromapping
-
Автор темы
- Не в сети
- Новый участник
-
Скрыть
Больше
7 года 7 мес. назад #106023
от Zeromapping
Zeromapping создал тему: Параметры методов и свойств?
Возможно глупый вопрос, но все же. Прочитав(еще не до конца) переведенный справочник по XP наткнулся на описание методов и свойств классов. Принцип действия понятен, но не понятно в каком формате вбивать параметры некоторых методов и свойств.
Например метод sprite.flash(color, duration) или свойство sprite.color=?, в каком формате задавать данные параметры?
Параметры например свойства sprite.opacity (a.sprite.opacity=200) и так понятны, там одно значение или bitmap.height (b =a.bitmap.height)
Например метод sprite.flash(color, duration) или свойство sprite.color=?, в каком формате задавать данные параметры?
Параметры например свойства sprite.opacity (a.sprite.opacity=200) и так понятны, там одно значение или bitmap.height (b =a.bitmap.height)
Спасибо сказали: Dmy
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
7 года 7 мес. назад - 7 года 7 мес. назад #106024
от Dmy
Dmy ответил в теме Параметры методов и свойств?
По идее всё это должно быть описано в справке, но там не всегда полное и понятное описание. Поэтому, если у вас будут вопросы — смело спрашивайте тут
Создать объект класса Color можно так:
Где вместо 64 нужно вписать долю красного (от 0 до 255), 128 — долю синего, вместо 255 — долю зелёного. (Есть много инструментов, чтобы узнать доли красного, синего и зелёного в цвете. Например, можно использовать
вот этот конвертор цветов
: щёлкните на чёрный квадратик слева, выберите цвет, и в поле RGB появятся эти три значения.)
Четвёртым параметром также можно передать степень непрозрачности (0 — полностью прозрачный, 255 — полностью непрозрачный):
duration задаёт число в числе кадров. Все действия в игре (анимации, команда «Пауза» и т.п.) считаются в кадрах. По умолчанию в RPG Maker XP считается, что кадр — 1/40 секунды, т.е. «40» будет значит «1 секунда». Собственно, это те же самые кадры, которые вводятся в команду событий «Пауза» (она же «Ждать»).
Число кадров в секунду можно изменить, поменяв Graphics.frame_rate (об этом см. «Документация по RGSS» → «Библиотека игры» → «Встроенные модули RGSS» → «Graphics (графика)» в документации).
В параметры color нужно передавать объекты класса Color. Класс Color описан в справочнике в разделе «Документация по RGSS» → «Библиотека игры» → «Встроенные классы RGSS» → «Color (цвет)» (в англ. версии RGSS Reference Manual → Game Library → RGSS Built-in Classes → Color ).Zeromapping пишет: Например метод sprite.flash(color, duration) или свойство sprite.color=?, в каком формате задавать данные параметры?
Создать объект класса Color можно так:
Code:
sprite.color = Color.new(64, 128, 255)
Четвёртым параметром также можно передать степень непрозрачности (0 — полностью прозрачный, 255 — полностью непрозрачный):
Code:
Color.new(64, 128, 255, 128)
duration задаёт число в числе кадров. Все действия в игре (анимации, команда «Пауза» и т.п.) считаются в кадрах. По умолчанию в RPG Maker XP считается, что кадр — 1/40 секунды, т.е. «40» будет значит «1 секунда». Собственно, это те же самые кадры, которые вводятся в команду событий «Пауза» (она же «Ждать»).
Число кадров в секунду можно изменить, поменяв Graphics.frame_rate (об этом см. «Документация по RGSS» → «Библиотека игры» → «Встроенные модули RGSS» → «Graphics (графика)» в документации).
Последнее редактирование: 7 года 7 мес. назад пользователем Dmy.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Zeromapping
-
Автор темы
- Не в сети
- Новый участник
-
Скрыть
Больше
- Сообщений: 2
- Спасибо получено: 1
7 года 7 мес. назад - 7 года 7 мес. назад #106025
от Zeromapping
Zeromapping ответил в теме Параметры методов и свойств?
Ну с одним параметром в свойстве color понятно...но тут задается одно с свойство и заместокакой то переменной задается класс.
А в случае метода sprite.flash(color, duration) необходимо передавать sprite.flash(Color.new(64, 128, 255, 128), 40)?...хотя че спросил, уже проверил...но как то не понял как кадровка работает, сделал изменение цвета,но от изменения кадров ничего не поменялось
хотя это уже чисто придирка к данному функционалу, со временем вкурю думаю)
скорость анимации самого флэша подогнал при помощи i +=, т.е. как понял duration сделан не для статики
А в случае метода sprite.flash(color, duration) необходимо передавать sprite.flash(Color.new(64, 128, 255, 128), 40)?...хотя че спросил, уже проверил...но как то не понял как кадровка работает, сделал изменение цвета,но от изменения кадров ничего не поменялось
Code:
i = 0
loop do
devil.flash(Color.new(i, 128, 255-i), 60)
i += 1
if i == 255
i = 0
end
Graphics.update
end
скорость анимации самого флэша подогнал при помощи i +=, т.е. как понял duration сделан не для статики
Code:
i = 0
loop do
devil.flash(Color.new(255, 255, 255, 255-i), 40)
i += 15
if i == 255
i = 0
end
Graphics.update
end
Последнее редактирование: 7 года 7 мес. назад пользователем Zeromapping.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
7 года 7 мес. назад - 7 года 7 мес. назад #106028
от Dmy
Если вы будете вызывать flash на каждом кадре, то каждый новый flash будет отменять старый, а duration не будет учитываться.
Dmy ответил в теме Параметры методов и свойств?
flash только начинает изменение цвета. Само изменение цвета производится в методе update. Метод update нужно вызывать один раз за кадр. Вот пример:Zeromapping пишет: но как то не понял как кадровка работает, сделал изменение цвета,но от изменения кадров ничего не поменялось
Code:
# создайте пустой проект и замените код в Main на вот это:
devil = Sprite.new
devil.bitmap = RPG::Cache.battler("075-Devil01", 0)
devil.flash(Color.new(0, 128, 255), 60)
until Input.press?(Input::B)
devil.update
Input.update
Graphics.update
end
Если вы будете вызывать flash на каждом кадре, то каждый новый flash будет отменять старый, а duration не будет учитываться.
Последнее редактирование: 7 года 7 мес. назад пользователем Dmy.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.107 секунд
