begin process at 2012 05 26 03:50:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > CLIC ECARTEUR

CLIC ECARTEUR


 Information sur la source

Note :
Aucune note
Catégorie :ActionScripts Classé sous :clic, déplacer, écarter, aleatoire, actionscript Niveau :Initié Date de création :17/10/2007 Date de mise à jour :26/10/2007 10:54:36 Vu :4 353

Auteur : choinet

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Petit script pour faire place nette à l'endroit où on clique. Tout le script est sur le calque action; il m'a évité une timeline de 30 000 frames!
Ce n'est pas évident à expliquer, jugez plutôt par vous-même.
La source est téléchargable ici:
http://www.ze-group.com/telechargement/ecarte ur.zip

Source

  • //DEFINITION DES POSITIONS DE BASE DE CHAQUE TRAIT
  • for (i=1; i<=10; i++) {
  • this["xbase"+i] = this["trait"+i]._x;
  • }
  • //DEFINITION DE LA LARGEUR DE BASE DE LA SCENE
  • maxilargeurbase = Stage.width;
  • /////////////////
  • ////FONCTIONS////
  • /////////////////
  • function barrezvous() {
  • temporisationretour = 1;
  • difflargeur = (maxilargeurbase-maxilargeur)/2;
  • for (i=1; i<=10; i++) {
  • this["aleat"+i] = random(50);
  • //DEFINITION DU BUT A ATTEINDRE
  • //CONDITION SI LE TRAIT EST A GAUCHE OU A DROITE DU CLIC
  • if (clix<=this["trait"+i]._x) {
  • //but = bord droite
  • this["but"+i] = maxilargeur-this["aleat"+i]+difflargeur;
  • } else {
  • //but = bord gauche
  • this["but"+i] = this["aleat"+i]+difflargeur;
  • }
  • }
  • //DEPLACEMENT DES TRAITS
  • _root.onEnterFrame = function() {
  • for (i=1; i<=10; i++) {
  • //REGLE LA VITESSE DE DEPLACEMENT EN DIVISANT + OU -
  • this["deplace"+i] = (this["trait"+i]._x-this["but"+i])/6;
  • this["trait"+i]._x = this["trait"+i]._x-(this["deplace"+i]);
  • this["diff"+i] = Math.abs(this["trait"+i]._x-this["but"+i]);
  • if (this["diff"+i]<=5) {
  • temporisationretour++;
  • }
  • if (temporisationretour>=100) {
  • delete enterFrame;
  • //LANCE LA FONCTION
  • reviens();
  • }
  • }
  • };
  • }
  • function reviens() {
  • _root.onEnterFrame = function() {
  • for (i=1; i<=10; i++) {
  • //REGLE LA VITESSE DE DEPLACEMENT EN DIVISANT + OU -
  • this["deplace"+i] = (this["trait"+i]._x-this["xbase"+i])/40;
  • this["trait"+i]._x = this["trait"+i]._x-(this["deplace"+i]);
  • this["diff"+i] = Math.abs(this["trait"+i]._x-this["xbase"+i]);
  • if (this["diff"+i]<=2) {
  • delete enterFrame;
  • }
  • }
  • };
  • }
  • ///////////////////
  • ////ACTION CLIC////
  • ///////////////////
  • bouton.onPress = function() {
  • maxilargeur = Stage.width;
  • ecarteur.gotoAndPlay(1);
  • ecarteur._x = _xmouse;
  • ecarteur._y = _ymouse;
  • clix = _xmouse;
  • //LANCE LA FONCTION
  • barrezvous();
  • };
//DEFINITION DES POSITIONS DE BASE DE CHAQUE TRAIT
for (i=1; i<=10; i++) {
	this["xbase"+i] = this["trait"+i]._x;
}
//DEFINITION DE LA LARGEUR DE BASE DE LA SCENE
maxilargeurbase = Stage.width;
/////////////////
////FONCTIONS////
/////////////////
function barrezvous() {
	temporisationretour = 1;
	difflargeur = (maxilargeurbase-maxilargeur)/2;
	for (i=1; i<=10; i++) {
		this["aleat"+i] = random(50);
		//DEFINITION DU BUT A ATTEINDRE
		//CONDITION SI LE TRAIT EST A GAUCHE OU A DROITE DU CLIC
		if (clix<=this["trait"+i]._x) {
			//but = bord droite
			this["but"+i] = maxilargeur-this["aleat"+i]+difflargeur;
		} else {
			//but = bord gauche
			this["but"+i] = this["aleat"+i]+difflargeur;
		}
	}
	//DEPLACEMENT DES TRAITS
	_root.onEnterFrame = function() {
		for (i=1; i<=10; i++) {
			//REGLE LA VITESSE DE DEPLACEMENT EN DIVISANT + OU -
			this["deplace"+i] = (this["trait"+i]._x-this["but"+i])/6;
			this["trait"+i]._x = this["trait"+i]._x-(this["deplace"+i]);
			this["diff"+i] = Math.abs(this["trait"+i]._x-this["but"+i]);
			if (this["diff"+i]<=5) {
				temporisationretour++;
			}
			if (temporisationretour>=100) {
				delete enterFrame;
				//LANCE LA FONCTION
				reviens();
			}
		}
	};

}
function reviens() {
	_root.onEnterFrame = function() {
		for (i=1; i<=10; i++) {
			//REGLE LA VITESSE DE DEPLACEMENT EN DIVISANT + OU -
			this["deplace"+i] = (this["trait"+i]._x-this["xbase"+i])/40;
			this["trait"+i]._x = this["trait"+i]._x-(this["deplace"+i]);
			this["diff"+i] = Math.abs(this["trait"+i]._x-this["xbase"+i]);
			if (this["diff"+i]<=2) {
				delete enterFrame;
			}
		}
	};

}
///////////////////
////ACTION CLIC////
///////////////////
bouton.onPress = function() {
	maxilargeur = Stage.width;
	ecarteur.gotoAndPlay(1);
	ecarteur._x = _xmouse;
	ecarteur._y = _ymouse;
	clix = _xmouse;
	//LANCE LA FONCTION
	barrezvous();
};

 Conclusion

Si vous voulez un déplacement plus ordonné, il suffit de virer la variable [aleat]


 Historique

26 octobre 2007 10:54:36 :
je n'arrive pas à uploader la source, allez la choper ici : http://www.ze-group.com/telechargement/ecarteur.zip

 Sources du même auteur

Source avec une capture BEAT BOX VERSION 1
Source avec Zip Source avec une capture JEU DE BASTON (PUNCH OUT)
Source avec Zip BOUTON AVEC SON
Source avec Zip Source avec une capture SYNTHE BONTEMPI

 Sources de la même categorie

Source avec Zip Source avec une capture OUVRIR UNE ANIMATION EXTERNE DANS UN CLIP VIDE. par KcHeY
Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture OUVRIR UNE ANIMATION EXTERNE DANS UN CLIP VIDE. par KcHeY
Source avec Zip Source avec une capture COMPOSANT SWC CALENDAR DATE PICKER POUR FLASH CS5 AS3 par nicoflashkod
[AS2] DÉPLACER PAR CLICS UN RECTANGLE DANS UNE ZONE DÉLIMITÉ... par devilwu
Source avec Zip Source avec une capture CALCUL DE PI PAR L'ÉQUATION DE LEIBNIZ EN AS3 par Clem_02
Source avec Zip Source avec une capture MOTEUR DE SIMULATION DE LANCE D'OBJET par remy2501

Commentaires et avis

Commentaire de top30 le 24/10/2007 09:36:51

Y a pas de source !!!!!
Facon c'est mal 'encodé". Exemple, tu reboucles à "i" sas arret.
Autant faire....


// STOCKAGE TRAITS ET MEMORISATION
_traitsList= [] ;
for (i=1; i<=10; i++) {
        var trait = this["trait"+i] ;
        //
trait.origineX= trait._x ;
        _traitsList.push(trait) ;
}

// CHAQUE FOIS QUE TU VEUX FAIRE UN "TRUC" SUR TOUT LES TRAITS
for( var i in _traitsList ){
        var traitActuel= _traitsList[i] ;
        etc....
}
// PAR EMPLE :
function barrezvous() {
temporisationretour = 1;
difflargeur = (maxilargeurbase-maxilargeur)/2;
for( var i in _traitsList {
                var trait= _traitsList[i] ;
                //
                
// NULL ! Pourquoi encombré le clip de variable porpre au "trait:
                // this["aleat"+i] = random(50);
trait.random= Math.round( Math.random()*50) ;

                //DEFINITION DU BUT A ATTEINDRE
//CONDITION SI LE TRAIT EST A GAUCHE OU A DROITE DU CLIC
                var clickGauche = (clicx<= trait._x) ;
                trait.but= (trait.random+difflargeur)-(clickGauche? maxilargeur : 0 );
}
        etc...

J'attend la source pour mettre note....

Commentaire de choinet le 26/10/2007 10:42:50

Merci pour l'info, je ne connaissais pas cette manière de faire
Je vais essayer de l'améliorer et la reposter plus tard.
Je ne pensais pas que ma sources était passée...il y a eu beaucoup de bugs sur flashkod ces temps ci non?

Commentaire de choinet le 26/10/2007 10:53:18

OK
j'ai un vrai problème avec l'envoi des sources : erreur de je sais pas quoi. Le message me dit que Nix est au courant...en attendant, je met la source en ligne à cette adresse :
http://www.ze-group.com/telechargement/ecarteur.zip

Bon flash à tous

Commentaire de top30 le 26/10/2007 22:49:39

/**
* A coller dans la première frame dans document Flash de 300x250, fond noir, 25 FPS minimun...
* Au click down, les barres s'écartent, au click up, chacunne revienn à sa position d'origine.
**/



var barList : Array = [];
var barMax : Number = 30;
//
//
var i : Number = - 1;
while ( ++ i < barMax)  barList.push (getBar (this, 'bar' + i, 1, 20));
//
//
this.onMouseDown = function () : Void
{
    for (var i in barList)  barList [i].go ();
};
this.onMouseUp = function () : Void
{
    for (var i in barList) barList [i].back ();
};
//
//
function getBar (target : MovieClip, name : String, min : Number, max : Number) : MovieClip
{
    var bar : MovieClip = target.createEmptyMovieClip (name, target.getNextHighestDepth ());
    bar._x = (Math.random () * 320) - 10;
    bar._n = bar._x;
    //
    var width : Number = min + (Math.random () * (max - min));
    bar.beginFill (0xFFFFFF, (Math.random () * 90) + 10);
    bar.lineTo (width, 0);
    bar.lineTo (width, 200);
    bar.lineTo (0, 200);
    bar.lineTo (0, 0);
    //
    //
    bar.go = function () : Void
    {
        var end : Number = 350;
        if (_root._xmouse > (this._x+this._width/2)) end = - 50;
        //
        this.onEnterFrame = function () : Void
        {
            this._x += (end - this._x) / 3;
            if (Math.round (this._x) == Math.round (end)) delete this.onEnterFrame;
        };
    };
    bar.back = function () : Void
    {
        this.onEnterFrame = function () : Void
        {
            this._x += (this._n - this._x) / 6;
            if (Math.round (this._x) == Math.round (this._n)) delete this.onEnterFrame;
        };
    };
    return bar;
}


Désolé...
3/10, le 3 c'est pour l'idée !

Commentaire de choinet le 29/10/2007 15:16:07

très bien
pour la note c'est pas flateur mais au moins j'aurais appris quelque chose.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

déplacer le centre d'un clip créé en actionscript [ par 00sebeu00 ] salut a tous,j'ai vu que la question avait deja été abordée mais sans réponse claire...est-t-il possible, en actionscript, de déplacer le centre d'un actionscript: déplacer le centre de rotation? [ par supergrey ] Bonjour, je voudrais savoir si on peut modifier le centre de rotation d'un objet (a partir du prog biensur) parceque sinon c'est un peu ch$#ant.Merci déplacer un clip en actionscript [ par citronelle33 ] Bonjour, je débute en flash et j'ai un soucis pour déplacer mon clip, c'est juste un rectangle. En action je rentre: import fl.transitions.* ; import Remplacer le menu clic droit par un menu quelconque [ par Keylock ] Bonjour, je voudrais savoir comment remplacer le menu du clic droit sur la scène en un menu quelconque, ou tout simplement le supprimer. Il me semble, Comment verrouiller / déverrouiller le déplacement d’un widget dans une page web grâce à la fonction drap and drop ? [ par Birdo972 ] Bonjour à tous, Je suis super débutante en flash et je voudrais créer un site web dans lequel l'utilisateur pourra déplacer librement, sur toute la p faire bouger un objet vers un clic [ par jpeuh ] bonjour je début en AS3 et me demande comment faire bouger un movieclip vers une zone précise (le clic de la souris) par exemple si mon movieclip est Animation qui avance a chaque clic [ par fouiki ] Bonjour a tous, Je suis entrain de faire un petit animation très simple, et j'aimerais savoir comment faire pour que: - mon animation commence une Faire apparaître un clip à l'endroit du clic [ par Antigone2111 ] Bonjour, Je débute sur flash, et je me trouve bloqué dans un petit exercice. En effet, je souhaite que lorsque l'utilisateur clic sur n'importe que Récupérer et modifier du code Actionscript [ par cd59 ] Bonjour, J'ai un calque qui s'appelle 'monCalque', Sur la 5eme frame j'ai de l'actionscript : 'var maVariable = "bonjour";' Je voudrais modifier le


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 : 1,139 sec (4)

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