* Für 3.3 Nutzer *
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Versteh ich nicht.NicTheQuick hat geschrieben:Das wüsstest du, wenn dich ein bisschen mehr über die PB-Versionen informieren
würdest.
Sollte die neueste nicht die bessere sein?
» PureBasic 4.30
» AMD Athlon II X2 240 | 2048 RAM | Win XP SP 3
» Projekt(e): Fusion (eingestellt), SAS (eingestellt), Moviez
» AMD Athlon II X2 240 | 2048 RAM | Win XP SP 3
» Projekt(e): Fusion (eingestellt), SAS (eingestellt), Moviez
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Kenne das Problem @ NictheQuick
Hab auch noch die Alte 3.3 Version von Topas.
Wollt mit immer die 4.0 version besorgen.. aber im Gegensatz zur 3.3 version hab ich die noch nie im Laden gesehen und ich bestelle im Allgemeinen nichts im Internet, ist reine PRinzipen sache.. Zahle alled ausser meiner Miete Bar, da weiss ich immer weiviel ich noch hab und das ichs in den Händen habe ^^
Aber mal ne andere frage jetz speziefisch...
Ich programmiere eher nur rein aus Hobby und kenn lange nicht alle Features zu PB, nichtmal zu 3.3..
Aber mir ist heute auf Arbeit ne Idee gekommen für nen Spiel was sehr aufwendig sein wird aber ich find ich idee einfach zu toll um sie gleich weiter fliegen zu lassen ^^
Ich hab bisher eigentlich immer im Openscreen modus nen bissl hin und her programmiert und nur um mal Gadgets auszu probieren in Openwindow...
Ich sehe doch richtig das OpenWindowedscreen() mir nen Screen im Fenster erstellt wie ich normalerweise im fullscreen habe oder?
Meine Idee lag nähmlich darin Das das Spielfeld wo der Character läuft in diesem Screen läuft und ich Links daneben die Torso fürs Drag und Drop stelle inventar und dies dann mit Imagegadgets mache..
Ist das Rein technisch machbar mit 3.3 oder allgemein Garnicht?
Oder bin ich mit meinem Obigen Ansatz was Openwindowedscreen angeht schon auf dem Holzweg? Weil bei mir nicht mal das Funktionieren will ^^
Weis auch nicht.. ich erstelle ein Fenster und gebe darin den bereich des Screens an ich sehe da zwar kurz Genau das feld wo dies sein sollte danach Bekomm ich aber die mitteilung keine Rückmledung oO
MfG Sahrin
Edit: Okay also mit dem Openwindow hab ichs den hinbekommen nachdem ich nen Waitwindowevent mit eingebaut habe, habe und einfach en Tastenabfrage...
Allerdings läuft diese nicht all zu flüssig...
Wirkt ehr als wenn er willkürlich entscheidet ob er die taste dann akzeptiert oder nicht Oo
Kann man das WAitwindowevent() irgendwie so einspeisen das es nur aufgerufen wird wenn es gebraucht wird? Oder sollte ich mich gänzlich von der Idee verabschieden dies auf diese Art zu Probieren um Flüssiges laufen zu garantieren?
HIer einfch mal der Testcode :
Hab auch noch die Alte 3.3 Version von Topas.
Wollt mit immer die 4.0 version besorgen.. aber im Gegensatz zur 3.3 version hab ich die noch nie im Laden gesehen und ich bestelle im Allgemeinen nichts im Internet, ist reine PRinzipen sache.. Zahle alled ausser meiner Miete Bar, da weiss ich immer weiviel ich noch hab und das ichs in den Händen habe ^^
Aber mal ne andere frage jetz speziefisch...
Ich programmiere eher nur rein aus Hobby und kenn lange nicht alle Features zu PB, nichtmal zu 3.3..
Aber mir ist heute auf Arbeit ne Idee gekommen für nen Spiel was sehr aufwendig sein wird aber ich find ich idee einfach zu toll um sie gleich weiter fliegen zu lassen ^^
Ich hab bisher eigentlich immer im Openscreen modus nen bissl hin und her programmiert und nur um mal Gadgets auszu probieren in Openwindow...
Ich sehe doch richtig das OpenWindowedscreen() mir nen Screen im Fenster erstellt wie ich normalerweise im fullscreen habe oder?
Meine Idee lag nähmlich darin Das das Spielfeld wo der Character läuft in diesem Screen läuft und ich Links daneben die Torso fürs Drag und Drop stelle inventar und dies dann mit Imagegadgets mache..
Ist das Rein technisch machbar mit 3.3 oder allgemein Garnicht?
Oder bin ich mit meinem Obigen Ansatz was Openwindowedscreen angeht schon auf dem Holzweg? Weil bei mir nicht mal das Funktionieren will ^^
Weis auch nicht.. ich erstelle ein Fenster und gebe darin den bereich des Screens an ich sehe da zwar kurz Genau das feld wo dies sein sollte danach Bekomm ich aber die mitteilung keine Rückmledung oO
MfG Sahrin
Edit: Okay also mit dem Openwindow hab ichs den hinbekommen nachdem ich nen Waitwindowevent mit eingebaut habe, habe und einfach en Tastenabfrage...
Allerdings läuft diese nicht all zu flüssig...
Wirkt ehr als wenn er willkürlich entscheidet ob er die taste dann akzeptiert oder nicht Oo
Kann man das WAitwindowevent() irgendwie so einspeisen das es nur aufgerufen wird wenn es gebraucht wird? Oder sollte ich mich gänzlich von der Idee verabschieden dies auf diese Art zu Probieren um Flüssiges laufen zu garantieren?
HIer einfch mal der Testcode :
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenWindow(1,1,1,500,400,#PB_Window_SystemMenu ,"Test")
OpenWindowedScreen(WindowID(1),50,50,100,100,1,150,150)
CreateGadgetList(WindowID())
ButtonGadget(1,10,10,20,20,"P")
Repeat
ExamineKeyboard()
If KeyboardPushed(#PB_KEy_uP)
StartDrawing(ScreenOutput())
Circle(40,40,18,RGB(200,156,0))
StopDrawing()
EndIf
X=WaitWindowEvent()
If X=#PB_EventCloseWindow
End
EndIf
FlipBuffers()
ClearScreen(0,0,0)
ForEver
Nichts schührt Hass wie die Warheit
PB Version - 3.30
PB Version - 3.30
ja ist möglich, ich selber habe ja für mein Spiel "DUNE 2077" ein Editor gebaut, dort verwende ich auch einen WindowedScreen() auf einem Window.
Auf dem WindowedScreen() kannst du uneingeschrängt alles das machen was du auch auf dem Vollbild screen könntest (außer vllt Gamma ...)
Die Eventschleife für die gadget udn das Fenster sollten aber noch mal untergeordnet sein also so hier:
Auf dem WindowedScreen() kannst du uneingeschrängt alles das machen was du auch auf dem Vollbild screen könntest (außer vllt Gamma ...)
Die Eventschleife für die gadget udn das Fenster sollten aber noch mal untergeordnet sein also so hier:
Code: Alles auswählen
Repeat
Repeat
Event = WindowEvent()
Select Event
; Andere Event
Case #PB_EventCloseWindow
End
EndSelect
Until Event = 0
ClearScreen(0, 0, 0)
; Screen Teil ...
FlipBuffers()
ForEver
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Ahh werd dies wenn ich zuhause bin mal gleich auf diese Art versuchen,
Danke für die Schnelle Antwort
Aber hab noch ne Andere Frage..
Ist aber nicht unbedingt 3.3 spezifisch glaube...
Undzwar wenn ich mit mehreren PAletten Arbeiten will lade ich jene ja hoch und rufe sie je nachdem auf welche ich brauche zur genauen Darstellung.
Nun tritt bei mir aber immer ein PRoblem auf angenommen ich habe 2 verschiedene Sprites mit unterschiedlichen Palletten.
Aktiviere für die Darstellung des #Sprite 1 Palette 1 DIsplay es dann,
Aktiviere für das #Sprite 2 PAlette 2, Display....
Nun ist es so Das ich eines der Bilder Halt richtig Dargestellt bekomme, und das andere nicht Weil Bei PAlette 1 ja andere Farben auf der Position sind als auf Palette 2, In anderen Klein PRojekten hab ich eine UNIPalette dafür eingefärbt und JEdes Bild einzelnd mit dieser PAlette bearbeitet ist aber ne sehr Abartige Sache und viel fummel kram.
Gibt es ne Möglichkeit beide Bilder GLeichzeitig auf einem Screen darzustellen trotz unterschiedlicher PAletten.. keine Ahnung multippalette oder so? Denn für jenes Projekt was ich mir in den Kopf gesezt habe werde ich sicher Mehr Farben benötigen als die 255 die auf einer Palette Defieniert werden können. Code habe ich leider grade keine zu verfügung bin noch auf Arbeit in der Frühstückspause ^^
MfG Sahrin alias Jan
Edit:
So ich hab es mal auf deine Art versucht, Aber das Windowevent() lasstet den Cpu zu sehr aus teilweise auf 100 % (hab mal den Taskmanager nebenbei laufen lassen) Lässt sich das irgendwei Regulieren?
Danke für die Schnelle Antwort
Aber hab noch ne Andere Frage..
Ist aber nicht unbedingt 3.3 spezifisch glaube...
Undzwar wenn ich mit mehreren PAletten Arbeiten will lade ich jene ja hoch und rufe sie je nachdem auf welche ich brauche zur genauen Darstellung.
Nun tritt bei mir aber immer ein PRoblem auf angenommen ich habe 2 verschiedene Sprites mit unterschiedlichen Palletten.
Aktiviere für die Darstellung des #Sprite 1 Palette 1 DIsplay es dann,
Aktiviere für das #Sprite 2 PAlette 2, Display....
Nun ist es so Das ich eines der Bilder Halt richtig Dargestellt bekomme, und das andere nicht Weil Bei PAlette 1 ja andere Farben auf der Position sind als auf Palette 2, In anderen Klein PRojekten hab ich eine UNIPalette dafür eingefärbt und JEdes Bild einzelnd mit dieser PAlette bearbeitet ist aber ne sehr Abartige Sache und viel fummel kram.
Gibt es ne Möglichkeit beide Bilder GLeichzeitig auf einem Screen darzustellen trotz unterschiedlicher PAletten.. keine Ahnung multippalette oder so? Denn für jenes Projekt was ich mir in den Kopf gesezt habe werde ich sicher Mehr Farben benötigen als die 255 die auf einer Palette Defieniert werden können. Code habe ich leider grade keine zu verfügung bin noch auf Arbeit in der Frühstückspause ^^
MfG Sahrin alias Jan
Edit:
So ich hab es mal auf deine Art versucht, Aber das Windowevent() lasstet den Cpu zu sehr aus teilweise auf 100 % (hab mal den Taskmanager nebenbei laufen lassen) Lässt sich das irgendwei Regulieren?
Nichts schührt Hass wie die Warheit
PB Version - 3.30
PB Version - 3.30
-
- Beiträge: 87
- Registriert: 28.11.2010 13:07
- Computerausstattung: P4 2x3.2GKz.1GB WIXP 32Bit NVIDEA GT240 1GB DDR3, AMD XP 1.8GHz Linux 32Bit NVIDEA GT240 TIi3200
- Wohnort: Germany
- Kontaktdaten:
PB 3.30 TreeView Item löschen?
Hallo ich benutze die ältere Version 3.30 für Windows und bekomme kein TreeViewItem gelöscht.
War das ein Bug in der Version oder mache ich etwas grundlegendes Falsch ?
Ich habe einen MIDI Kerneltreiber geschrieben
und wollte das alte PB nur für den Konfigurationsdialog im Userspace benutzen
daher bin ich nicht gewillt für die wenigen steuerelemnte die ich brauche
die aktuelle Version von PB zu erwerben.
Egal welche ID ich bei RemoveGadgetItem(#TREEVIEW, id) verwende es passiert leider nichts.
Bin dankbar für jeden klärenden Hinweis.
Joshy
PS. Kann man irgendwo in einem Changelog nachlesen was alles in V3.30 ein Bug war
und in späteren Versionen behoben wurde ?
(Dann bräuchte ich Euch nicht mit meinen Fragen zu V3.30 nerven.)
War das ein Bug in der Version oder mache ich etwas grundlegendes Falsch ?
Ich habe einen MIDI Kerneltreiber geschrieben
und wollte das alte PB nur für den Konfigurationsdialog im Userspace benutzen
daher bin ich nicht gewillt für die wenigen steuerelemnte die ich brauche
die aktuelle Version von PB zu erwerben.
Egal welche ID ich bei RemoveGadgetItem(#TREEVIEW, id) verwende es passiert leider nichts.
Bin dankbar für jeden klärenden Hinweis.
Joshy
PS. Kann man irgendwo in einem Changelog nachlesen was alles in V3.30 ein Bug war
und in späteren Versionen behoben wurde ?
(Dann bräuchte ich Euch nicht mit meinen Fragen zu V3.30 nerven.)
Code: Alles auswählen
#WindowWidth = 800
#WindowHeight = 600
#MENU = 100
#MENU_OPEN = #MENU + 1
#MENU_SAVE = #MENU + 2
#MENU_SAVE_AS = #MENU + 3
#MENU_EXIT = #MENU + 4
#TOOLBAR = #MENU + 10
#TOOLBAR_CUT = #TOOLBAR +1
#TREEVIEW = #TOOLBAR + 10
OpenWindow(0, 0, 0, #WindowWidth, #WindowHeight, #PB_Window_SystemMenu, "PureBasic - Menu")
If CreateMenu(#MENU, WindowID())
MenuTitle("Datei")
;MenuItem( #MENU_OPEN , "&Open...")
;MenuItem( #MENU_SAVE , "&Save")
;MenuItem( #MENU_SAVE_AS, "Save &as...")
;MenuItem( #MENU_EXIT , "E&xit")
EndIf
CreateToolBar(#TOOLBAR, WindowID())
ToolBarStandardButton(#TOOLBAR_CUT,0)
If CreateGadgetList(WindowID())
TreeGadget(#TREEVIEW, 0,32, 320,240) ;,#PB_Tree_AlwaysShowSelection)
AddGadgetItem(#TREEVIEW, 0, "parent")
If 1
OpenTreeGadgetNode()
AddGadgetItem(#TREEVIEW, 0, "child 1")
AddGadgetItem(#TREEVIEW, 0, "child 2")
AddGadgetItem(#TREEVIEW, 0, "child 3")
CloseTreeGadgetNode()
AddGadgetItem(#TREEVIEW, 0, "1")
AddGadgetItem(#TREEVIEW, 0, "2")
AddGadgetItem(#TREEVIEW, 0, "parent")
OpenTreeGadgetNode()
AddGadgetItem(#TREEVIEW, 0, "child 1")
AddGadgetItem(#TREEVIEW, 0, "parent")
OpenTreeGadgetNode()
AddGadgetItem(#TREEVIEW, 0, "child 1")
AddGadgetItem(#TREEVIEW, 0, "child 2")
AddGadgetItem(#TREEVIEW, 0, "child 3")
CloseTreeGadgetNode()
AddGadgetItem(#TREEVIEW, 0, "child 2")
CloseTreeGadgetNode()
EndIf
EndIf
flag.l=0
Repeat
EventID.l = WaitWindowEvent()
Select EventID
Case #WM_CLOSE
quit = 1
Case #PB_EventMenu
MenuID.l = EventMenuID()
Select MenuID
Case #MENU_EXIT
quit = 1
Case #TOOLBAR_CUT
RemoveGadgetItem(#TREEVIEW, CountGadgetItems(#TREEVIEW)-1)
;AddGadgetItem(#TREEVIEW, 0, "i'm new")
EndSelect
Case #PB_EventGadget
GadgetID.l = EventGadgetID()
Select GadgetID
Case 0
EndSelect
EndSelect
Until quit = 1
End
PS. meine vielen Fehler der Rechtschreibung auf dem Forum könnt Ihr gerne ignorieren.
Re: * Für 3.3 Nutzer *
Hier gibs eine Zusammenstellung der neuigkeiten (auch mit einem Klick detailiert)
http://www.purebasic.com/german/news.php
Ich glaube das TreeGadget war damals "komplett" verbugt.
Denn AddGadgetItem(#TREEVIEW, 0, "i'm new") arbeitet ja auch falsch, wenn es müsste ja ein Enitrag an den Anfang setzen (Position 0), setzt ihn aber wie bei -1 ans Ende.
Das steht ja auch in der 3.3 Hilfe:
http://www.purebasic.com/german/news.php
Ich glaube das TreeGadget war damals "komplett" verbugt.
Denn AddGadgetItem(#TREEVIEW, 0, "i'm new") arbeitet ja auch falsch, wenn es müsste ja ein Enitrag an den Anfang setzen (Position 0), setzt ihn aber wie bei -1 ans Ende.
Das steht ja auch in der 3.3 Hilfe:
AddGadgetItem(#Gadget, Position, Text$ [, ImageID]))
- TreeGadget(): unterstützt die ImageID. Der Parameter 'Position' wird ignoriert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr