Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2006, 18h39   #1
SrK
Membre du Club
 
Inscription : avril 2006
Messages : 213
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 213
Points : 48
Points : 48
Par défaut [FLASH 8] Trainée derriere souris

Bonjour,

Voila, je suis débutant en flash, et j'aimerais savoir un peu comment faire pour faire une trainée derriere la souris.

Donc, je pense que l'on est obligé de le faire en ActionScript, et avez vous une idée de quelles procéder utiliser ?

On récupere la position de la souris, et on assigne un clip "a cette position ou a coté" ?
Je ne sais pas trop comment faire du tout en fait ^^

Merci,
SrK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 10h00   #2
Membre expérimenté
 
Inscription : octobre 2006
Messages : 642
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 642
Points : 599
Points : 599
Tu peux faire un clip rond animée qui devient petit à petit avec un alpha = 0.

Puis à chaque mouvement de souris tu colle ce clip sur les coordonnées de la souris.

Normalement ça devrait le faire, j'en ai jamais fait pour tout t'avouer.
melonmaudic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 11h18   #3
Membre Expert
 
Avatar de dom_dev
 
Inscription : février 2006
Messages : 2 067
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 2 067
Points : 2 114
Points : 2 114
salut,

le problème c'est que si tu créés plein de clips en déplçant la souris tu les détruis comment ??

auto destruction ??

__________________
Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
MERCI
dom_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 12h03   #4
Membre expérimenté
 
Inscription : octobre 2006
Messages : 642
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 642
Points : 599
Points : 599
Très juste, avec un timer?

Après x temps, lol.

Bon ok c'est pas top, idée du matin.
melonmaudic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 13h01   #5
Membre Expert
 
Avatar de dom_dev
 
Inscription : février 2006
Messages : 2 067
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 2 067
Points : 2 114
Points : 2 114
pour t'amuser tu peux déjà essayer ça :

Pièce jointe 7728

(c'est du flash 8)

__________________
Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
MERCI
dom_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2006, 05h23   #6
Inactif
 
Avatar de CR_Gio
 
Inscription : septembre 2005
Messages : 1 196
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 1 196
Points : 1 201
Points : 1 201
Salut

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
// objet : Une étoile.
class star{
 
	static var whatStar:Number=new Number(0);
	private var my_star:MovieClip
 
	function star( target:MovieClip)
	{
 
		//création d'une etoile
		//=====================
		my_star=target.createEmptyMovieClip("star"+whatStar,target.getNextHighestDepth());
 
		var colors = [0xf7f821, 0xf7f821];
		var fillType = "radial";
		var alphas = [100, 0];
		var ratios = [0, 0xFF];
		var matrix = {matrixType:"box", x:0, y:0, w:25, h:25, r:0};
 
		my_star.beginGradientFill(fillType, colors, alphas, ratios, matrix);
		my_star.lineStyle(1, 0xf7f821, 0);
		my_star.moveTo( 0, 0);
		my_star.lineTo( 25, 0);
		my_star.lineTo( 25,25);
		my_star.lineTo( 0, 25);
		my_star.lineTo( 0, 0);
		my_star.endFill();
 
		my_star.onEnterFrame=function()
		{
			this._alpha-=2;
			if(this._alpha<=0)
			{
				delete this.onEnterFrame;
				this.removeMovieClip();
			}
		}
 
		whatStar++;
	}
 
	function move(x:Number,y:Number)
	{
		my_star._x=x-8;
		my_star._y=y-8;
	}
 
	function scale(s:Number)
	{
		my_star._xscale=s;
		my_star._yscale=s;
	}
 
	function alpha(a:Number)
	{
		my_star._alpha=a;
	}
}
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 
class trailler{
 
 
	function trailler( target:MovieClip)
	{
		target.onRollOver=function()
		{
			var i:Number=new Number(0);
			this.onMouseMove=function()
			{
				if (random(3) == 2) {
 
					var my_star:star=new star(_root);
 
					my_star.move(_root._xmouse,_root._ymouse);
 
					my_star.scale(random(100));
 
					my_star.alpha(random(20)+40);
				}
 
			}
		}
		target.onRollOut=function()
		{
			delete this.onMouseMove;
		}
	}
}
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
var mc:MovieClip=_root;
 
		//creation d'une surface : 700 x 700 
		//=================================
	with(mc.createEmptyMovieClip("zone",mc.getNextHighestDepth()))
		{
			beginFill(0x890200, 100);//0xFFFFCC
			lineStyle(1, 0xd40300, 50);//0x9B8942
			moveTo( 10, 10);
			lineTo( 790,10);
			lineTo( 790, 790);
			lineTo( 10, 790);
			lineTo( 10, 10);
			endFill();
		}
		mc.zone.useHandCursor=false;
		var app:trailler=new trailler(mc.zone);
	}
Il faut vraiment que je soit désolé pour les commentaire
CR_Gio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2006, 23h50   #7
Inactif
 
Avatar de CR_Gio
 
Inscription : septembre 2005
Messages : 1 196
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 1 196
Points : 1 201
Points : 1 201
Citation:
le problème c'est que si tu créés plein de clips en déplçant la souris tu les détruis comment ??

auto destruction ??
Je voulais juste souligner un truc

dans ce code (class star)
Code :
1
2
3
4
5
6
7
8
9
10
11
[...]
		my_star.onEnterFrame=function()
		{
			this._alpha-=2;
			if(this._alpha<=0)
			{
				delete this.onEnterFrame;
				this.removeMovieClip();
			}
		}
[...]
La doc stipule que ce code bug (car removeMovieClip() ce supprime lui meme ) Mais d'apres mes tests, ca marche. comment je le sais ?
Code :
1
2
3
4
Je remplace 
this._alpha<=0
Par
this._alpha<=40
Donc si removeMovieClip supprime bien le clip, je ne verrais pas l'etoile s'éteindre progressivement jusqu'a la fin. Mais elle disparettra prutalement a alpha=40

Mais si il y a des probleme. on peut toujours lancer un setTimeOut qui appel removeMovieClip. Mais ca me rajoute une propriété et encore un peu de code ...
CR_Gio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h30.


 
 
 
 
Partenaires

Hébergement Web