Source: Scratch Wiki en français
Ce tutoriel explique comment obtenir une distance entre deux cordonnées.
Les idées de blocs proviennent d'Adacraft.
Suivez tout ce tuto et vous saurez réaliser un simulateur de système solaire !
Idée générale
Imaginez que vous voulez obtenir la distance entre deux clones. Sachant que le bloc distance de [ v]
ne fonctionne pas avec les clones, comment faire ?
En plus de créer ce bloc, ce tutoriel vous permettra aussi de créer d'autres blocs, tel que s'orienter vers x:() y:()::motion
.
Réalisation
définir distance entre (x1) (y1) (x2) (y2) mettre [distance entre cordonnées v] à ([racine v] de ((((x1) - (x2)) * ((x1) - (x2))) + (((y1) - (y2)) * ((y1) - (y2)))))
Projet d'exemple
Bloc s'orienter vers x:() y:()
Voici comment créer le bloc s'orienter vers x:() y:()::motion
:
définir S'orienter vers x:(x) y:(y) s'orienter à (([atan v] de (((x) - (abscisse x)) / ((y) - (ordonnée y)))) + ((180) * <(y) < (ordonnée y)>))
Bloc tourner de () autour de x:() y:()
Le bloc présenté ici peut servir à simuler de la gravité par exemple :
définir Tourner de (vitesse) autour de x:(position x) y:(position y) S'orienter vers x:(position x) y:(position y)::custom distance entre (abscisse x) (ordonnée y) (position x) (position y)::custom mettre [distance première v] à (distance entre cordonnées) tourner @turnLeft de (90) degrés avancer de (vitesse) pas S'orienter vers x:(position x) y:(position y)::custom distance entre (abscisse x) (ordonnée y) (position x) (position y)::custom avancer de ((distance entre cordonnées) - (distance première)) pas
S'orienter vers (position x::custom) (position y::custom)::custom
? Pour effacer le gain de distance obtenu lors de l'avancement du sprite, qui éloignerait l'objet petit à petit... et finirait par faire sortir de la scène votre sprite.
(gravité::custom)
, et remplacer le bloc
avancer de ((distance entre cordonnées) - (distance première)) pas
paravancer de ((gravité) + ((distance entre cordonnées) - (distance première))) pas
.
Utilisez alors une valeur nulle pour garder le même fonctionnement que sans ce paramètre, une valeur positive pour approcher le sprite des coordonnées et une valeur négative pour l'en éloigner.
Voilà ! Vous avez terminé ce tuto.