Войти на сайт

Авторизация, ждите ...
×

ТЕМА: (ХР)Предтитулный рисунок

(ХР)Предтитулный рисунок 17 года 6 мес. назад #7303

  • HoF
  • HoF аватар
Скриптяра уан
#======================================================================
# StartPictures
#======================================================================
# Автор данного скрипта - ваш гениальный HoF.
# www.Hero-of-Fantazy.narod.ru (Почтой я не пользуюсь)
#
#
# Скрипт предназначен для вывода на экран перед титлами
# вашего рисунка(рисунков).
#
# Во-первых нужно в классе Main строку $scene = Scene_Title.new
# переделать в $scene = Scene_StartPictures.new ! Во-вторых
# поставить внизу seepictures столько, сколько у вас рисунков.
# Для использования в скобки seepictures() напишите через
# запятую путь и имя звука, рисунка, перехода и время показа.
# Например так,
# seepicture (picture = Graphics/Titles/StartPicture ,
# transition = Graphics/Transitions/StartTransition , time = 1)
# В-третьих - выбрать внизу скрипта оперцию
# Если не хотите, чтобы звучала музыка посавьте вместо неё false
#
#
# З.Ы. Это мой первый скрипт, надеюсь вам понравиться :)
#
# Сделано в России
#
#Круто! Хоть seepicture и функция, знайте! она ею только прикидывается!
#Ведь она - процесс!!! Видели? У него нет своего... ...return
#З.Ы. Функции только возращают! А процессы и выполняют нужные операции!
#
#Определение этого гермофрадита - seepicture
def seepicture (sound = Audio/Me/004-Victory04.mid ,
picture = Graphics/Panoramas/007-Ocean01.jpg ,
transition = Graphics/Transitions/012-Random04.png , time = 5)
#Звучание показа (sound)
if sound != false
Audio.me_play(sound, 100,100)
end
#Главный рисунок (picture)
Graphics.freeze #Удалив эту строчку тем самым удалите эфект плавного
#перехода на следующий предтитульный рисунок
$StartPicture.bitmap = Bitmap.new(picture)#Показазать рисунок
#Переход к рисунку (transition)
Graphics.freeze
Graphics.transition(40, transition, 40)
#Таймер (time)
@TimeNeed = Time.new.sec
@TimeNow = Time.new.sec
@TimeNow = Time.now.sec
@TimeNeed = @TimeNow + time
#Вот что, собственно, и делает функция-процесс,
#рисует кадры и играет музыку пока не кочиться время...
loop do
Graphics.update
@TimeNow = Time.now.sec
if @TimeNow = @TimeNeed
break
end
end
#... а когда время кончиться остановит музыку...
Audio.me_stop
end
#======================================================================
class Scene_StartPictures #ПредТитульный рисунок
#======================================================================
def main #Немного о методах. Методы это клоны-деграданты
#функций и процессов, но они вызываются только
#внутри классов. Например: внутри class StartPictures.
#Функции и процессы мона вызвать откуда хочешь.
$StartPicture = Sprite.new #Это у нас глобалуха рисунка
#Вызов seepicture. Как видите, ничего сложного. Учите РУБИН!
#*************************#
#Копируйте сюда seepicture#
#сколько вашей душе хотца!#
#*************************#
seepicture( Audio/ME/015-Mystery01.mid ,
Graphics/Pictures/HoF.jpg ,
Graphics/Transitions/011-Random03.png , 3)
seepicture( false, Graphics/Panoramas/007-Ocean01.jpg ,
transition = Graphics/Transitions/012-Random04.png ,
time = 1)
#...переход к Титлам
Graphics.freeze
$StartPicture.dispose
$StartPicture.bitmap.dispose
$scene = Scene_StartAnimations.new
#2* $scene = Scene_Title.new
# Если у вас есть скрипт StartAnimations, то удалите значёк #1*
# Если у вас нет этого скрипта, то удалите значёк #2*
end
end

