π
<-
Chat plein-écran
[^]

Scrolling latéral style "montagnes" (astuce)

Scrolling latéral style "montagnes" (astuce)

Message non lude grosged » 23 Jan 2016, 17:47

Il y a peu, j'ai discuté avec Epharius d'une astuce concernant le scrolling latéral:
Au moyen de quelques diagonales bien placées (et au bon moment, c-à-d pas hors écran)
On peut donner l'illusion d'un scrolling vers la gauche (par ex.)
Il suffit de respecter certaines règles:
-une diagonale ascendante / trace sur l'écran
-une diagonale descendant \ quant à elle , gomme.
-une surface plane n'est ni plus ni moins qu'une zone entre deux diagonales.

Image

(voir archives_voir.php?id=415248 )

Il est même possible d'aller 2 fois plus vite, en faisant un décalage de 2 pixels (dans ce cas, les montagnes seront affichées en "trame" style damier, et il faudra que les diagonales et plats soient de longueur paire)

Image
Dans cette 2ème version, vous remarquerez un léger bug : il y a parfois, tout à droite de l'écran, des points (noirs ou blancs) qui traînent , c'est à cause des collines/crevasses "pointues" (il suffit de forcer le programme à faire au moins un peu de surface plane pour corriger ça)
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude Epharius » 23 Jan 2016, 22:53

Au début je croyais que c'était de la magie, parce que je ne savais pas que Line() pouvait prendre en cinquième argument d'effacer ou de tracer :p
En même temps sur Ti-82 Stats.fr on n'avait pas la possibilité...

En tout cas, c'est tout de même impressionnant, faire ça en basic ! Si on veut être propre, on peut toujours faire une ligne qui efface le côté droit de l'écran dans la 2ème version, au prix d'un peu de rapidité.
Je pense que ça va donner des idées aux gens qui veulent créer un Worms en Ti-Basic :p

Faudrait voir si on peut pas encore accélérer en faisant des déplacements aléatoires directement dans la boucle au lieu de prendre un nombre dans une liste (qui prend quand même pas mal de temps)...

Bref, bon travail d'optimisation ! Prochaine étape, comparer avec une routine assembleur :bj:
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 79.5%
 
Messages: 966
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Homme
Calculatrice(s):
Classe: Prépa MPSI Descartes Tours
YouTube: yes I tube

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude grosged » 24 Jan 2016, 00:03

Hé non! On n' dirait pas un programme en Basic, hein ! :p

J'ai ensuite fait une version 2 (2x plus rapide) avec le bug corrigé

J'ai inclu (vite fait) un bidule que l'on peut faire bouger (pour l'instant sans test de colllision ni limite d'écran)
Concernant la compatibilité avec des modèles plus anciens, j'avoue ne rien avoir testé (seulement TI84Pocket.fr & TI82Advanced)
EDIT
: testé aussi sur TI-83 Plus, TI-83 , et ça tourne aussi :)
Epharius, tu es sur que ça ne fonctionne pas sur Ti-82 Stats.fr ? (en l'occurence, 5ème paramètre de l'instruction LINE()

NB: je conseille de quitter le mode MATHPRINT pour le mode CLASSIQUE, et de mettre tout en OFF (GridOff,AxesOff, etc)
Dernière édition par grosged le 14 Fév 2016, 23:48, édité 4 fois.
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude Adriweb » 24 Jan 2016, 00:07

Impressionnant pour du Basic ! :o
Avatar de l’utilisateur
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.2%
 
Messages: 12048
Images: 847
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude grosged » 24 Jan 2016, 00:11

Oui ! J'ai été moi-même bluffé par le résultat !
Ne vous fiez pas à l'animation gif : c'est un poil plus rapide sur ma TI84Pocket.fr !!
(Testez-le sur calculatrice, vous verrez ..!)
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude xlibman » 24 Jan 2016, 09:42

Excellent travail! :) Si jamais tu réussis à ajouter le test de collision et faire un petit jeu simple de ceci, ce serait magique :)
Image
Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Image
Retired Omnimaga admin (2001-11) and editor (2012-14)
Image
Avatar de l’utilisateur
xlibmanPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 78.1%
 
Messages: 337
Images: 0
Inscription: 21 Fév 2012, 12:04
Localisation: Quebec, Canada
Genre: Homme
Calculatrice(s):
Classe: Diplômé Secondaire (11ème année scolaire terminé)
YouTube: DJOmnimaga
Twitter: DJOmnimaga
Facebook: DJOmnimaga.Music

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude grosged » 24 Jan 2016, 10:01

Merci :)
Je vais continuer le développement... en tentant de faire "light" ;)
à tous: de votre côté, n'hésitez pas à expérimenter/modifier librement la méthode d'affichage (je mets toujours le fruit de mes recherches en Domaine Public)
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

En ligne

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude Wistaro » 24 Jan 2016, 11:31

Waw, je suis bluffé pour du basic! :) :bj:
Voilà qui va ouvrir de nouvelles possibilités pour les jeux !


Pourrait-on avoir une explication détaillée du fonctionnement ? Avec l'optimisation c'est pas forcément évident de bien comprendre comment ça fonctionne.
Avatar de l’utilisateur
WistaroModo.G
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 56.5%
 
Messages: 2721
Images: 29
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
Classe: Etudiant ingénieur (Ex TS - SI)
YouTube: Wistaro
Twitter: @Wistaro
GitHub: Wistaro

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude grosged » 24 Jan 2016, 12:01

Imagines que tu traces en noir une diagonale , dans le sens d'un slash /
puis tu traces encore cette diagonale, mais décalée d'un pixel vers la gauche, et tu répètes encore et encore : cela a pour effet de remplir de la surface, tel un pinceau ;)
En mème temps , à quelques centimètres à droite de ta diagonale, tu traces en blanc une diagonale cette fois dans le sens d'un anti-slash \ , et tu décales aussi d'un pixel vers la gauche , et tu répètes ... Cela aura pour effet d'effacer/gommer , petit-à-petit la trainée noire créée par la 1ère diagonale ;)
l'effet produit sera une colline
/ \
qui se déplace vers la gauche :)
Tu vois le principes ?

nb: on peut aussi y aller par décalage de 2 pixels (ira 2x plus vite, et un joli tramage en prime)
Dernière édition par grosged le 06 Fév 2016, 18:54, édité 1 fois.
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

En ligne

Re: Scrolling latéral style "montagnes" (astuce)

Message non lude Wistaro » 24 Jan 2016, 13:07

Ah, je comprends mieux !
Sur les screens, la map est générée aléatoirement ou avec des valeurs prédéfinies ?
Avatar de l’utilisateur
WistaroModo.G
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 56.5%
 
Messages: 2721
Images: 29
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
Classe: Etudiant ingénieur (Ex TS - SI)
YouTube: Wistaro
Twitter: @Wistaro
GitHub: Wistaro

Suivante

Retourner vers TI-Basic

Qui est en ligne

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

-
Rechercher
-
Sujets à la une
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
12345
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
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 
-
Stats.
417 utilisateurs:
>370 invités
>41 membres
>6 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)