Illegal type conversion
Übersicht

omoxenBetreff: Illegal type conversion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also, ich habe folgenden Code, und beim ausführen erscheint Illegal type conversion mit der markierung des Funktionsaufrufs von MoveObject.
Hat jemand eine Lösung? Code: [AUSKLAPPEN] Function MoveObject(obj.objekt) bewegungX# = 0 bewegungY# = 0 schraege# = Cos(45) * obj\tempo# Select obj\richtung Case 1 bewegungX# = -1 * obj\tempo# Case 3 bewegungY# = -1 * obj\tempo# Case 5 bewegungX# = obj\tempo# Case 7 bewegungY# = obj\tempo# Case 2 bewegungX# = -1 * schraege# bewegungY# = -1 * schraege# Case 4 bewegungX# = 1 * schraege# bewegungY# = -1 * schraege# Case 6 bewegungX# = 1 * schraege# bewegungY# = 1 * schraege# Case 8 bewegungX# = -1 * schraege# bewegungY# = 1 * schraege# End Select obj\x# = obj\x# + bewegungX# obj\y# = obj\y# + bewegungY# Return obj.objekt End Function Function GetDrawKoordinates(mann.objekt) mann\drawX = mann\x# * 10 mann\drawY = mann\y# * 10 End Function Graphics 640, 480 box = LoadImage("box.bmp") MaskImage box, 255, 255, 255 mannW = LoadImage("mannW.bmp") MaskImage mannW, 255, 255, 255 mannN = LoadImage("mannN.bmp") MaskImage mannN, 255, 255, 255 mannO = LoadImage("mannO.bmp") MaskImage mannO, 255, 255, 255 mannS = LoadImage("mannS.bmp") MaskImage mannS, 255, 255, 255 mannNW = LoadImage("mannNW.bmp") MaskImage mannNW, 255, 255, 255 mannNO = LoadImage("mannNO.bmp") MaskImage mannNO, 255, 255, 255 mannSW = LoadImage("mannSW.bmp") MaskImage mannSW, 255, 255, 255 mannSO = LoadImage("mannSO.bmp") MaskImage mannSO, 255, 255, 255 Type objekt Field x#,y#,richtung,tempo#,ausdehnungX#,ausdehnungY#, bewegtSich, drawX, drawY End Type mann.objekt = New objekt mann\x = 10 mann\y = 10 mann\richtung = 1 mann\tempo = 0.2 mann\ausdehnungX = 5 mann\ausdehnungY = 5 Dim bottom(100,100) bottom(15,15) = 1 ClsColor 255, 255, 255 Cls SetBuffer BackBuffer() Repeat Cls mann\bewegtSich = 0 If KeyDown(30) Then mann\richtung = 1 mann\bewegtSich = 1 EndIf If KeyDown(17) Then mann\richtung = 3 mann\bewegtSich = 1 If KeyDown(30) Then mann\richtung = 2 EndIf If KeyDown(32) Then mann\richtung = 5 mann\bewegtSich = 1 If KeyDown(17) Then mann\richtung = 4 EndIf If KeyDown(31) Then mann\richtung = 7 mann\bewegtSich = 1 If KeyDown(30) Then mann\richtung = 8 If KeyDown(32) Then mann\richtung = 6 EndIf If mann\bewegtSich = 1 Then mann.objekt = MoveObject(mann.objekt) EndIf GetDrawKoordinates(mann) Select mann\richtung Case 1 DrawImage mannW, mann\drawX, mann\drawY Case 3 DrawImage mannN, mann\drawX, mann\drawY Case 5 DrawImage mannO, mann\drawX, mann\drawY Case 7 DrawImage mannS, mann\drawX, mann\drawY Case 2 DrawImage mannNW, mann\drawX, mann\drawY Case 4 DrawImage mannNO, mann\drawX, mann\drawY Case 6 DrawImage mannSO, mann\drawX, mann\drawY Case 8 DrawImage mannSW, mann\drawX, mann\drawY End Select For t = 1 To 10 Step 2 Print t Next For i=1 To 100 For j=1 To 100 If bottom(i,j) <> 0 Then links = i * 10 rechts = j * 10 DrawImage box, links, rechts EndIf Next Next Flip Forever Function MoveObject(obj.objekt) bewegungX# = 0 bewegungY# = 0 schraege# = Cos(45) * obj\tempo# Select obj\richtung Case 1 bewegungX# = -1 * obj\tempo# Case 3 bewegungY# = -1 * obj\tempo# Case 5 bewegungX# = obj\tempo# Case 7 bewegungY# = obj\tempo# Case 2 bewegungX# = -1 * schraege# bewegungY# = -1 * schraege# Case 4 bewegungX# = 1 * schraege# bewegungY# = -1 * schraege# Case 6 bewegungX# = 1 * schraege# bewegungY# = 1 * schraege# Case 8 bewegungX# = -1 * schraege# bewegungY# = 1 * schraege# End Select obj\x# = obj\x# + bewegungX# obj\y# = obj\y# + bewegungY# Return obj.objekt End Function Function GetDrawKoordinates(mann.objekt) mann\drawX = mann\x# * 10 mann\drawY = mann\y# * 10 End Function Graphics 640, 480 box = LoadImage("box.bmp") MaskImage box, 255, 255, 255 mannW = LoadImage("mannW.bmp") MaskImage mannW, 255, 255, 255 mannN = LoadImage("mannN.bmp") MaskImage mannN, 255, 255, 255 mannO = LoadImage("mannO.bmp") MaskImage mannO, 255, 255, 255 mannS = LoadImage("mannS.bmp") MaskImage mannS, 255, 255, 255 mannNW = LoadImage("mannNW.bmp") MaskImage mannNW, 255, 255, 255 mannNO = LoadImage("mannNO.bmp") MaskImage mannNO, 255, 255, 255 mannSW = LoadImage("mannSW.bmp") MaskImage mannSW, 255, 255, 255 mannSO = LoadImage("mannSO.bmp") MaskImage mannSO, 255, 255, 255 Type objekt Field x#,y#,richtung,tempo#,ausdehnungX#,ausdehnungY#, bewegtSich, drawX, drawY End Type mann.objekt = New objekt mann\x = 10 mann\y = 10 mann\richtung = 1 mann\tempo = 0.2 mann\ausdehnungX = 5 mann\ausdehnungY = 5 Dim bottom(100,100) bottom(15,15) = 1 ClsColor 255, 255, 255 Cls SetBuffer BackBuffer() Repeat Cls mann\bewegtSich = 0 If KeyDown(30) Then mann\richtung = 1 mann\bewegtSich = 1 EndIf If KeyDown(17) Then mann\richtung = 3 mann\bewegtSich = 1 If KeyDown(30) Then mann\richtung = 2 EndIf If KeyDown(32) Then mann\richtung = 5 mann\bewegtSich = 1 If KeyDown(17) Then mann\richtung = 4 EndIf If KeyDown(31) Then mann\richtung = 7 mann\bewegtSich = 1 If KeyDown(30) Then mann\richtung = 8 If KeyDown(32) Then mann\richtung = 6 EndIf If mann\bewegtSich = 1 Then mann.objekt = MoveObject(mann.objekt) EndIf GetDrawKoordinates(mann) Select mann\richtung Case 1 DrawImage mannW, mann\drawX, mann\drawY Case 3 DrawImage mannN, mann\drawX, mann\drawY Case 5 DrawImage mannO, mann\drawX, mann\drawY Case 7 DrawImage mannS, mann\drawX, mann\drawY Case 2 DrawImage mannNW, mann\drawX, mann\drawY Case 4 DrawImage mannNO, mann\drawX, mann\drawY Case 6 DrawImage mannSO, mann\drawX, mann\drawY Case 8 DrawImage mannSW, mann\drawX, mann\drawY End Select For t = 1 To 10 Step 2 Print t Next For i=1 To 100 For j=1 To 100 If bottom(i,j) <> 0 Then links = i * 10 rechts = j * 10 DrawImage box, links, rechts EndIf Next Next Flip ForeverFunction MoveObject(obj.objekt) bewegungX# = 0 bewegungY# = 0 schraege# = Cos(45) * obj\tempo# Select obj\richtung Case 1 bewegungX# = -1 * obj\tempo# Case 3 bewegungY# = -1 * obj\tempo# Case 5 bewegungX# = obj\tempo# Case 7 bewegungY# = obj\tempo# Case 2 bewegungX# = -1 * schraege# bewegungY# = -1 * schraege# Case 4 bewegungX# = 1 * schraege# bewegungY# = -1 * schraege# Case 6 bewegungX# = 1 * schraege# bewegungY# = 1 * schraege# Case 8 bewegungX# = -1 * schraege# bewegungY# = 1 * schraege# End Select obj\x# = obj\x# + bewegungX# obj\y# = obj\y# + bewegungY# Return obj.objekt End Function Function GetDrawKoordinates(mann.objekt) mann\drawX = mann\x# * 10 mann\drawY = mann\y# * 10 End Function Graphics 640, 480 box = LoadImage("box.bmp") MaskImage box, 255, 255, 255 mannW = LoadImage("mannW.bmp") MaskImage mannW, 255, 255, 255 mannN = LoadImage("mannN.bmp") MaskImage mannN, 255, 255, 255 mannO = LoadImage("mannO.bmp") MaskImage mannO, 255, 255, 255 mannS = LoadImage("mannS.bmp") MaskImage mannS, 255, 255, 255 mannNW = LoadImage("mannNW.bmp") MaskImage mannNW, 255, 255, 255 mannNO = LoadImage("mannNO.bmp") MaskImage mannNO, 255, 255, 255 mannSW = LoadImage("mannSW.bmp") MaskImage mannSW, 255, 255, 255 mannSO = LoadImage("mannSO.bmp") MaskImage mannSO, 255, 255, 255 Type objekt Field x#,y#,richtung,tempo#,ausdehnungX#,ausdehnungY#, bewegtSich, drawX, drawY End Type mann.objekt = New objekt mann\x = 10 mann\y = 10 mann\richtung = 1 mann\tempo = 0.2 mann\ausdehnungX = 5 mann\ausdehnungY = 5 Dim bottom(100,100) bottom(15,15) = 1 ClsColor 255, 255, 255 Cls SetBuffer BackBuffer() Repeat Cls mann\bewegtSich = 0 If KeyDown(30) Then mann\richtung = 1 mann\bewegtSich = 1 EndIf If KeyDown(17) Then mann\richtung = 3 mann\bewegtSich = 1 If KeyDown(30) Then mann\richtung = 2 EndIf If KeyDown(32) Then mann\richtung = 5 mann\bewegtSich = 1 If KeyDown(17) Then mann\richtung = 4 EndIf If KeyDown(31) Then mann\richtung = 7 mann\bewegtSich = 1 If KeyDown(30) Then mann\richtung = 8 If KeyDown(32) Then mann\richtung = 6 EndIf If mann\bewegtSich = 1 Then mann.objekt = MoveObject(mann.objekt) EndIf GetDrawKoordinates(mann) Select mann\richtung Case 1 DrawImage mannW, mann\drawX, mann\drawY Case 3 DrawImage mannN, mann\drawX, mann\drawY Case 5 DrawImage mannO, mann\drawX, mann\drawY Case 7 DrawImage mannS, mann\drawX, mann\drawY Case 2 DrawImage mannNW, mann\drawX, mann\drawY Case 4 DrawImage mannNO, mann\drawX, mann\drawY Case 6 DrawImage mannSO, mann\drawX, mann\drawY Case 8 DrawImage mannSW, mann\drawX, mann\drawY End Select For t = 1 To 10 Step 2 Print t Next For i=1 To 100 For j=1 To 100 If bottom(i,j) <> 0 Then links = i * 10 rechts = j * 10 DrawImage box, links, rechts EndIf Next Next Flip Forever |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
du fragst einen .objekt als rückgabe wert ab
dein moveobjekt ist allerdings vom typ integer, weil du nichts anderes angegeben hast: Function MoveObject(obj.objekt) ->> Function MoveObject.objekt(obj.objekt) damit kann deine Funktion ein "objekt" zurückgeben |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da schlag ich doch gleich mal Kapitel V aus meinen Typ-Tutorial vor:
https://www.blitzforum.de/foru...171#355171 "Types und Functions" |
||
omoxen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gut, danke | ||
Abstimmen auf: http://www.solaruhr.bplaced.com/ !! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group