Hallo
Die Frage ist, wei sprichst du die einzelnen MC`s an und wie verteilst du sie?
Hallöchen!
Ich habe mehrere MC mit einer festen Startposition auf meiner Bühne.
Wenn ich einen Button betätige werden alle MCs auf der Bühne verteilt - das klappt auch...
Allerdings soll immer zufällig einer der MCs an der Ausgangsposition bleiben.
In den MC habe ich jeweils die Startposition mit z.B.
_x = 10;
_y = 15;
(ist das so richtig?) angegeben ...
Welchen Befehl muß ich denn auf den Button legen, damit immer einer der Clips liegen bleibt?
Freue mich über einen Tipp!
Lieben Gruß
Panicpixel
Hallo
Die Frage ist, wei sprichst du die einzelnen MC`s an und wie verteilst du sie?
Gruß
Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.
4bugs
Home
Amazon Wunschzettel
Hallo Wanderratte!
die MCs werden mit einem Button folgendermaßen verteilt:
on (press) {
rand = 100;
for (teil=1; teil<17; teil++) {
_root["a" add teil]._x = rand + random( (400- 2*rand) ); // wenn bühnenbreite 500
_root["a" add teil]._y = rand + random( (450 - 2*rand) ); // wenn bühnenhöhe 450 ist
}
}
Die MCs werden dann mit onClipEvent angesprochen, um sie z.b. zu draggen ...
Hast Du da ne nochmal ne Idee?
![]()
Lieben Gruß
Heike
Also wenn ich dich richtig Verstanden habe willst du, dass einer von deinen MC`s zufällig auf dem Ausgangspunkt stehen bleibt.
Dann versuche es mal so
on (press) {
zuF=random(17);
rand = 100;
for (teil=1; teil<17; teil) {
if(zuf != teil++){
_root["a" add teil]._x = rand + random( (400- 2*rand) ); // wenn bühnenbreite 500
_root["a" add teil]._y = rand + random( (450 - 2*rand) ); // wenn bühnenhöhe 450 ist
}
}
}
Also kurz zur Erklärung. Der Var zuF wird ein Zufallswert zwischen 0 und 16 zugewiesen. Innerhalb deine Schleife, wird eine if abfrage durchlaufen, solange der Wert der Variable zuF ungleich des Wertes von der Var teil ist, wird der Code ausgeführt und dein MC verschoben. Sobald aber die Werte gleich sind, wird der Code nicht ausgeführt und der MC bleibt, wo er ist.
Geändert von Wanderratte (01.03.2004 um 22:19 Uhr)
Gruß
Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.
4bugs
Home
Amazon Wunschzettel
Hey Wanderratte!
Vielen Dank !!
Du hast mir sehr geholfen!!!
Lieben Gruß
Panicpixel
Hallo Wanderratte!
Ähem - ich hätte da doch noch eine Frage... *hüstel*
Kann ich meinem MC, der jetzt zufällig auf der Bühne liegen bleibt auch noch sagen, dass er dann alle onClipEvent-Anweisungen nicht mehr ausfüren soll? Also, dass er dann z.B. auch nicht mehr bewegt werden darf etc. ...
Meine Versuche scheitern alle kläglich ...
Lieben Gruß
Panicpixel
Ich habe jetzt nicht getestet, aber das müßte so gehen.
on (press) {
zuF=random(17);
rand = 100;
for (teil=1; teil<17; teil++) {
if(zuf != teil){
_root["a" add teil]._x = rand + random( (400- 2*rand) ); // wenn bühnenbreite 500
_root["a" add teil]._y = rand + random( (450 - 2*rand) ); // wenn bühnenhöhe 450 ist
_root["a" add teil].pruef = true;
}
if(zuf == teil)
{
_root["a" add teil].pruef = false
}
}
und auf deinen Button
on(release)
{
if(pruef == true){
deine Anweisung;
}
Geändert von Wanderratte (08.03.2004 um 22:37 Uhr)
Gruß
Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.
4bugs
Home
Amazon Wunschzettel
Hallo!
Sorry, den Beitrag hatte ich total verbaselt...
Da tüftel ich seit Tagen rum, und Dein Tipp war ganz gut ...
Allerdings klappt das manchmal und manchmal nicht. Also der MC an der Startposition ist nicht mehr dragbar -super!!!
Allerdings lassen sich manchmal dann unterschiedliche Clips, die gemischt wurden auch nicht mehr ziehen.
Hab ich da falsche Zuweisungen gemacht oder eine Abfrage vergessen?
Das steht auf meinem Clips:
onClipEvent (load) {
dragged==false;
}
onClipEvent (mouseDown) {
if(pruef == false){
stopDrag();}
if (this.hitTest (_root._xmouse, _root._ymouse, true)) {
if (pruef == true){
this.startDrag (false);
dragged=true;
}
}
}
dann die onClipEvent (mouseUp) -Befehle...
Hoffe Du bist nicht zu verärgert wegen meines doppelten Postings und könntest nochmal helfen?
Das wäre so super!!!
Lieben Gruß + schönen Tag!![]()
Darum mache dir mal keine Sorgen, so schnell laß ich mich nicht ärgern. Ich haue kurz auf dem Tisch und dann ist die Sache in der Regel für mich gegessen. Fehler machen halt alle malOriginal geschrieben von Panicpixel
Hoffe Du bist nicht zu verärgert wegen meines doppelten Postings und könntest nochmal helfen?
Das wäre so super!!!
Lieben Gruß + schönen Tag!![]()
So nu zu deinem Problem, auf dem ersten Blick kann ich keinen Fehler sehen ausser hier in dem Bereich, da verwendest du zwei Gleichheitszeichen. Dann ist es keine zuweisung mehr. Also nimm eins mal weg
onClipEvent (load) {
dragged=false;
}
Ich hoffe das war es. Wenn nicht poste bitte einmal deinen ganzen Code hier und nimm dafür oben den Button php. Dann ist der Code übersichtlicher![]()
Gruß
Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.
4bugs
Home
Amazon Wunschzettel
Ach, das wäre schön gewesen, wenn das nur das übersehene Gleichheitszeichen gewesen wäre ... War´s aber nicht!?
Komisch finde ich ja auch, dass es manchmal geht und manchmal nicht ....
Hier nochmal der Code, der auf den MCs liegt
und mein Mischbefehl:PHP-Code:onClipEvent (load) {
dragged=false;
}
onClipEvent (mouseDown) {
if(pruef == false){
stopDrag();
}
if (this.hitTest (_root._xmouse, _root._ymouse, true)) {
if (pruef == true){
this.startDrag (false);
dragged=true;
}
}
}
onClipEvent (mouseUp) {
if(this.hitTest(_root._xmouse, _root._ymouse, true)){
if (dragged==true){
stopDrag ();
if (this.hitTest (_root.treffer)) {
setProperty("", _x, "509");
setProperty("", _y, "114");
_root.nextFrame();
} else {
if (this._x >= 366 && this._x <= 679 && this._y >= 36 && this._y <= 405){
this._x=76
this._y=44
_root.falsch.gotoAndPlay(2);
}
}
dragged=false;
}
}
}
PHP-Code:stop();
zuF=random(16)+1;
rand = 100;
for (teil=1; teil<17; teil) {
if(zuf != teil++){
_root["a" add teil]._x = rand + random( (400- 2*rand) );
_root["a" add teil]._y = rand + random( (450 - 2*rand) );
_root["a" add teil].pruef = true;
}
if(zuf == teil)
{
_root["a" add teil].pruef = false
}
}
Tja und nun!? Verdammt.
Fällt Dir da´n fehler auf?
Gruß Panicpixel
So kann ich auch keinen Fehler entdecken.
In deinen Aufruf ist ein kleiner Fehler drin, der mir aber Unterlaufen istDas dürfte zwar nicht zu deinem Problem führen, aber der Vollstädigkeitshalber habe ich ihn jetzt ausgebessert.PHP-Code:stop();
zuF=random(17);
rand = 100;
for (teil=1; teil<17; teil++) {
if(zuf != teil){
_root["a" add teil]._x = rand + random( (400- 2*rand) );
_root["a" add teil]._y = rand + random( (450 - 2*rand) );
_root["a" add teil].pruef = true;
}
if(zuf == teil)
{
_root["a" add teil].pruef = false
}
}
So und nun kommt ein Versuch.
Also diesen Code brauchst du nicht
und hier änderst du ihn folgendermaßen ab.PHP-Code:onClipEvent (load) {
dragged=false;
}
Falls es immer noch nicht ist, dann bleibt dir nichts anderes übrig als alle Abfragen mit dem Befehl trace zu überprüfen. Irgendwo wird dann eine Variable nicht richtig übergeben.PHP-Code:onClipEvent (mouseUp) {
if(this.hitTest(_root._xmouse, _root._ymouse, true)){
if (pruef==true){
this.stopDrag ();
if (this.hitTest (_root.treffer)) {
setProperty("", _x, "509");
setProperty("", _y, "114");
_root.nextFrame();
} else {
if (this._x >= 366 && this._x <= 679 && this._y >= 36 && this._y <= 405){
this._x=76
this._y=44
_root.falsch.gotoAndPlay(2);
}
}
}
}
}
Gruß
Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.
4bugs
Home
Amazon Wunschzettel
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)