variablen im programm ändern

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

xaerox

Betreff: variablen im programm ändern

BeitragMo, Aug 11, 2008 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
hI
Ich will, wenn man klickt, dass dann statt dieses bild (variable1) das andere bild (variable2) angezeigt wird....im laufe habe ich das probiert:
Code: [AUSKLAPPEN]

Global bild = Loadimage("bild.bmp")
Global bild1 = loadimage("bild1.bmp")

Graphics 1024, 768, 16, 1
While Not Keyhit(88)
activeimage = bild
Drawimage activeimage, 0, 0
If Mousehit(1) Then
activeimage = bild1
EndIf
Wend
End
Biker sind wahre Helden.
Auch Musiker.

Smily

BeitragMo, Aug 11, 2008 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
und wo genau liegt nun dein Problem?
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

xaerox

BeitragMo, Aug 11, 2008 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
dass
da die variable dann auf das andere loadimage bezieht nur noch das bild1 angezigt wird wenn ich eben geklickt habe
Biker sind wahre Helden.
Auch Musiker.

Smily

BeitragMo, Aug 11, 2008 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau das wolltest du doch lt deiner beschreibung?
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

The_Nici

BeitragMo, Aug 11, 2008 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
So geht das nicht.

Code: [AUSKLAPPEN]

Graphics 800,600,32,2
SetBuffer backbuffer()
bild=LoadImage("bla.png")
bild2=LoadImage("bla2.png")

While not Keyhit(1)
   mh=MouseHit(1)
   If mh then
      DrawImage bild2, 0,0
   Else
      DrawImage bild, 0,0
   EndIf
   Flip
   CLS
Wend


MfG

xaerox

BeitragMo, Aug 11, 2008 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
es scheint zwar schwer zu sein mich zu verstehen...
bild laden ("bild.bmp")
bild1 laden("bild1.bmp")
aktives bild = bild
es wird ein bild angezeigt (bild)
wenn ich die maustaste geklickt habe, dann
aktives bild = bild1
sodass nur noch das bild1 angezigt wird statt bil in der schleife...
Biker sind wahre Helden.
Auch Musiker.

The_Nici

BeitragMo, Aug 11, 2008 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst nicht einfach eine Variable = das bild machen, bild ist nur ein pointer auf den RAM, kannste nicht so drauf zeigen lassen.

Eingeproggt

BeitragMo, Aug 11, 2008 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
activeimage=bild aus der Schleife rausnehmen?
Dann geht das.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

BadDeath

BeitragMo, Aug 11, 2008 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
So sollte es doch gehen: (mit einem weiteren Klick, lässt sich wieder zu Bild 1 wechseln)

Code: [AUSKLAPPEN]

Graphics 800,600,32,2
SetBuffer backbuffer()
bild=LoadImage("Bild.bmp")
bild2=LoadImage("Bild1.bmp")

While not Keyhit(1)
   CLS
   If MouseHit(1) Then Wechsel = Not Wechsel
   
   If Wechsel then
      DrawImage bild2, 0,0
   Else
      DrawImage bild, 0,0
   EndIf
   Flip
Wend
-~= real coders just code in binary =~-

xaerox

BeitragMo, Aug 11, 2008 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
@The_Nici

Und wie kann ich es dann machen wenn da mehre bilder habe?
Biker sind wahre Helden.
Auch Musiker.

The_Nici

BeitragMo, Aug 11, 2008 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Select wunschbild
Case 1
DrawImage bild1, 0,0
Case 2
DrawImage bild2, 0,0
Case 3
DrawImage bild3, 0,0
Case 4
...


wunschbild ist eine Nummer zwischen 1 und 4.

xaerox

BeitragMo, Aug 11, 2008 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

select menue
case1
drawimage bild
If Mousehit(1) then menue = 1

case2
...
Biker sind wahre Helden.
Auch Musiker.

Smily

BeitragMo, Aug 11, 2008 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich Xaerox richtig verstanden habe:

Du lädst zwei bilder, bild eins wird angezeigt, bis du eine maustaste drückst.
Ab dann soll bild zwei angezeigt werden.


Dein Ursprünglicher code macht genau das und müsste Funktionieren

ciao,
Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Eingeproggt

BeitragMo, Aug 11, 2008 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ignoriert man mich hier gerne?

Sein anfänglicher Code tut genau das, wenn man meine vorgeschlagegene Änderung umsetzt.

Und wenn mans anders machen will, soll man sich BadDeaths Lösung anschauen. Die würde dasselbe machen.

@the_nici: Es ist schön, wenn du ihm Select-Case näherbringst, aber mit deiner Aussage von wegen Handles kann man ned so einfach zuweisen is schlicht und ergreifend falsch. Sonst würde ja nichtmal bild=LoadImage(...) funktionieren Rolling Eyes

EDIT:
erstens @smily: kein Problem Smile
Zweitens:
Wundert mich, dass der Code überhaupt ohne Absturz läuft... Ich dachte, man muss die Bilder NACH Graphics laden da sie sonst wieder weg sind?
(Is mir auch erst jetzt aufgefallen)
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
  • Zuletzt bearbeitet von Eingeproggt am Mo, Aug 11, 2008 19:52, insgesamt einmal bearbeitet

Smily

BeitragMo, Aug 11, 2008 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Huch sorry Eingeproggt, hatte dich wirklich überlesen.

Hast natürlich recht. Das war mir in dem Unformatierten Code garnicht aufgefallen Smile
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

The_Nici

BeitragDi, Aug 12, 2008 9:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, aber bei mir hat das nie funktioniert. ôO

ToeB

BeitragDi, Aug 12, 2008 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Machs doch noch einfacher :

Code: [AUSKLAPPEN]
If MouseDown(1) then bild = bild1 Else bild = bild2
DrawImage bild,x,y


Oder noch noch einfacher :
Code: [AUSKLAPPEN]
Dim bild(anz)
For i = 1 to anz
bild(i) = LoadImage("Bild"+i+".png")
Next
Repeat
If MouseDown(1) then b_Frame = 1 Else b_Frame = 2;Halt die Variablen auf das Bild setzten
DrawImage bild(b_Frame),x,y


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

xaerox

BeitragDi, Aug 12, 2008 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Smily0412 hat Folgendes geschrieben:
Wenn ich Xaerox richtig verstanden habe:

Du lädst zwei bilder, bild eins wird angezeigt, bis du eine maustaste drückst.
Ab dann soll bild zwei angezeigt werden.


Dein Ursprünglicher code macht genau das und müsste Funktionieren

ciao,
Smily0412



Genau, das macht mein programm auch in der while wend schleife...
allerdings ist das proplem, dass das bild nur kurz angezeigt wird(immer wenn maustaste gedrückt wurde) und dann kommt wieder bild ein rein...es soll aber dann die ganze zeit das angezeigt werden...
Biker sind wahre Helden.
Auch Musiker.

Eingeproggt

BeitragDi, Aug 12, 2008 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich gebs auf Rolling Eyes
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

xaerox

BeitragDi, Aug 12, 2008 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
egal ich werde da mal was anderes erfinden.... Confused Arrow Arrow Arrow Arrow Arrow Arrow Arrow Arrow Arrow Arrow Arrow Arrow Arrow
Biker sind wahre Helden.
Auch Musiker.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group