bienvenue sur le forum , Invit !
 
AccueilFAQRechercherMembresGroupesS'enregistrerConnexion

Partagez | 
 

 camera dynamique

Aller en bas 
AuteurMessage
sam fisher
Nouveau Membre
Nouveau Membre
avatar

Messages : 13
Date d'inscription : 26/05/2008

MessageSujet: camera dynamique   Ven 30 Mai - 20:59

voici un script pour zoomer sur les enemis (exelent pour les jeux de Like a Star @ heaven)
il de rpgmakeronline
Crez un nouvel emplacement au dessus de Main et nommer le Camera.

# ??? XRXS_BP 8. ogobN?EFull-View?{?J? ver..05d ???
# by ??? ??y

#==============================================================================
# ? Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ? ???E?JCX^X??
#--------------------------------------------------------------------------
attr_accessor Mad_pos # ogtB?[h?@?@?u(+׉E?@)
attr_accessor :y_pos # ogtB?[h ? ?u(+???@)
attr_accessor :z_pos # ogtB?[h?s?u(+׎?O)
attr_accessor :zoom # ???Y?[{
end
#==============================================================================
# ? Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ? ???E?JCX^X??
#--------------------------------------------------------------------------
attr_reader :actor_in_battlefield # AN^?[?tB?[h?
#--------------------------------------------------------------------------
# ? ZbgAbv
#--------------------------------------------------------------------------
alias xrxs_bp8_setup setup
def setup(actor_id)
xrxs_bp8_setup(actor_id)
# @\\"AN^?[?tB?[h?"
# true?D???
@actor_in_battlefield = false if @actor_in_battlefield != true
end
end
#==============================================================================
# ? Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ? ???E?JCX^X??
#--------------------------------------------------------------------------
attr_reader :actor_in_battlefield # AN^?[?tB?[h?
#--------------------------------------------------------------------------
# ? IuWFNg??
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
# ? og?? 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
#--------------------------------------------------------------------------
# ? og?? 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
# og?[ nil ??????
return if @battler == nil
# G???J?׉e?B
# ??ogtB?[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
# XvCg???W????
self.x = @battler.screen_x
self.y = @battler.screen_y
self.z = @battler.screen_z
end
end
end
#==============================================================================
# ? Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# ? IuWFNg??
#--------------------------------------------------------------------------
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)
# ogobNXvCg????
@battleback_sprite = Sprite.new(@viewport1)
@battleback_name = ""
# Gl~?[XvCg????
@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
# ogobN?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
# wi?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???????Il
@xcam_x_destination = 0
@xcam_y_destination = 0
@xcam_z_destination = 185
# ??A??og?[??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
# EFCgJEg??
@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?[eBR}htF?[YJn
#--------------------------------------------------------------------------
alias xrxs_bp8_start_phase2 start_phase2
def start_phase2
# J??FZ^O
@xcam_watch_battler = nil
@xcam_x_destination = 0
@xcam_z_destination = 185
# ?
xrxs_bp8_start_phase2
end
#--------------------------------------------------------------------------
# ? t?[?X?V (AN^?[R}htF?[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 (AN^?[R}htF?[Y : Gl~?[I?)
#--------------------------------------------------------------------------
alias xrxs_bp8_update_phase3_enemy_select update_phase3_enemy_select
def update_phase3_enemy_select
# J??FG^?[Qbg?Y?[Abv
@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
#--------------------------------------------------------------------------
# ? Gl~?[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 (?CtF?[Y Xebv 2 : ANVJn)
#--------------------------------------------------------------------------
alias xrxs_bp8_update_phase4_step2 update_phase4_step2
def update_phase4_step2
# ?
xrxs_bp8_update_phase4_step2
# Xebv 3 ???s????
if @phase4_step == 3
if @active_battler.is_a?(Game_Enemy) or @active_battler.actor_in_battlefield
# J??F?sog?[??Y?[Abv?\\?
@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 (?CtF?[Y Xebv 3 : ?s?Aj??[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^?[Qbg??Y?[Abv?\\?
@xcam_x_destination = @target_battlers[0].x_pos * @target_battlers[0].zoom if @target_battlers[0] != nil
@xcam_z_destination = 185
# ????Aj??u?u?F???v???????
if @animation2_id > 0 and $data_animations[@animation2_id].position == 3
# J??Z^O
@xcam_x_destination = 0
# Y?[AEg??????w
@xcam_z_destination = 222
end
end
# ??? 20 t?[??
@wait_count = 20
end
#--------------------------------------------------------------------------
# ? At^?[ogtF?[YJn
#--------------------------------------------------------------------------
alias xrxs_bp8_start_phase5 start_phase5
def start_phase5
@xcam_z_destination = 185
xrxs_bp8_start_phase5
end
end
#==============================================================================
# ? RPG::???`?u???"??"Aj???u?C??v
#==============================================================================
module RPG
class Sprite < ::Sprite
def animation_set_sprites(sprites, cell_data, position)
for i in 0..15
sprite = sprites[i]
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 qui ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
thomascloud
Admin
Admin
avatar

Messages : 479
Date d'inscription : 05/04/2008
Age : 26

MessageSujet: Re: camera dynamique   Ven 30 Mai - 21:16

Ce serait cool que tu nous fasse des screens ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://ff13-france.1fr1.net
sam fisher
Nouveau Membre
Nouveau Membre
avatar

Messages : 13
Date d'inscription : 26/05/2008

MessageSujet: Re: camera dynamique   Sam 31 Mai - 9:37

ben pour l'instant j'ai pas encore essayer le script mais je mettrais les screens promis! cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
thomascloud
Admin
Admin
avatar

Messages : 479
Date d'inscription : 05/04/2008
Age : 26

MessageSujet: Re: camera dynamique   Sam 31 Mai - 9:52

c'est un conseil quoi , c'est toujours mieux un aperu du rsultat ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://ff13-france.1fr1.net
Invit
Invit



MessageSujet: Re: camera dynamique   Sam 31 Mai - 13:06

J'ai dj essay ce script et faire un screen c'est pas vident.

Quoi qu'il en soit c'est vrai que c'est sympa Wink
Revenir en haut Aller en bas
shikamaru
Modrateur
Modrateur
avatar

Messages : 298
Date d'inscription : 05/04/2008
Age : 26
Localisation : Tunisie

MessageSujet: Re: camera dynamique   Dim 1 Juin - 14:42

C'est sympa d'un part mais de l'autre part , j'aime pas bien parce que le Gameplay est trs simple , en tout cas un gameplay RTP => un mauvais projet ^^

Sinon c'est bien ^^...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgnet.forumpro.fr
thomascloud
Admin
Admin
avatar

Messages : 479
Date d'inscription : 05/04/2008
Age : 26

MessageSujet: Re: camera dynamique   Dim 1 Juin - 14:45

non , un gameplay classique de XP peut tre superbe si il est bien men ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://ff13-france.1fr1.net
shikamaru
Modrateur
Modrateur
avatar

Messages : 298
Date d'inscription : 05/04/2008
Age : 26
Localisation : Tunisie

MessageSujet: Re: camera dynamique   Dim 1 Juin - 14:48

Par exemple ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgnet.forumpro.fr
thomascloud
Admin
Admin
avatar

Messages : 479
Date d'inscription : 05/04/2008
Age : 26

MessageSujet: Re: camera dynamique   Dim 1 Juin - 14:52

je ne sais pas , mais c'est faux de dire que c'est une limite comme ca ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://ff13-france.1fr1.net
shikamaru
Modrateur
Modrateur
avatar

Messages : 298
Date d'inscription : 05/04/2008
Age : 26
Localisation : Tunisie

MessageSujet: Re: camera dynamique   Dim 1 Juin - 15:35

ba tu trouve pas que le combat standard est bien moche ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgnet.forumpro.fr
thomascloud
Admin
Admin
avatar

Messages : 479
Date d'inscription : 05/04/2008
Age : 26

MessageSujet: Re: camera dynamique   Dim 1 Juin - 15:45

si , mais un rpg , peut se rattraper si il est bon et bien mapper
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://ff13-france.1fr1.net
sam fisher
Nouveau Membre
Nouveau Membre
avatar

Messages : 13
Date d'inscription : 26/05/2008

MessageSujet: Re: camera dynamique   Dim 1 Juin - 15:47

ben euh il est pas si moche que ca en fait parceque,mais quand on le comparre aux autres qu'il devient nul^^ lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
thomascloud
Admin
Admin
avatar

Messages : 479
Date d'inscription : 05/04/2008
Age : 26

MessageSujet: Re: camera dynamique   Dim 1 Juin - 15:50

ou , enfin , aprs il faut savoir lui donner une difficult tactique ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://ff13-france.1fr1.net
shikamaru
Modrateur
Modrateur
avatar

Messages : 298
Date d'inscription : 05/04/2008
Age : 26
Localisation : Tunisie

MessageSujet: Re: camera dynamique   Dim 1 Juin - 22:29

c'est a le plus diffisile faire , la diffucul -_-" j'y suis nul
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgnet.forumpro.fr
Contenu sponsoris




MessageSujet: Re: camera dynamique   

Revenir en haut Aller en bas
 
camera dynamique
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Camra qui enregistre avec 20 diaphs de latitude
» [RESOLU] Bouton dynamique
» Dim dynamique (suite)
» IP dynamique sur la BBox Fibre , c'est toujours vrai?
» camera ip watchdog

Permission de ce forum:Vous ne pouvez pas rpondre aux sujets dans ce forum
RPG Maker Vision :: Entraide :: Vos scripts-
Sauter vers:  

Jeux videos
Crer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit