Pseudo Klasse
Übersicht

DeadMattBetreff: Pseudo Klasse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi ^^
Ich bin noch recht neu was BlitzBasic angeht doch hab ich schon Erfahrung mit C++, Java usw. gemacht und vermisse etwas die Klassen und Methoden.... nun dachte ich mir bau ich mir sowas selber ^^' Code: [AUSKLAPPEN] Type Spieler Field name$ Field pic Field where_pic Field frame_x# Field frame_y# Field punkte Field x# Field y# Field frame End Type ;Eine Art Konstruktor, in dieser Funktion werden die ersten Werte gesetzt! Function C_SpielerKonst(C_instanz, C_name$, C_where_pic, C_pic, C_frame_x#, C_frame_y#, C_punkte, C_x#, C_y#, C_frame) C_instanz\name$ = C_name$ ;wird der Name des Spielers gesetzt C_instanz\where_pic = C_where_pic ;Wo liegt das pic :) C_instanz\pic = C_pic ;wie heisst das Bild im code C_instanz\frame_x# = C_frame_x ;Breite eines Frames C_instanz\frame_y# = C_frame_y ;Hoehe eines Frames C_instanz\punkte = C_punkte ;hier die Punkte C_instanz\x# = C_x# ;Position X C_instanz\y# = C_y# ;Position Y C_instanz\frame = C_frame ;Frame Position C_pic = LoadAnimImage (C_where_pic, C_frame_x, C_frame_y, 0, 12) End Function Die "Methode" soll eine art Konstruktor sein ^^ doch will er C_instanz nicht als typ ansehen.....gibts da ne moeglichkeit? oder muss ich das alles per hand machen? |
||
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du denn C_instanz erstellt? Also mit:
Code: [AUSKLAPPEN] C_instanz.Spieler = New Spieler bevor du es an die Funktion übergibst? ~EDIT~ doch nicht ![]() Hab den Code ohne irgendwas getestet, "Variable must be a Type". Guck dir den Befehl Handle und Object an,damit gehts! |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Function bla(c_instanz.spieler,c_...)
Handle und Object haben damit rein gar nichts zu schaffen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Willi die Rübe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst die C_Instanz Variable auch als Type Variable im Funktionsheader deklarieren:
Code: [AUSKLAPPEN] Function C_SpielerKonst(C_instanz.spieler, C_name$, C_where_pic, C_pic, C_frame_x#, C_frame_y#, C_punkte, C_x#, C_y#, C_frame)
Und für den Falle das das TypeHandle noch nicht erstellt wurde: Code: [AUSKLAPPEN] If Handle(C_Instanz)=0 Then C_instanz = New Spieler
Code: [AUSKLAPPEN] Type Spieler Field name$ Field pic Field where_pic Field frame_x# Field frame_y# Field punkte Field x# Field y# Field frame End Type Function C_SpielerKonst(C_instanz.spieler, C_name$, C_where_pic, C_pic, C_frame_x#, C_frame_y#, C_punkte, C_x#, C_y#, C_frame) If Handle(C_Instanz)=0 Then C_instanz = New Spieler C_instanz\name$ = C_name$ ;wird der Name des Spielers gesetzt C_instanz\where_pic = C_where_pic ;Wo liegt das pic :) C_instanz\pic = C_pic ;wie heisst das Bild im code C_instanz\frame_x# = C_frame_x ;Breite eines Frames C_instanz\frame_y# = C_frame_y ;Hoehe eines Frames C_instanz\punkte = C_punkte ;hier die Punkte C_instanz\x# = C_x# ;Position X C_instanz\y# = C_y# ;Position Y C_instanz\frame = C_frame ;Frame Position C_pic = LoadAnimImage (C_where_pic, C_frame_x, C_frame_y, 0, 12) End Function Greets Willi |
||
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX At the Farewell Party visit: MySpace | Homepage |
DeadMatt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke fuer die Antworten ^^ waren beide gut nur habe ich bei beiden Loesungen ein und das selbe Problem: Der findet das Bild nich!
Main.bb Code: [AUSKLAPPEN] Graphics 800, 600, 32, 0
SetBuffer BackBuffer() ;--- ;Spieler 1 Deklarieren Spieler1.Spieler = New Spieler C_SpielerKonst(Spieler1.Spieler ,"One", "sprite\char.bmp", "Char", 43, 41, 0, 100, 5, 0) Include "player_class.bb" ;--- Repeat DrawImage Spieler1\pic, Spieler1\x#, Spieler1\y#, Spieler1\frame Flip Until KeyHit(1) Der Parameter "Spieler1.Spieler" hab ich auch schon nen String versucht einzugeben ^^ da bin ich mir nich so sicher was da hin muss, klappt beides jedenfalls nich player_class.bb: Code: [AUSKLAPPEN] Type Spieler
Field name$ Field where_pic Field pic Field frame_x# Field frame_y# Field punkte Field x# Field y# Field frame End Type ;Eine Art Konstruktor, in dieser Funktion werden die ersten Werte gesetzt! Function C_SpielerKonst(C_instanz.Spieler ,C_name$, C_where_pic, C_pic, C_frame_x#, C_frame_y#, C_punkte, C_x#, C_y#, C_frame) ;If Handle(C_instanz)=0 Then C_instanz = New Spieler C_instanz\name$ = C_name$ ;wird der Name des Spielers gesetzt C_instanz\where_pic = C_where_pic ;Wo liegt das pic :) C_instanz\pic = C_pic ;wie heisst das Bild im code C_instanz\frame_x# = C_frame_x ;Breite eines Frames C_instanz\frame_y# = C_frame_y ;Hoehe eines Frames C_instanz\punkte = C_punkte ;hier die Punkte C_instanz\x# = C_x# ;Position X C_instanz\y# = C_y# ;Position Y C_instanz\frame = C_frame ;Frame Position C_pic = LoadAnimImage (C_where_pic, C_frame_x, C_frame_y, 0, 12) End Function es kommt immer image does not exist |
||
![]() |
Willi die Rübe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst im Header C_where_pic als String deklarieren:
Function C_SpielerKonst(C_instanz.Spieler ,C_name$, C_where_pic$, C_pic, C_frame_x#, C_frame_y#, C_punkte, C_x#, C_y#, C_frame) |
||
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX At the Farewell Party visit: MySpace | Homepage |
DeadMatt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
genau das hab ich auch gerade gedacht geht aber trotzdem nicht....
hab schon versucht Spieler1\pic als string zu machen aber dann koennte der da wohl kaum noch ordentlich ne grafik reinladen...denke da hakt das |
||
DeadMatt |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
*g* habs gefunden *peinlich*
Code: [AUSKLAPPEN] C_instanz\pic = C_pic
C_instanz\pic = LoadAnimImage (C_where_pic$, C_frame_x, C_frame_y, 0, 12) *g* hab immer versucht nen string reinzuschreiben ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group