begin process at 2012 05 27 08:30:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Probléme code AS3, Faire rebondir un mc dans la scéne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probléme code AS3, Faire rebondir un mc dans la scéne

dimanche 27 décembre 2009 à 15:42:13 | Probléme code AS3, Faire rebondir un mc dans la scéne

analxlogik

Plop all !

Étant une grande débutante, j'ai un petit probléme sur lequel je bûche depuis quelques jours déja. En espérant ne pas faire un repost, je vais vous expliquer..

Je souhaiterais faire une animation, une sorte de petit jeu en AS3. Il y aurait donc une terre avec un point précis a toucher pour remporter des points. Le compteur est opérationnel, la terre aussi,... Mais pour corser cela, et donner un minimum d'interêt a l'anim, je souhaiterais faire bouger ma terre aléatoirement et la faire rebondir sur les bords de ma scéne.

Puisque je n'ai pas réussit comme cela, j'ai tenté une autre méthode:

Code ActionScript :
conteneurall.addEventListener(Event.ENTER_FRAME,tourne);
function tourne(e:Event) {
	
	var horizon= new Tween (conteneurall,"x",Elastic.easeIn,50,400,3,true);
	horizon.addEventListener(TweenEvent.MOTION_FINISH, onFinish1);
		function onFinish1(e:TweenEvent):void {
			horizon.looping();
		}
	
	if (conteneurall.hitTestObject(bord)) {
		var vertical= new Tween (conteneurall,"y",Bounce.easeOut,300,40,2,true);
		vertical.addEventListener(TweenEvent.MOTION_FINISH, onFinish2);
		function onFinish2(e:TweenEvent):void {
			vertical.looping();
		}
		
		conteneurall.removeEventListener(Event.ENTER_FRAME,tourne);}}


mais lorsque que je teste, il me répond :

"TypeError: Error #1006: value n'est pas une fonction.
at MethodInfo-67()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at fl.transitions::Tween/set time()
at fl.transitions::Tween/nextFrame()
at fl.transitions::Tween/onEnterFrame()"



Voila, je suis a votre disposition pour de plus amples explications ou ré-expliquer s'il y a besoin !

Merci a ceux qui voudront bien m'aider ! C'est assez urgent :x..

++
mardi 29 décembre 2009 à 12:09:59 | Re : Probléme code AS3, Faire rebondir un mc dans la scéne

dj_ouf

Hello

il nous faudrait plus de code stp, car là c'est difficile de t'aider.
Exemple : MethodInfo-67, on ne voit pas cette fonction dans le code que tu as donné.

Sinon pour des interpolations avec détections de collision, il vaut mieux éviter les tweens et définir les posiitions x et y manuellement dans un enterFrame.
Je ne sais pas de quelle manière tu veux faire se déplacer la terre, mais un rebond à la breakout (casse-brique) dans des angles uniquement de 45°, il suffirait de gérer un sens de déplacement en x et un autre pour le y.

Code ActionScript :
if (sensX == gauche") x -= 5;

else if (sensX == "droite") x += 5;

idem pour les y..

Et quand la terre touche le bord gauche, tu lui définis sensX = "gauche". Lorsqu'il touche bord haut, alors sensY = "bas", si tu vois le principe.. C'est une des manière les + simpliste.
mardi 29 décembre 2009 à 12:11:58 | Re : Probléme code AS3, Faire rebondir un mc dans la scéne

dj_ouf

Ptite erreur :

Et quand la terre touche le bord gauche, tu lui définis sensX = "droite"



mardi 29 décembre 2009 à 12:29:37 | Re : Probléme code AS3, Faire rebondir un mc dans la scéne

analxlogik


Re,

Merci de ta réponse mais je crois avoir trouver plus simple..
Voila ce qu'un ami a fait:

Il a mis un timer sur la terre pour la faire bouger toutes les secondes environ, il l'a fait bouger aléatoirement sur la scène, ce qui veut dire qu'il lui a imposer de bouger sur 800 x 600.

Je suppose que ca revient exactement a ce que tu viens de dire (Mais je suis un peu nuub) !
Du coup, jvais tester ca, et si ca ne marche toujours pas ou quoi, je tenterais ta méthode.

Merci !
++
mardi 29 décembre 2009 à 14:48:36 | Re : Probléme code AS3, Faire rebondir un mc dans la scéne

dj_ouf

Re

Je crois pas que ça revienne exactement à ce que je t'ai proposé.
Je suis pas certain d'avoir bien capté, mais entre chaque seconde, est-ce que la terre continue de bouger ? car ça change tout.
Effectivement si ça consiste juste à déplacer la terre toutes les x secs, et qu'elle reste fixe jusqu'à la prochaine seconde, c'est hyper simple

La méthode que je t'ai proposé, c'est que la terre bouge continuellement, et qu'elle rebondisse sur les bords de l'écran, exactement comme la balle d'un casse brique.
mardi 29 décembre 2009 à 15:01:24 | Re : Probléme code AS3, Faire rebondir un mc dans la scéne

analxlogik

Re,

Ah okay u_u... Donc tu avais bien raison, je veux faire bouger la terre aléatoirement pour qu'on ait du mal a viser le centre (et lorsqu'on y arrive, ca rajoute des points, contrairement a si on est a coté, ou ca en enléve). Une sorte de jeu... Donc oui, le systéme de balle du pong est celui qu'il me faudrait.

Mais si entre les secondes, il fait une interpolation ou un tween, ca devrait être fluide, non ?
mardi 29 décembre 2009 à 15:43:45 | Re : Probléme code AS3, Faire rebondir un mc dans la scéne

