Username:

Password:


collapse
Who's Online
  • Dot Invités: 6
  • Dot Caché: 0
  • Dot Membres: 0

There aren't any users online.

* Shoutbox
Refresh History
  • kriss: oui.. je dois faire des demandes pour que google refasse des analyse du site afin de "voir" s'il est tjr malveillant
    Dcembre 08, 2011, 22:47:27
  • Leopold: Cool! Mais Firefox me le déclare toujours malveillant...
    Dcembre 08, 2011, 22:30:32
  • kriss: réouverture du forum !
    Dcembre 06, 2011, 00:48:58
  • Fabien: Coucou facto!! Trop bon de repasser ici :)
    Septembre 25, 2011, 18:06:22
  • Krän: aye ! ^^
    Aot 21, 2011, 23:43:29
  • RPG-Man: lol manu
    Aot 20, 2011, 00:24:00
  • RPG-Man: JE SUIS REVENU MOUHAHA
    Aot 20, 2011, 00:22:26
  • Manucyan: Ca dit quoi un ivrogne dans le noir ? "hé... t'es qui là ?" xd
    Mai 07, 2011, 18:11:20
  • Krän: Il est 2h46 et tout est calme ! :)
    Mai 05, 2011, 01:47:01
  • Manucyan: La tronche du bestiaire ? Un pokédex ! xd
    Avril 30, 2011, 21:18:09
  • Manucyan: désolé je pensais que tout le monde connaissait le phénomène du rickroll (cf wikipédia)
    Avril 30, 2011, 14:08:48
  • kriss: ca merite un ban pour ce lien oO
    Avril 30, 2011, 12:29:51
  • RPG-Man: Sale vilain
    Avril 30, 2011, 11:26:31
  • Krän: Never gonna give u up, never gonna let u dooowwwn ...
    Avril 28, 2011, 20:29:20
  • kriss: en effet mais ce n'est pas normal.. il y a un bug que je dois trouver ^^
    Avril 25, 2011, 10:30:16
  • Leopold: Pour la mise à jour, on peut cliquer sur "Refresh" (deux flèches vertes) ou sur "History" (pendule).
    Avril 22, 2011, 21:31:57
  • RPG-Man: Manque plus qu'elle se mette à jour toute seule quand on ajoute un message et c'est le must !
    Avril 21, 2011, 20:29:39
  • RPG-Man: le shootbox CAY LE BIEN
    Avril 21, 2011, 20:29:14
  • kriss: on appel ca une shootbox :p
    Avril 18, 2011, 16:47:13
  • Manucyan: hé mais c'est marrant !
    Avril 17, 2011, 18:03:46

The Factory » ATELIER » PROGRAMMATION » SCRIPTS RGSS » Effets sur la map » Téléportation : transitions comme dans un Zelda 2D
Pages: [1]
« sujet précédent | | sujet suivant »
Imprimer
Auteur Fil de discussion: Téléportation : transitions comme dans un Zelda 2D  (Lu 879 fois)
Fabien
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 1372


Scribouillard malade du virus RpgMaking

fabien_35@hotmail.com
Voir le profil Courriel
Téléportation : transitions comme dans un Zelda 2D
« le: Mars 08, 2008, 23:51:15 »

Grace à ce message vous pourrez faire des changements de cartes comme dans les Zelda 2D : lorsque le héros arrive au bord de l'écran celui-ci est translaté et la vue arrive sur la nouvelle carte.
http://www.youtube.com/v/msQZURPUNfM
Les deux cartes semblent collées l'une à l'autre, et on passe de l'une à l'autre par une translation.

Voici comment vous vous servirez du code : en fait c'est comme une transition RM ou presque...

Trois lignes de commandes seulement. J'espère avoir fait assez simple. C'est calqué sur les commandes de transitions RM.

L'installation est un peu plus lourde. Il vous faudra : le script de capture d'écran et sa dll, le script de débordeur de carte et le script de transition_zelda.
Script de capture d'écran à installer :
http://rpgmakerxp-factory.net/forum/index.php?topic=12665.msg117206#msg117206

Script de Débordeur de carte à installer
http://rpgmakerxp-factory.net/forum/index.php?topic=12082.0

Ensuite le script de transition lui-même :[spoiler]
Code:
#Nom : Transition Zelda
#Version : 1.4
#Auteur concepteur : Fabien
#Demandeur : Atom
#But : Transition comme dans les Zelda 2D, par translation de cartes.

#Mode d'installation : Collez ce script,
#                      celui de capture d'écran
#                      et mon script de débordeur
#                      au dessus de main.

