π
<-
Chat plein-écran
[^]

Aide pour un jeu en Axe

Assembleur, Axe, C/C++, ICE...

Aide pour un jeu en Axe

Message non lude now9434 » 10 Déc 2011, 18:34

Bonjour à tous,

J'aurais besoin d'aide pour créer une map en Axe. Le but serait d'afficher une map plus grande que l’écran en largeur est de défiler avec la commande "Horizontal -".
Par exemple est le code pour l'ecran entier:
Code: Tout sélectionner
[000000000000]->GBD1
[000000000000]
[000000000000]
[000000000000]
[000000000000]
[000000000000]
[000000000000]
[000000000000]


mais si je rajoute des valeurs dans chaque code Hexa ils vont se mettre a la ligne d'en dessous:
Code: Tout sélectionner
[0000000000001111]->GBD1
[0000000000000000]
etc


va etre traduit par:
Code: Tout sélectionner
[000000000000]->GBD1
[111100000000]
[0000...]
etc


Merci pour votre aide :):
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
Avatar de l’utilisateur
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 85.9%
 
Messages: 19
Inscription: 17 Juil 2011, 17:03
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: DUT GEII

Re: Aide pour un jeu en Axe

Message non lude Persalteas » 12 Déc 2011, 16:34

Faire du scrolling en Axe, quoi ?

Hmm je ne m'y connais pas personnellement, mais je connais un professionnel...
:ugeek:
Il a posté un tuto sur le sdz qui n'a pas encore été mis en ligne.
Je lui dis de jeter un coup d'oeil par là...

Matrefeytontias, viens ici !
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: Aide pour un jeu en Axe

Message non lude matref » 12 Déc 2011, 19:18

On m'appelle ? Me voilà ! :D:

Alors je préviens, je vais être un peu long parce que c'est pas évident ^^

Le but est de créer un index qui va indiquer quelle partie de map afficher à l'écran. IL NE FAUT JAMAIS SCROLLER UNE MAP AVEC Horizontal ni Vertical !!!! Hérétique !! Satan !! :evil:

