Хочешь такой помочь и оп-па, человека нет в вк. Не надо так.
Хочешь такой помочь и оп-па, человека нет в вк. Не надо так.
лс и скуп то не отменяли
HopeBree , зачем возится с меню если игра еще не 99% готова? Только время тратить.
Лицензионный VX Ace. Спасибо Петр.
2 года мукеризма в пустую.
надо отвлекаться, смотреть на кучу одних и тех же переменных и чисел в попытке разобраться где не соответствие, напрягает
а так потом со свежей головой можно глянуть, что не так и исправить, в 50% работает
Спойлер :
вот моя косорукость, надо при изменение current_symbol должно изменяться прозрачность спрайтов image_actor_1 и image_actor_2
если дописывать прозрачность в update выдает ошибку о неизвестном методе той самой прозрачности
но скорее всего я что-то не так пишу D:
What the fucking heresy I read?
HopeBree, где конкретно тебе нужно отображение спрайтов при перелистывании?
Наверное, в update выдает ошибку, потому что спрайтов ещё нет, а ты хочешь их обновить. Точно не помню, но, кажется, super в методе start вызывает update, а только потом создаются спрайты.
Попробуй в update добавить условие проверки на существование спрайта
я могу скинуть демку для наглядности
по идее спрайты выводятся Как надо и вроде все устраивает, но в идеале некоторые спрайты должны изменять прозрачность, как это происходит с текстом в окне помощи
upd: сделал, не в том месте вывел спрайты, вот и ошибку выдавало
Последний раз редактировалось HopeBree; 07.09.2015 в 17:59.
вызывается выбор персонажа сразу же после старта новой игрыPHP код:
module HB
BGM = "Main Theme 4"
BG = "CSbg"
CIRCLE = "Rose"
LAYER = "CSbg1"
end
class Scene_Title < Scene_Base
def command_new_game
close_command_window
SceneManager.goto(Scene_CharSellect)
end
end
class Scene_CharSellect < Scene_Base
def start
super
create_help_window
create_command_window
create_layers
RPG::BGM.new(HB::BGM, 100, 100).play
end
def create_help_window
@help_window = Window_Help.new
@help_window.opacity = 0
@help_window.y = Graphics.height - @help_window.height
end
def create_layers
@background_sprite = Sprite.new
@background_sprite.bitmap = Cache.system(HB::BG)
@background_sprite.z = 1
@rose_sprite = Sprite.new
@rose_sprite.bitmap = Cache.system(HB::CIRCLE)
@rose_sprite.x = Graphics.width / 2
@rose_sprite.y = Graphics.height / 2
@rose_sprite.ox = @rose_sprite.bitmap.width / 2
@rose_sprite.oy = @rose_sprite.bitmap.height / 2
@rose_sprite.z = 2
@background1_sprite = Sprite.new
@background1_sprite.bitmap = Cache.system(HB::LAYER)
@background1_sprite.z = 4
end
def create_command_window
@command_window = Window_SelectCommand.new
@command_window.set_handler(:actor_1, method(:command_actor_1))
@command_window.set_handler(:actor_2, method(:command_actor_2))
@command_window.x = 0
@command_window.y = 0
@command_window.opacity = 0
@command_window.help_window = @help_window
end
def close_command_window
@command_window.close
update until @command_window.close?
end
def command_actor_1
DataManager.setup_new_game
close_command_window
fadeout_all
$game_party.add_actor(1)
$game_map.autoplay
SceneManager.goto(Scene_Map)
end
def command_actor_2
DataManager.setup_new_game
close_command_window
fadeout_all
$game_party.add_actor(2)
$game_map.autoplay
SceneManager.goto(Scene_Map)
end
def update
super
@rose_sprite.angle -= 0.1
end
end
class Window_SelectCommand < Window_HorzCommand
def initialize
super(0, 0)
char_layers
end
def window_width
Graphics.width
end
def col_max
return 2
end
def make_command_list
add_command($game_actors[1].name, :actor_1)
add_command($game_actors[2].name, :actor_2)
end
def char_layers
@image_actor_1 = Sprite.new
@image_actor_1.bitmap = Cache.system($game_actors[1].name + " Profile")
@image_actor_1.x = 0
@image_actor_1.y = 0
@image_actor_1.z = 3
@image_actor_2 = Sprite.new
@image_actor_2.bitmap = Cache.system($game_actors[2].name + " Profile")
@image_actor_2.x = Graphics.width / 2
@image_actor_2.y = 0
@image_actor_2.z = 3
end
def update_help
@help_window.clear
case current_symbol
when :actor_1
@help_window.set_text($game_actors[1].description)
@image_actor_1.color.set(0, 0, 0, 0)
@image_actor_2.color.set(0, 0, 0, 100)
when :actor_2
@help_window.set_text($game_actors[2].description)
@image_actor_1.color.set(0, 0, 0, 100)
@image_actor_2.color.set(0, 0, 0, 0)
else
@help_window.clear
@image_actor_1.color.set(0, 0, 0, 0)
@image_actor_2.color.set(0, 0, 0, 0)
end
end
end
но для правильной работы, нужно удалить персонажей при старте игры
если кому-то нужно, могу объяснить как вывести более 2ух персонажей
Эту тему просматривают: 10 (пользователей: 0 , гостей: 10)
Социальные закладки