warum gibt es Memory access violation

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Schnäggli92

Betreff: warum gibt es Memory access violation

BeitragSa, März 21, 2009 14:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen ich habe ein kleines pong programmiert und wollte es nun als exe abspeichern. das habe ich gemacht und immer wenn ich die exe ausführe kommt wenn ich die erste kollision habe ein Memory access violation. wenn ich das spiel im ideal editor ausführe tritt der fehler nur im fenstermodus nicht aber im vollbild modus auf????

Code: [AUSKLAPPEN]

Graphics 800, 600, 0, 2

SetBuffer BackBuffer(  )

Global x# = 300.0, y# = 300.0
Global player1y = 300
Global player2y = 300
Global winkel# = Rnd( 0, 359 )
Global speed# = 10
Global player = LoadImage("player.png")
Global player2 = LoadImage("player2.png")
Global ball = LoadImage("ball.png")
Global start = 0

While Not KeyHit( 1 )
   
    Cls
   
   If KeyHit(57) Then
      start = 1
      x# = 300.0
      y# = 300.0
      
   End If
   
   DrawImage player,0,player1y
   DrawImage player2,790,player2y
   DrawImage ball,x#-5, y#-5
   
   If start = 1 Then
   
    x# = x# + Cos( winkel# ) * speed#
    y# = y# + Sin( winkel# ) * speed#
   
    If y# > 600 Or y# < 0
      
        winkel = 360 - winkel#
      
    EndIf
   
   If x# > 800 Or x# < 0 Then
      ; start = 0
   End If
   
   If KeyDown(17) And player1y > 0 Then player1y = player1y - 5
   If KeyDown(31) And player1y < 500 Then player1y = player1y + 5
   If KeyDown(200) And player2y > 0 Then player2y = player2y - 5
   If KeyDown(208) And player2y < 500 Then player2y = player2y + 5
   
    If ImagesCollide(player,0,player1y,frame1,ball,x#-5,y#-5,frame2) Or ImagesCollide(player,780,player2y,frame1,ball,x#-5,y#-5,frame2) Then
      
        winkel# = 180 - winkel#
      
    EndIf
   
   
End If
   
    Flip
   
Wend


kann mir da irgendwer helfen?? der debugger zeigt auf die zeile :
Code: [AUSKLAPPEN]

If ImagesCollide(player,0,player1y,frame1,ball,x#-5,y#-5,frame2) Or ImagesCollide(player,780,player2y,frame1,ball,x#-5,y#-5,frame2) Then

vielen dank im voraus
 

da_poller

BeitragSa, März 21, 2009 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
wie mir scheint und auch anderen nutzern wohl shcon aufgefallen ist liegt es an dem befehl imagescollide(der befehl funktioniert auch nciht immer bei mir) sofern es gut möglich ist kann man das ganze auch selbst lösen(mit rechecken z.b.)

ozzi789

BeitragSa, März 21, 2009 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir mal dies an Wink
https://www.blitzforum.de/foru...gescollide
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Schnäggli92

BeitragSa, März 21, 2009 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
aha okok und da gibt es keine möglichkeit das irgendiwe zum laufen zu bringen?? aber wenn blitz3d oder blitz2d nicht endlich mal dx9 unterstützt werde ich gezwungenermasen auf eine ander engine umsteigen, weil dx7 einfach auf vielen neuen hardware nichtmehr richtig unterstützt werden

The_Nici

BeitragSa, März 21, 2009 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Für ein Pong braucht es ja schon dx9, wat?
RectsOverlap könnte helfen.
MfG

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Dx9 fordern, aber ein Pong damit umsetzen wollen. Rolling Eyes
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Schnäggli92

BeitragSa, März 21, 2009 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
es get nicht um ein pong ich denke in die zukunft wenn ein pong schon nicht richtig auf neuen grafikkarten läuft dann wirt man mit einem grossen game schnell an die grenzen stossen

The_Nici

BeitragSa, März 21, 2009 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann hol dir BlitzMax. Blitz3D hat nicht wirklich Zukunft.
MfG

BladeRunner

Moderator

BeitragSa, März 21, 2009 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem mit Imagescollide ist recht einfach zu umschiffen. Sicher ist es ärgerlich dass der Befehl auf moderner Architektur nur unbefriedigend funktioniert, aber der Kern der Sprache tut es ja dennoch einwandfrei.
Wenn Du unzufrieden bist: Es gibt hunderte von Dialekten auf dem Markt, bediene dich frei.
Ich persönlich halte BB (und insbesondere BMax) vom Preisleistungsverhältnis für den Casual Programmierer absolut gelungen. Ich muss mich nicht mit makefiles rumärgern, mir nicht jeden Pups als Fremdlib besorgen oder von Grund auf selbst schreiben. Von daher bin ich zufrieden.
und für Bmax ist ja zumindest die Ahnung eines DX9-Treibers am Horizont Smile
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Schnäggli92

BeitragSa, März 21, 2009 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
okok hat blitz max dx8oder auch nur dx7??

The_Nici

BeitragSa, März 21, 2009 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
dx7 und dx9 + OpenGL soweit ich weiss.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Schnäggli92:

Tja, ich gebe dir da schon Recht. Nur die einzigen die sich an so etwas beschweren sind die absoluten Noobs und die absoluten Profis unter uns. Die Noobs überwiegen mit etwa 80:20.

Die Noobs regen sich darüber auf und brauchen Shader, Dx10++, Schatten- und Physikengine und die schnellste Grafikausgabe mit nur einem Befehl ohne viel Schnickschnak drumherum schreiben zu müssen. Nur leider funktioniert das so nicht. Endweder, du beschränkst dich auf Causal-Games, die einfach struktuiert sind, und realistisch von einem gutem Entwickler innerhalb realistischer Zeit umgesetzt werden kann. Oder du wendest Basic allgemein den Rücken, und lernst C++ oder von mir aus auch Java (weil es grad so modern ist) und entwickelst dann zusammen mit einem Team ein Spiel zusammen und bekommst sogar Geld dafür.

Nur wird man nicht so einfach ein Spieleentwickler. Dafür ist der Markt noch sehr mager, aber man geht davon aus, dass in naher Zukunft der Markt extrems boomen wird. Hier in Hamburg werden im übrigen (meines Wissens) mit Abstand die meisten Onlinegames aus Deutschlang programmiert. Trotz ständiger gesuche in Anoncen, hat man nehezu keine Chance hier einzutretten. Man versucht die Fehler der Vergangenheit - nämlich jeden einstellen der überhaupt etwas kann - zu vermeiden. Man muß also absolute Spitze sein. Und ohne entsprechendes Studium kannst du das alles knicken. Außerdem sind bereits die Aufnahmebedingungen für ein Spieleentwickler-Studium schon sehr hoch gestellt.

Also: Entweder lernen was das Zeug hält, und zwar auf professionellem Niveau und versuchst dich in ein entsprechendes Studium zu bewerben und hoffen das auch durchzuziehen. Oder man belässt es auf Causal-Games und bevorzugt eine Programmiersprache die einem dahin bringt, wohin man möchte. Nämlich zum Erfolg eines fertigen Programmes. Alles andere ist meistens mit noch mehr Hürden bestückt und abverlangt unmengen mehr an Zeit zur Umsetzung eines fertigen Programmes. Auch wenn man dann in den Genuss von 50% mehr Programmleistung kommt.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Schnäggli92

BeitragSa, März 21, 2009 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ja mir würde dx7 völlig reichen aber es wird leider nicht mehr richtig unterstützt

BladeRunner

Moderator

BeitragSa, März 21, 2009 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
BMax ist offiziell DX7 und OGL(1.3?), es gibt jedoch einen DX9-Treiber in Entwicklung und man kann OGl erweitern, wie es einige Nutzer hier tun (zB Ava)
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur so am Rande. Deine ganzen Globalendeklarationen deuten darauf hin, dass du später mal auch Funktionen nutzen möchtest. Nun ist es aber so, dass du mit dem ''alles global deklarieren'' die philosophie der struktuierten Programmierung begräbst und im grunde lediglich Goto/Gosub -Anweisungen durch Funktionsaufrufe ersetzt. Vom Grundprinzip ändert sich nichts und von echter Struktur kann nicht dir Rede sein.

Funktionen sollen zum Beispiel bestimmte Berechnungen für verschiedene Programmteile zur Verfügung stellen, dabei aber ihren eigenen Variablenspielraum haben. Den bekommen sie bei dir zwar auch, können aber trotz allem überall rumfuschen. Wenn da ein Fehler auftritt, dann ist die Fehlersuche groß am Ende.

Ist nur als Tipp gedacht.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Schnäggli92

BeitragSa, März 21, 2009 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
okok danke für eure antworten ich habe gemerkt das es im vollbildmodus wegen fehlenden bildern gekommen ist im fenstemodus kommt der fehler immernoch aber egal fenstermodus braucht niemand

jetzt noch eine andere frage wegen 3d engine es gibt ja viele opensource engines. nun weis ich aber nicht mit welcher sprache dass man die codet??? immer c++ oder gibt es eine die man mit basic proggen kann ? ich lerne c++ eben erst in etwa 2 jahren in der schule
vielen dank für eure antworten

Eingeproggt

BeitragSa, März 21, 2009 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
aber egal fenstermodus braucht niemand


Sorry wenn dieser Post vielleicht einigen als unnötig erscheinen mag aber:

Solltest du nicht zumindest andenken, dem Benutzer die Möglichkeit zu geben, zwischen Fenster- und Vollbildmodus zu entscheiden weiß ich schon wessen Programme ich nicht testen werde.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Nicdel

BeitragSa, März 21, 2009 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke mal in BlitzBasic ist es nicht möglich eine Engine zu erstellen. In C++ sollte es aber möglich sein.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group