Illegal Memory Adress - bitte was !?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Black Spider

Betreff: Illegal Memory Adress - bitte was !?

BeitragSo, Sep 11, 2005 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute,
bei mir kommt nach einiger Zeit immer dieser Fehler "illegal Memory Adress" und "RenderWorld" is rot angestrichen...
warum!? und warum kommt der erst nach einiger zeit und nicht sofort!?
bitte helft mir!
BlitzBasic: [AUSKLAPPEN]

;-------------------------------------------------------------------------------------
;_____________________________________________________________________________________
; Das kleine Burgspielchen ohne Namen... ---------------------------------------------
;---------------------------------------- CCC GameProductions ------------------------
;---------------------------------------- Coder (u.a.Menue): ChristianSauthoff--------
;---------------------------------------- Coder (u.a.Types): Christian Hammermeister--
;---------------------------------------- Grafiker und Idee: Christain Schabsky-------
;-------------------------------------------------------------------------------------



Graphics3D 1024,768,32,1
SetBuffer BackBuffer()



Const type_spieler = 1,type_land = 2, type_kamera = 3, type_stein = 4
Collisions type_spieler, type_land,2,3
Collisions type_kamera, type_land,2,2
Collisions type_spieler,type_stein,2,2

Global Hebkraft = 0

