| |||||||
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) |
| Rock'n'Bass Registriert seit: Feb 2006 Ort: Hamburg
Beiträge: 202
| Seltsames Tile-Verhalten ...
Hi Leutz, hab da ein Problem mit einem Script für ein kleines tile-basiertes Programm, das ich schreiben muss. Folgendes sollte dabei geschehen, wenn alles richtig läuft (was es anscheinend noch nicht tut..): 1. Ein Feld von 10x10 Tiles (rote Quadrate) soll mittels attachMovie erstellt und ihr alpha-Wert auf 0 gesetzt werden Test: funktionert einwandfrei 2. Wenn der Mauscursor mit einem der Tiles in Berührung kommt, soll dieses Tile auf alpha=100 und alle umliegenden Tiles (logischerweise 8) auf alpha=20 gestellt werden. Test: Auf den ersten Blick scheints zu funzen, jedoch geschehen bei flotteren Bewegungen immer wieder seltsame Phänomene. Um es klar auszudrücken: Einige Tiles, die garnichts mit den Tiles um den Cursor herum zu tun haben, werden auf alpha=20 gesetzt. Das kann doch garnicht sein oder?? Bitte helft mir! Wär euch sehr dankbar. PS: Um euch anzusehen, wie das aussieht, kopiert einfach folgenden Code ins erste Bild der Hauptzeitleiste und erstellt ein rotes Quadrat namens "tile" (20x20 pixel) mit gleichnamiger actionscriptverknüpfung. Code:
stop();
tilebreite = 20;
tilehoehe = 20;
xtiles = 10;
ytiles = 10;
map = [1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1];
k = 0;
l = 0;
for (i=0;i<=(map.length-1);i++){
attachMovie("tile","tile"+i,i);
_root["tile"+i]._alpha = 0;
_root["tile"+i]._x = 40 + k * tilebreite;
_root["tile"+i]._y = 40 + l * tilehoehe;
k++;
if (k>=xtiles){
trace("k ist groesser als xtiles");
k = 0;
l++;
}
}
_root.onEnterFrame = function(){
k = 0;
l = 0;
for (i=0;i<=(map.length-1);i++){
if (_root["tile"+i].hitTest(_root._xmouse, _root._ymouse)){
//trace("tile"+i+" berührt!");
if (_root["tile"+i]._currentframe == 1){
_root["tile"+i]._alpha = 100;
//--------------------------------------------------
for (j=0;j<=8;j++){
if (j!=4 && _root["tile"+((i-xtiles-1)+k+l*xtiles)]._alpha == 0){
_root["tile"+((i-xtiles-1)+k+l*xtiles)]._alpha = 20;
trace("tile"+((i-xtiles-1)+k+l*xtiles)+" wurde auf bild 2 gesetzt.");
}
k++;
if (j==2 || j==5){
k = 0;
l++;
}
} // Ende for
//--------------------------------------------------
} // Ende if
} // Ende if
} // Ende for
} // Ende onEnterFrame Wie gesagt, wäre euch echt super dankbar. Mach grad praktikum und wenn das richtig läuft wär das megacool.
__________________ ==>remix.nin.com<== // Life Is Too Short For Boring Music! Fantasie ist die einzige Waffe gegen die Wirklichkeit. Geändert von <sVkVmVit> (05-12-2007 um 13:09 Uhr) |
| | |
| | #2 (permalink) |
| Der Wunderhund Registriert seit: Jun 2002 Ort: Hattingen
Beiträge: 10.515
|
Habe es jetzt nicht ausprobiert, aber … Du nummerierst die Tiles ja reihenweise linear durch. Würde das nicht bedeuten, daß wenn Du z.B. die Maus über Tile10 hast (2. Reihe ganz links), das numerische Teile davor – Tile9 – sich aber in der ersten Reihe ganz rechts befinden würde? gruß, gaspode |
| | |
| | #3 (permalink) |
| Rock'n'Bass Registriert seit: Feb 2006 Ort: Hamburg
Beiträge: 202
|
Ok, da hast du natürlich Recht. Das Problem, was du hier beschreibst hab ich aber mittlerweile hinbekommen. Nur ändern sich bei mir eben auch Tiles an falschen Orten, wenn ich mich mit dem Cursor irgendwo in der Mitte des Feldes (schnell) bewege, was ja theoretisch nciht sein dürfte.. ![]() Das ist das, was ich bis jetzt noch nicht wirklich verstehe. Aber erstmal danke für deine Antwort.
__________________ ==>remix.nin.com<== // Life Is Too Short For Boring Music! Fantasie ist die einzige Waffe gegen die Wirklichkeit. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |