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 » Graphismes Poussés en Basic
Benji_ Hors ligne Membre Points: 59 Défis: 0 Message

Graphismes Poussés en Basic

Posté le 22/06/2017 12:14

Bonjour,

Je me demande comment peut on faire des graphismes aussi poussés dans des programmes en Basic comme :
-CloneLab de Ne0tux
ou alors :
-Drug Life 1/2 de Neur0nix

Pourrai-je avoir quelque détails? et des explications sur le fonctionnement du ViewWindows, DrawStat, ...

Merci d'avance


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

Citer : Posté le 22/06/2017 19:19 | #


Le viewwindow : http://www.planet-casio.com/Fr/reference_basic_casio/commande_basic.php?fonc=94
Le drawstat : http://www.planet-casio.com/Fr/forums/topic2187-1--Tutoriel--Le-Drawstat.html
Le super drawstat : http://www.planet-casio.com/Fr/forums/topic12359-1--Tutoriel--Le-Super-DrawStat.html
Le multi drawstat : http://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=14097

Pour le reste, si tu as des questions précises, on se fera une joie d'y répondre
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 22/06/2017 20:36 | #


Salut Benji' !

Darks' m'a devancé. Je pense que tu trouveras dans ces 4 liens et le code source des jeux que tu as cités de quoi comprendre les principaux outils disponibles pour les graphismes en Basic.

Le plus important c'est de savoir ce que tu veux faire. A chaque idée sa réalisation, à chaque projet ses concepts.

Le mieux c'est de maîtriser tous les outils et d'en comprendre les avantages mais aussi les limites, pour être capable de les conjuguer. Les deux jeux dont tu parles ne s'appuient que sur de "vieilles" techniques, et tu auras tôt fait de faire mieux en utilisant les deux derniers lien de Darks.

Pour faire vite : si tu veux afficher beaucoup de pixels d'un coup, sans qu’aucun ne soit amené à bouger, utilise les Pictures voire BG-Pict. La limite réside dans le faible nombre de pictures disponibles et dans la place qu'elles prennent (possibilité de contourner avec les Captures).

Si tu veux afficher un objet qui sera amené à être déplacé, pivoté, agrandit etc, le Drawstat est adapté, bien que plus lent que le Super Drawstat. Le premier a l'avantage de fonctionner avec 26 Lists, multipliées par 6 Files, et on peut changer de List rapidement en reconfigurant le Drawstat, sans avoir à recharger les Lists.

Le Multi Drawstat est excellent lorsque l'on souhaite afficher plusieurs objets séparés.

Tout cela est à coupler avec une utilisation intelligente du View-Windows, qui, employé avec des variables pour le paramétrer, permet de modifier l'origine du repère de dessin et donc permet de ne pas avoir à faire d'autre calcul de coordonnées.

J'invite tous ceux qui le souhaitent à me corriger ou à compléter, et je te propose à toi, Benji, de nous en dire plus sur ce que tu veux faire.

Bon courage !
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 !
Lephenixnoir En ligne Administrateur Points: 24146 Défis: 170 Message

Citer : Posté le 22/06/2017 21:01 | #


Je complète avec un aperçu plus « théorique » du mode graphique. Avant ce message, je t'invite à lire la partie consacrée aux graphismes du tutoriel de Basic de Totoyo et la description sommaire de ce sujet qui est sur le wiki de Planète Casio.