dj_ouf

Ah je me disais aussi

En fait c'est pas à cause de la fluidité qu'il faut éviter Tween, car pour un pong le prob de fluidité ne se posera pas (ça l'est quand t'as 20 symboles affichés en même temps sur l'écran et qu'ils se déplacent tous). C'est plutôt car tu peux + difficilement tester les coordonnées en temps réel pour lui faire changer de direction lors d'un rebond sur le bord.

Mais en y réfléchissant, c'est plus souple avec Tween, tu peux gérer n'importe quelle trajectoire, à n'importe quel angle. Par contre ça sera juste un peu + compliquer pour gérer les rebonds.
mercredi 6 janvier 2010 à 15:33:28 | Re : Probléme code AS3, Faire rebondir un mc dans la scéne

analxlogik


Encore merci, tu m'as évité d'assez grosses bourdes !
Au final, je vous poste ce que j'ai finis par faire, même si ca doit pas être le plus simple, ca marche quand même, sans erreur, et c'est tout ce que je lui demande :D !


(C'est juste la partie pour le rebond)
Code ActionScript :
//Rebond 

//Vitesse initiale
var xspeed:Number = 0;
var yspeed:Number = 0;

//Coeff de vitesse
var speed:Number = 1;

//Detecter où est le curseur
var dessusEqui:Number = 0;
var dessusTerreSing:Number = 0;
var dessusTerreMachin:Number = 0;

addEventListener(Event.ENTER_FRAME,ballmouvement);

function ballmouvement(e:Event):void {

	speed=speed+0.05;
	if (speed>=24) {

		removeEventListener("enterFrame", ballmouvement);
			//Résultats:
	if (compteur<=700) {
		addChild(loos);
	}
	if (compteur>700) {
		addChild(gg);
	}
	}
	if (dessusEqui== 1) {
		//Vitesse up, points up
		compteur=compteur+Math.round(speed);
		hit.text= "Score: "+compteur ;
	}
	if (dessusTerreMachin== 1||dessusTerreSing==1) {
		//Points enlevés: /2
		compteur=compteur-Math.round(speed/2);
		hit.text= "Score: "+compteur ;
	}
	if (xspeed < speed && xspeed >= 0) {
		xspeed += 1;

	}
	if (xspeed > -speed && xspeed < 0) {
		xspeed -= 1;

	}
	if (yspeed < speed && yspeed >= 0) {
		yspeed += 1;
	}
	if (yspeed > -speed && yspeed < 0) {
		yspeed -= 1;
	}
	conteneurall.x += xspeed;
	conteneurall.y += yspeed;

	if (conteneurall.y>=665&&yspeed>0) {
		//Touche le bas
		yspeed = -yspeed;//Change dir u
	}
	if (conteneurall.y<=170&&yspeed<0) {
		//Touche le haut
		yspeed = -yspeed;//Change dir y
	}
	if (conteneurall.x>=690&&xspeed>0) {
		//Touche la droite
		xspeed = -xspeed;//Change dir x
	}
	if (conteneurall.x<=0&&xspeed<0) {
		//Touche la gauche
		xspeed = -xspeed;//Change dir x
	}
}
//Fin rebond



Voila voila ^^ ! J'espère que ca en aidera !
Encore merci !

++


Cette discussion est classée dans : code, tween, at, conteneurall, tweenevent


Répondre à ce message

Sujets en rapport avec ce message

Effectuer une animation dans un sens puis dans l'autre en AS3 à l'aide de Tween et rewind. [ par Stigmataa ] Salut, Voila, je cherche depuis maintenant plusieurs jours comment faire pour que mon tween puisse se lire dans un sens, puis dans l'autre, je m'expli Problème de Code [ par candyman02 ] Bonjour, le code ci dessous me permet d'avoir un motif en fond de mon swf quelque soit la taille de la fenêtre, avec un recentrage automatique du swf plusieurs tweens dans une boucle while [ par remlev ] Bonjour, -J'ai créé une mosaïque à partir d'un clip (avec duplicateMovieClip) les clips ont des noms créés par une boucle while ils sont dans un con Optimisation de code scroller image avec tweens sur plusieurs clips [ par donchacal ] Bonjour à tous, J'ai fait un code à partir de différentes sources afin d'avoir un scroller image horizontal qui réagisse aux mouvements de la souris. Problème Tween et Flash Player 10 [ par Orange73 ] Hello, J'ai un soucis de Tween lorsque je publie avec le lecteur flash player 10 (fichier > parametres de publication > lecteur). Les tweens du code Organisation de code [ par Orange73 ] Hello, Juste une petite question concernant la methode de developpement a appliquer pour ce genre de projet : 3 template different pour 3 element de mouvement vraiment saccadé d'un tween avec un effet blur [ par talock ] Bonjour à tous, je suis confronté à un problème depuis au moins une semaine. j'ai répété une image que je fai déplacer en x y et z avec une impression pb avec lien html dans "textField" (as3) [ par inaden ] Bonjour, voilà j'importe des données via XML et je les traite... tout va bien, mais les liens qui sont dedans ouvre dans la même fen^tre que celle du Debug d'un player music xml. AS2 [ par Castelcerf ] Salut tout le monde; Je viens sur le forum car je suis désespérer. [^^confus5] J'ai fait un ptit site bénévolement pour un crew de muicien que je con Sauvegarder un jpg (as3) [ par Kangouroops ] Bonjour tout le monde, Je suis entrain de faire un générateur d'avatar et je bloque à un point essentiel, la sauvegarde de l'avatar. Alors j'ai testé


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales