Typ Problem in MiniB3D
Übersicht

![]() |
MidimasterBetreff: Typ Problem in MiniB3D |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich konvertiere gerade zum ersten Mal ein B3D-Spiel in MINIB3D, um es auf dem MAC nutzen zu können.
Dabei muss ich ja allen in B3D "undefinierten" Typen jetzt in echte Typen umwandeln. Jetzt bin ich aber an einem Punkt, wo dies in B3D immer ging, aber ich nciht weiß, wie ich es in MINIB3D lösen kann: BlitzBasic: [AUSKLAPPEN] Note = LoadSprite("Noten.png") Das Problem ist nun, dass ich mich ja in MINIB3D für den Type TSprite entscheiden muss, dann aber CopyEntity nicht mehr zur Verfügung steht: BlitzMax: [AUSKLAPPEN] Note:TSprite = LoadSprite("Noten.png") Wie löse ich das grundsätzlich? Ich verwende ja an vielen Stellen einen "Entitiy-Befehl" für einen Sprite. Bei den Bewegungen scheint es ja keine Probleme zu geben: BlitzMax: [AUSKLAPPEN] PositionEntity Note,0,5,5 geht problemlos durch |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schätzungsweise musst du das Ergebnis von CopyEntity, welches vom Typ TEntity ist, zurück nach TSprite casten BlitzMax: [AUSKLAPPEN] Noten[ I ] = TSprite( CopyEntity( Note ) ) |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also damit funktioniert es jetzt.
Vielen Dank, Noobody! "Casten"? hab ich ja noch nie davon gehört. Gibt es da weitere Informationen irgendwo? |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Casten nennt man einfach die explizite oder implizite Umwandlung eines Datentyps in einen anderen. | ||
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 |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Grob gesagt bedeutet es, dass ein Typ umgewandelt wird. In anderen Sprachen (z.B. C++) gibt es da noch verschiedene Varianten (static_cast,...).
Hier, Wikipedia: http://de.wikipedia.org/wiki/Typumwandlung |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst auch die CopyEntity-Methode von TSprite verwenden, dann kriegst du auch direkt wieder ein TSprite zurück:
BlitzMax: [AUSKLAPPEN] Noten[i] = Note.CopyEntity() Geht übrigens auch mit allen anderen Befehlen. Die Funktionen sind nur Wrapper für die eigentlichen Methoden ![]() |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wow, das ist ja dann voll OOP.
Is ja viel schöner als das Original B3D |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group