#Mode d'emploi : Dans un évent : préparer la transition,
#                               téléport,
#                               puis script "transition_zelda"
# C'est tout. Deux arguments peuvent être ajoutés.
#==SCRIPT :==============================================================
#==fonction d'interface et d'initialisation=================================
def transition_zelda(direction=$game_player.direction,vitesse=16)
  nom="trans_zelda"
  Screen.shot(0,0,640,480,nom<<".bmp",0)
  $sprite_transition_zelda=Sprite.new
  $sprite_transition_zelda.z=10000
  $sprite_transition_zelda.bitmap=RPG::Cache.load_bitmap("",nom)
  File.delete(nom)
  case direction
     when 4
      vx=vitesse
      vy=0
     when 6
      vx=-vitesse
      vy=0
     when 8
      vx=0
      vy=vitesse
     when 2
      vx=0
      vy=-vitesse
    end
  $sprite_transition_zelda=[$sprite_transition_zelda,vx,vy]
  $game_player.moveto($game_player.x+vx/vitesse,$game_player.y+vy/vitesse)
  $game_map.display_x+=4*(640)*vx/vitesse
  $game_map.display_y+=4*(480)*vy/vitesse
  Graphics.transition(0,"")
end
#=========================================================================
class Spriteset_Map
#==mise à jour de la transition===========================================
  alias update_trans_zelda update
  def update
    if $sprite_transition_zelda != nil and
      not $sprite_transition_zelda[0].disposed?
      $game_temp.message_window_showing=true
      $sprite_transition_zelda[0].x+=$sprite_transition_zelda[1]
      $sprite_transition_zelda[0].y+=$sprite_transition_zelda[2]
      $game_map.display_x-=4*$sprite_transition_zelda[1]
      $game_map.display_y-=4*$sprite_transition_zelda[2]         
      finir_transition_zelda
    end
    update_trans_zelda
  end
#==fonction pour finir la transition===========================================
  def finir_transition_zelda
    return if not ($sprite_transition_zelda[0].x.abs>=640 or $sprite_transition_zelda[0].y.abs>=480)
    $sprite_transition_zelda[0].bitmap.dispose
    $sprite_transition_zelda[0].dispose
    $game_temp.message_window_showing=false
    if $sprite_transition_zelda[1]>0
      $game_player.move_left
    elsif $sprite_transition_zelda[1]<0
      $game_player.move_right
    elsif $sprite_transition_zelda[2]>0
      $game_player.move_up
    elsif $sprite_transition_zelda[2]<0
      $game_player.move_down
    end   
   end
 end
#==ici une légère modif pour que l'on ne puisse pas bouger pdt la transition====
class Game_Player
  alias passabletz? passable?
  def passable?(x,y,dir)
    if $sprite_transition_zelda != nil and
       not $sprite_transition_zelda[0].disposed? 
      return false
     else
      return passabletz?(x,y,dir)     
    end   
  end
end

[/spoiler]

Il est très simple d'utiliser mon script Débordeur pour eviter d'avoir deux fois le héros d'une carte à l'autre. Comme personne n'a encore manifesté son intérêt pour ce script je n'ai pas le courage d'illustrer la procédure maintenant, faudra me le demander.

Voila.

Ah si, une dernière chose : le script de transition n'est qu'un raccourci, on peut très bien faire la même chose en event à partir du moment où on a installé les captures d'écrans. Voici un exemple [spoiler][/spoiler]

Et voici une démonstration : http://www.savefile.com/files/1511468
« Dernière édition: Avril 18, 2008, 13:28:46 par Fabien » Journalisée

kriss
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 4447


Don Quichotte de l'orthographe

krisss666@msn.com
Voir le profil Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #1 le: Mars 09, 2008, 02:26:56 »

J'ai édité la page pour mettre la DLL en direct download

Ca a l'air sympa en effet , surtout qu'il y a pas mal de makeurs qui font des zelda like

Si je comprend bien tu fait une "photo" de la map avant le téléport et tu affiche un morceau apres le téléport ? (d'où l'utilisation du screenshot.dll )

Citation
Il est très simple d'utiliser mon script Débordeur pour eviter d'avoir deux fois le héros d'une carte à l'autre
Euh ça consistait en quoi le script débordeur ?? un petit lien serait le bienvenu (l'index des scripts n'est pas à jour  :$ )
Journalisée

La plus vieille et la plus forte des émotions humaines est la peur, et la plus vieille et la plus forte peur est celle de l'inconnue
- H.P LOVECRAFT -
Projet en cours: MONOLITHE
http://rpgmakerxp-factory.net/forum/index.php?topic=10561.0
Fire
Graphiste
Machiniste
*
Hors ligne Hors ligne

Messages: 213


Rise Of Fire

Fire_stone@hotmail.fr
Voir le profil Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #2 le: Mars 09, 2008, 10:13:34 »

Ah!
J'avais déjà essayer de faire un script équivalent à celui-ci mais je ne connaissais ni l'existence du script de screenshot ni de la commande "$game_map.display_x".
Ah Fabien! Je te remercie!
Merci Merci Merci Merci =)

[pensé] je l'ai, je l'ai! Je l'ai trouver cette £^%*µù* de commande  [/pensé]
Journalisée
Atom
Savant
*
Hors ligne Hors ligne

Messages: 1357


insécable ou presque


Voir le profil WWW Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #3 le: Mars 09, 2008, 12:26:44 »

Ce script m'intéresse énormément, mais je ne peux malheureusement pas le tester pour le moment...
Néanmoins, le développement pour faire disparaitre la copie du héros pendant la téléportation me plairait beaucoup ^^

Le mieux, si possible, serait même de fusionner les 3 scripts en 1 seul vraiment complet et simple d'utilisation, il aurait beaucoup de succès et pas seulement pour les Zelda !
Journalisée

Portfolio
Blog
Fabien
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 1372


Scribouillard malade du virus RpgMaking

fabien_35@hotmail.com
Voir le profil Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #4 le: Mars 09, 2008, 13:41:29 »

S'il y a des gens qui s'y intéressent ca me fera plaisir d'améliorer le tout. Je vais ajouter mon Débordeur. Comme les captures d'écrans ne sont pas de moi et que le débordeur a son utilité propre je préfère ne pas les donner en un seul paquet, mais bon je les mettrai tous ici quand même.
Le débordeur permet de faire sortir le héros de la map ( le bord de carte devient passable) donc on pourra faire sortir le héros(avec un bête déplacer event), puis le téléporter sur l'autre map : comme il sera déjà sortit de la première il n'y apparaîtra pas. Ou inversement on peut le téléporter à l'extérieur de la 2nde map ( toujours grace au script de débordeur) puis l'y faire rentrer avec un déplacement une fois la transition achevée. Je ne sais pas comment ca marche dans Zelda.
Journalisée

Atom
Savant
*
Hors ligne Hors ligne

Messages: 1357


insécable ou presque


Voir le profil WWW Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #5 le: Mars 09, 2008, 14:29:04 »

Citation de: Fabien le Mars 09, 2008, 13:41:29
Je ne sais pas comment ca marche dans Zelda.

Moi non plus je sais pas comment ça marche, mais je peux te dire comment ça fait : quand Link touche le bord de l'écran, la map glisse jusqu'à la nouvelle et pendant ce temps link avance d'un carreau, ce qui fait qu'il se retrouve sur le premier carreau de la nouvelle map sans jamais avoir disparut.

Mais à défaut de pouvoir reproduire la même chose, ta première option avec un Link sortant de la map et la transition ensuite fera l'affaire ^^
Journalisée

Portfolio
Blog
Fabien
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 1372


Scribouillard malade du virus RpgMaking

fabien_35@hotmail.com
Voir le profil Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #6 le: Mars 09, 2008, 18:05:05 »

Ok, mais c difficile pour moi de faire comme dans Zelda alors ^^

Quand à faire un truc plus simple, la procédure est simpliste : on prend mon script débordeur,
http://rpgmakerxp-factory.net/forum/index.php?topic=12082.msg110920#msg110920
qui permet de sortir de la map. Dans l'event de téléport avant le téléport on fait faire un pas au héros pour le sortir de la map, puis téléport. Facile. Je vous ai même fait un exemple :


Dans le sens contraire , téléport puis mouvement, on fait le preparer transition, téléporter, $game_player.moveto(x,y) avbec x,y des coords hors map d'un carreau, puis transistion_zelda. Enfin on déplace le perso d'un carreau.Comme c'est un peu plus difficile, voici une version scriptée :

[spoiler]
Code:
#Nom : Transition Zelda
#Version : 1.2
#Auteur concepteur : Fabien
#Demandeur : Atom
#But : Transition comme dans les Zelda 2D, par translation de cartes.

#Mode d'installation : Collez ce script,
#                      celui de capture d'écran
#                      et mon script de débordeur
#                      au dessus de main.

#Mode d'emploi : Dans un évent : préparer la transition,
#                               téléport,
#                               puis script "transition_zelda"
# C'est tout. Deux arguments peuvent être ajoutés.
#==SCRIPT :==============================================================
def transition_zelda(direction=$game_player.direction,vitesse=16)
  Screen::shot("trans_zelda")
  $sprite_transition_zelda=Sprite.new
  $sprite_transition_zelda.z=10000
  $sprite_transition_zelda.bitmap=RPG::Cache.load_bitmap("","trans_zelda")
  case direction
     when 4
      vx=vitesse
      vy=0
     when 6
      vx=-vitesse
      vy=0
     when 8
      vx=0
      vy=vitesse
     when 2
      vx=0
      vy=-vitesse
    end
  $sprite_transition_zelda=[$sprite_transition_zelda,vx,vy]
  $game_player.moveto($game_player.x+vx/vitesse,$game_player.y+vy/vitesse)
  $game_map.display_x+=4*(640)*vx/vitesse
  $game_map.display_y+=4*(480)*vy/vitesse
 
  Graphics.transition(0,"")