Donc, on va créer cet index et notre map ... disons 16*10 au lieu de 12*8 :
Code: Tout sélectionner
:.On commence avec l'horizontal
:0->I
:[0000000000000000]->GDB1
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000
:[0000000000000000


Ensuite tu prends ta boucle pour afficher la map et tu la modifies pour qu'elle prenne en compte 8 colonnes au lieu de 6 et 12 lignes au lieu de 8 :
Code: Tout sélectionner
:.A le nombre de colonnes et B le nombre de lignes
:For(B,0,7)
:For(A,0,7)
:On oublie pas d'ajouter l'index lors de l'extraction de tile (+I)
:{B*10+A+I+GDB1}->C
:
:Pt-Off(A*16,B*8,C/16*8+Pic1
:Pt-Off(A*16+8,B*8,C^16*8+Pic1
:End
:End


À partir de ce code, t'as juste à modifier la valeur de I (avec des getkeys par exemple) pour faire scroller la map. C'est ce qu'on appelle un index, il représente une case sur la map, et c'est à partir de cette case qu'on va afficher.

Justement, fais attention à pas dépasser les limites de la map (fais des tests sur I avant de le modifier), ça afficherai n'importe quoi :)

Je t'envoie le lien de mon tuto dès qu'il sera validé

En espérant t'avoir aidé,

Matrefeytontias ;)
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: Aide pour un jeu en Axe

Message non lude now9434 » 12 Déc 2011, 20:52

Merci pour votre aide :)
Mais avec cette méthode je bouge la map de 8 pixels à chaque fois, moi qui voudrait la décaler de 1 en 1?
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
Avatar de l’utilisateur
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 85.9%
 
Messages: 19
Inscription: 17 Juil 2011, 17:03
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: DUT GEII

Re: Aide pour un jeu en Axe

Message non lude matref » 12 Déc 2011, 22:19

Là je t'avouerai que je cherche toujours ^^'
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: Aide pour un jeu en Axe

Message non lude Wellen » 13 Déc 2011, 11:12

Ah, le smooth scrolling, toute une histoire ! :D

Si tu veux pas t'embêter, pour le coup tu peux utiliser Vertical et Horizontal.
Si tu regardes la liste des commandes, celles-ci décalent le buffer d'une rangée ou colonne de pixels et en insèrent une blanche de l'autre côté, donc ta map va se décaler, mais en laissant place à du blanc et pas au reste, comme on pourrait le penser :#roll#: Et je pense que c'est pour ça que matrefeytontias ne veut pas entendre parler ? ou c'est plus une histoire d'optimisation des commandes ? A voir...

Je propose de faire une boucle, dans laquelle tu décales le buffer avec la commande que tu veux (en fonction de la touche pressée), et où tu dessines la rangée/colonne qu'il te manque pour compléter. Exemple, décalage de la map à gauche (donc on complète à droite) avec Horizontal- :
Code: Tout sélectionner
:For (F,1,8)
:Horizontal-
:puis Affichage de la colonne de droite (boucle for, voir le post de Matrefeytontias, son code est à modifier pour n'afficher que ce que tu veux)
:DispGraph
:End

Dans la théorie ça devrait marcher, je t'avouerai ne pas avoir essayé, mais c'est comme ça que je vois les choses.

L'idée c'est de ne pas réafficher toute la map à chaque fois, mais une seule partie, pour gagner de la fluidité (surtout si t'as des niveaux de gris, ça peut faire mal aux yeux :P )

Sur Omnimaga, où la communauté Axe est bien plus importante (mais bien plus anglophone aussi :-D) tu pourras trouver moult topics à ce sujet j'imagine. Mais entre français, qu'est-ce qu'on s'amuse ! :-D
La procrastination, c'est rigolo.
Avatar de l’utilisateur
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 31.8%
 
Messages: 447
Inscription: 17 Déc 2010, 00:00
Localisation: Compiègne (Picardie)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: étudiant UTC

Re: Aide pour un jeu en Axe

Message non lude now9434 » 19 Déc 2011, 15:01

Donc il faut que je dessine chaque colonne à chaque "Horizontal-"?
Les listes n'etant pas assez grandes je peut utiliser des "appvars" il me semble, mais je sais pas trop comment on les utilise, j'ai vu qu'il fallait mettre le nombre d'octet qu'on voulait stocké il me semble mais j'ai vraiment pas compris donc si quelqu'un sait ce sera avec plaisir :):
Merci.
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
Avatar de l’utilisateur
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 85.9%
 
Messages: 19
Inscription: 17 Juil 2011, 17:03
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: DUT GEII

Re: Aide pour un jeu en Axe

Message non lude metallica » 27 Déc 2011, 23:16

Si tu veux faire du tilemapping pixel par pixel, il faut en effet utiliser le smooth scrolling. Je vais essayer de t'expliquer comment faire :
Tout d'abord , tu dois changer de signe deux variables (I et J) en fonction de la direction où tu vas comme ceci :
Code: Tout sélectionner
:If getKey(3) and (I=0) and (J=0)
:1→I
:End
:If getKey(2) and (I=0) and (J=0)
:-1→I
:End
:If getKey(1) and (I=0) and (J=0)
:1→J
:End
:If getKey(4) and (I=0) and (J=0)
:-1→J
:End


Ensuite tu les ajoutes à H et V (le décalage horizontale et verticale sur la map entre 0 et 8 ) :
Code: Tout sélectionner
H+I+I→H
V+J+J→V

Lorsque tu as bougé de 8 pixels, tu rajoute (ou soustrait 1) à la position horizontale/verticale (ici P = horizontale et Q = verticale) :
Code: Tout sélectionner
:If H-8=0 or (H+8=0
:P+I→P
:0→H→I
:End
:If V-8=0 or (V+8=0
:Q+J→Q
:0→V→J
:End


En tout, tu as :
Code: Tout sélectionner
:Repeat getKey(15)
:
:If getKey(3) and (I=0) and (J=0)
:1→I
:End
:If getKey(2) and (I=0) and (J=0)
:-1→I
:End
:If getKey(1) and (I=0) and (J=0)
:1→J
:End
:If getKey(4) and (I=0) and (J=0)
:-1→J
:End
:
:
:H+I+I→H
:V+J+J→V
:
:If H-8=0 or (H+8=0
:P+I→P
:0→H→I
:End
:If V-8=0 or (V+8=0
:Q+J→Q
:0→V→J
:End
:
:sub(MAP)
:Pt-Off(48,32,Pic1
:DispGraphClrDraw
:End
:Return


sub(MAP) appellera la fonction qui s'occupe d'afficher la map à l'écran et Pic1 contient le sprite du personnage.

Pour voir les tiles sur le bord quand tu te déplace, tu dois avoir préalablement affiché la colonne/ligne d'après/avant.
Voilà maintenant le code de la fonction MAP :
Code: Tout sélectionner
:Lbl MAP
:For(Y,0,9
:For(X,0,13
:Pt-On(X*8-8-H,Y*8-8-V,{Y+Q*[largeur de la map]+X+P+GDB1}*8+Pic0
:End
:End
:Return

avec GDB1, un pointeur sur la map et Pic0, un pointeur sur les tiles.

En espérant t'avoir aidé. ;-)
Image
Image
Avatar de l’utilisateur
metallica
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 12%
 
Messages: 14
Inscription: 20 Nov 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale SSI

Re: Aide pour un jeu en Axe

Message non lude now9434 » 21 Jan 2012, 21:33

Merci beaucoup :):
script pour creer des BMP avec gimp pour Mviewer http://ti-pla.net/a3704
Avatar de l’utilisateur
now9434
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 85.9%
 
Messages: 19
Inscription: 17 Juil 2011, 17:03
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: DUT GEII

Re: Aide pour un jeu en Axe

Message non lude metallica » 21 Jan 2012, 22:53

De rien
Image
Image
Avatar de l’utilisateur
metallica
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 12%
 
Messages: 14
Inscription: 20 Nov 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale SSI


Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 32 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1353 utilisateurs:
>1319 invités
>29 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)