Frage zum schießen mit Type!
Übersicht

sven123Betreff: Frage zum schießen mit Type! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich habe sons immer nur mit dim Felder gerabeitet!Ich habe jetzt aber ein Problem ich möcht wenn man die Taste (W) drückt immer ein Schuss erzeugt wird allerdings sollen dann ähnlich wie in einem Space Impact aber trotzdem mehrere schüsse auf dem Bildschirm gleichzeitig möglich sein.Mit dim Feldern werden alt immer gleich z.b 5 schüsse oder so mit gleichen variabelen erstellt!Naja deswegen will ich Typs verwenden doch dies funtzt net warum?
Code: [AUSKLAPPEN] Type shot Field x Field y Field aktiv End Type ; If KeyDown(17) Then shot.shot=New shot shot\x=ax2 shot\y=ay2 shot\aktiv=1 EndIf If shot\aktiv=1 Then shot\x=shot\x-2 DrawImage Schuss,shot\x,shot\y EndIf |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
du mußt alle zeichnen
und nicht nur den gerade erstellten Code: [AUSKLAPPEN] for shot.shot = each shot
DrawImage Schuss,shot\x,shot\y next Aktiv ist dieser doch wenn du ihn erstellst und bei der Bereichsabfrage bzw Kollision deaktivierst du ihn mit delete shot.shot nicht mit Shot\aktiv = 0, da es so ja nicht gelöscht wird und deine schleife immer größer wird! |
||
[BB2D | BB3D | BB+]
|
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hmmm!Bei mir kommt immer ilegal memory adresse! | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann konnte eine Grafik nicht geladen werden oder sowas. Schalt den Debugger an, dann kriegst Du eine vernünftige Fehlermeldung ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich verweise auf meine HP und von da aus dann das TUT zu Types loaden. | ||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich habe mich noch mal versichert aber die Grafiken werden korekt geladen.An dehnen hat sich ja auch nichts geändert mus was anderes sein! | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
das kann so viel sein,
schuss nicht global Schuss falsch geschrieben nicht geladen oder wenn man oft mit Text arbeitet das man es dann so schreibt... Drawimage 100,100,bild aber am besten mit Debugger überprüfen! Das laden zb.überprüfe ich grundsätzlich loadimage schuss....... If Schuss = 0 then runtimeerror "Bild -Schuss- konnte nicht geladen werden...." |
||
[BB2D | BB3D | BB+]
|
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder ohne das globalisierungszeugs, einfach in Funktionen reinpacken. Das ist mein Favorit:
Type shot Field x Field y Field aktiv End Type ; If KeyDown(17) Then schuss=New_Shot(ax2,ay2) EndIf Repeat draw_shot() Forever Function New_shot(x,y) shot.shot=New shot shot\x=ax2 shot\y=ay2 shot\aktiv=1 End Function Function draw_shot() For shot.shot=Each shot If shot\aktiv=1 Then shot\x=shot\x-2 DrawImage Schuss,shot\x,shot\y Next End Function |
||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Fehler kommt wegen diesem ausdruck:
Code: [AUSKLAPPEN] DrawImage Schuss,shot\x,shot\y ;wenn ich das so schreibe dann gehts DrawImage Schuss,40,30 |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann ist wahrscheinlich kein wert in shot\x und/oder das Objekt exestiert nicht. | ||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wette er sagt :Objekt does not exist | ||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier nochmal!Also er sagt iligal memory adress!
Vileicht könnt ihr jetzt ja den Fehler endecken ich sehe keinen!! Code: [AUSKLAPPEN] Type shot Field x Field y Field aktiv End Type ; If spieler1kapsel=1 Then If KeyDown(31)=0 Then aliengroundspeed=1 EndIf DrawImage Alienschiff,ax2,ay2 If aliengroundspeed=1 Then ay2=ay2+2 If KeyDown(17) Then shot.shot=New shot shot\x=ax2 shot\y=ay2 shot\aktiv=1 EndIf If shot\aktiv=1 Then For shot.shot = Each shot DrawImage Schusse,shot\x,shot\y Next shot\x=shot\x-2 EndIf If KeyDown(30) Then ax2=ax2-2 If KeyDown(32) Then ax2=ax2+2 If KeyDown(31) Then ay2=ay2-1.5 aliengroundspeed=0 EndIf |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
Gossi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du schreibst for shot.shot, ich bin mir einigermaßen sicher, dass das nicht erlaubt ist. schreib lieber for schuss.shot oder ähnlich. | ||
Alle Wasser laufen ins Meer, doch wird das Meer nicht voller; an den Ort, dahin sie fließen, fließen sie immer wieder. (...) Was geschehen ist, eben das wird hernach sein. Was man getan hat, eben das tut man hernach wieder, und es geschieht nichts neues unter der Sonne. Geschieht etwas, von dem man sagen könnte: "Sieh, das ist neu"? Es ist längst vorher auch geschehen in den Zeiten, die vor uns gewesen sind. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
der Fehler liegt an diesem Aktiv
If shot\aktiv=1 Then ; hier wird ein Shot abgefragt der noch nicht da ist Das Aktiv brauchst du gar nicht, denn wenn du einen Shot erstellst dann ist dieser automatisch aktiv Code: [AUSKLAPPEN] Type shot
Field x Field y Field aktiv End Type ; If spieler1kapsel=1 Then If KeyDown(31)=0 Then aliengroundspeed=1 EndIf DrawImage Alienschiff,ax2,ay2 If aliengroundspeed=1 Then ay2=ay2+2 If KeyDown(17) Then shot.shot=New shot shot\x=ax2 shot\y=ay2 ;shot\aktiv=1 ; das brauchste doch nicht mehr EndIf ; dies hier gibt prob beim Start da es noch keins gibt ;If shot\aktiv=1 Then ; diese schleife immer laufen lassen , ; wenn kein shot da ist wird auch keiner gemalt For shot.shot = Each shot DrawImage Schusse,shot\x,shot\y shot\x=shot\x-2 ; das muss in die Schleife, sonst haste dasgleich Prob wie mit der if shot\aktiv Next ;EndIf If KeyDown(30) Then ax2=ax2-2 If KeyDown(32) Then ax2=ax2+2 If KeyDown(31) Then ay2=ay2-1.5 aliengroundspeed=0 EndIf nochwas, irgendwo ist ja noch der code wo du jetzt den schuss abschaltest, etwa so shot\aktiv = 0 das ersetz du mit delete shot , dann ist der komplett gelöscht |
||
[BB2D | BB3D | BB+]
|
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gossi hat Folgendes geschrieben: Du schreibst for shot.shot, ich bin mir einigermaßen sicher, dass das nicht erlaubt ist. schreib lieber for schuss.shot oder ähnlich.
Wo hast du denn diesen Salat her? Also ich bin mir sicher , das es zu 1000% geht, das mach ich ziemlich oft, z.B. window.window oder soclhe Sachen. ![]() |
||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
![]() |
Gossi |
![]() Antworten mit Zitat ![]() |
---|---|---|
@regaa
Ich hab für meine Variablen bisher immer andere Bezeichnungen genommen als der Typ-Bezeichnung. Ich hatte vermutet es würde zu Verwechslungen kommen, nach dem Motto "Variable is not a Type" oder sowas. ![]() |
||
Alle Wasser laufen ins Meer, doch wird das Meer nicht voller; an den Ort, dahin sie fließen, fließen sie immer wieder. (...) Was geschehen ist, eben das wird hernach sein. Was man getan hat, eben das tut man hernach wieder, und es geschieht nichts neues unter der Sonne. Geschieht etwas, von dem man sagen könnte: "Sieh, das ist neu"? Es ist längst vorher auch geschehen in den Zeiten, die vor uns gewesen sind. |
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, hab ich früher auch gedacht, aber dem ist nicht so, und da ich meistens eh eine variable für ein typ benuzte find ich auch ganz praktisch das es so geht. | ||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
GastBetreff: Also bei mir funzzt des irgendwie nich |
![]() Antworten mit Zitat |
|
---|---|---|
der zeigt überhaupt kein schuss an ... startet zwar aber er zeigt kein schuss an .... *kratz* oder hab ich irgendwas vergessen ?! mhmm
![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group