Einige Fragen (hauptsächlich OOP bzw. pointer)
Übersicht BlitzMax, BlitzMax NG Allgemein
SergeBetreff: Einige Fragen (hauptsächlich OOP bzw. pointer) |
Mi, Jan 12, 2005 23:54 Antworten mit Zitat |
|
---|---|---|
So da ich diesbezüglich in der Modulbeschreibung zumindest keine Hilfe gefunden habe. Habe was OOP angeht nur mal vor einem Jahr etwas Erfahrung gesammelt in C++
1. Ein Type kann nicht die eigenschaften von 2 verschiedenen Klassen verändern oder? Ich habe z. B. zwei Grundtypes, Type A und Type B Alle anderen sollen entweder die nur die Eigenschaften von Type A, nur die Eigenschaften von Type B oder aber beide eigenschaften vererben. Das letztere geht nicht oder etwa doch? 2. Konstructur und Destructur in BM. ist "new" der constructor? kann man auch folgendes machen: Type A besitzt einen Konstructor Type B verärbt die Eigenschaften von Type A und überschreibt das "new" von Type A mit einem eigenem "new". Kann man dann mit Super.new() trotzdem die new funktion von Type A ansprechen? Was ist der Destruktor? Und wie lösche ich eine essenz eines Types wieder? (oder geht es nur mit handle freigeben + Flushmem?) 3. Folgendes Beispiel: B = new blabla B = new blabla Somit geht das Handle auf das zuerst erzeugte Element verloren, wird die Essenz mit Flushmem dann aus dem Speicher gelöscht? Wie siehts mit dem folgendem aus: B = new blabla C = B B = new blabla ? 4. Pointer auf Funktionen. Wie funktioniert das? Habe darüber nix gefunden. Also könnte ich dann den Pointer auf eine Funktion an eine Variable übergeben und über diese Variable die Funktion aufrufen? z. B. Function testtest(a,b) A = pointer auf testtest A(50,100) oder wie darf man das verstehen? 5. Folgendes Beispiel: Type A Type B extend A Type C extend B alle drei besitzen die selbe Funktion "test" wenn ich jetzt in einer essenz von type C Super.test aufrufe, wird dann die "test" - Funktion von Type B aufgerufen oder A? Für Hilfe bzw. erklärungen danke ich schonmal Gruß Serge |
||
http://www.dark-matter-soft.de |
Jolinah |
Do, Jan 13, 2005 1:32 Antworten mit Zitat |
|
---|---|---|
1. Bin ich mir nicht sicher.
2. New ist der Konstruktor, Delete der Destruktor. Beide sind aber etwa speziell in BMax und können keine Parameter annehmen. Daher empfiehlt es sich eine statische Funktion zu schreiben die eine neue Instanz zurück gibt. Super.New() sollte theoretisch funktionieren, bin ich mir aber auch nicht ganz sicher. 3. Genau, es wird immer gezählt wie viele Handles etc. es noch gibt die auf ein Objekt zeigen. Flushmem löscht dann die Objekte aus dem Speicher die eben keine links mehr haben. 4. Code: [AUSKLAPPEN] Local pointerfunc(bla:Byte)
Function myfunc(param1:Byte) Print "HALLO WELT" End Function pointerfunc = myfunc pointerfunc(2) 5. Müsste man mal testen |
||
Serge |
Do, Jan 13, 2005 18:04 Antworten mit Zitat |
|
---|---|---|
ok danke bis hierher,
hier noch einige Fragen bezüglich BB allgemein: 6. Wie kann ich nur einen Bereich eines Bildes anzeigen? Drawimagerect() scheinen dazu jetzt ja 2 Parameter zu fehlen, das offsetx bzw. y. Damit scheint doch eine Funktion zu fehlen um z. B. aus einem Tileset einzelne Tiles anzuzeigen? Wie kann man sowas lösen, muss man das Bild dazu jetzt in kleine Sprites zerschnipseln? 7. Womit spielt man Hintergrundmusik ab? mit den Soundbefehlen? kann man mit loadsound auch .mp3's laden? 8. Playsound() gibt einen Channel zurück. Wird der Channel wieder freigegeben sobald der Sound zuende gespielt wurde? (falls er nicht repeated wird) edit: 9. Wie lautet die funktion die die seit dem start abgelaufene Zeit zurückgibt? |
||
http://www.dark-matter-soft.de |
Serge |
Do, Jan 13, 2005 21:24 Antworten mit Zitat |
|
---|---|---|
Hoffe mir kann jemand Antworten darauf geben ^^
hab nämlich noch weitere Fragen: 10. Gibt es einen Befehl der mir den aktuellen Grafikspeicher anzeigt? So wie der Befehl für den Arbeitsspeicher. 11. Wenn man das Spiel mit alt+tab minimiert und dann wieder maximiert, müssen die Grafiken neu geladen werden oder kümert sich BM selber darum? bzw. klappt es dann auch auf allen systemen? |
||
http://www.dark-matter-soft.de |
bruZard |
Do, Jan 13, 2005 21:31 Antworten mit Zitat |
|
---|---|---|
Serge hat Folgendes geschrieben: 11. Wenn man das Spiel mit alt+tab minimiert und dann wieder maximiert, müssen die Grafiken neu geladen werden oder kümert sich BM selber darum? bzw. klappt es dann auch auf allen systemen?
Diese Frage kann Dir wahrscheinlich nicht mal Mark selbst beantworten ... selbst simple Tastatur Eingaben scheinen nicht auf allen System gleich zu laufen ... die Zweifel an der gross gelobten CrossPlatform werden langsam immer lauter. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
Serge |
Do, Jan 13, 2005 21:37 Antworten mit Zitat |
|
---|---|---|
Naja mit allen System meine ich in erster linie alle Windows Systeme
Bei PB war es so, dass man sich selbst darum kümmern musste die Grafiken wiederzuladen beim minimieren mit alt+tab und das hat eigentlich wunderbar geklappt. |
||
http://www.dark-matter-soft.de |
Dreamora |
Do, Jan 13, 2005 21:41 Antworten mit Zitat |
|
---|---|---|
Die Windowsbeta hat aktuell allgemein Probs mit den Grafiken:
minimieren -> alle quads und text sind weiss wenn man im programm "graphics" nochma aufruft und die texturen neu lädt, hilft das zb net, es bleibt alles weiss. Aber dafür ist die Beta ja da, um so probleme zu lösen. Was die Win Kompatibiltät betrifft: Wir sind langsam an dem Punkt wo man einen NT Kernel voraussetzen darf -> Windows 2000 oder XP. BM ist ja nicht mehr für steinzeitkisten gedacht ( die einzige entschuldigung für ein non-multitask Absturz-OS wie Win98 / ME ), das sieht man schon am OpenGL und Mark's Worklog. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
- Zuletzt bearbeitet von Dreamora am Do, Jan 13, 2005 22:55, insgesamt einmal bearbeitet
D²O |
Do, Jan 13, 2005 21:44 Antworten mit Zitat |
|
---|---|---|
Hi Serge,
das hängt vieleicht auch von der GrafikKarte ab. Z.B. konnte ich alle Unreal Tournament spiele mit einer Nvidia Karte mit alt+enter zwischen Fenster und vollbild wechseln, mit meiner ATi hängt sich das spiel, nachdem ich wieder in den Vollbildmodus will, auf. |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
Übersicht BlitzMax, BlitzMax NG Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group