Niente, l'RGSS è qualcosa che esula dalle mie possibilità.
Dunque, da qualche tempo mi sono interessato ad uno script (forse vietnamita) che ho trovato su un forum estero. Tale script consentirebbe di adottare due panorami come mappe: la prima come immagine di fondo, l'altra con gli elementi grafici destinati a mostrarsi sopra l'eroe (esempio cime di alberi, tetti, e tutto quello che ha Priority 2-5 nel chipset tradizionale).
Il sistema si compone di due script, uno per ciascun livello:
#==============================================================================
# ++ 一枚絵を背景化 ver. 1.00 ++
# Script by パラ犬
#------------------------------------------------------------------------------
# パノラマ画像のスクロールをマップのスクロールと同期させ
# 背景画像として使えるようにします。
#==============================================================================
module PARA_PANORAMA
# パノラマのスクロールをマップと同期させる --- lୠđồng k젣ủa scroll của panorama v࠭ap
#( 0:しない 1:する 2:イベントスイッチで制御 ) --- ( 0 : ko lୠ 1 lୠ 2 d?vent switch để chế ngự)
FIX = 1
# スイッチ制御に使用するスイッチ番号 --- số hiệu switch sử dụng itch chế ngự
FIX_SWITCH = 999
# 画像ファイルの一括指定 --- sự chỉ định c??#7911;a file ảnh
#( PANORAMA[ マップID ] = ファイル名 ) --- ( PANORAMA[ map ID ] = tꮠfile)
PANORAMA=[]#←この行は削除しないでください --- kh?xnbr /> PANORAMA[1] = "001-Sky01"
PANORAMA[2] = "002-Sky02"
end
# ↑ 設定項目ここまで --- thiết định hạng mục đến đ
#------------------------------------------------------------------------------
#==============================================================================
# ■ Spriteset_Map
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ● オブジェクト初期化 --- objet shokika
#--------------------------------------------------------------------------
alias initialize_parapano initialize
def initialize
initialize_parapano
#パノラマ画像を設定 --- panorama
if PARA_PANORAMA::PANORAMA[$game_map.map_id] != nil
$game_map.panorama_name = PARA_PANORAMA::PANORAMA[$game_map.map_id]
@panorama_name = $game_map.panorama_name
@panorama_hue = $game_map.panorama_hue
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
end
# フレーム更新 --- frame henshin
update
end
#--------------------------------------------------------------------------
# ● フレーム更新 --- frame henshin
#--------------------------------------------------------------------------
alias update_parapano update
def update
update_parapano
if PARA_PANORAMA::FIX == 1 or (PARA_PANORAMA::FIX==2 and $game_switches[PARA_PANORAMA::FIX_SWITCH])
# パノラマプレーンを更新 --- panorama plain
@panorama.ox = $game_map.display_x / 4
@panorama.oy = $game_map.display_y / 4
end
end
end
e due
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
# 处理地图的类。包含卷动以及可以通行的判断功能。
# 本类的实例请参考 $game_map 。
#==============================================================================
class Game_Map
attr_accessor :map
attr_accessor :map_id
end
#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
# 处理地图画面活动块和元件的类。本类在
# Scene_Map 类的内部使用。
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
# 生成显示端口
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 200
@viewport3.z = 5000
# 生成元件地图
@tilemap = Tilemap.new(@viewport1)
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
for i in 0..6
autotile_name = $game_map.autotile_names
@tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
end
@tilemap.map_data = $game_map.data
@tilemap.priorities = $game_map.priorities
# 生成远景平面
@panorama = Plane.new(@viewport1)
@panorama.z = -1000
@panorama2 = Plane.new(@viewport1)
@panorama2.z = 3000
# 生成雾平面
@fog = Plane.new(@viewport1)
@fog.z = 3000
# 生成角色活动块
@character_sprites = []
for i in $game_map.events.keys.sort
sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
# 生成天气
@weather = RPG::Weather.new(@viewport1)
# 生成图片
@picture_sprites = []
for i in 1..50
@picture_sprites.push(Sprite_Picture.new(@viewport2,
$game_screen.pictures[i]))
end
# 生成计时器块
@timer_sprite = Sprite_Timer.new
# 刷新画面
update
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
# 释放元件地图
@tilemap.tileset.dispose
for i in 0..6
@tilemap.autotiles[i].dispose
end
@tilemap.dispose
# 释放远景平面
@panorama.dispose
# 释放雾平面
@fog.dispose
# 释放角色活动块
for sprite in @character_sprites
sprite.dispose
end
# 释放天候
@weather.dispose
# 释放图片
for sprite in @picture_sprites
sprite.dispose
end
# 释放计时器块
@timer_sprite.dispose
# 释放显示端口
@viewport1.dispose
@viewport2.dispose
@viewport3.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
# 远景与现在的情况有差异发情况下
if @panorama_name != $game_map.panorama_name or
@panorama_hue != $game_map.panorama_hue
@panorama_name = $game_map.panorama_name
@panorama_hue = $game_map.panorama_hue
if @panorama.bitmap != nil
@panorama.bitmap.dispose
@panarama2.bitmap.dispose
@panorama2.bitmap = nil
@panarama.bitmap = nil
end
if @panorama_name != ""
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
@panorama2.bitmap = RPG::Cache.panorama(@panorama_name+"_2", @panorama_hue)
end
Graphics.frame_reset
end
# 雾与现在的情况有差异的情况下
if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
@fog_name = $game_map.fog_name
@fog_hue = $game_map.fog_hue
if @fog.bitmap != nil
@fog.bitmap.dispose
@fog.bitmap = nil
end
if @fog_name != ""
@fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
end
Graphics.frame_reset
end
# 刷新元件地图
@tilemap.ox = $game_map.display_x / 4
@tilemap.oy = $game_map.display_y / 4
@tilemap.update
# 刷新远景平面
@panorama.ox = $game_map.display_x / 4
@panorama.oy = $game_map.display_y / 4
@panorama2.ox = @panorama.ox
@panorama2.oy = @panorama.oy
# 刷新雾平面
@fog.zoom_x = $game_map.fog_zoom / 100.0
@fog.zoom_y = $game_map.fog_zoom / 100.0
@fog.opacity = $game_map.fog_opacity
@fog.blend_type = $game_map.fog_blend_type
@fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
@fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
@fog.tone = $game_map.fog_tone
# 刷新角色活动块
for sprite in @character_sprites
sprite.update
end
# 刷新天候图形
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.ox = $game_map.display_x / 4
@weather.oy = $game_map.display_y / 4
@weather.update
# 刷新图片
for sprite in @picture_sprites
sprite.update
end
# 刷新计时器块
@timer_sprite.update
# 设置画面的色调与震动位置
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
# 设置画面的闪烁色
@viewport3.color = $game_screen.flash_color
# 刷新显示端口
@viewport1.update
@viewport3.update
end
end
Ho provato ad inserire questi due script... ma mi dà errore alla riga 34 del secondo. Mi dice TypeError: Cannot convert Array into String.
Beh... non ho la più pallida idea di cosa significhi!
Question
Zosimos
Niente, l'RGSS è qualcosa che esula dalle mie possibilità.
Dunque, da qualche tempo mi sono interessato ad uno script (forse vietnamita) che ho trovato su un forum estero. Tale script consentirebbe di adottare due panorami come mappe: la prima come immagine di fondo, l'altra con gli elementi grafici destinati a mostrarsi sopra l'eroe (esempio cime di alberi, tetti, e tutto quello che ha Priority 2-5 nel chipset tradizionale).
Il sistema si compone di due script, uno per ciascun livello:
e due
Ho provato ad inserire questi due script... ma mi dà errore alla riga 34 del secondo. Mi dice TypeError: Cannot convert Array into String.
Beh... non ho la più pallida idea di cosa significhi!
Qualcuno sa come posso risolvere il problema?
Edited by ZosimosGioco in Sviluppo:
http://www.studibizantini.it/docs/Logo.png
Blog: Ode to my Forthcoming Winter
Riferimento
Contest:
http://rpg2s.net/gif/SCContest2Oct.gifx2 http://rpg2s.net/gif/SCContest1Oct.gifx1
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now