Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Utilisation du WiewWindow comme caméra
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Utilisation du WiewWindow comme caméra

Posté le 23/05/2018 17:53

Comme vu dans le titre, j'ai trouvé une astuce qui vous permet de vous déplacer littéralement "au dessus" de ce que vous affichez en mode graphique :
Il vous suffit en fait de remplacer le Xmin, Xmax, Ymin, Ymax par deux variables qui vous permettront par la suite de déplacer en fait le WiewWindow. Opération plus rapide que de déplacer tous vos points et qui en plus ne vous fait pas d'erreur quand vous sortez de l'écran.
Ex:
WiewWindow A, A+C, 0, B, B+D, 0, 1, Dim List 1, 1

Les 3 dernières valeurs ("1, Dim List 1, 1") sont ici car vous devez utiliser le super drawstat pour afficher ce que vous voulez.
Le A correspond au Xmin et le A+C au Xmax.
Le B correspond au Ymin et le B+D au Ymax.
Le C et le D correspondent aux valeurs que vous ajoutez au Xmin et Ymin pour obtenir les Xmax et Ymax.
Je ne vous expliquerais pas tout de suite comment mais en faisant varier ces valeurs vous pouvez zoomer ou dezoomer ainsi que vous déplacer au dessus de votre Graph en changeant le WiewWindow.

Si vous voulez des précisions n'hésitez pas


Shadow15510 Hors ligne Administrateur Points: 5498 Défis: 18 Message

Citer : Posté le 23/05/2018 18:00 | #


Je n'ai pas bien compris à quoi sert la liste à l'emplacement du Tθ
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 23/05/2018 23:22 | #


Dans tous les cas on est obligés de redessiner tous les points non ? Vu que si je me souviens bien, changer le viewwindow efface ce qu'il y a à l'écran.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 23/05/2018 23:38 | #


