Map Scrolling sur graph 35+
Posté le 17/02/2011 17:39
Cela fait quelques jours que je travaille sur un rpg...
Le système de combats est presque au point, celui de compétences aussi mais là n'est pas la question.
Je réfléchissais à un système de navigation qui permettait de naviguer rapidement sur une grande map (avec un point, comme sur de nombreux jeux) et je me suis dit que ça ne servait à rien de réadapter un système utilisé tant de fois.
Je me suis un peu penché sur la question (En cours d'Allemand ce matin)
Et j'ai abouti à un résultat plutôt efficace permettant de faire naviguer une carte sur (ou plutot sous) un personnage.
Ceci utilise le DrawStat.
Comment faire pour faire naviguer la map?
Vous tracez votre map avec les listes, puis en jouant avec le ViewWindow:
While 1
Getkey->G
If G=27
Then
A+1 -> A
B+1-> B
E+1-> E
IfEnd
If G=37
Then
C-1->C
D-1->D
F-1->F
IfEnd
/*... (boucle de mouvement classique:
A=xMin B=xMax C=yMin D=Ymax E= Xpersonnage F=Ypersonnage*/
If G
Then
{E}-> List 3
{F}-> List 4
ViewWindow A,B,1,C,D,1
Drawstat
IfEnd
WhileEnd
Selon votre ViewWindow, A+1->A sera incroyablement lent: penser à augmenter cette valeur.
voilà!!!
Notez que, comme le DrawStat dessine
L'intégralité de votre carte à chaque fois, vous ne pouvez pas non plus en faire des kilomètres car la vitesse en prendrait un coup. Pensez à diviser en plusieurs parties.
Ai-je été clair?
Ci-Joint un exemple (la map est on ne peut plus basique: trois carrés)
Fichier joint
Citer : Posté le 23/05/2013 15:40 | #
Salut!
tu ne saurais pas comment on nfait par hasard un scrolling sur l'écran texte stp ?
merci .
Citer : Posté le 23/05/2013 16:27 | #
Le scrolling de l'écran texte est de plus en plus utilisé actuellement avec l'apparition des strings. Ce scrolling ne fonctionne pas du tout de la même manière que celui de Adbook bien entendu...
Pour un scrolling texte il existe diverse fonction de string (pour scrolling horizontale je parle) telles que StrRotate ou StrShift qui déplaceront tous les éléments du string d'un côté où de l'autre, créant ainsi un scrolling.
Pour le scrolling verticale en fait il faut faire un truc dans ce style là :
Str 2 -> Str 1
Str 3 -> Str 2
Str 4 -> Str 3
Str 5 -> Str 4
Str 6 -> Str 5
// etc...
Locate 1,1,Str 1
Locate 1,2,Str 2
Locate 1,3,Str 3
Locate 1,4,Str 4
Locate 1,5,Str 5
Locate 1,6,Str 6
// etc...
Voilà j'espère avoir été clair
Ajouté le 23/05/2013 à 16:30 :
Sinon adbook, comment tu arrives à faire toute une map de RPG en 3 Graph ?!?! Parce que c\'est bien beau 3 carrés, mais pour un RPG je trouve ça pas super développé
Projet de combat au tour par tour type DOFUS mais totalement orienté sur le PvP. Le projet va demander un peu de temps mais soyons patient...
Le titre (laby3D) en dit long sur son contenu : il s'agit d'un simple moteur de labyrinthe en "3D" (enfin on va dire juste un effet de profondeur ). il aura la particularité d'être aggrémenté de superbes petites animations sur les rotations d'angles de vue ! j'y bosse pas mal et j'espère bien le réussir !
Le jeu devrait sortir bientôt
Citer : Posté le 23/05/2013 18:32 | #
Et ben, c'est la période des nécroposts
Le message date de 2011, donc je pense que Adbook a résolu et amélioré le système depuis
Citer : Posté le 23/05/2013 20:13 | #
L'afficheur de cartes de mon Robscape 2 se résume en 3 lignes :
Locate 1,Z,StrMid(Str 1,(21(Z-1))+1,21)
Next
Très rapide et surtout très court !
Citer : Posté le 24/05/2013 12:22 | #
Merci à vous !
je n'y avais pas pensé pour le scrolling vertical. Par contre, le scrolling hztl me parraissait évident, sauf que je ne savais pas comment formuler tout ca...
merci a vous
Citer : Posté le 27/05/2013 21:23 | #
@Ray; Oui ce système est très pratique quand on a une seule map à afficher, comme dans Robscape! (je l'ai implanté dans la Maj de Timeless l'autre fois)
Moi pour Super Run & Jump je ne gère que le scrolling horizontal, donc j'ai placé les 7 "strates" des niveaux dans les 7 Str, et je ré-affiche les Str en les décalant de une case à chaque fois, ça marche vraiment très bien!
Timeless Remix
Super Run & Jump
Timeless
Les tests vidéo de Marmotti
Timeless Remix Airwolf
Citer : Posté le 28/05/2013 17:45 | #
J'ai faiss un temple run like en locate (donc vu du dessus), je gère 4 lignes avec 1 str, c'est très fluide malgré toute les vérification : pièces, item, obstacle ...