* Für 3.3 Nutzer *

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Machete @PB
Beiträge: 81
Registriert: 12.09.2006 03:12

Beitrag von Machete @PB »

HI

Ich kann zwar jetzt dank deiner(eurer) Hilfe Sprites mit Menüpunkten anzeigen lassen. Wie kann ich aber verschiedene Sprites anzeigen lassen?

zb: Ich habe 3 Sprites: a, b, c wie kann ich Sprite a immer anzeigen aber b und c unterschiedlich? In nem Spiel wären das natürlich mehr aber ich hab ma versucht das einfach zu halten.

Kann mir da jemand helfen?
Benutze Topos-PB-Version 3.3
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

indem du in deiner "Repeat : Until" schleife wo auch "Flipbuffers() und ClearScreen(0,0,0)" drinne sind einfach :

das Sprite A immer anzeigen lässt

und die andere Sprites vorher durch eine IF abfrage entwerde auch anzeigst oder nicht

Code: Alles auswählen

repeat
 
clearscreen(0,0,0)

 displaysprite(A,...)

 if ....
  displaysprite(A,...)
 endif


flipbuffers()

until ....
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
Benutzeravatar
Machete @PB
Beiträge: 81
Registriert: 12.09.2006 03:12

Beitrag von Machete @PB »

wow danke

aber wie mache ich, dass ich sprite b und a oder nur a oder b anzeige?
also ich mein damit, wie ich das mit Menüpunten mache.
Benutze Topos-PB-Version 3.3
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Sry, aber irgendwie habe ich das gefühl, das du nicht richtig weißt wie PB funktioniert :freak:

Du kannst doch alle "entweder oder"-Entscheidungen mit IF : ELSE ... machen oder SELECT : CASE ... aufbauen.

Wenn irgendetwas gemacht wurde (Menüauswahl) dann setzt du eine Variable auf 1 oder so und später machst du dann bei 1 jenes und bei NICHT 1 das andere
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
Benutzeravatar
Machete @PB
Beiträge: 81
Registriert: 12.09.2006 03:12

Danke Danke Danke Danke Danke Danke Danke Danke

Beitrag von Machete @PB »

Ja entschuldige :oops: ich bin manchmal zu faul nach zu denken...

sry :(

OK dank dieser Hilfe werde ich das neue Projekt bald fertig haben und irgentwie müsste ich ja als 'Erschaffer' dich Stargate hinschreiben :roll:
aber das werd ich bestimmt nicht machen :twisted: :freak:


Danke Danke Danke Danke
Benutze Topos-PB-Version 3.3
Benutzeravatar
Machete @PB
Beiträge: 81
Registriert: 12.09.2006 03:12

Gadgets mit For,Next

Beitrag von Machete @PB »

Hallo

ich habe ein neues Projekt und da muss ich gleiche Gadgets in mehreren Reihen anzeigen lassen. Das habe ich mit einer For Schleife gemacht um Zeit zu sparen. Bei der Select Case Schleife hab ich dann

Code: Alles auswählen

 Default
MessageRequester("Error", "Menuitem: "+Str(EventMenuID()),0)
eingegeben um zu wissen welches Sprite welche Nummer hat und dabei ist rausgekommen, dass in jeder Reihe jedes Gadget die gleiche Nummer hat und das ist ja nun nicht gut wenn ich dafür ja verschiedene Aktionen ausführen lassen will

Muss ich jetzt jedes Gadget einzeln einfügen oder geht das auch anders?

Vielen Dank im Voraus
Benutze Topos-PB-Version 3.3
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Ägypten...? :?

redest du nun von sprites oder gadgets?
und was hat das mit nem menu zu tun?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

mach mal das hier, ich denke das suchst du :

Code: Alles auswählen

OpenWindow(0,0,0,850,100,#PB_Window_MinimizeGadget,"F5er")
 CreateGadgetList(UseWindow(0))
  For Gadget = 1 To 15 :
   ButtonGadget(Gadget, Gadget*50, 20, 50, 20, Str(Gadget)) 
  Next Gadget

Repeat
 Delay(2)
 Event = WindowEvent()
 If Event = #PB_EventCloseWindow : End : EndIf
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
Benutzeravatar
Machete @PB
Beiträge: 81
Registriert: 12.09.2006 03:12

Beitrag von Machete @PB »

Sorry da bin ich wohl durcheinander gekommen mit Sprite und Gadget :roll:

Ja danke Stargate das Meinte ich :allright:

Vielen Dank dafür und Sorry für den Post :|

ps: Den Codeschnipsel hatte ich aus einem älteren Projekt rauskopiert
Benutze Topos-PB-Version 3.3
Benutzeravatar
Machete @PB
Beiträge: 81
Registriert: 12.09.2006 03:12

Beitrag von Machete @PB »

Könntet ihr mir bitte mal erklären was bei mir schief läuft?

Teil meines alten Codes: ( Um das geht es hier eigentlich)

Code: Alles auswählen

  For e = 200 To 700 Step 100
     For f = 2 To 7 Step 1
      If  ButtonImageGadget(f,e, 0, x, y, UseImage(2)) = 0 : MessageRequester("Error","Das Gadget kann nicht angezeigt werden",0) : EndIf 
     Next
     Next
Da ich mehrere Reihen habe, habe ich diesen Codeteil auch mehrmals

Hier habe ich das mit dem Next so gemacht wie Stargate. Halt mit ner anderen Variable.

Code:

Code: Alles auswählen

 For e = 200 To 700 Step 100
     For f = 2 To 7 
      If  ButtonImageGadget(f,e, 0, x, y, UseImage(2)) = 0 : MessageRequester("Error","Das Gadget kann nicht angezeigt werden",0) : EndIf 
     Next f
     Next
Das Problem bleibt gleich. Jede Zeile hat ihre "eigene" Gadget Nummer.
Benutze Topos-PB-Version 3.3
Antworten