ВХ полна багов и неожиданостей.
В чём тут ошибка. Ошибку выдаёт на @background2.x = 550@background2 = Sprite.new
@background2 = Bitmap.new("Graphics/Title/Background")
@background2.x = 550
Последний раз редактировалось Andrew; 21.04.2011 в 14:55.
Нашёл ошибку, не знаю, как я её допустил. чуть выше я написал правильно.
Спойлер оффоп:
Последний раз редактировалось Andrew; 21.04.2011 в 15:59.
Как изменять оттенок экрана в ВХ с помощью скриптов?
Последний раз редактировалось Andrew; 25.04.2011 в 19:05.
Почему в этом скрипте пишет ошибку на строке Game_Time::Second += 1Код:module Game_Time Second = 0 Minute = 0 Hour = 0 Day = 0 end class Scene_Map < Scene_Base def update_Game_Time if Game_Time::Second < 60 Game_Time::Second += 1 else if Game_Time::Minute < 60 Game_Time::Second = 0 Game_Time::Minute += 1 else if Game_Time::Hour < 24 Game_Time::Second = 0 Game_Time::Minute = 0 Game_Time::Hour += 1 else Game_Time::Second = 0 Game_Time::Minute = 0 Game_Time::Hour = 0 Game_Time::Day += 1 end end end p Game_Time::Second, Game_Time::Minute, Game_Time::Hour, Game_Time::Day end def update super update_Game_Time $game_map.interpreter.update $game_map.update $game_player.update $game_system.update @spriteset.update @message_window.update unless $game_message.visible update_transfer_player update_encounter update_call_menu update_call_debug update_scene_change end end end
Либо я тупават, либо что то из двух...
Сейчас проверю
Проверил... я не туповат...
Причины ошибки:
1. Нельзя менять значение константы, которую определили ( warning: already initialized constant Const_name)
2. Нельзя переопределять значение константы ( constant re-assignment)
Используй глобальные переменные, хоть они и зло, но всё же без них бывает сложны
P.S. На самом деле значение констант в Руби менять можно... кому надо, те найдут в Вики
А почему тут ошибок не возникает
############################################
# Ставит точное значение шкале под номером #
# num на x. #
# Пример: #
# SetValue( 1, 50 ) ставит значение первой #
# шкале 50. #
############################################
def SetValue( num, x )
Gauge::Value[num] = x
if Gauge::Value[num] > Gauge::Max[num]
Gauge::Value[num] = Gauge::Max[num]
end
if Gauge::Value[num] < 0
Gauge::Value[num] = 0
end
end
############################################
# Увеличивает или у меньшает значение #
# шкалы под номером num на x. #
# Пример: #
# ChangeValue( 1, -50 ) уменьшит значение #
# первой шкалы на 50. #
############################################
def ChangeValue( num, x )
Gauge::Value[num] += x
if Gauge::Value[num] > Gauge::Max[num]
Gauge::Value[num] = Gauge::Max[num]
end
if Gauge::Value[num] < 0
Gauge::Value[num] = 0
end
end##########################################
# Тут находяться настройки этого скрипта #
##########################################
module Gauge
#Название окна
Window = "Характеристики"
#Количество шкал (после увеличению количества, нужно изменять данные ниже
Number = 3
#Названия шкал
Name = []
Name[1] = "Герой:"
Name[2] = "Злодей:"
Name[3] = "Репутация:"
#Максимальные значения
Max = []
Max[1] = 1000
Max[2] = 1000
Max[3] = 100
#Изначальные значения
Value = []
Value[1] = 0
Value[2] = 0
Value[3] = 0
#Цвет шкал
Color = []
Color[1] = 22
Color[2] = 23
Color[3] = 24
end
Вот теперь я совсем глупый...
проверил - Руби дал добро на второй пример, на первый пример ругается...
Есть глупое предположение - массивы не константы, но это бред...
проверил... бред... но работает...
Не советую так время организовывать. Для хранения времени достаточно знать только секунды с начала игры, остальное легко считается
Скоро напишу как
примерно так
ts = 5*24*60*60+6*60*60+7*60+8 # 5day 6 hour 7 minutes 8 secundes
p day = ts / (24*60*60)
p hour = (ts - day*(24*60*60)) / (60*60)
p min = (ts % 3600 ) / 60
p sec = ts % 60
А там нет случайно, каких-нибудь ключевых слов, определяющих уровень доступа?
Ну или, может в этом случае нужно обязательно определить методы присвоения и т д.
А если очень хочется, создай класс без методов.
Всё в этом мире может быть объяснено с точки зрения логики...
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)
Социальные закладки