C'est noté pour les ralentissements....
Oups, j'ai oublié l'exemple pour utiliser le multi-toile. Il faut mettre ce fichier dans le répertoire "c_multimedia".
Plusieurs toiles s'ouvrent les unes sur les autres, il faut les déplacer à la main pour l'instant...
[php]
espèces
nom est un texte
espèce fleur hérite de point et contient nom
globale
toile1 est une toile, couleur vaut "rouge"
toile2 est une toile, principale vaut "non", couleur vaut "bleu de minuit"//"vert"
toile3 est une toile, principale vaut "non", couleur vaut "rose", image vaut "images/dn_house2.png"
toile4 est une toile, principale vaut "non", couleur vaut "bleu outremer"
tux est un graphique, image vaut "images/tux_graduate.png", x vaut 150, y vaut 300, toile vaut "toile3"
aide est un graffiti, texte vaut "Tu peux déplacer Tux avec les flèches !", couleur vaut "rouge", x vaut 10, y vaut 50, taille vaut 10, toile vaut "toile3"
p 1 est un point, taille vaut 50, x vaut 100, y vaut 100, couleur vaut "jaune"
p 2 est un point, taille vaut 50, x vaut 200, y vaut 200, toile vaut "toile3"
visage est une mozaïque, taille vaut 200, modèle vaut {{0,1,0,1},{1,2,-1,0},{0,-1,2,1},{1,0,1,0}},
x vaut 100, y vaut 100, toile vaut "toile2"
echelle est un nombre valant 700
tortue est un crayon, pointe vaut "non", taille vaut 5
abeille est un crayon, pointe vaut "non", couleur vaut "papier bulle", taille vaut 2, toile vaut "toile4"
fleurs est un casier de fleur
message_fleur est un graffiti, x vaut 114, y vaut 539, couleur vaut "noir", texte vaut "Déplace la souris sur les fleurs !", position vaut 1, taille vaut 10, toile vaut "toile1"
principale :
time est un nombre valant 0
début
projette tux
projette aide
projette p 1
projette p 2
fais réagir p 1 à "glisser-déposer" pour rien faire
fais réagir p 2 à "glisser-déposer" pour rien faire
appelle mozaique
appelle boucle
appelle mer avec toile1, "rose"
appelle mer avec toile2, "bleu"
appelle mer avec toile3, "noir"
appelle mer avec toile4, "blanc"
appelle animation
appelle pluie
projette message_fleur
pour chaque couleurs, parcours création avec joker
tant que vrai, lis
temporise
//vide touches
ferme
mozaique :
z est un nombre
début
début
projette visage
fais réagir visage à "glisser-déposer" pour rien faire
tant que vrai, lis
tourne à gauche visage de 0.2
attends 10 millisecondes
incrémente z
ferme
rien faire:
début
reviens
boucle :
action est un texte
début
tant que vrai, lis
action vaut touche
si action = "gauche", déplace tux vers la gauche de 5
si action = "droite", déplace tux vers la droite de 5
si action = "haut", déplace tux vers le haut de 5
si action = "bas", déplace tux vers le bas de 5
si action = "clique", déplace tux vers sourisx@toile3 et sourisy@toile3
/*On lui fixe des limites !*/
si (x @ tux) >
470 , x @ tux vaut 470
si (y @ tux) >
430 , y @ tux vaut 430
si (x @ tux) <
5 , x @ tux vaut 5
si (y @ tux) <
290 , y @ tux vaut 290
temporise
ferme
mer :
x & y est un nombre
*toile est une toile
*couleur est un texte
début
tant que vrai , lis
attends 0.01 secondes
si (x != (sourisx@toile)) ou (y != (sourisy@toile)), lis
x vaut sourisx@toile
y vaut sourisy@toile
appelle vague avec #x, #y, [toile], couleur
ferme
ferme
vague :
*x est un nombre
*y est un nombre
*toile est un texte
*couleur est un texte
vague est un cercle, x vaut x, y vaut y, plein vaut "non", rayon vaut 1, taille vaut 2, couleur vaut couleur, toile vaut toile
début
projette vague
pour chaque 50, lis
rayon@vague vaut joker
transparence@vague vaut 100 - joker * 2
attends 40 millisecondes
ferme
efface vague
annihile vague
reviens
animation :
time est un nombre valant 0
i & r est un nombre valant 0
pi_ est un nombre valant 3.1415926
début
~ angle radian
//efface toile
tant que vrai, lis
efface abeille
projette abeille
time vaut time + 0.2
// The number of particles to generate
pour i de 500 à 0, lis
// The magic
r vaut 0.8*cos((time+i)*(.05+sin(time*0.00002)/PI_*.2))/PI_
pique abeille à 500*(sin(i)*r+.5) et 500*(cos(i)*r+.5)
ferme
attends 5 millisecondes
ferme
création :
*n est un texte
fleur est un fleur, toile vaut "toile1"
yy est un nombre valant 600
xx est un nombre valant 600
début
mélange xx
mélange yy
déplace fleur vers xx et yy
couleur @ fleur vaut joker
taille @ fleur vaut 10
nom @ fleur vaut joker
projette fleur
ajoute fleur dans fleurs
fais réagir fleur à "souris entrante" pour afficher le nom
fais réagir fleur à "souris sortante" pour effacer le nom
fais réagir fleur à "clic souris" pour clique
fais réagir fleur à "double clic souris" pour double clique
fais réagir fleur à "clic droit souris" pour clique droit
fais réagir fleur à "glisser-déposer" pour changement
reviens
afficher le nom :
*fleur est un fleur
début
texte @ message_fleur vaut nom de fleur
pointeur @ toile1 vaut "main"
reviens
effacer le nom :
début
texte @ message_fleur vaut ""
pointeur @ toile1 vaut "normal"
reviens
clique :
*fleur est un fleur
début
taille @ fleur vaut 20
Attends 1 secondes
taille @ fleur vaut 10
reviens
clique droit :
*fleur est un fleur
début
visible @ fleur vaut "non"
reviens
double clique :
*fleur est un fleur
début
taille @ fleur vaut 5
Attends 1 secondes
taille @ fleur vaut 10
reviens
changement :
*fleur est un fleur
début
texte @ message_fleur vaut "glisser-déposer de " + nom de fleur
reviens
pluie :
x est un nombre
y est un nombre
début
tant que vrai , lis
attends 0.01 secondes
x vaut hasard(ecranv)
y vaut hasard(ecranh)
appelle goutte avec x, y
attends 0.15 secondes
appelle goutte avec x, y
ferme
goutte :
*x est un nombre
*y est un nombre
vague est un cercle, x vaut x, y vaut y, plein vaut "non", rayon vaut 1, taille vaut 2, couleur vaut "vert d'eau", toile vaut "toile2"
début
projette vague
pour chaque 50, lis
rayon@vague vaut joker
taille@vague vaut 1 + joker / 2
transparence@vague vaut 100 - joker * 2
attends 10 millisecondes
ferme
efface vague
annihile vague
reviens
[/php]
PS: les travaux sur le multi toile ne sont pas terminés... il reste des choses à faire, donc tout ne marche pas.