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 - Projets de programmation


Index du Forum » Projets de programmation » Unity 2D pour Casio, faciliter la création de jeux vidéo
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Unity 2D pour Casio, faciliter la création de jeux vidéo

Posté le 12/05/2020 15:05

Le projet a été renommé en "Particule" et l'interface a beaucoup évolué voici le nouveau lien de l'éditeur de jeu

Ancien Messages :
Cliquez pour découvrir
Cliquez pour recouvrir
Bonjour à tous,
Actuellement, je suis en train de programmer un éditeur pour faciliter la création de jeux vidéo et aussi rendre accessible à tous le développement, même à ceux qui ne savent pas programmer.
Le Moteur de jeux sur la calculatrice sera en C.Basic.
Malheureusement j'ai un souci, l'affichage des sprites est trop lent car ils sont affichés avec la fonction : _Line x1,y1,x2 ,y2 et les coordonnées sont stockées dans des listes.
Auriez - vous une idée pour rendre l'affichage des Sprites quasiment instantané ?
Merci d'avance.





Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 17/05/2020 14:41 | #


It doesn't seem to be a monochrome BMP file.
Please save the file as a monochrome BMP.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 17/05/2020 14:44 | #


Sentaro21 a écrit :
It doesn't seem to be a monochrome BMP file.
Please save the file as a monochrome BMP.

D'accord, Je vais essayer de rectifier mon algorithme.
Merci, pour votre aide

Ajouté le 17/05/2020 à 18:58 :
Est-ce qu'il y a une fonction qui permettrai de prendre qu'une partie d'une liste ?
Exemple de ce que je veut faire:
{ 10, 5, 8, 9, 6, 7} -> List 1
Fonction( List 1, 3, 5) -> List 2
List 2 = { 8, 9, 6}
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 17/05/2020 18:59 | #


Tu peux utiliser Seq() en Basic.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 17/05/2020 19:03 | #


Lephenixnoir a écrit :
Tu peux utiliser Seq() en Basic.

Oui, mais d'après la documentation, ça créer une liste, mais ça récupère pas celle qui existe déjà ?

[i]Seq(<expression>,<variable à faire varier>,<valeur de départ>,<valeur de fin>,<pas>)[/i]
Seq(X, X, 0, 5, 1->List 1 //renvoie List 1 = {0,1,2,3,4,5}
Seq(3*X, X, 0, 5, 1->List 1 //renvoie List 1 = {0,3,6,9,12,15}
Seq(X^2, X, 0, 5, 1->List 1 //renvoie List 1 = {0,1,4,9,16,25}

"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 17/05/2020 19:04 | #


Seq(List 1[X],X,A,B

... te donne la tranche [A,B], aka. List 1[A:B+1] en notation Python.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 17/05/2020 19:06 | #


Lephenixnoir a écrit :
Seq(List 1[X],X,A,B

... te donne la tranche [A,B], aka. List 1[A:B+1] en notation Python.

D'accord merci
"La créativité est contagieuse faites la tourner"
Albert Einstein
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 17/05/2020 22:19 | #


Tiens j'ai jamais testé, mais ça marche avec les strings ? 🤔
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 17/05/2020 22:27 | #


Tu rêves là, Seq() est syntaxiquement restreint à, semble-t-il, un subset mathématique. Tu peux même pas écrire Seq(StrLen("A"),etc), c'est une erreur de syntaxe. (Quand on dit que la Basic Casio n'a aucune sémantique et aucune rigueur, c'est pas une idée en l'air.)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 18/05/2020 01:35 | #


Je suis en train de créer le système de collision avec la physique et je voudrai qu'il soit assez réaliste, mais je sais pas vraiment comment m'y prendre.

La physique je sais le faire, mais c'est la détection des collisions que j'ai du mal, car je voudrais que quelle que soit l'orientation de l'image, il puisse détecter les deux éléments.
Est-ce qu'il existe une fonction dans C.Basic qui permettrait de détecter quand deux images se touchent quelque ce soit la rotation, une fonction similaire à celle de scratch par exemple ?

"La créativité est contagieuse faites la tourner"
Albert Einstein
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 18/05/2020 08:16 | #


@farhi : j'ai trouvé une documentation sur le théorème des axes séparateurs : https://developer.mozilla.org/fr/docs/Games/Techniques/2D_collision_detection

Ils disent que c'est assez complexe à implémenter, mais c'est un algorithme très puissant en 2D.
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 18/05/2020 10:29 | #


There is no bitmap collision detection in C.Basic.
Currently, you need to process the distance calculation separately, but I think it is possible to make it into a new command if necessary.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 18/05/2020 10:57 | #


@Lightmare
Merci beaucoup, je vais essayer de l'implanter

@Sentaro21
Une commande comme celle ci serai très pratique en effet, faut voir s'il elle n'est pas non plus trop compliquer à faire.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 18/05/2020 11:01 | #


What sort of command would do that? What would be the input type? Wouldn't it be strange if such a unique and specific command appeared in the interface?

I would like to suggest implementing commands for the mathematical functions used in this method rather than the collision detection itself. For instance, a command for projecting a point along an axis defined by its normal vector; the documentation could then say "useful for collision detection".
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 18/05/2020 11:08 | #


@Lephenixnoir
Ça serai une sorte de GetKey mais pour les bitmap, donc je ne trouve pas ça très étrange, c'est juste nouveau. Et il est toujours possible de créer une nouvelle Catégorie, catégorie "Capteur" par exemple.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 18/05/2020 11:09 | #


Si c'est une intersection de bitmaps okay, je croyais qu'il s'agissait d'une commande pour implémenter le SAT.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 18/05/2020 13:40 | #


The easiest way to do this is to read the VRAM directly.

I think the new function would be useful.
What kind of specifications do you think it's aimed at?
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 18/05/2020 13:51 | #


Sentaro21 a écrit :
What kind of specifications do you think it's aimed at?

I think I didn't quite understand your question but it would rather be in bitmap functions, but it is also both a somewhat special sensor.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 18/05/2020 14:20 | #


I think it is possible to detect sprite collisions ifunction n bitmaps.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 18/05/2020 15:59 | #


At first I thought the new command would be for a geometric method of detecting collisions. If it's bitmap-based then there's nothing to worry about.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1380 Défis: 0 Message

Citer : Posté le 20/05/2020 22:08 | #


Image sur l'avancement du projet :

Les images ont été reprisent depuis ce site:
https://pixel-frog.itch.io/pixel-adventure-1

Ajouté le 21/05/2020 à 12:10 :
Est-ce qu'il y a un moyen de récupérer une matrice avec une variable en C.basic ?
Exemple:
10->A
{1,13,8}->Mat A
Mat 10◢ //affiche : {1,13,8}

Il me semble que c'est possible mais avec une notation particulière.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 21/05/2020 12:56 | #


Aucune chance que ça marche... ça n'a même pas vraiment de sens. Tu voudrais que ça renvoie quoi le code ci-dessous ?

10→A
10→B
Mat 10

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

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