| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Sep 2003
Beiträge: 56
|
Hallo! Ich habe folgendes Problem: Ich hab ein Flash file in dem 1000 namen random auf einer bühne platziert werden und dann der reihe nach eingefadet werden... Natürlich überlappen sich die erstellten mcs dabei... und jetzt zu meiner Frage: Wie lässt sich dies vermeiden? Klar ist, dass 1000 namen nicht alle auf einmal auf der stage platz haben ohne sich zu überschneiden... Dh man müsste eine art hitTest machen wenn die bilder einfaden... Wäre toll wenn mir da jemand weiterhelfen könnte! lg, ralph ich stell das fla dazu (flas sagen mehr als worte )
|
| | |
| | #2 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
hi, du könntest dir z.B. ein array anlegen in das du immer alle grad sichtbaren mc's mit push reinlegst. wenn der mc futsch ist muss er natürlich auch wieder aus dem array raus... hintergrund ist, wenn du alle sichtbaren mc's beisammen hast, also im array, kannste ja z.B. mit einer schleife dieses array durchlaufen und dann mit einem hitTest checken ob der "neue" mc einen der "alten" berührt... cheers, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Sep 2003
Beiträge: 56
|
Hi salazar! Danke für deinen Hint! Das is ein guter Tipp! Die frage is wie das funktioniert wenn sich das array ja ständig ändert... dh es kommt alle 0,5 sec. oder so ein mc dazu... wann mach ich dann den hittest mit dem array? Das check ich nicht ganz... lg, ralph |
| | |
| | #4 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
hey ho, ich würde eher den gesammtaufbau ein wenig abwandeln. weil... ca. 1000 movieclips auf die bühne zu klatschen ganz schön auf die performance gehen kann. zudem haste so ja das problem, dass alle clips schon so liegen wie sie nunmal per random abgelegt worden sind. da wird dir der hitTest auch nur noch sagen, true, oder false... aber wie gesagt. platziert ist der clip dann ja schon. cheers, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Sep 2003
Beiträge: 56
|
danke! Das versuch ich gerade das so zu machen: Ich attache die mcs nach der reihe und pushe die ids in einen Array... Jetzt hab ich probleme wie ich das array limitiere (auf ca 15 einträge oder so) damit das hittesten auch sinn macht... Hast du eine ahnung wie das geht? Danke nochmal! Ralph |
| | |
| | #6 (permalink) | |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
hi, kannst statt id's auch gleich die mc's ins array pushen ![]() aber davon mal abgesehen.... sehr sehr viele wege führen nach rom. bau erstmal um dein script das nicht zu begin alle mc's auf der stage liegen und poste danach nochmal dein aktuelles script. Zitat:
![]() schreib dir doch eine function die einfach schaut die die length vom array ist... wenn die length z.B. kleiner 15 ist werden neue mc's erzeugt. und wenn nicht dann halt nicht. cheers, sal
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! | |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Sep 2003
Beiträge: 56
|
Ok - hier mal das script... Dazu ist noch zu sagen, dass ich die movieclips nach dem fadeout wieder lösche mit "this.removeMovieClip()"... Er schreibt auch schon brav alle ids in das array... lg, ralph this.timer_mc.onEnterFrame = function() { this.t += 1; if (this.t>=20) { _root.id += 1; _root.checkerArray.push(_root.id); trace(checkerArray); this.t = 0; _root.attachMovie("name_mc","name"+_root.id+"_mc", 1000+_root.id); _root["name"+_root.id+"_mc"].id = _root.id; _root["name"+_root.id+"_mc"]._x = random(924)+10; _root["name"+_root.id+"_mc"]._y = random(456); _root["name"+_root.id+"_mc"].dername.text = _root.wordList[_root.id]; _root["name"+_root.id+"_mc"].dername.autoSize = "left"; _root["name"+_root.id+"_mc"]._xscale = 80+random(100); _root["name"+_root.id+"_mc"]._yscale = _root["name"+_root.id+"_mc"]._xscale; _root["name"+_root.id+"_mc"].onEnterFrame = function() { if (this._x+this._width>1024) { this._x = random(500); } if (this._y<0) { this._y = random(456); } if (this.id == _root.id) { this.gotoAndPlay(2); //delete this.onEnterFrame; } }; } }; |
| | |
| | #8 (permalink) |
| experience++; Registriert seit: Jul 2002 Ort: Düsseldorf
Beiträge: 11.347
|
hm, sorry, aber dein ansatz ist immer noch recht umständlich. hab dir mal eine ganz andere lösung in as2 erstellt! einfach den neuen code nehmen und den alten damit erstzen... aber natürlich nicht dein wordList array löschen ![]() PHP-Code:
__________________
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme! Geändert von salazar (26-05-2009 um 14:49 Uhr) |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Sep 2003
Beiträge: 56
|
Wow - was soll ich sagen - ich werd mir das gleich mal reinziehen!!!! Vielen vielen dank! Solltest du mal ein screendesign brauchen oder sonst wo hilfe... meld dich upward(atttt)gmx.at! Danke nochmal und schönen Tag noch! Ralph |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| hittest |
| Themen-Optionen | |
| Ansicht | |
| |