Oniromancie: Scripts - Script: vue camera pendant le combat


Comment ็a marche?

A๋demphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par ุdd Clock

Geex
Par roys

Inexistence
Par Falco

La L้gende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Ka๋lar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Concours des Alex d'Or 2017-18: (...) / News: MegaMaker : cr้ez votre propre (...) / News: Test de Tinker Quarry / Sorties: Leave the Room / Jeux: Leave the Room /

Chat  (17 connect้s)

Bienvenue
visiteur !






publicit้ RPG Maker!

Statistiques

Liste des
membres


Contact

81 connect้s actuellement

9179781 visiteurs
depuis l'ouverture

856 visiteurs
aujourd'hui

Groupe Facebook

Barre de s้paration

Partenaires




TOP
GAMEMAKING


Les 5 plus
visit้s

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Thรฉrapie-RMVX

RPG Master Making

FrGraph-X

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de s้paration

Un site du r้seau
War Paradise

Annuaires r้f้renceurs





Script: vue camera pendant le combat
Script pour RPG Maker XP
Ecrit par soho

Script de cam้ra, cr้er un script qui ce nomme Cam้ra a mettre au dessus de Main


Portion de code:



# ?ฅ?ฃ?ฅ XRXS_BP 8. ƒoƒgƒ‹ƒoƒbƒN?EFull-View?{‰?“ฎƒJƒ?ƒ‰ ver..05d ?ฅ?ฃ?ฅ

