Problem mit DrawImage in einer Function
Übersicht

![]() |
SenSixBetreff: Problem mit DrawImage in einer Function |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 640, 480, 16, 1
SetBuffer BackBuffer() kreuz = LoadImage("zielkreuz.bmp") gegner = LoadImage("gegner.bmp") MaskImage kreuz, 255, 0, 255 MaskImage gegner, 255, 0, 255 Global lebt Global posX Global posY Repeat ; PROGRAMM START Cls If lebt = 0 Then gegner_erschaffen() DrawImage kreuz, MouseX(), MouseY() Flip If KeyDown(1) Then End ; PROGRAMM ENDE Forever Function gegner_erschaffen() DrawImage gegner, Rnd(200, 600), Rnd(200, 400) lebt = 1 End Function Kurz und buendig: Wenn ich das Programm starte kommt eine Fehlermeldung mit 'Image does not exist' und das DrawImage in der Function wird vom Debugger markiert. Das Bild existiert jedoch, und den Namen habe ich aus Verzweifelung sogar kopiert. Wenn ich das DrawImage gegner weglasse dann funktioniert das Programm einwandfrei. Danke im Voraus, SenSix |
||
ZhangHe2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gegner muss global sein! | ||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst die varaible gegner entweder global deklarieren oder der funktion übergeben
also: Code: [AUSKLAPPEN] ... global gegner=loadimage(...) ... function gegner_erschaffen() drawimage gegner, x, y ... oder Code: [AUSKLAPPEN] ... gegner=loadimage(...) ... gegner_erschaffen(gegner) function gegner_erschaffen(bild) drawimage bild, x,y ... |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau !
Global Gegner und Global lebt, denn sonst lebt der gegner für die function neimals, weil lebt immer 0 ist. siehe auch BlitzBasic: [AUSKLAPPEN]
|
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
SenSix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank. Jetzt wird es wohl funktionieren. (Und ich haenge 20 Minuten an dem Problem ohne diese Dummheit zu bemerken x_X) | ||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was meinst du an welchen problemen ich manchmal so hänge?
Manchmal passiert sowas sogar mir(und bestimmt auch allen anderen [die jetz denken von wegen - gebts ruhig zu;-)]) Net entmutigen lassen - auch icke hab mal klein angefangen(wenn ich die codes von damals sehe könnt ich immer verrückt wern;-) |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
SenSix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann ich mir vorstellen ^^
Nun, mal wieder ein anderes Problemchen: Ich habe jetzt eine Animation eingebaut. Schoen und gut, doch die Animation laeuft zu schnell ab. Ein delay einzufuegen habe ich garnicht erst versucht, denn ich weiss dass dies das Programm aufhaelt. Wie kann man das delay also ersetzen, bzw. wie kann man das anders loesen? |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
ql:MilliSecs ist hier Mittel der Wahl. Den Wert speichern und wenn er dann wider größer ist als der gespeicherte + die gewünschte Zeitspanne die Variable die den Frame angibt erhöhen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
SenSix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hubsi hat Folgendes geschrieben: <a href="http://www.blitzbase.de/befehle2d/millisecs.htm" class="postlink" target="_blank">MilliSecs<img src="/images/quicklink.gif" width="13" height="11" alt="" title="Begriff nachschlagen" border="0"></a> ist hier Mittel der Wahl. Den Wert speichern und wenn er dann wider größer ist als der gespeicherte + die gewünschte Zeitspanne die Variable die den Frame angibt erhöhen
![]() Mh, dann dachte ich anfangs richtig. Aber in der Beschreibung da steht doch, dass dies die Zeit nach dem Start von Windows ist. Egal, ich probier es einfach mal aus, danke. Edit: BlitzBasic: [AUSKLAPPEN] zeit = MilliSecs() BlitzBasic: [AUSKLAPPEN] DrawImage kreuz, MouseX(), MouseY(), frame Funzt nicht. Ich hab nen Befehl gemacht, der die Variable Frame anzeigt. Sie bleibt staendig auf 0 stehen. |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] If zeit + 50 < MilliSecs() Then |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group