Gelöst ! Aber vom feinsten :)
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
c64Betreff: Gelöst ! Aber vom feinsten :) |
Di, Aug 16, 2005 10:49 Antworten mit Zitat |
|
---|---|---|
THX @Klepto2...
und an alle anderen die versucht haben zu Helfen ! is n COoLer Beispiel code geworden ! (find ich) http://www.blitz-pasting.net/i...&id=66 |
||
- Zuletzt bearbeitet von c64 am Mi, Aug 17, 2005 19:49, insgesamt einmal bearbeitet
Jan_Ehemaliger Admin |
Di, Aug 16, 2005 11:19 Antworten mit Zitat |
|
---|---|---|
ungetestet!
BlitzBasic: [AUSKLAPPEN]
|
||
between angels and insects |
c64 |
Di, Aug 16, 2005 11:55 Antworten mit Zitat |
|
---|---|---|
Thx , werd ich gleich ma probiern. | ||
c64 |
Di, Aug 16, 2005 19:39 Antworten mit Zitat |
|
---|---|---|
So bin schon n bisl weiter ,! .. aber nun wie bekomm ich den
meine Objecte in in AREAS ?? siehe Link : http://www.blitz-pasting.net/i...amp;id=186 Starten mit Main.bmx in GUI2.bmx liegt das Prob ! (code läuft .. hab aber Brett vorm Kopf wie weiter ??!!) also Ich creiere eine Area und möchte in ihr Objecte setzen Aber wie, |
||
Dreamora |
Di, Aug 16, 2005 19:42 Antworten mit Zitat |
|
---|---|---|
~VERSCHOBEN~ Falsches Forum, da es sich hierbei um ein BM Anfängerproblem handelt. Dreamora |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
c64 |
Di, Aug 16, 2005 19:52 Antworten mit Zitat |
|
---|---|---|
Allgemein (BM)
Fragen, die unabhängig von der Grafik gestellt werden, wie zum Beispiel Fragen zu Formeln und Sounds oder Dinge zur allgemein gültigen Syntax, wie der Umgang mit Banks oder Types achso schon klar,... Na ja egal hauptsache mir Hilft wer !!!!,,, |
||
Dreamora |
Di, Aug 16, 2005 19:55 Antworten mit Zitat |
|
---|---|---|
Extrahier den Problembereich und poste ihn hier inklusive einer Beschreibung wo das Problem ist bzw. was nicht so funktioniert wie du es dir vorstellst oder so.
Dann werde ich oder jemand anderst sofort helfen, keine Sorge Ich habe jedoch nicht vor halbe Systeme durchzugraben. Und Fragen die keiner fortgeschrittenen Natur entsprechen gehören in den Beginners-Corner wie Fragen wie man eine TList nutzt und dergleichen. Dazu gehören ebenfalls die normalen B3D - BM Wechselprobleme, wofür es im englischen Forum sogar einen Thread gibt für Umsteiger (ebenfalls im Beginners Teil des BM Boards). |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
klepto2 |
Di, Aug 16, 2005 21:58 Antworten mit Zitat |
|
---|---|---|
Also ich nehme mal an du möchtest Buttons und co hinzufügen.
Dann würde ich nicht eine Allgemeine TList für das Object Anlegen, sondern für jedes Object extra : Field Button_List:Tlist Field TextBox_List:TList usw. Danach erstellst du ein weiteres Object zb: Code: [AUSKLAPPEN] Type TButton Field X,Y End Type In diesem Object erstellst du eine CreateFunktion : Code: [AUSKLAPPEN] Type TButton Field X,Y Function Create(_X,_Y,_Area:Gui_Area) Local _B:TButton = New TButton _B.X = _X _B.Y = _Y _Area.Button_List.Addlast(_B) End Function End Type Dazu noch die anderen Methoden usw. Danach musst du in deinem Gui_Area Type nur noch die einzelnen Listen durchgehen und die zur Area dazugehörigen Objekte zeichnen. |
||
c64 |
Mi, Aug 17, 2005 9:11 Antworten mit Zitat |
|
---|---|---|
hey Dreamora , ja hast ja recht bin ja n BM newby ,keine frage !
aber ich habs halt so gepostet weil wies oben schon steht, n semantik , bzw . Syntax Problem ist. Und ich eXtrem BB versaut bin d.h. umgewöhnen *grrr , is nich easy und dann noch mit zeitdruck im nacken ,, hab nur noch die woche urlaub , und wenn ich arbeite kaum zeit zum proggen, und was dazu gehört (Lernen ! ). und Klepto2 danke ! , hmm is ne idee aber in bb hab ich es anders gelöst und so in etwa wollte ich es auch in Bmax machen. Aber nun weiss ich ja nich ob ich so, oder so am besten fahre,? hmm ich glaube die Woche werd ich wohl nur mit Virtuellen Bastelein und probierspielchen verbringen dürfen BB:lösung (pseudo Code) Code: [AUSKLAPPEN] 'Area Type hier defieniert ,,, type Objecte field position_ field in_AREA Field _what_to_DO end type AREALOOP :: (for each schleifen ! beide !) OBJECTLOOP :: if area_ID=OBJECT\IN_AREA select object\what_to_do case a_Buttton function a_Button() case a_IMAGE function a_Image() case a_Scroll_BAR function a_scroll_bar() end select end if function A_Button() end function etc. Dies machte ich so damit ich nur zwei Typecollectionen (klassen) habe, einmal Areas (windows) und Objecte , die halt infos über position etc. hatten und letztendens durch ihr Style (what_to_DO) Atribut,in einer Select Case schleife zu ihrer eigentlichen Aufgabe (Function) gelotst werden. Aber problem an der sache jede Area fährt einmal die gesamten Objecte ab und sollte das Object in diese area gehören weiss es das Object. Aber ich will das die Area weiss welche Objecte zu ihr gehören. was man durch Bmax mit na Tlist lösen kann so weit bin ich ja, Nur beim umsetzen happerts noch n bisl Ich wollte es auch so beibehalten vielleicht ?!., ?? Aber Bmax bietet ja nun neue Möglichkeiten Werde aber versuchen deinen ansatz auch auszuprobieren, Thx ! SO Frühstück und dann gehts los . |
||
c64 |
Mi, Aug 17, 2005 13:02 Antworten mit Zitat |
|
---|---|---|
Code: [AUSKLAPPEN] Strict ' EINE TLIST erstellen mit dem namen MEIN_SCHRANK Global Mein_SCHRANK:TList ' Einen Type erstellen mit den namen Tschublade Type TSchublade Field Link_ID:TLink ' Speichert das Handle Field wofuer:String ' Der Ordnung wegen bekommt sie eine inhaltsbeschreibung Field Platz:Byte ' für jeden Inhalt bekommt die Schublade was zu Field Groesse:Byte ' übersteigt es den Platz wird der neue Inhalt verworfen Field Inhalt:TList 'Hier soll jede Schublade ihren eigenen Inhalt bekommen 'doch leichter gesagt als getan .... ' 'Function zum erstellen & Methode ,einer neuen Schublade '-------------------------------------------------------- Function create:Tschublade(wofuer$,Groesse) Local neue_Schublade:Tschublade neue_Schublade=New Tschublade neue_Schublade.wofuer=wofuer 'RETURN // hier soll die Adresse List Pos der ,neuen_schublade Zurück ' // gegeben werden , nur wie ? damit siehe ERROR POS bei PRG. Start !! End Function Method New() If Mein_schrank=Null Mein_schrank=New TList Mein_schrank.AddLAst(Self) End Method Function createInhalt:Tschublade(in_schublade:TLink,ich_bin:String) Local neuer_inhalt:Tinhalt neuer_Inhalt=New Tinhalt neuer_Inhalt.ich_bin=ich_bin EndFunction End Type '------------------------------------------------------------ Type TInhalt 'Function zum erstellen & Methode ,eines neuen Inhaltes '------------------------------------------------------- Method New() If mein_schrank <> Null Local tst:Tschublade ' so ich kann alse nicht die Schublade ansprechen weil ja ' jetzt an dieser stelle irgentwie keine is , also wie ' kann ich an die Schublade springen die bei ' '>> Function CreateINhalt:tschublade (in_SCHUBLADE,..... ' ' von der ich ja noch keine Adresse hab es sei den ' '>> Return neue_schublade ' 'sollte doch so hinhauen wie ich denke If tst.Inhalt=Null tst.Inhalt=New TList tst.inhalt.addlast(Self) EndIf End Method Field ICH_BIN:String Field in_schublade:Short End Type '/////////////////////////////////////////////// ' ' ' Global schb_001 = Tschublade.create ("KLAMOTTEN",10) Global schb_002 = Tschublade.create ("Zeugs ",10) Global schb_003 = Tschublade.create ("Kramms ",10) Global schb_004 = Tschublade.create ("Neues ",10) Global zeugs_001 = Tschublade.createInhalt (schb_002,"Kabel") ' ' ' '/////////////////////////////////////////////// Graphics 800,600,16,60 SetClsColor 0,0,100 '/////////////////////////////////////////////// ' ' ' ' MAINLoop,.,., Repeat Local schubLaden_ID:TschubLade.. ,x,y.. ,Inhalt_ID:Tinhalt Cls SetColor 200,200,200 DrawText "HIT a ESC",25,25 If Mein_Schrank <> Null For schubLaden_ID=EachIn Mein_schrank If schubladen_ID.inhalt <> Null For inhalt_ID=EachIn schubladen_ID.inhalt Next EndIf y=50 DrawText schubladen_ID.wofuer,x+30,y x=x+170 Next y=100 End If Flip If KeyHit(key_escape) End FlushMem Forever ' ' ' '/////////////////////////////////////////////// |
||
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group