end

class Spriteset_Map
  alias update_trans_zelda update
  def update
    if $sprite_transition_zelda != nil     
      $sprite_transition_zelda[0].x+=$sprite_transition_zelda[1]
      $sprite_transition_zelda[0].y+=$sprite_transition_zelda[2]
      $game_map.display_x-=4*$sprite_transition_zelda[1]
      $game_map.display_y-=4*$sprite_transition_zelda[2]   
      if $sprite_transition_zelda[0].x.abs>=640 or $sprite_transition_zelda[0].y.abs>=480
        if $sprite_transition_zelda[1]>0
          $game_player.move_left
        elsif $sprite_transition_zelda[1]<0
          $game_player.move_right
        elsif $sprite_transition_zelda[2]>0
          $game_player.move_up
        elsif $sprite_transition_zelda[2]<0
          $game_player.move_down
        end   
        $sprite_transition_zelda[0].dispose
        $sprite_transition_zelda=nil
      end             
    end
    update_trans_zelda
  end
end
[/spoiler]

Si vous y tenez je ferais une version plus complete, avec un réglage selon le type de transition que l'on veut. Mais j'ai pas mal de trucs à faire donc je préfererai m'occuper à autre chose.

Voila ! Sinon Atom c'est pour toi que je l'ai fait à la base donc ^^:)
« Dernière édition: Mars 09, 2008, 18:29:37 par Fabien » Journalisée

Atom
Savant
*
Hors ligne Hors ligne

Messages: 1357


insécable ou presque


Voir le profil WWW Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #7 le: Mars 09, 2008, 19:44:09 »

Merci beaucoup d'avoir passé du temps sur ça, je testerais dès que j'aurais récupéré mon ordi ^^
Journalisée

Portfolio
Blog
Blasto
Machiniste
*
Hors ligne Hors ligne

Messages: 113

Le manoeuvreur de blastage.


Voir le profil WWW Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #8 le: Mars 09, 2008, 20:09:14 »

Holalala !

Moi et mon tuto en event pour ce système on peut aller se rabiller  >.<

Très bon script apparemment simple d'utilisation. Je te félicite ;p !
Journalisée

http://rpg-odyssee.forumsactifs.com
Fabien
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 1372


Scribouillard malade du virus RpgMaking

fabien_35@hotmail.com
Voir le profil Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #9 le: Mars 09, 2008, 20:18:18 »

Oui et non : mon script n'est qu'une transposition de ton tuto avec des fonctions scripts. J'ai lu ton tuto et j'ai pensé que la capture d'image pourrait s'automatiser, et le collage aussi. Quelque amélioration après ça a donné ce script.
Je vais t'y cr'éditer d'ailleurs, c'est un oubli de ma part.
Journalisée

kriss
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 4447


Don Quichotte de l'orthographe

krisss666@msn.com
Voir le profil Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #10 le: Mars 09, 2008, 20:28:23 »

Comme quoi avec plusieurs cerveaux on en fait des choses  xd , bel exemple de travail collectif.
Journalisée

La plus vieille et la plus forte des émotions humaines est la peur, et la plus vieille et la plus forte peur est celle de l'inconnue
- H.P LOVECRAFT -
Projet en cours: MONOLITHE
http://rpgmakerxp-factory.net/forum/index.php?topic=10561.0
Fabien
Architecte
Savant
*
Hors ligne Hors ligne

Messages: 1372


Scribouillard malade du virus RpgMaking

fabien_35@hotmail.com
Voir le profil Courriel
Re : Téléportation : transitions comme dans un Zelda 2D
« Répondre #11 le: Avril 18, 2008, 13:01:25 »

J'ai mis une vidéo sur Youtube, parce que les images fixes ne sont pas très parlantes :

http://www.youtube.com/v/msQZURPUNfM

et voila une démo :
http://www.savefile.com/files/1511468


Edit :
Mise à jour de la version du script, correction de bugs. Merçi à garwan50 de me les avoir indiqués.
« Dernière édition: Avril 18, 2008, 13:26:34 par Fabien » Journalisée

Pages: [1]
Imprimer
« sujet précédent | | sujet suivant »
Aller à:  


Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines

EN Theme by Nati

Page générée en 0.119 secondes avec 26 requêtes.
Chargement...
SimplePortal 2.3.2 © 2008-2010, SimplePortal