Global player = LoadAnimMesh(\"Mariorun.x\")
PositionEntity player,5600,1400,7200
EntityType player,type_spieler
EntityRadius player,3
ScaleEntity player,.5,.5,.5

Global pivot = CreatePivot()
cam = CreateCamera(pivot)
MoveEntity cam,0,30,-30
CameraRange cam,1,50000
CameraFogMode cam,1
CameraFogRange cam,100,30000
CameraFogColor cam,50,30,0
RotateEntity cam,0,0,0
CameraClsColor cam,30,140,255
PositionEntity cam,5,-10,-33
EntityType cam,type_kamera
EntityRadius cam,33

PointEntity cam,player
light=CreateLight()
TurnEntity light,45,45,0

;*************-----------Umwelt-----------***********************

Global Stein = LoadMesh(\"Objekte/Stein.3ds\")
HideEntity Stein

Type Steintype
Field Stein
Field Gross
Field Entype
Field hebkraft
End Type

For s = 0 To 10
Steinsetzen( )
Next



wasser = CreatePlane()
unterwasser = CreatePlane()
MoveEntity wasser,0,15,0
MoveEntity unterwasser,0,5,0
EntityType unterwasser,type_land
EntityAlpha wasser,0.7
wassertext = LoadTexture(\"Wasser03.bmp\")
EntityTexture wasser,wassertext
ScaleTexture wassertext,20,20
EntityShininess wasser,1


Global Schlucht = LoadTerrain(\"Maps/Schlucht.png\")
schlund = LoadTexture(\"Maps/Schlund.png\")
Tex = LoadTexture(\"Maps/tex.png\")
EntityTexture Schlucht,schlund,0,1
EntityTexture Schlucht,tex,0,0
ScaleTexture tex,30,30
ScaleEntity Schlucht,20,900,20
ScaleTexture schlund,TerrainSize(schlucht),TerrainSize(Schlucht)
ScaleTexture tex,7,7
PositionEntity Schlucht,0,0,0
EntityType Schlucht, type_land

Sprungkraft# = 0
Schwerkraft# = -30
camspeed = 3
zoom# = 0



;*************-----------^^^^^^-----------***********************

Red#=0
Green#=255
Blue=0
Energie = 610
;-------------------------------------------------------
While Not KeyHit(1)

mxspd=MouseXSpeed()*0.25
myspd=MouseYSpeed()*0.25
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
pitch=pitch+myspd
yaw=yaw-mxspd

If pitch<-90 Then pitch=-90
If pitch>90 Then pitch=90
RotateEntity cam,pitch,yaw,0
;RotateEntity player,0,yaw,0

If KeyDown(17) Then
MoveEntity player,0,0,9
If anim_speed<=0
anim_speed=1.75
Animate player,1,anim_speed

EndIf

End If



If EntityCollided(player, type_terrain) = True Then
If KeyDown(17) Then Schwerkraft = 0.0001
End If
If EntityCollided(player, type_terrain) = False Then
If KeyDown(17) Then Schwerkraft = -5
Else Schwerkraft = -30
End If


If KeyDown(30) Then
TurnEntity player,0,5,0
TurnEntity pivot,0,5,0
End If

If KeyDown(32) Then
TurnEntity player,0,-5,0
TurnEntity pivot,0,-5,0
End If

If KeyDown(31) Then MoveEntity player,0,0,-9


If KeyDown(203) Then TurnEntity pivot,0,3,0
If KeyDown(205) Then TurnEntity pivot,0,-3,0

If KeyDown(200) Then

If zoom# < 7 Then zoom# = zoom# + 0.3
End If

If KeyDown(208) Then

If zoom# > -70 Then zoom# = zoom# - 0.3
End If

;wasserbewegung
MoveEntity wasser,0,0,1



;---Sprung---
If KeyHit(57) Then
Sprungkraft# = 50
Else Sprungkraft# = Sprungkraft - 9
End If



If Schwerkraft + Sprungkraft < -5 Then
Sprungkraft = 0
schwerkraft = -10
End If

PositionEntity pivot,EntityX(player),EntityY(player),EntityZ(player)+zoom#
TranslateEntity player,0,Schwerkraft# + Sprungkraft# ,0

MoveEntity pivot,0,0,zoom#

;--Schwerkräfte--
Schwerkraft()
;--^^^^^^^^^^^^--

UpdateStein()

;---______---

UpdateWorld
RenderWorld

;EnergieBalken

Color Red#,Green#,Blue
Rect 30,130,10,Energie



;Red#=Red# + 2.5
;Green#= Green# - 2.5
;Energie=Energie - 5


Text 0,0,\"X: \"+EntityX(player)
Text 0,20,\"Y: \"+EntityY(player)
Text 0,40,\"Z: \"+EntityZ(player)
Text 0,60,\"Aktion : \"+Aktion$


Flip
Wend

;--------------------------------------------------------
;-------------------------------Funktionen---------------

Function Steinsetzen( )
sg = Rnd(5, 30)
s.Steintype = New Steintype
s\Stein = CopyEntity(stein)
s\Gross = sg
s\Entype = Type_Stein
PositionEntity s\Stein,Rnd(101, 10104),900,Rnd(7276, 9933)
ScaleEntity s\Stein,sg,sg,sg
EntityColor s\Stein,50,60,30
EntityType s\Stein, s\Entype
s\Hebkraft = Hebkraft

End Function

Function Schwerkraft()


For s.steintype = Each Steintype
TranslateEntity s\stein,0,Schwerkraft# + s\hebkraft#,0
Next

End Function

Function UpdateStein( )
For s.Steintype = Each Steintype
If EntityDistance(player, s\Stein) < 35 Then
If KeyDown(42) Then TranslateEntity s\Stein,0,2,0


Aktion$ = \"Shift : Steinheben\"
End If
If EntityDistance(player, s\Stein) < 50 Then
If EntityY(S\Stein) > EntityY(player) Then
If KeyDown(17) Then MoveEntity s\Stein,0,0,10
If KeyDown(31) Then MoveEntity s\Stein,0,0,-10





End If
End If

Next

End Function

befehle hinterm ";" sind bitte nicht zu beachten...

Bitte helft mir !!!
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Benibaerenstark

BeitragMo, Sep 12, 2005 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo "Black Spider", ich denke die wenigsten haben lust so viel code durchzulesen und den fehler ausfindig zu machen! wenn du dich grundsätzlich fragst an was es liegen könnte, benutze die forumsuche, da kommen tonnenweise resultate zum "Memory Access Violation".

Wenn ich mich auf fehler suche begeben muss, da der debugger nichts brauchbares liefert, tue ich dies meist auf folgende weise:

-code in einzelne "aufgaben" teilen (laden, positionieren, verschieben, tastenabfragen usw)

-ganzen code deaktivieren und teilweise wieder freigeben, und nach jedem freigegebenen teil ausgiebig testen ob alles geht.

-dies solange bis der fehlerhafte teil gefunden wird


viel erfolg bei der suche!


mfg beni

regaa

BeitragMo, Sep 12, 2005 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
DebugLog und Print sind deine Freunde Wink
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Black Spider

BeitragDi, Sep 13, 2005 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
danke Very Happy jetzt geht´s wieder.
(und ihc bemühe mich net mehr so viel COde zu schreiben XD)
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif
 

Dödel

BeitragDi, Sep 13, 2005 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
In einem solchen Fall ist viel Code bloß leider oft notwendig. Der Fehler "Illegal Memory Address" ist ein sehr beliebtes, oft gesehenes Ärgernis, das hunderte von Gründen haben kann... Aber wenns jetzt geht, muss ich ja auch nicht spekulieren XD

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group