| |
|
|
| Hallo!
Ich programmiere ein Adevnture in dem es möglich sein soll, sowohl hinter als auch vor einem Gegenstand zu laufen. Dafür ist es nötig die Layer zu tauschen sobald man die Höhe (Y) des Gegenstandes über- oder unterschreitet. Lange Rede kurzer Sinn, das Swappen bringt alles zum stehen obwohk es eine 0 (=ok) zurückgibt. Hier ein simples Beispiel, das zwar keinen Sinn macht aber trotzdem funktionieren sollte:
player&=InitSprite(spriteplane&,%HDC,bg1&,bg2&,0,0,32,32,4,1,20,50,270,1,1)
gegenstand&=InitSprite(tischbmp&,%HDC,bg1&,bg2&,0,0,254,73,1,1,0,94,235,0,0)
SwapSpriteLayers(player&,gegenstand&)
Wenn die Layer vertauscht wurden ist es nicht mehr möglich den Spieler Sprite zu bewegen. Hat jemand eine Ahnung was ich falsch mache?
Gruß, Sven |
|
|
| |
|
|
|
| Hallo Sven,
bei meinen ausgiebigen Tests klappte alles zur Zufriedenheit. Vielleicht kannst du mir den betreffenden Source zum Testen schicken? Werde SwapSpriteLayers() heute Abend ansonsten nochmals testen.
Gruß, Frank |
|
|
| |
|
|
|
| Hallo nochmals,
SwapSpriteLayers() klappt ganz normal, allerdings darf das erste Sprite hierzu nicht verwendet werden. Das erste generierte Sprite stellt einen gewissen Sonderstatus dar, weil es das Endesprite ist in der Reihe aller verketteten Sprites. Kompliziert ? Ok, mein Tipp: Beim Benutzen von SwapSpriteLayers() einfach ein kleines unsichtbares Sprite als erstes generieren, dann gibts keine Probleme mehr.
Gruß, Frank |
|
|
| |
|
|
|
| Hallo,
es war doch noch ein ziemlicher Bug in der Funktion... 8-(( In der nächsten ProSpeed-Version ist der Fehler aber behoben.
Gruß, Frank |
|
|
| |
|
|