#Sprite object not initialized
Verfasst: 25.07.2006 14:15
Hallo
wieso bringt PureBasic immer die Fehlermeldung
Die anderen Sprites gehen doch auch!
Und die Stellen, die "car" schon abgefahren hat sollen als Stoppelfeld erscheinen, wie mach ich das am besten?
Danke schon im Voraus!!!!
Hab die 3.3 Version
wieso bringt PureBasic immer die Fehlermeldung
? (Nur bei einem Sprite, hab ich mit "<<----------" im Code makiert)#Sprite object not initialized
Die anderen Sprites gehen doch auch!
Code: Alles auswählen
; ################
; # #
; # Dreschen #
; # #
; ################
;****************************************************************************************************************************
; Windowsfenster erstellen
If OpenWindow(0, 312, 184, 400, 400,#PB_WINDOW_SYSTEMMENU,"Dreschen")
LoadImage(5, "Grafik\Bild.bmp")
CreateGadgetList(WindowID())
ImageGadget (0, 23, 10, 352, 260, UseImage(5))
ButtonGadget(1, 140, 280, 120, 30, "Spiel Starten")
ButtonGadget(2, 140, 350, 120, 30, "Verlassen" )
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_EventGadget
Select EventGadgetID()
Case 1
Goto Start
Case 2
EventID = #PB_EventCloseWindow
EndSelect
EndIf
Until EventID = #PB_EventCloseWindow
EndIf
End
;****************************************************************************************************************************
; Vollbildfenster erstellen
Start:
If InitSprite() = 0
MessageRequester("Fehler", "Konnte dx nicht finden", 0)
EndIf
If InitKeyboard() = 0
MessageRequester("Fehler", "Konnte dx nicht finden", 0)
EndIf
If OpenScreen(800, 600, 32, "Dreschen")
Else
MessageRequester("Fehler", "Konnte kein Vollbild erstellen", 0)
EndIf
Anfang:
;****************************************************************************************************************************
; Grafiken laden, Koordinaten
LoadSprite(12, "Grafik\Gewonnen.bmp", 0)
LoadSprite(15, "Grafik\Verloren.bmp", 0)
LoadSprite(19, "Grafik\Ziel.bmp", 0)
LoadSprite(25, "Grafik\Stein_1.bmp", 0)
LoadSprite(32, "Grafik\Stein_2.bmp", 0)
LoadSprite(55, "Grafik\Wildschwein.bmp", 0)
For car = 1 To 4
LoadSprite(car, "Grafik\Maschine_"+Str(car)+".bmp", 0)
Next
LoadSprite(back,"Grafik\Feld_1.bmp", 0)
car = 0
position_x = 350
position_y = 450
aa = 0
ab = 50
ac = 100
ad = 150
ae = 200
af = 250
ag = 300
ah = 350
ai = 400
aj = 450
ak = 500
al = 550
am = 600
an = 650
ao = 700
ap = 750
aq = 800
ba = 500
bb = 450
bc = 300
bd = 200
be = 100
bf = 50
bg = -100
bh = -150
bi = -200
bj = -300
bk = -350
bl = -400
bn = -500
bm = -550
bo = -600
bp = -650
bq = -700
br = -750
bs = -800
bt = -850
bu = -950
bv = -1000
bw = -1050
bx = -1150
by = -1250
bz = -1300
ca = -1350
cb = -1400
cc = -1450
cd = -1500
ce = -1550
cf = -1650
cg = -1750
ch = -1850
ci = -1900
cj = -1950
ck = -2000
cl = -2050
cm = -2100
cn = -2150
co = -2300
cp = -2350
cq = -2400
cr = -2500
cs = -2550
ct = -2600
cu = -2650
cv = -2700
cw = -2850
cx = -2900
cy = -2950
cz = -3000
da = -3100
db = -3200
dc = -3300
dd = -3350
de = -3450
df = -3500
dg = -3550
dh = -3650
di = -3700
dj = -3750
dk = -3850
dl = -4000
dm = -4100
abd = 2
abf = 2
abg = 1
abh = 1
ff = 700
gg = 200
Repeat
; Hintergrund erstellen
For BackX = 0 To 800 Step 72
For BackY = -72 To 600 Step 72
DisplaySprite(back, BackX, BackY + ScrollY)
Next
Next
If ScrollDelay = 0
ScrollY + abd
ScrollDelay = 0
Else
ScrollDelay - 1
EndIf
If ScrollY > 71
ScrollY = 0
EndIf
Gosub Stein
Gosub Steine
Gosub Sau
Gosub Ziel
Gosub Kollision
ba + abd
bb + abd
bc + abd
bd + abd
be + abd
bf + abd
bg + abd
bh + abd
bi + abd
bj + abd
bk + abd
bl + abd
bm + abd
bn + abd
bo + abd
bp + abd
bq + abd
br + abd
bs + abd
bt + abd
bu + abd
bv + abd
bw + abd
bx + abd
by + abd
bz + abd
ca + abd
cb + abd
cc + abd
cd + abd
ce + abd
cf + abd
cg + abd
ch + abd
ci + abd
cj + abd
ck + abd
cl + abd
cm + abd
cn + abd
co + abd
cp + abd
cq + abd
cr + abd
cs + abd
ct + abd
cu + abd
cv + abd
cw + abd
cx + abd
cy + abd
cz + abd
da + abd
db + abd
dc + abd
dd + abd
de + abd
df + abd
dg + abd
dh + abd
di + abd
dj + abd
dk + abd
dl + abd
dm + abd
ff - 4
gg + 2
; Animation des Mähdreschers
If car = 4
car = 1
EndIf
car + abg
DisplayTransparentSprite(car, position_x, position_y)
FlipBuffers()
;****************************************************************************************************************************
; Tastenabfrage
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Right)
position_x + abf
If position_x > 700
position_x = 700
EndIf
EndIf
If KeyboardPushed(#PB_Key_Left)
position_x - abf
If position_x < 0
position_x = 0
EndIf
EndIf
If KeyboardPushed(#PB_Key_Up)
position_y - abh
If position_x < 0
position_y = 0
EndIf
EndIf
If KeyboardPushed(#PB_Key_Down)
position_y + abh
If position_y > 450
position_y = 450
EndIf
EndIf
If KeyboardPushed(#PB_Key_F2)
Goto Anfang
EndIf
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
ForEver
;****************************************************************************************************************************
; Erstellen der Steine
Stein:
DisplayTransparentSprite(25, am, ba)
DisplayTransparentSprite(25, af, bb)
DisplayTransparentSprite(25, ab, bd)
DisplayTransparentSprite(25, ai, be)
DisplayTransparentSprite(25, ap, bf)
DisplayTransparentSprite(25, ag, bi)
DisplayTransparentSprite(25, aa, bj)
DisplayTransparentSprite(25, ad, bk)
DisplayTransparentSprite(25, an, bm)
DisplayTransparentSprite(25, ap, bh)
DisplayTransparentSprite(25, ak, bo)
DisplayTransparentSprite(25, ah, bp)
DisplayTransparentSprite(25, ai, bs)
DisplayTransparentSprite(25, ad, bt)
DisplayTransparentSprite(25, ap, bu)
DisplayTransparentSprite(25, ai, bv)
DisplayTransparentSprite(25, ai, bz)
DisplayTransparentSprite(25, af, cb)
DisplayTransparentSprite(25, ab, cc)
DisplayTransparentSprite(25, ad, ce)
DisplayTransparentSprite(25, ah, cf)
DisplayTransparentSprite(25, ap, ci)
DisplayTransparentSprite(25, af, ck)
DisplayTransparentSprite(25, aa, cl)
DisplayTransparentSprite(25, ah, cm)
DisplayTransparentSprite(25, ao, cm)
DisplayTransparentSprite(25, ah, cp)
DisplayTransparentSprite(25, ad, cs)
DisplayTransparentSprite(25, ag, cv)
DisplayTransparentSprite(25, ab, cw)
DisplayTransparentSprite(25, an, cw)
DisplayTransparentSprite(25, ak, cx)
DisplayTransparentSprite(25, ab, cy)
DisplayTransparentSprite(25, an, cz)
DisplayTransparentSprite(25, ae, da)
DisplayTransparentSprite(25, ai, db)
DisplayTransparentSprite(25, ap, db)
DisplayTransparentSprite(25, al, de)
DisplayTransparentSprite(25, af, df)
DisplayTransparentSprite(25, ab, dg)
DisplayTransparentSprite(25, aa, dh)
DisplayTransparentSprite(25, ak, di)
DisplayTransparentSprite(25, an, dj)
DisplayTransparentSprite(25, ac, dk)
DisplayTransparentSprite(25, ah, dl)
DisplayTransparentSprite(25, ap, dl)
Return
Steine:
DisplayTransparentSprite(32, ab, bb)
DisplayTransparentSprite(32, ao, bc)
DisplayTransparentSprite(32, al, bd)
DisplayTransparentSprite(32, ae, bf)
DisplayTransparentSprite(32, ao, bg)
DisplayTransparentSprite(32, ac, bh)
DisplayTransparentSprite(32, am, bi)
DisplayTransparentSprite(32, al, bl)
DisplayTransparentSprite(32, ac, bh)
DisplayTransparentSprite(32, ab, bq)
DisplayTransparentSprite(32, an, br)
DisplayTransparentSprite(32, ae, bw)
DisplayTransparentSprite(32, ah, bx)
DisplayTransparentSprite(32, am, bx)
DisplayTransparentSprite(32, ab, by)
DisplayTransparentSprite(32, ao, ca)
DisplayTransparentSprite(32, aj, cd)
DisplayTransparentSprite(32, ao, cf)
DisplayTransparentSprite(32, ab, cg)
DisplayTransparentSprite(32, ad, ch)
DisplayTransparentSprite(32, ak, cj)
DisplayTransparentSprite(32, ac, cn)
DisplayTransparentSprite(32, ac, co)
DisplayTransparentSprite(32, am, co)
DisplayTransparentSprite(32, ao, cp)
DisplayTransparentSprite(32, ak, cq)
DisplayTransparentSprite(32, ak, cr)
DisplayTransparentSprite(32, an, cs)
DisplayTransparentSprite(32, ab, ct)
DisplayTransparentSprite(32, af, cu)
DisplayTransparentSprite(32, ae, cw)
DisplayTransparentSprite(32, af, cz)
DisplayTransparentSprite(32, al, da)
DisplayTransparentSprite(32, ab, db)
DisplayTransparentSprite(32, ae, dc)
DisplayTransparentSprite(32, an, dd)
DisplayTransparentSprite(32, aj, df)
DisplayTransparentSprite(32, af, di)
DisplayTransparentSprite(32, af, dk)
DisplayTransparentSprite(32, al, dk)
DisplayTransparentSprite(32, ad, dl)
DisplayTransparentSprite(32, al, dl)
Return
Sau:
If position_y = 300
DisplayTransparentSprite(55, ff, gg) ;<<----------
EndIf
Return
Ziel:
DisplaySprite(19, aa, dm)
Return
Kollision:
If SpritePixelCollision(car, position_x, position_y, 25, am, ba): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, af, bb): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ab, bd): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ai, be): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ap, bf): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ag, bi): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, aa, bj): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ad, bk): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, an, bm): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ap, bh): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ak, bo): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ah, bp): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ai, bs): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ad, bt): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ap, bu): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ai, bv): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ai, bz): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, af, cb): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ab, cc): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ad, ce): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ah, cf): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ap, ci): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, af, ck): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, aa, cl): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ah, cm): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ao, cm): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ah, cp): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ad, cs): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ag, cv): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ab, cw): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, an, cw): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ak, cx): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ab, cy): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, an, cz): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ae, da): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ai, db): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ap, db): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, al, de): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, af, df): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ab, dg): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, aa, dh): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ak, di): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, an, dj): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ac, dk): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ah, dl): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 25, ap, dl): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ab, bb): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ao, bc): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, al, bd): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ae, bf): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ao, bg): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ac, bh): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, am, bi): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, al, bl): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ac, bh): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ab, bq): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, an, br): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ae, bw): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ah, bx): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, am, bx): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ab, by): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ao, ca): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, aj, cd): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ao, cf): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ab, cg): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ad, ch): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ak, cj): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ac, cn): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ac, co): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, am, co): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ao, cp): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ak, cq): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ak, cr): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, an, cs): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ab, ct): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, af, cu): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ae, cw): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, af, cz): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, al, da): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ab, db): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ae, dc): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, an, dd): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, aj, df): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, af, di): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, af, dk): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, al, dk): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, ad, dl): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 32, al, dl): Goto Schleife: EndIf
If SpritePixelCollision(car, position_x, position_y, 19, aa, dm): Goto Schleifen: EndIf
Return
Schleife:
DisplaySprite(15, 250, 210)
abd = 0
abf = 0
abg = 0
abh = 0
Return
Schleifen:
DisplaySprite(12, 250, 210)
abd = 0
abf = 0
abg = 0
abh = 0
Return
Danke schon im Voraus!!!!

Hab die 3.3 Version