# Fait par FTB
#==============================================================================
# ?ก Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ?œ ’?‰??EŒ?ŠJƒCƒ“ƒXƒ^ƒ“ƒX•??”
#--------------------------------------------------------------------------
attr_accessor :x_pos # ƒoƒgƒ‹ƒtƒB?[ƒ‹ƒh?@‰ก?@ˆ?’u(+‚ื‰E?@)
attr_accessor :y_pos # ƒoƒgƒ‹ƒtƒB?[ƒ‹ƒh ?‚‚ณ ˆ?’u(+‚ื???@)
attr_accessor :z_pos # ƒoƒgƒ‹ƒtƒB?[ƒ‹ƒh‰œ?s‚ซˆ?’u(+‚ืŽ?‘O)
attr_accessor :zoom # Œป??‚?ƒY?[ƒ€”{—[
end
#==============================================================================
# ?ก Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ?œ ’?‰??EŒ?ŠJƒCƒ“ƒXƒ^ƒ“ƒX•??”
#--------------------------------------------------------------------------
attr_reader :actor_in_battlefield # ƒAƒNƒ^?[‚?ƒtƒB?[ƒ‹ƒh‚?
#--------------------------------------------------------------------------
# ?œ ƒZƒbƒgƒAƒbƒv
#--------------------------------------------------------------------------
alias xrxs_bp8_setup setup
def setup(actor_id)
xrxs_bp8_setup(actor_id)
# ‹@”\"ƒAƒNƒ^?[‚?ƒtƒB?[ƒ‹ƒh‚?"
# true‚?—D??‚ท‚?
@actor_in_battlefield = false if @actor_in_battlefield != true
end
end
#==============================================================================
# ?ก Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ?œ ’?‰??EŒ?ŠJƒCƒ“ƒXƒ^ƒ“ƒX•??”
#--------------------------------------------------------------------------
attr_reader :actor_in_battlefield # ƒAƒNƒ^?[‚?ƒtƒB?[ƒ‹ƒh‚?
#--------------------------------------------------------------------------
# ?œ ƒIƒuƒWƒFƒNƒg?‰Š?‰ป
#--------------------------------------------------------------------------
alias xrxs_bp8_initialize initialize
def initialize(troop_id, member_index)
@actor_in_battlefield = false
@x_pos = $data_troops[troop_id].members[member_index].x - 320
@y_pos = -($data_troops[troop_id].members[member_index].y - 304)
@field_x_offset = -192
@field_y_offset = -144
@z_pos = 0
@zoom = 1.00
xrxs_bp8_initialize(troop_id, member_index)
end
#--------------------------------------------------------------------------
# ?œ ƒoƒgƒ‹‰?–? X ??•W‚?Ž?“พ
#--------------------------------------------------------------------------
def screen_x
$xcam_x = 0 if $xcam_x == nil
return 320 - @field_x_offset + (@x_pos.to_i - $xcam_x) * @zoom
end
#--------------------------------------------------------------------------
# ?œ ƒoƒgƒ‹‰?–? Y ??•W‚?Ž?“พ
#--------------------------------------------------------------------------
def screen_y
$xcam_y = 0 if $xcam_y == nil
return 240 - @field_y_offset + (-@y_pos.to_i + 64 + $xcam_y) * @zoom
end
end
#==============================================================================
# ?ก Sprite_Battler
#==============================================================================
class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V
#--------------------------------------------------------------------------
alias xrxs_bp8_update update
def update
# ?‰Š?‰ป
@z_offset = 0
# –?‚ท
xrxs_bp8_update
# ƒoƒgƒ‰?[‚ื nil ‚????‡–?‚?
return if @battler == nil
# “G‚?‚?‚?ƒJƒ?ƒ‰‚ื‰e‹ฟ?B
# Œฉ•?‚?ƒoƒgƒ‹ƒtƒB?[ƒ‹ƒh‚?‚ข‚????‡‚ฑ‚ฑ‚? if ‚?ŠO‚ท?B
if (@battler.is_a?(Game_Actor) and @battler.actor_in_battlefield) or @battler.is_a?(Game_Enemy)
# ƒY?[ƒ€—[
zoom = 1.00 * 185 / (($xcam_z != nil ? $xcam_z : 185) - @z_offset)
self.zoom_x = zoom
self.zoom_y = zoom
@battler.zoom = zoom
# ƒXƒvƒ‰ƒCƒg‚???•W‚???’?
self.x = @battler.screen_x
self.y = @battler.screen_y
self.z = @battler.screen_z
end
end
end
#==============================================================================
# ?ก Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# ?œ ƒIƒuƒWƒFƒNƒg?‰Š?‰ป
#--------------------------------------------------------------------------
alias xrxs_bp8_initialize initialize
def initialize
# ?‰Š?‰ป
@now_bg_x = -1
@now_bg_y = -1
@now_bg_z = -1
# ’???Žž‚?Ž??s
xrxs_bp8_initialize
# ƒrƒ…?[ƒ|?[ƒg‚????ฌ
@viewport1 = Viewport.new(-192, -144, 1024, 768)
# ƒoƒgƒ‹ƒoƒbƒNƒXƒvƒ‰ƒCƒg‚????ฌ
@battleback_sprite = Sprite.new(@viewport1)
@battleback_name = ""
# ƒGƒlƒ~?[ƒXƒvƒ‰ƒCƒg‚????ฌ
@enemy_sprites = []
for enemy in $game_troop.enemies.reverse
@enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
end
# “VŒ?‚????ฌ
@weather = RPG::Weather.new(@viewport1)
# ƒtƒŒ?[ƒ€?X?V
update
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V
#--------------------------------------------------------------------------
alias xrxs_bp8_update update
def update
# ƒoƒgƒ‹ƒoƒbƒN‚?ƒtƒ@ƒCƒ‹–ผ‚ืŒป??‚?‚?‚?‚?ˆ?‚????‡
if @battleback_name != $game_temp.battleback_name
@battleback_name = $game_temp.battleback_name
if @battleback_sprite.bitmap != nil
@battleback_sprite.bitmap.dispose
end
bg_bitmap = RPG::Cache.battleback(@battleback_name)
bg_bitmap_stretch = Bitmap.new(1024, 768)
bg_bitmap_stretch.stretch_blt(Rect.new(0, 0, 1024, 768), bg_bitmap, bg_bitmap.rect)
@battleback_sprite.bitmap = bg_bitmap_stretch
end
# ƒJƒ?ƒ‰ˆ?’u‚ื“ฎ‚ข‚ฝ???‡
if @now_bg_x != $xcam_x or @now_bg_y != $xcam_y or @now_bg_z != $xcam_z
# ƒY?[ƒ€—[
zoom = 1.00 * 185 / $xcam_z
@battleback_sprite.zoom_x = zoom
@battleback_sprite.zoom_y = zoom
# ƒJƒ?ƒ‰z‚?‚?‚?ˆ?’u‚??C?ณ
maximum = 192 * (296 - $xcam_z) / 111
$xcam_x = [[$xcam_x, -maximum].max, maximum].min
# ”wŒiˆ?’u?X?V
@battleback_sprite.x = -$xcam_x * zoom - 512 * (zoom - 1)
@battleback_sprite.y = $xcam_y * zoom - 384 * (zoom - 1)
# ’l?X?V
@now_bg_x = $xcam_x
@now_bg_y = $xcam_y
@now_bg_z = $xcam_z
end
# –?‚ท
xrxs_bp8_update
end
end
#==============================================================================
# ?ก Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ?œ ƒ?ƒCƒ“?ˆ—?
#--------------------------------------------------------------------------
alias xrxs_bp8_main main
def main
# ƒJƒ?ƒ‰?‰Š?ˆ?’uŒˆ’?
$xcam_x = 0
$xcam_y = 0
$xcam_z = 295
# ƒJƒ?ƒ‰‚????‰‚?–?“I’l
@xcam_x_destination = 0
@xcam_y_destination = 0
@xcam_z_destination = 185
# ?ก?A’?–?ƒoƒgƒ‰?[‚?–ณ‚ต?B
@xcam_watch_battler = nil
# ?‰Š?‰ป
@wait_count_xcam = 0
# –?‚ท
xrxs_bp8_main
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V
#--------------------------------------------------------------------------
alias xrxs_bp8_update update
def update
# ƒJƒ?ƒ‰ˆ?’u‚??X?V?B
if @wait_count_xcam > 0
# ƒEƒFƒCƒgƒJƒEƒ“ƒg‚?Œธ‚?‚ท
@wait_count_xcam -= 1
else
# ƒJƒ?ƒ‰: Z ??•W
if $xcam_z != @xcam_z_destination
if $xcam_z < @xcam_z_destination
distance = [(@xcam_z_destination - $xcam_z)/8, 1].max
else
distance = [(@xcam_z_destination - $xcam_z)/8, -1].min
end
$xcam_z = [[$xcam_z + distance, 74].max, 296].min
end
# ƒJƒ?ƒ‰: X ??•W
if @xcam_watch_battler != nil
if $xcam_x != @xcam_watch_battler.x_pos
if ($xcam_x - @xcam_watch_battler.x_pos).abs < 8
distance = @xcam_watch_battler.x_pos - $xcam_x
elsif $xcam_x < @xcam_watch_battler.x_pos
distance = [(@xcam_watch_battler.x_pos - $xcam_x)/8, 8].max
else
distance = [(@xcam_watch_battler.x_pos - $xcam_x)/8, -8].min
end
maximum = 192 * (296 - $xcam_z) / 111
$xcam_x = [[$xcam_x + distance, -maximum].max, maximum].min
end
elsif $xcam_x != @xcam_x_destination
if ($xcam_x - @xcam_x_destination).abs < 8
distance = @xcam_x_destination - $xcam_x
elsif $xcam_x < @xcam_x_destination
distance = [(@xcam_x_destination - $xcam_x)/8, 8].max
else
distance = [(@xcam_x_destination - $xcam_x)/8, -8].min
end
maximum = 192 * (296 - $xcam_z) / 111
$xcam_x = [[$xcam_x + distance, -maximum].max, maximum].min
end
# ƒJƒ?ƒ‰: Y ??•W
if @xcam_watch_battler != nil
y = @xcam_watch_battler.y_pos/2
if $xcam_y != y
if ($xcam_y - y).abs < 8
distance = y - $xcam_y
elsif $xcam_y < y
distance = [(y - $xcam_y)/8, 8].max
else
distance = [(y - $xcam_y)/8, -8].min
end
maximum = 144 * (296 - $xcam_z) / 111
$xcam_y = [[$xcam_y + distance, -maximum].max, maximum].min
end
elsif $xcam_y != @xcam_y_destination
if $xcam_y < @xcam_y_destination
distance = [(@xcam_y_destination - $xcam_y)/8, 1].max
else
distance = [(@xcam_y_destination - $xcam_y)/8, -1].min
end
maximum = 164 * (296 - $xcam_z) / 111
$xcam_y = [[$xcam_y + distance, -maximum].max, maximum].min
end
end
# ’???Ž??s
xrxs_bp8_update
end
#--------------------------------------------------------------------------
# ?œ ƒp?[ƒeƒBƒRƒ}ƒ“ƒhƒtƒF?[ƒYŠJŽn
#--------------------------------------------------------------------------
alias xrxs_bp8_start_phase2 start_phase2
def start_phase2
# ƒJƒ?ƒ‰?FƒZƒ“ƒ^ƒŠƒ“ƒO
@xcam_watch_battler = nil
@xcam_x_destination = 0
@xcam_z_destination = 185
# –?‚ท
xrxs_bp8_start_phase2
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V (ƒAƒNƒ^?[ƒRƒ}ƒ“ƒhƒtƒF?[ƒY)
#--------------------------------------------------------------------------
alias xrxs_bp8_update_phase3 update_phase3
def update_phase3
# ƒJƒ?ƒ‰‚?ƒLƒƒƒ‰ˆ?’u‚?
if @active_battler != nil and @active_battler.actor_in_battlefield
@xcam_x_destination = @active_battler.x_pos
@xcam_z_destination = 175
end
xrxs_bp8_update_phase3
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V (ƒAƒNƒ^?[ƒRƒ}ƒ“ƒhƒtƒF?[ƒY : ƒGƒlƒ~?[‘I‘?)
#--------------------------------------------------------------------------
alias xrxs_bp8_update_phase3_enemy_select update_phase3_enemy_select
def update_phase3_enemy_select
# ƒJƒ?ƒ‰?F“Gƒ^?[ƒQƒbƒg‚?ƒY?[ƒ€ƒAƒbƒv
@xcam_x_destination = $game_troop.enemies[@enemy_arrow.index].x_pos * $game_troop.enemies[@enemy_arrow.index].zoom
@xcam_z_destination = 175
# –?‚ท
xrxs_bp8_update_phase3_enemy_select
end
#--------------------------------------------------------------------------
# ?œ ƒGƒlƒ~?[‘I‘??I—น
#--------------------------------------------------------------------------
alias xrxs_bp8_end_enemy_select end_enemy_select
def end_enemy_select
# ƒJƒ?ƒ‰?F’†?S‚?
@xcam_x_destination = 0
@xcam_z_destination = 185
# –?‚ท
xrxs_bp8_end_enemy_select
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V (ƒ?ƒCƒ“ƒtƒF?[ƒY ƒXƒeƒbƒv 2 : ƒAƒNƒVƒ‡ƒ“ŠJŽn)
#--------------------------------------------------------------------------
alias xrxs_bp8_update_phase4_step2 update_phase4_step2
def update_phase4_step2
# –?‚ท
xrxs_bp8_update_phase4_step2
# ƒXƒeƒbƒv 3 ‚?ˆ??s‚ท‚????‡
if @phase4_step == 3
if @active_battler.is_a?(Game_Enemy) or @active_battler.actor_in_battlefield
# ƒJƒ?ƒ‰?F?s“ฎƒoƒgƒ‰?[‚?‚?ƒY?[ƒ€ƒAƒbƒv‚?—\–?
@xcam_x_destination = @active_battler.x_pos * @active_battler.zoom if @active_battler.x_pos != nil
@xcam_z_destination = 175
end
# ??’? 20 ƒtƒŒ?[ƒ€‘?‚?
@wait_count = 20
end
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V (ƒ?ƒCƒ“ƒtƒF?[ƒY ƒXƒeƒbƒv 3 : ?s“ฎ‘?ƒAƒjƒ??[ƒVƒ‡ƒ“)
#--------------------------------------------------------------------------
alias xrxs_bp8_update_phase4_step3 update_phase4_step3
def update_phase4_step3
# –?‚ท
xrxs_bp8_update_phase4_step3
if @target_battlers.size > 0 and
(@target_battlers[0].is_a?(Game_Enemy) or @target_battlers[0].actor_in_battlefield)
# ƒJƒ?ƒ‰?Fƒ^?[ƒQƒbƒg‚?‚?ƒY?[ƒ€ƒAƒbƒv‚?—\–?
@xcam_x_destination = @target_battlers[0].x_pos * @target_battlers[0].zoom if @target_battlers[0] != nil
@xcam_z_destination = 185
# ‚?‚ต‘???ƒAƒjƒ?‚ื?uˆ?’u?F‰?–??v‚?‚?‚?‚????‡
if @animation2_id > 0 and $data_animations[@animation2_id].position == 3
# ƒJƒ?ƒ‰‚?ƒZƒ“ƒ^ƒŠƒ“ƒO
@xcam_x_destination = 0
# ƒY?[ƒ€ƒAƒEƒg‚?‚?‚?‚?‚ฟ‚?‚?ฅwฅ
@xcam_z_destination = 222
end
end
# ??’? 20 ƒtƒŒ?[ƒ€‘?‚?
@wait_count = 20
end
#--------------------------------------------------------------------------
# ?œ ƒAƒtƒ^?[ƒoƒgƒ‹ƒtƒF?[ƒYŠJŽn
#--------------------------------------------------------------------------
alias xrxs_bp8_start_phase5 start_phase5
def start_phase5
@xcam_z_destination = 185
xrxs_bp8_start_phase5
end
end
#==============================================================================
# ?ž RPG::??’?‹`?u??“ฌ’†‚?"‰?–?"ƒAƒjƒ?‚?ˆ?’u?C?ณ?v
#==============================================================================
module RPG
class Sprite < ::Sprite
def animation_set_sprites(sprites, cell_data, position)
for i in 0..15
sprite = sprites
pattern = cell_data[i, 0]
if sprite == nil or pattern == nil or pattern == -1
sprite.visible = false if sprite != nil
next
end
sprite.visible = true
sprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192)
if position == 3
if self.viewport != nil
if $scene.is_a?(Scene_Battle)
sprite.x = self.viewport.rect.width / 2
sprite.y = 304
else
sprite.x = self.viewport.rect.width / 2
sprite.y = self.viewport.rect.height - 160
end
else
sprite.x = 320
sprite.y = 240
end
else
sprite.x = self.x - self.ox + self.src_rect.width / 2
sprite.y = self.y - self.oy + self.src_rect.height / 2
sprite.y -= self.src_rect.height / 4 if position == 0
sprite.y += self.src_rect.height / 4 if position == 2
end
sprite.x += cell_data[i, 1]
sprite.y += cell_data[i, 2]
sprite.z = 2000
sprite.ox = 96
sprite.oy = 96
sprite.zoom_x = cell_data[i, 3] / 100.0
sprite.zoom_y = cell_data[i, 3] / 100.0
sprite.angle = cell_data[i, 4]
sprite.mirror = (cell_data[i, 5] == 1)
sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
sprite.blend_type = cell_data[i, 7]
end
end
end
end



Merci FTP. Trouv้ sur RPG MAKER XP-FACTORY.net


denisdu31 - post้ le 25/10/2009 เ 20:26:38. (4 messages post้s)

If Lien_signature_cliqu้ = @Denis_content End

Ce script est génial!:sonic Je le garde:joint.
Mais j'ai une suggestion :

Peut-être que le zoom devrait être un peu plus accentué:cig (je ne peux pas le faire moi même, mes connaissances en ruby sont assez limitées :F)

Un jeu super : http://australis.eu2.looki.fr/spiel.php?u=1409737


Zaryel - post้ le 29/06/2010 เ 11:37:06. (45 messages post้s)

Est ce que c'est possible de le rendre compatible avec le script combat sur le coté?
Je m'y connais pas beaucoup en script mais ça serait cool x)


citrouil0 - post้ le 03/08/2010 เ 12:01:27. (17 messages post้s)

Vous pouvez m'appeler "Lykrast" !

Ce script est très bien, sauf qu'il pixélise un peu le joli fond de combat... :(

Chocobo !

Suite เ de nombreux abus, le post en invit้s a ้t้ d้sactiv้. Veuillez vous inscrire si vous souhaitez participer เ la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'้quipe

Plan du site:

Activit้: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux s้par้s | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmar่s
H้berg้s: A๋demphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La L้gende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | El้ments s้par้s | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Ic๔nes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Syst่mes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis