TList, Denkfehler?
Übersicht

![]() |
s_m_wBetreff: TList, Denkfehler? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe folgenden Type:
Code: [AUSKLAPPEN] Type TFallingTile
Global TFallingTileList:TList = New TList Global Sprite:TImage Global X:Float, Y:Float Global XVel:Float, YVel:Float Global R:Float Function Create:TFallingTile(x:Int, y:Int, Img:TImage = Null) Local NewFallingTile:TFallingTile = New TFallingTile If (Img) NewFallingTile.Sprite = Img Else NewFallingTile.Sprite = TTile.DefaultTile ' Funktioniert defintiv, nicht das Problem EndIf NewFallingTile.X = x NewFallingTile.Y = y TFallingTileList.AddLast(NewFallingTile) Return NewFallingTile End Function Method Draw(Cam:TCam) SetRotation Self.R DrawImage Self.Sprite, Self.X, Self.Y SetRotation 0 End Method End Type erzeuge davon ein paar mit Code: [AUSKLAPPEN] TFallingTile.Create(Rand(0, 300) + 50, Rand(0, 300) + 50)
Und zeichne sie schließlich in meiner Hauptschleife mit Code: [AUSKLAPPEN] For Local FTile:TFallingTile = EachIn TFallingTile.TFallingTileList
FTile.Draw(MyCam) Next jedoch wird irgendwie nur das letzte Element gezeichnet? Wenn ich die Funktionalität für X/YVel einbaue wird das ganze noch komischer, er zeichnet nur ein Element und das wird immer schneller, je mehr Objekte ich erstelle, obwohl sich die Geschwindigkeitsvariablen nicht ändern. Wo ist mein Problem? |
||
Sheep Happens |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
X und Y und die ganzen anderen Instanz-bezogenen Variablen dürfen nicht global sein. Ersetze an den Stellen Global mit Field. ![]() |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
s_m_w |
![]() Antworten mit Zitat ![]() |
---|---|---|
D2006 hat Folgendes geschrieben: X und Y und die ganzen anderen Instanz-bezogenen Variablen dürfen nicht global sein. Ersetze an den Stellen Global mit Field.
![]() ...oha, das erklärt einiges. Dass so ein offensichtlicher Fehler mir soviel Kopfzerbrechen beschert hat.. edit: Naja, vielen Dank! Thread kann gelöscht/geschlossen werden |
||
Sheep Happens |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group