Срипт ту
#======================================================================
# StartAnimations
#======================================================================
# Автор данного скрипта - ваш гениальный HoF.
# www.Hero-of-Fantazy.narod.ru (Почтой я не пользуюсь)
#
#
# Скрипт предназначен для показа роликов.
#
# Если у вас есть скрипт StartPictures то нужно только строчку
# в Scene_Title моем или стандартном скрипте
# $game_map.setup($data_system.start_map_id) переделать в
# $game_map.setup(id_need_map( Title )) где Title название
# нужной вам карты.
# Если нет, то нужно ещё прежде этого в классе Main строку
# $scene = Scene_Title.new переделать в
# $scene = Scene_StartAnimations.new !
# Вконце ролика напишите скрипт $scene = Scene_Title.new
#
#
# Большое Спасибо Meloman-у, чтоб у него всё было...
#
# Сделано в России
#
# Вот, собственно, самая интересная часть скрипта. Поговорим об этом.
$data_mapinfos = load_data( Data/MapInfos.rxdata )
$Start = true
# 21 и 22 - думайте сами
def id_need_map(need_name) #определение функции, где need_name -
#need_name - аргумент, причём, как бы временный, т.е. need_name
#в реальности не существет. Он только для показухи нужен.
#Остальное - всё вроде бы понятно.
@id_need_map = 1
loop do
if need_name == $data_mapinfos[@id_need_map].name
#Чтобы понять почему именно так и не как не подругому
#30 строчка, напишите после неё следующее
# p $data_mapinfos а потом напишите
# p $data_mapinfos[@id_need_map]
return @id_need_map
break
end
@id_need_map += 1
end
end
#======================================================================
class Scene_StartAnimations #Предтитульный мульт
#======================================================================
def main
if $BTEST
battle_test
return
end
$data_actors = load_data( Data/Actors.rxdata )
$data_classes = load_data( Data/Classes.rxdata )
$data_skills = load_data( Data/Skills.rxdata )
$data_items = load_data( Data/Items.rxdata )
$data_weapons = load_data( Data/Weapons.rxdata )
$data_armors = load_data( Data/Armors.rxdata )
$data_enemies = load_data( Data/Enemies.rxdata )
$data_troops = load_data( Data/Troops.rxdata )
$data_states = load_data( Data/States.rxdata )
$data_animations = load_data( Data/Animations.rxdata )
$data_tilesets = load_data( Data/Tilesets.rxdata )
$data_common_events = load_data( Data/CommonEvents.rxdata )
$data_system = load_data( Data/System.rxdata )
$data_mapinfos = load_data( Data/MapInfos.rxdata )
$game_system = Game_System.new
Audio.me_stop
Audio.bgs_stop
#
$game_no = -1
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_starting_members
#
$game_map.setup(id_need_map( Пролог )) #Я гений!!!
#
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
#
def battle_test
$data_actors = load_data( Data/BT_Actors.rxdata )
$data_classes = load_data( Data/BT_Classes.rxdata )
$data_skills = load_data( Data/BT_Skills.rxdata )
$data_items = load_data( Data/BT_Items.rxdata )
$data_weapons = load_data( Data/BT_Weapons.rxdata )
$data_armors = load_data( Data/BT_Armors.rxdata )
$data_enemies = load_data( Data/BT_Enemies.rxdata )
$data_troops = load_data( Data/BT_Troops.rxdata )
$data_states = load_data( Data/BT_States.rxdata )
$data_animations = load_data( Data/BT_Animations.rxdata )
$data_tilesets = load_data( Data/BT_Tilesets.rxdata )
$data_common_events = load_data( Data/BT_CommonEvents.rxdata )
$data_system = load_data( Data/BT_System.rxdata )
$data_mapinfos = load_data( Data/MapInfos.rxdata )
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_battle_test_members
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
$game_system.se_play($data_system.battle_start_se)
$game_system.bgm_play($game_system.battle_bgm)
$scene = Scene_Battle.new
end
end

Ну третий штука
#======================================================================
# StartTitle
#======================================================================
# Автор данного скрипта - ваш гениальный HoF.
# www.Hero-of-Fantazy.narod.ru (Почтой я не пользуюсь)
#
#
# Скрипт бесполезный, предназначен для более красивых титлов.
# Красиво, к сожадению, только с стандартными титлами.
# Могу переначть Титлы как угодно, если что обрщайтесь...
#
# Работает бонально - Ctrl + C и Ctrl + V
# А, да! Ещё надо внизу, увидете, выставить время, через
# которое вновь будет показан ролик, если, конечно, у вас
# есть скрипт StartAnimations
#
#
# З.Ы. Вообще скрипт лёгкий. Обьяснять не буду, думайте сами.
#
# Сделано в России
#======================================================================
class Scene_Title #Усовершенствованные Титлы
#======================================================================
def main
if $BTEST
battle_test
return
end
$data_actors = load_data( Data/Actors.rxdata )
$data_classes = load_data( Data/Classes.rxdata )
$data_skills = load_data( Data/Skills.rxdata )
$data_items = load_data( Data/Items.rxdata )
$data_weapons = load_data( Data/Weapons.rxdata )
$data_armors = load_data( Data/Armors.rxdata )
$data_enemies = load_data( Data/Enemies.rxdata )
$data_troops = load_data( Data/Troops.rxdata )
$data_states = load_data( Data/States.rxdata )
$data_animations = load_data( Data/Animations.rxdata )
$data_tilesets = load_data( Data/Tilesets.rxdata )
$data_common_events = load_data( Data/CommonEvents.rxdata )
$data_system = load_data( Data/System.rxdata )
$data_mapinfos = load_data( Data/MapInfos.rxdata )
$game_system = Game_System.new
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
s1 = $str_newgame
s2 = $str_continue
s3 = $str_shutdown
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
#
#от сих ...
#
#Таймер (time)
@TimeNeed = Time.new.sec
@TimeNow = Time.new.sec
@TimeNow = Time.now.sec
@TimeNeed = @TimeNow + 120 #поставьте любое значение
#Таймер (time)^
@pri = 0
@sprite.opacity = @pri
#
#до сих - добавлено мною
#
@continue_enabled = false
for i in 0..3
if FileTest.exist?( Save#{i+1}.rxdata )
@continue_enabled = true
end
end
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
$game_system.bgm_play($data_system.title_bgm)
Audio.me_stop
Audio.bgs_stop
Graphics.transition
loop do
#
#от сих ...
#
if @pri != 255
@pri += 1
@sprite.opacity = @pri
elsif @pri == 255 and RPG::Cache.title($data_system.title_name) ==
RPG::Cache.title( 001-Title01 )
loop do
@pri -= 1
@sprite.opacity = @pri
Graphics.update
if @pri == 170
break
end
end
end
#Таймер (time)
@TimeNow = Time.now.sec
if @TimeNow = @TimeNeed and $Start == true
$scene = Scene_StartAnimations.new
break
end
#
#до сих - добавлено мною
#
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@sprite.bitmap.dispose
@sprite.dispose
end
#
def update
@command_window.update
if Input.trigger?(Input::C)
case @command_window.index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
end
end
end
#
def command_new_game
$game_no = -1
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_starting_members
$game_map.setup(id_need_map( Игра ))
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
#
def command_continue
unless @continue_enabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
end
#
def command_shutdown
$game_system.se_play($data_system.decision_se)
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = nil
end
#
def battle_test
$data_actors = load_data( Data/BT_Actors.rxdata )
$data_classes = load_data( Data/BT_Classes.rxdata )
$data_skills = load_data( Data/BT_Skills.rxdata )
$data_items = load_data( Data/BT_Items.rxdata )
$data_weapons = load_data( Data/BT_Weapons.rxdata )
$data_armors = load_data( Data/BT_Armors.rxdata )
$data_enemies = load_data( Data/BT_Enemies.rxdata )
$data_troops = load_data( Data/BT_Troops.rxdata )
$data_states = load_data( Data/BT_States.rxdata )
$data_animations = load_data( Data/BT_Animations.rxdata )
$data_tilesets = load_data( Data/BT_Tilesets.rxdata )
$data_common_events = load_data( Data/BT_CommonEvents.rxdata )
$data_system = load_data( Data/BT_System.rxdata )
$data_mapinfos = load_data( Data/MapInfos.rxdata )
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_battle_test_members
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
$game_system.se_play($data_system.battle_start_se)
$game_system.bgm_play($game_system.battle_bgm)
$scene = Scene_Battle.new
end
end
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7316

  • Rolf
  • Rolf аватар
Мой первый скрипт конечно не с таким размахом. Я просто переделал сделал статус ное меню новое. Твой скрипт класс.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7329

  • HoF
  • HoF аватар
Спасиб. Значит ты тоже скриптер. Всегда интересно узнать мнение человека, разбирающегося в том, что ты сделал.
Хотя мнение не разбирающихся тоже было б интересно послушать.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7335

  • Valera
  • Valera аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1452
  • Спасибо получено: 9
  • Учитель
Мне нравится как ты комментируешь свои скрипты прямо в тексте скрипта. Это познавательно и дружелюбно по отношению к мало подготовленному пользователю. Продолжай в том же духе и пусть другие берут с тебя пример. Вот. *ladi*
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7353

  • gromdron
  • gromdron аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 512
  • Спасибо получено: 6
  • Учитель
Система комментариев действительно хороша! Я бы мог переводить весь скрипт (включая комментарии), но это долго и иногда вкрадываются ошибки. А пользователям нужно быстро и качественно
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7360

  • HoF
  • HoF аватар
Не знаю, что вы нашли в моих комментах, но спасибо
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7366

  • Rolf
  • Rolf аватар
HoF, Создаю окно скриптом и мне надо на нем вывести чило в переменной. Запутался. можеш сказать как правильно.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7373

  • HoF
  • HoF аватар
Немного недопонял, что надобно. Определяешь собственное окно или используешь какое?

Пример определения.
class Window_primer Window_Base
def initialize(text)
super(0, 480, 640, 320)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@text = text
refresh
end
def refresh
@text_y = 32
self.contents.font.color = normal_color
self.contents.draw_text(0, @text_y, 640, 32, @text)
end
end

потом где-нибудь вызываешь её
типа
$win_pr = Window_primer.new(text) # где text - твоя переменная
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7375

  • Rolf
  • Rolf аватар
Спасибо мне нужна была только последняя строчка.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7378

  • HoF
  • HoF аватар
Рад что помог!
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7411

  • Rolf
  • Rolf аватар
Мне нужно вывод переменной игровой. Которая заноситься через ивент - переменная.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7436

  • HoF
  • HoF аватар
Вывод в обычном сообщении устроит?
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7441

  • Rolf
  • Rolf аватар
Это я знаю. Мне нужен вывод. Чтобы в моем созданном окне статус показывало.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7452

  • HoF
  • HoF аватар
Я всё правильно понял? Ты определяешь окошко с тем, чтобы вывести в нём сосбственную переменную. Переменную ты задаешь ты в событиях.
Причём переменная строковая?

В чём проблема? Вместо
self.contents.draw_text(0, @text_y, 640, 32, @text)
ставишь
self.contents.draw_text(0, @text_y, 640, 32, $your_variable)

Если переменная числовая то вот:
@your_variable $data_system.variables[1]+ = +$game_variables[1].to_s

Т.е. там равно, конечно!
@your_variable = $data_system.variables[1]+ = +$game_variables[1].to_s

$data_system.variables[1] - название переменной
$game_variables[1].to_s - конвертированное значение переменной
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7455

  • Rolf
  • Rolf аватар
вывести мне надо число. А переименую писать 0001
Получилось. без равно пытался.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 6 мес. назад #7457

  • HoF
  • HoF аватар
= только для примера поставил. Наконец я понял, что ты хочешь! А как приятно помогать людям... *ok*
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 5 мес. назад #8768

  • limnique
  • limnique аватар
  • Вне сайта
  • Познающий
  • Сообщений: 14
Подскажите пожалуйста, что надо изменить в первом скрипте чтобы первый рисунок который оказывается плавно появлялся из темноты и также плавно уходил в неё. Эффект затемнения.
Администратор запретил публиковать записи гостям.

Предтитулный рисунок 17 года 4 мес. назад #10760

  • HoF
  • HoF аватар
Уёё. Извиняюсь приятель, что так долго не отвечал. просто в запоё был. Кидай в личку следующий раз.
всавь это

def seepicture (sound = Audio/Me/004-Victory04.mid ,
picture = Graphics/Panoramas/007-Ocean01.jpg ,
transition = Graphics/Transitions/012-Random04.png , time = 5)
$StartPicture.opacity = 255
if sound != false
Audio.me_play(sound, 100,100)
end
$StartPicture.bitmap = Bitmap.new(picture)
Graphics.freeze
Graphics.transition(40, transition, 40)
@TimeNeed = Time.new.sec
@TimeNow = Time.new.sec
@TimeNow = Time.now.sec
@TimeNeed = @TimeNow + time
loop do
Graphics.update
@TimeNow = Time.now.sec
if @TimeNow = @TimeNeed
$StartPicture.opacity -= 1
if $StartPicture.opacity == 0
break
end
end
end
Audio.me_stop
end

class Scene_StartPictures
def main
$StartPicture = Sprite.new
seepicture( false, Graphics/Panoramas/007-Ocean01.jpg ,
transition = Graphics/Transitions/012-Random04.png ,
time = 1)
Graphics.freeze
seepicture( false, Graphics/Panoramas/004-CloudySky01.jpg ,
transition = Graphics/Transitions/012-Random04.png ,
time = 1)
Graphics.freeze
$StartPicture.dispose
$StartPicture.bitmap.dispose
$scene = Scene_StartAnimations.new
end
end

а можно сделать предтитульный экран в более простом варианте, а то в основном многотомные скрипты мне попадаются... просто очень сложно разобрать и понять...
может лучше сделать пару простых скриптов? ну чтобы новичкам было проще понять основы... KASUMI-sama

У меня всё просто. Только никто комменты не читает.
первый скрипт - предтитульный рисунок.
Второй скрипт - предтитульный ролик. Та же интра, только идёт она до титульного листа!!! А не после, как у всех...
Третий скрипт - если на титульном листе долго ничего нажимать не будешь, то опять пойдёт заставка, как на денди или сеги...
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.246 секунд