Il existe deux systèmes de coordonnées (ie. deux manières de repérer les points de l'écran) en mode graphique : le graphe et l'écran. Chaque famille de fonctions (à quelques exceptions près, notamment Cls) est associée à un et un seul de ces modes, bien que les dessins réalisés par les deux familles se superposent proprement.

Utilisation de l'écran

Le plus simple et intuitif des deux. Ce système de coordonnées place (0, 0) en haut de l'écran et évolue dans le sens (-y, x) ; c'est-à-dire que les points (1, 0) et (0, 1) sont immédiatement en-dessous et à droite de (0, 0). Les fonctions qui utilisent de repère comprennent :

PxlOn, PxlOff et PxlChg, qui modifient la couleur du pixel indiqué ;
Text, qui utilise le point indique comme coin haut gauche du texte à afficher.

Ce repère est adapté aux jeux et autres programmes mais n'est malheureusement pas utilisé par beaucoup de fonctions.

Le graphe

Le même que dans les applications GRAPH, STAT, RECUR et autres : on peut y tracer des courbes, des droites, des nuages de points, des suites récurrentes... on peut tout faire ou presque, malheureusement seule une poignée des fonctions concernée est utile pour les jeux.

Le repère du graphe est défini par les paramètres du « View-Window » que l'on peut trouver dans l'application GRAPH, F3. Ces paramètres sont au nombre de dix :
Xmin, Xmax, Ymin et Ymax permettent de spécifier la plage d'abscisses et d'ordonnées visibles à l'écran ;
Xpitch et Ypitch définissent l'espacement des graduations sur les axes ;
Xdot doit bien servir à quelque chose, mais je ne sais plus quoi ;
Tθmin, Tθmax et Tθpitch définissent les paramètres de rendu pour les graphes polaires et paramétriques (plus tard).
La fonction View-Window permet de les modifier, avec la syntaxe suivante :
View-Window Xmin, Xmax, Xpitch, Ymin, Ymax, Ypitch, Tθmin, Tθmax, Tθpitch


Il convient également de parler des paramètres du graphe, ceux qu'on trouve dans le menu SET UP dans l'application GRAPH et qui permettent de modifier l'aspect visuel du résultat. On peut les changer en utilisant les commandes de SET UP dans l'application PRGM.
Coord contrôle l'affichage interactif des coordonnées quand on appuie sur F1 (existe en programme ?) ;
Grid contrôle l'affichage de points de grille correspondant aux graduations des axes ;
Axes contrôle l'affichage des axes du graphe et des graduations ;
Label contrôle, si je me souviens bien, les étiquettes indiquant les noms des fonctions tracées.

Utilisation du graphe

Les fonctions les plus classiques portent sur le graphe :
PlotOn, PlotOff et PlotChg pour changer la couleur d'un pixel ;
Line et F-Line pour tracer des lignes.
Il est à noter que les fonctions de la famille Plot modifient les valeurs de X et de Y, donc utiliser ces variables avec précaution.

Les fonctions de la famille Graph tracent des fonctions/surfaces/etc sur le graphe. En général ça a peu d'intérêt, sauf pour les tracés paramétriques : ceux-là consistent non pas à paramétrer l'ordonnée en fonction de l'abscisse, mais à la fois l'abscisse et l'ordonnée en fonction d'un paramètre « invisible » T, dont les bornes et le pas de calculs sont gérés par les paramètres en du View-Window.

Lorsqu'on fait un rendu de graphe paramétrique, on indique deux fonctions : les abscisses en fonction de T, et les ordonnées en fonction de T. La calculatrice calcule la position de chaque point et trace des lignes entre eux si c'est demandé par le paramétrage (ce qui est quasiment toujours le cas). Ainsi des gens malins ont inventé le Super DrawStat en utilisant la commande :
GraphXY(List 1[T],List 2[T])

Ainsi les différents points du graphe sont contrôlés un par un, non par une expression mathématique, mais par un ensemble de coordonnées calculées à l'avance pour que le résultat donne une jolie image de personnage ou de décor. On fait dans ce cas varier T entre 1 et la taille des listes, par pas de 1. Il existe de nombreuses variantes de ce principe.


Voilà, je vais pas détailler plus les techniques (les liens proposés en parlent déjà), mais je trouve qu'il y avait un vrai manque de détail sur ce fonctionnement sous-jacent.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Benji_ Hors ligne Membre Points: 59 Défis: 0 Message

Citer : Posté le 22/06/2017 23:19 | #


Merci a vous 3 pour m'avoir répondu!

P our en répondre à ta question Ne0tux, j'aimerai commencer un RPG, avec bien sur des techniques Graphiques pas trop poussées mais je posais cette question pour mieux comprendre la façon dont tu utilise le ViewWindows, les Backgrounds,...
dans tes jeux, car cela me semble très flou vu mon niveau et vu le peut de projets à mon actif : un morpion, un snake, un space invaders, un chrono, de l'applicatif pour des théorèmes et fonction en maths. Je voulais mieux comprendre quelques notions qui sont abordées dans le cours en Basic Casio, qui selon moi "sans vouloir vous offenser" manques de précision et d'exemples.

Merci et Bonne Soirée .

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 110 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