~Site
¤Accueil
¤Forum
¤Admin

~Base de scripts
¤Scripts de base
¤Scripts Menu
¤Scripts Combat
¤Scripts Système
¤Scripts Modifiés

Scripts de Base
Game_Temp
Game_System
Game_Switches
Game_Variables
Game_SelfSwitches
Game_Screen
Game_Picture
Game_Battler 1
Game_Battler 2
Game_Battler 3
Game_BattleAction
Game_Actor
Game_Enemy
Game_Actors
Game_Party
Game_Troop
Game_Map
Game_CommonEvent
Game_Character 1
Game_Character 2
Game_Character 3
Game_Event
Game_Player
Sprite_Character
Sprite_Battler
Sprite_Picture
Sprite_Timer
Spriteset_Map
Spriteset_Battle
Window_Base
Window_Selectable
Window_Command
Window_Help
Window_Gold
Window_PlayTime
Window_Steps
Window_MenuStatus
Window_Item
Window_Skill
Window_SkillStatus
Window_Target
Window_EquipLeft
Window_EquipRight
Window_EquipItem
Window_Status
Window_SaveFile
Window_ShopCommand
Window_ShopBuy
Window_ShopSell
Window_ShopNumber
Window_ShopStatus
Window_NameEdit
Window_NameInput
Window_InputNumber
Window_Message
Window_PartyCommand
Window_BattleStatus
Window_BattleResult
Window_DebugLeft
Window_DebugRight
Window_Dataset
Arrow_Base
Arrow_Enemy
Arrow_Actor
Interpreter 1
Interpreter 2
Interpreter 3
Interpreter 4
Interpreter 5
Interpreter 6
Interpreter 7
Scene_Title
Scene_Map
Scene_Menu
Scene_Item
Scene_Skill
Scene_Equip
Scene_Status
Scene_File
Scene_Save
Scene_Load
Scene_End
Scene_Battle 1
Scene_Battle 2
Scene_Battle 3
Scene_Battle 4
Scene_Shop
Scene_Name
Scene_Gameover
Scene_Debug
Main


Game_Picture ::: posté le 2006-02-15 @ 22:25:00
Auteur: Yukihiro matsumoto

#============================================
# ¡ Game_Picture
#--------------------------------------------
# @ƒsƒNƒ`ƒƒ‚ðˆµ‚¤ƒNƒ‰ƒX‚Å‚·B‚±‚̃Nƒ‰ƒX‚Í Game_Screen ƒNƒ‰ƒX ($game_screen)
# ‚Ì“à•”‚ÅŽg—p‚³‚ê‚Ü‚·B
#============================================

class Game_Picture
#------------------------------------------
# œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
#------------------------------------------
attr_reader :number # ƒsƒNƒ`ƒƒ”Ô†
attr_reader :name # ƒtƒ@ƒCƒ‹–¼
attr_reader :origin # Œ´“_
attr_reader :x # X ˥W
attr_reader :y # Y ˥W
attr_reader :zoom_x # X •ûŒüŠg‘å—¦
attr_reader :zoom_y # Y •ûŒüŠg‘å—¦
attr_reader :opacity # •s“§–¾“x
attr_reader :blend_type # ƒuƒŒƒ“ƒh•û–@
attr_reader :tone # F’²
attr_reader :angle # ‰ñ“]Šp“x
#------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
# number : ƒsƒNƒ`ƒƒ”Ô†
#------------------------------------------
def initialize(number)
@number = number
@name = ""
@origin = 0
@x = 0.0
@y = 0.0
@zoom_x = 100.0
@zoom_y = 100.0
@opacity = 255.0
@blend_type = 1
@duration = 0
@target_x = @x
@target_y = @y
@target_zoom_x = @zoom_x
@target_zoom_y = @zoom_y
@target_opacity = @opacity
@tone = Tone.new(0, 0, 0, 0)
@tone_target = Tone.new(0, 0, 0, 0)
@tone_duration = 0
@angle = 0
@rotate_speed = 0
end
#------------------------------------------
# œ ƒsƒNƒ`ƒƒ‚Ì•Ž¦
# name : ƒtƒ@ƒCƒ‹–¼
# origin : Œ´“_
# x : X ˥W
# y : Y ˥W
# zoom_x : X •ûŒüŠg‘å—¦
# zoom_y : Y •ûŒüŠg‘å—¦
# opacity : •s“§–¾“x
# blend_type : ƒuƒŒƒ“ƒh•û–@
#------------------------------------------
def show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
@name = name
@origin = origin
@x = x.to_f
@y = y.to_f
@zoom_x = zoom_x.to_f
@zoom_y = zoom_y.to_f
@opacity = opacity.to_f
@blend_type = blend_type
@duration = 0
@target_x = @x
@target_y = @y
@target_zoom_x = @zoom_x
@target_zoom_y = @zoom_y
@target_opacity = @opacity
@tone = Tone.new(0, 0, 0, 0)
@tone_target = Tone.new(0, 0, 0, 0)
@tone_duration = 0
@angle = 0
@rotate_speed = 0
end
#------------------------------------------
# œ ƒsƒNƒ`ƒƒ‚̈ړ®
# duration : ŽžŠÔ
# origin : Œ´“_
# x : X ˥W
# y : Y ˥W
# zoom_x : X •ûŒüŠg‘å—¦
# zoom_y : Y •ûŒüŠg‘å—¦
# opacity : •s“§–¾“x
# blend_type : ƒuƒŒƒ“ƒh•û–@
#------------------------------------------
def move(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
@duration = duration
@origin = origin
@target_x = x.to_f
@target_y = y.to_f
@target_zoom_x = zoom_x.to_f
@target_zoom_y = zoom_y.to_f
@target_opacity = opacity.to_f
@blend_type = blend_type
end
#------------------------------------------
# œ ‰ñ“]‘¬“x‚Ì•ÏX
# speed : ‰ñ“]‘¬“x
#------------------------------------------
def rotate(speed)
@rotate_speed = speed
end
#------------------------------------------
# œ F’²•ÏX‚ÌŠJŽn
# tone : F’²
# duration : ŽžŠÔ
#------------------------------------------
def start_tone_change(tone, duration)
@tone_target = tone.clone
@tone_duration = duration
if @tone_duration == 0
@tone = @tone_target.clone
end
end
#------------------------------------------
# œ ƒsƒNƒ`ƒƒ‚ÌÁ‹Ž
#------------------------------------------
def erase
@name = ""
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV
#------------------------------------------
def update
if @duration >= 1
d = @duration
@x = (@x * (d - 1) + @target_x) / d
@y = (@y * (d - 1) + @target_y) / d
@zoom_x = (@zoom_x * (d - 1) + @target_zoom_x) / d
@zoom_y = (@zoom_y * (d - 1) + @target_zoom_y) / d
@opacity = (@opacity * (d - 1) + @target_opacity) / d
@duration -= 1
end
if @tone_duration >= 1
d = @tone_duration
@tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
@tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
@tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
@tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
@tone_duration -= 1
end
if @rotate_speed != 0
@angle += @rotate_speed / 2.0
while @angle < 0
@angle += 360
end
@angle %= 360
end
end
end
Design By RaZ © Watery Build 2005