Merci d'avoir rappelée cette méthode utile, déjà utilisée dans différents jeux, notamment ceux qui utilisent le Drawstat et consorts, parce qu'elle permet de déplacer des graphismes sans modifier les Lists (c'est ça qui prend le plus de temps).

Mais je crois que ZZ a raison, une modification du ViewWindow efface le contenu de l'écran normalement.

Tu peux probablement ajouter au post principal les explications pour le zoom et le dezoom. Ceci dit ça reste assez limité car l'on ne peut pas "épaissir" un trait zoomer à plus de 3 pixels...
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 24/05/2018 07:37 | #


Ouais c'est vrai que c'est limité mais c'est quand même plus rapide. La je peu pas mais plus tards je posterais plus de détails.
A+
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 25/05/2018 00:22 | #


Shadow a écrit :
Je n'ai pas bien compris à quoi sert la liste à l'emplacement du Tθ
Dim List 1 reprend la taille de la liste dans laquelle Disperseur à dû enregistrer ses sprites en superdrawstat.
Shadow15510 Hors ligne Administrateur Points: 5498 Défis: 18 Message

Citer : Posté le 27/06/2018 10:40 | #


Désolé de la réponse tardive
Maintenant que tu le dit ça me revient

Ajouté le 27/06/2018 à 18:35 :
Je voudrait une petite précision :
Si l'on dessine une image (disons en SuperDraw-Stat) avec le paramétrage V-Window d'origine (-6,3 ; 6,3 ; 1 ; -3,1 ; 3,1 ; 1) Avec un pixel de coordonnées (7 ; 4)Si l'on bouge le réglage du V-windows comme y faut peut-on voir le pixel ?
J'aimerais également savoir comment zoomer et dé-zoommer...
Merci d'avance
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 27/06/2018 21:08 | #


Le parametrage classique 0,127 0,63 c'est juste pour avoir une correspondance exacte entre pixel et point.
Si tu paramètres 0,63 0,31 alors tu fais un zoom x2
Shadow15510 Hors ligne Administrateur Points: 5498 Défis: 18 Message

Citer : Posté le 28/06/2018 10:43 | #


Yep mais je voudrait régler cela dans un programme sans sortir de l'exécution et sur la commande de l'utilisateur... Autrement dit juste en modifiant les variable A, B, C, et D
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 28/06/2018 12:50 | #


Shadow : à mes yeux, le plus évident serait sans doute d'avoir un sous-programme qui fait ça :
SOUS-PROG : "GRAPH"
ViewWindow A, A+C, 0, B, B+D, 0, 1, Dim List 1, 1
//On modifie le ViewWindow en fonction des variables A B C D qui ont été modifiées en amont
Graph(X,Y)=(ReP List 1[T],ImP List 1[T
//On redessine tout puisque le viewwindow efface l'écran graphique
//La liste 1 contient des nombres complexes


Par ailleurs, ton dessin sera rapide si tu n'as pas à modifier les coordonnées dans la List1. Ce qui fait qu'il ne faudrait pas en effacer le contenu dans le programme. Pour des valeurs complexes, ça te prend 24 Octets par valeur. Pour deux listes séparées, ça te prend 12 octets pour chaque ordonnées et 12 octets pour chaque abscisse, ce qui revient à 24 octets. Mais moi, j'ai une astuce...

Astuce secrète
Cliquer pour enrouler
Moi, je mets des réels dans une seule liste pour mes super drawstat : par exemple, ça me donne
{1.01,.05,4.1,5.12} → List 1

Les valeurs avant la virgule font office d'abscisse et les décimales d'ordonnées. Pour les récupérer, tu fais :
Int List 1 pour les abscisses
100Frac List 1 pour les ordonnées
Chaque valeur ne prend que 12 octets ! deux fois moins !
Mais... Sshhhhh ! C'est un secret

Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Shadow15510 Hors ligne Administrateur Points: 5498 Défis: 18 Message

Citer : Posté le 28/06/2018 13:07 | #


Elle est géniale ton astuce je n'y avais jamais pensé !!
En fait j'ai besoin de ça pour un truc tout couillo* : Je vais afficher une carte des Etats Unis pour afficher la progression du joueur... Le joueur pourra zoomer et se déplacer sur la carte à sa guise grâce à une seule liste... Les different type de rails seront signalisé par les different types de trait : fin continu; gros continu, pointillés fin, et pointillés gros
Ce qui me faudrait savoir c'est quelles variables (entre A, B, C, et D) il faudrait que je modifie pour avoir un déplacement vers la droite, la gauche, le bas, le haut, zoom et. dé-zoom...
Je sent que ce projet va être pas mal... (je l'ai appelé Railgold)
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 28/06/2018 13:44 | #


Oh, je vois. Très franchement, je l'aurais fait avec des pictures, mais bon.

Si tu incrémentes A, la caméra se déplace vers la droite. Si tu incrémentes B, elle se déplace vers ... le bas ou le haut, je sais pu'. Diminue la valeur de A pour aller vers la gauche et la valeur de B pour aller heu... bah soit en haut soit en bas. Les valeurs C et D sont là uniquement pour la largeur et la longueur de l'affichage, autrement tu peux t'en servir comme zoom.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Shadow15510 Hors ligne Administrateur Points: 5498 Défis: 18 Message

Citer : Posté le 28/06/2018 13:47 | #


Les pictures ce n'est pas posible : elles n'utilisent pas les coordonnées de l'écran... Je pense qu'elles doivent avoir un système indépendant du v-Window...
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 28/06/2018 18:02 | #


Pas si tu as plusieurs Pictures. Ça implique de penser un système différent, mais c'est faisable.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Shadow15510 Hors ligne Administrateur Points: 5498 Défis: 18 Message

Citer : Posté le 28/06/2018 18:17 | #


Je verrais... Le pictures prennent de la place et ça m'embête de devoir en utiliser beaucoup...
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 28/06/2018 18:35 | #


Les pictures y'a que le scroll vers le haut/bas qui est possible, droite/gauche ça l'est pas
(puis évitez de mettre 43124 pictures dans les programmes c'est chiant )
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Shadow15510 Hors ligne Administrateur Points: 5498 Défis: 18 Message

Citer : Posté le 28/06/2018 18:41 | #


Je suis d'accord de toute façon je ne sa n'en suis pas encore là...
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 28/06/2018 18:44 | #


Attention aux listes de nombres complexes, ça prend pas mal de temps à afficher si je ne m'abuse (+30 % si ma mémoire est bonne). Vaut mieux faire du complexe pour du stockage pur, ça permet d'utiliser moins de listes/matrices, mais pour de la gestion, soit ça apporte un intérêt particulier (rotation faciles, etc.) soit c'est gourmand pour pas grand chose
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 28/06/2018 20:04 | #


@Zezombye : C'est chiant quand c'est inutile. Tu verras que j'en ferai une utilisation tout à fait juste !
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 07/09/2018 17:38 | #


Re sur le topic. Excusez-moi pour le retard mais je n'ais pas vu tout ces posts sur ma messagerie... bref, j'ai appliqué ce que je vous ai decrit et je vous poste le resultat de suite avec mon ordinateur. Précisions avant utilisation:
Flèches pour ce déplacer sur la map et [shift] pour zoomer [alpha] dezoomer.
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 07/09/2018 17:43 | # | Fichier joint


Voici le programme g1m en lien.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 102 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd