begin process at 2012 05 27 12:18:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

ActionScript

 > 

Placement aléatoire sans superposition


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

Placement aléatoire sans superposition

jeudi 28 octobre 2004 à 11:47:02 | Placement aléatoire sans superposition

nalekstrem

Bonjour à vous,
j'ai un petit truc qui m'enbète et me prend la tête...
Si vous pouviez m'aider!!
je suis en train de faire un petit jeu (le jeu des paires!) et j'aimerai placer aléatoirement sur la scene une vingtaine de clips mais sans qu'ils se touche...
J'arrive à les mettres sur la scene mais pas à les empecher de se superposer!!
Si vous avez une petite idée, je l'écouterai avec grand plaisir

Nalek
jeudi 28 octobre 2004 à 14:10:00 | Re : Placement aléatoire sans superposition

ozitoun

Membre Club
Si je me souviens bien le jeu des paires c'est des cartes retournées et tu dois les trouver par paires les cartes...

... et donc chaque carte est un clip... rectangulaires !

Tu connais donc la taille de ton clip (x,y)

donc quant les place sur ta scène aléatoirement, faut que tu leurs donne une position x,y précise !
___________
Zitoun
jeudi 28 octobre 2004 à 15:29:29 | Re : Placement aléatoire sans superposition

nalekstrem

Pour le principe du jeu c'est ça en effet, mais je le transforme un peu!!
Ce n'est plus des rectangles sur lesquels on clike mais des brins d'herbes qui font apparaitre des objets...
Et pour compliquer les choses, je voudrais aussi que les X et Y soient aléatoire, ils peuvent être n'importe où sur le gazon mais sans se superposer...
Voilà voilà...

Pour se faire une idée, je met le code:

LesClips = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j");
NomListe = new Array("mc1", "mc2", "mc3", "mc4", "mc5", "mc6", "mc7", "mc8", "mc9", "mc10", "mc11", "mc12", "mc13", "mc14", "mc15", "mc16", "mc17", "mc18", "mc19", "mc20");
for (i=1; i<21; i++) {
nombre = "mc"+i;
duplicateMovieClip(LesClips[i], nombre, i);
setProperty(nombre, _x, Math.floor(Math.random()*800));
setProperty(nombre, _y, Math.floor(Math.random()*600));
//NomListe.splice(0, 0, nombre);
for (r=0; r<20; r++) {
NomClip = NomListe[r];
if (this.nombre, hitTest(this._parent.NomClip)) {
this.nombre._alpha = 10;
}
}
}


Nalek
jeudi 28 octobre 2004 à 15:41:45 | Re : Placement aléatoire sans superposition

ozitoun

Membre Club
effectivement c'est pas simple... mais ça reste gérable...

toujours avec du x,y....

en gros il faut que tu récupére tes x,y te tes clips que tu place sur ta scène.... (dans un tableau par exemple) et que tu les exclues de ton Math.random...

un possibilité serait de faire une condition if tes x,y sont dèjà occupés (à plus ou moins 10 pixels par exemple) then tu le déplace de 10 pixels...

suis-je clair ?

je suis curieux de voir le résultat quand ce sera terminé !
---------------
Zitoun
jeudi 28 octobre 2004 à 15:51:30 | Re : Placement aléatoire sans superposition

nalekstrem

ouais c'est assez clair!!
maintenant ya plus qu'a le faire... ;o) (on va voir si j'en suis capable!)
et puis si j'ai encore des problemes, je re-post
Merci bien en tout cas!!

Nalek
jeudi 28 octobre 2004 à 17:09:02 | Re : Placement aléatoire sans superposition

nalekstrem

Finalement j'ai encore une question!!
Je dois utiliser quoi pour pouvoir avoir le "plus ou moins 10 pixels "...
J'arrive à récuperer les X et Y mais je coince sur la fourchette des 10 pixels près...
Ce qui fait qu'il y a toujours des bouts qui se chevauchent!!
Si tu sais comment faire?

Nalek
jeudi 28 octobre 2004 à 17:27:21 | Re : Placement aléatoire sans superposition

ozitoun

Membre Club
ta condition sera

if (x>(x2-10) and x<(x2+10)) {
.... deplace de 10 pixels
}

où x2 est la position de celui déjà sur la scène

_____________________
Zitoun
vendredi 29 octobre 2004 à 15:26:10 | Re : Placement aléatoire sans superposition

nalekstrem

Bon j'ai réussi à tous faire et ça marche.... 1 fois sur deux!! lol
En fait je fais des boucles dans des boucles et au final le flash capitule et se "deconnecte": il ne veut plus de mon actionScript!!
vlà le script:

Etoiles = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "a", "b", "c", "d", "e", "f", "g", "h", "i");
Start();
//---------------------------------------------------------------------------------
// La fonction Start
//---------------------------------------------------------------------------------
function Start() {
Passage = 0;
ValX = new Array();
ValY = new Array();
for (i=0; i<18; i++) {
nomCourant = Etoiles[i]+i;
// On duplike le clike en question duplicateMovieClip(Etoiles[i], nomCourant, i);
// On applique la fonction ReTouche
ReTouche();
// On ajoute ces nouvelles coordonnées dans les tableaux respecifs
ValX.splice(0, 0, PosX);
ValY.splice(0, 0, PosY);
}
}
//---------------------------------------------------------------------------------// La fonction ReTouche
//---------------------------------------------------------------------------------
function ReTouche() {
//On empeche l'animation de tourner en boucle
Passage++;
if (Passage>200) {
trace(Passage+" = limite atteinte");
ValX = new Array();
ValY = new Array();
Start();
} else {
// On donne à la variable "Zone" la valeur à ne pas dépasser
Zone = 80;
// On place le clip dupliqué aléatoirement sur la scene
setProperty(nomCourant, _x, Math.random()*600);
setProperty(nomCourant, _y, Math.random()*300);
// On recupere son X et son Y ( Math.floor, c'est pour avoir un entier)
PosX = Math.floor(getProperty(nomCourant, _x));
PosY = Math.floor(getProperty(nomCourant, _y));
// On crée une boucle pour comparer la valeur de X et Y par rapport à celles des tableaux
for (r=0; r<i; r++) {
// On donne une valeure entiere aux X et Y du tableau
ValeurX = Math.floor(ValX[r]);
ValeurY = Math.floor(ValY[r]);
// Condition: Si les coordonné du clip dupliké sont compris dans une zone definie par une des valeures du tableau...
if (PosX>(ValeurX-Zone) and PosX<(ValeurX+Zone) and PosY>(ValeurY-Zone) and PosY<(ValeurY+Zone)) {
// On recommence le positionnement aléatoire jusqu'à ce qu'il y ait une place de libre
trace("boucle r n°= "+r);
ReTouche();
}
}
}
}






En fait est-ce que flash permet, quand on execute un script, de tout arreter et de reprendre au début du script??? de recommencer en fait??

Nalek


Cette discussion est classée dans : aléatoire, jeu, scene, placement, superposition


Répondre à ce message

Sujets en rapport avec ce message

apparition aléatoire [ par tim00 ] je suis en train de faire un mini-jeu et j'aimerais que des animaux ou autres apparaissent sur des bords de l'écrn de jeu et passe d'un bout à l'autre PLACEMENT LIBRE D'UN CLIP SWF DANS UNE SCENE [ par thierrydestroy ] Bonjour, Je souhaiterais placer un clip (une série d'images qui défilent) sur une nouvelle scène mais à un endroit bien précis, à savoir tout en bas Mini projet de "rpg" [ par FlashGabZ ] Bonjour à tous,Avant tout un énorme merci à la communauté FlashKod, formidable source d'information qui m'a accompagné dans mes premiers pas avec flas jeu de cartes [ par FannyC ] Bonjour, voilà une semaine que je débute en flash et c est encore galère... Bon alors j'ai a peu près réussi avec mon jeu de carte (mais que pour une jeu de cartes [ par FannyC ] petite erreur de script... Il me dit: "**Avertissement** Séquence = distribuer, calque = jeu, image = 54 :Ligne 1 : L'identifiant non sensible à la ha piloter des clips depuis la scene principale [ par zzone ] Bonjour,J'ai un probleme pour piloter et "communiquer" avec des clips attachés dynamiquement à ma scene principale.Je voudrais que les clips que je ch Jeu en Flash avec XMLSocket??? [ par arnaud2525 ] Bonjour!J' aimerais faire une sorte de jeu en flash, on déplace son personnage. J' aimerais que plusieurs personnes puissent y jouer en même temps, qu Communication entre Serveur et appli flash. [ par knabis2000 ] Bonjour à tous,Je souhaite développer un petit jeu en flash, histoire de m'amuser .Pour se faire je voudrais savoir si il était possible de remonter galerie papervision [ par bretagne22 ] Je viens de réaliser une galerie d'images avec PV3D et AS3.Tout fonctionne bien sauf...Je n'arrive pas à rendre mes plane interactives. Je voudrais qu JEU DE MASTERMIND(code en flash) [ par kouloud ] Svp  j'ai besoin de vos aides  pour devlopper un  jeu de mastermind (code en flash),merci bien.


Nos sponsors


Sondage...

Comparez les prix

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,373 sec (3)

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