Schuss Funktion?
Übersicht

![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
If schussdaten = 1 = 3 ![]() das sollt volkommen ausreichen Code: [AUSKLAPPEN] Function DrawSchuss()
If schussdaten = 1 then ;Daten werden übertragen schussx = schussx+1 DrawImage kugel,schussx,schussy ; <><<<<<<<<<<hier wurde geändert EndIf If schussdaten = 2 Then ;Daten werden schussx = schussx-1 DrawImage kugel,schussx,schussy EndIf End Function |
||
[BB2D | BB3D | BB+]
|
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ahhh es geht ![]() ok jetzt muss ich nur noch schussdaten irgent wie anders übermitteln weil jedes mal wenn ich die taste neu drücke wird die alte kugel gelöscht und eine neue gezeichnet ![]() |
||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
kein problem das mit dem Code!
sehr gut wenn du es allein geschafft hast! |
||
[BB2D | BB3D | BB+]
|
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja alleine hätte ich das wohl nicht geschafft ... ich hätte weiterhin meine For schleife benutzt vielen dank ![]() hast du eine idee wie ich die schussdaten anders übergeben kann?? |
||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja, mit Dimfeldern da es ja mehrere werden denk ich mal
ich schreib dir da morgen noch was! |
||
[BB2D | BB3D | BB+]
|
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok
achja ich hab gerade einen bug entdeckt wenn man schiesst und sich um dreht kommt die kugel wieder zurück |
||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
eine neue funcktion
Bumerang() ![]() bis morgen... |
||
[BB2D | BB3D | BB+]
|
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gn8 | ||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
hab gerade nicht viel zeit ![]() kennste dich denn mit Dim feldern ein wenig aus? ansonsten erst mal hier schauen http://www.blitzbase.de/befehle2d/dim.htm |
||
[BB2D | BB3D | BB+]
|
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja also ich weiss wie man sie erstellt | ||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi ,
schussx und schussy nehmen wir als übergabeVariablen so wie es ja jetzt schon ist! als erstes brauchst du ein Dim feld für die Schüsse kommt oben im Anfang des Programm Codes hier mal 51 Schüsse die automatisch global sind Code: [AUSKLAPPEN] Dim Kugel(50,2) in Kugel(x,0) speichern wir, ob diese überhaupt aktiv ist und gemalt werden soll aber dazu gleich mehr Kugel(x,1) speichern wir die X Koordinate der Kugel Kugel(x,2) speichern wir die Y Koordinate der Kugel Code: [AUSKLAPPEN] Function Suche_freien_Schuss() For t= 0 To 50 ; alle dimreihen abfragen bis If Kugel(t,0)= 0 Then ; nicht genutztes Feld gefunden ;bzw Leere variable Kugel(t,0) = 1 ; schuss aktivieren Kugel(t,1) = schussx ; positionen übergeben Kugel(t,2) =schussy Exit ;schleife verlassen da eine gefunden wurde End If Next End Function das ist nur die funktion um die daten zu übergeben die aufgerufen wird wenn du die Schusstaste gedrückt hast also in der Function schiesen() die kann irgendwo am ende des codes stehen die zweite Funcktion brauchen wir um den Schuss anzuzeigen und wird in der hauptschleife aufgerufen Code: [AUSKLAPPEN] Function DrawSchuss() For t= 0 To 50 ; alle dimreihen abfragen If Kugel(t,0)= 1 Then ; wenn aktiv dann ;jetzt nur nach linkspositionen verschieben Kugel(t,1) = Kugel(t,1) -2 ; drawimage kugelbild,Kugel(t,1),Kugel(t,2) End If Next End Function wenn du bis hierher folgen konntest, dann zeig ich dir wie du die richtungen einbauen kannst |
||
[BB2D | BB3D | BB+]
|
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jo habs eben auch so hinbekommen habe nur neue variabeln genommen | ||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
![]() |
ViciouS |
![]() Antworten mit Zitat ![]() |
---|---|---|
nochmal mit types
Code: [AUSKLAPPEN] type type_kugel field bild field x,y field speed end type global kugel.type_kugel function new_schuss() kugel = new type_kugel kugel\x = playerx kugel\y = playery kugel\speed = speed ;- für links/+ für rechts end function function update_schuss() for schuss = each type_schuss schuss\x = schuss\x+schuss\speed drawimage deinkugelbild,schuss\x,schuss\y if imagescollide(schuss\bild,schuss\x,schuss\y,0,gegner,gegnerx,gegnery,0) then gegnerleben = gegnerleben-1 delete schuss end if next end function |
||
Skaten ist scheisse...
Bilanz: 3 Knochenbrüche in 4 Jahren... und es werden mehr ![]() |
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmmm naja mit types kenne ich mich nicht so gut aus
Noch ne frage hab die funktion so umgebaut das die kugeln bei mir auch nach links fliegen sollten aber sie fliegen nur nach rechts. Auch wenn mein Char nach links guckt. Code: [AUSKLAPPEN] Global richtung = 1 Dim Schuss(30,4) Global Art Repeat .... bla bla If KeyHit(rechts) Then richtung=0 If KeyHit(links) Then richtung=1 If Hero = dude_m4 Then Art = 0 If Hero = dude_pgun Then Art = 1 If KeyHit(schiessen) Then schuss_starten( Player_pos_x+10, Player_pos_y+25, Art,richtung) If KeyHit(schiessen) Then schuss_starten( Player_pos_x+10, Player_pos_y+25, Art,richtung) Schuss_malen() ... bla bla Until Keyhit(1) Code: [AUSKLAPPEN] ;<---- SCHIESSEN ----> Function schuss_starten (x_pos,y_pos,Art,richtung) For t= 0 To 30 If Schuss(t,0)= 0 Then Schuss(t,0) = 1 Schuss(t,1) = x_pos Schuss(t,2) =y_pos Schuss(t,3) = Art If Schuss(t,4) = 0 Then Schuss(t,4) = 2 If Schuss(t,4) = 1 Then Schuss(t,4) = 3 Exit End If Next End Function Function Schuss_malen() For t= 0 To 30 If Schuss(t,0) = 1 Then If Schuss(t,3) = 0 And Schuss(t,4) = 2 Then ;Colt rechts Schuss(t,1) =Schuss(t,1) + 5 If Schuss(t,1) < 50 Then Schuss(t,0) = 0 EndIf DrawImage kugel, Schuss(t,1), Schuss(t,2) EndIf If Schuss(t,3) = 0 And Schuss(t,4) = 3 Then ;Colt links Schuss(t,1) =Schuss(t,1) - 5 If Schuss(t,1) > - 50 Then Schuss(t,0) = 0 EndIf DrawImage kugel, Schuss(t,1), Schuss(t,2) EndIf EndIf Next End Function |
||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab mal drüber geschaut und ein wenig geändert, natürlich mit Kommentar
wenn Fragen dann fragen!Code: [AUSKLAPPEN] Global richtung = 1
Dim Schuss(30,4) ; Global Art ;<<<<<< muß nich global sein denk ich mal, ; für die Function werden keine globalen werte benötigt, ; ausser der Dims und die sind immer Global Repeat .... bla bla ; hier keydown abragen nicht keyhit, ;du müstest ja dann die rechte und die schiessentaste gleichzeitig drücken ; das schafft man ja fast nie If KeyDown(rechts) Then richtung=2 ; <<<<<<<<<<<<<<<< soll doch 2 sein für rechts If KeyDown(links) Then richtung=3 ; <<<<<<<<<<<<<<<< soll doch 3 sein für links ; besser wäre es sowieso wenn du die richtung schon beim abfragen der Bewegung einstellst, ; dann schiesst er auch wenn keine bewegungstaste gedrückt wird in die richtige richtung If Hero = dude_m4 Then Art = 0 ; ist die Waffe also erst mal 0 für colt If Hero = dude_pgun Then Art = 0 ; da du nur diesen einen Typ hast, glaub ich weniigstens If KeyHit(schiessen) Then schuss_starten( Player_pos_x+10, Player_pos_y+25, Art,richtung) Schuss_malen() ... bla bla Until KeyHit(1) ;<---- SCHIESSEN ----> Function schuss_starten (x_pos,y_pos,Art,richtung) For t= 0 To 30 If Schuss(t,0)= 0 Then Schuss(t,0) = 1 Schuss(t,1) = x_pos Schuss(t,2) = y_pos Schuss(t,3) = Art Schuss(t,4) = richtung ;<<<<<< nur den wert übergeben ; rest erledigt die function Schuss_malen() Exit ; die function wird verlassen End If Next End Function Function Schuss_malen() For t= 0 To 30 If Schuss(t,0) = 1 Then ; für schuss mit colt If Schuss(t,3) = 0 ;scheint immer gegeben zu sein DrawImage kugel, Schuss(t,1), Schuss(t,2) If Schuss(t,4) = 2 Then ;Colt rechts Schuss(t,1) =Schuss(t,1) + 5 If Schuss(t,1) > 800 Then Schuss(t,0) = 0 ; abschalten EndIf EndIf If Schuss(t,4) = 3 Then ;Colt links Schuss(t,1) = Schuss(t,1) - 5 If Schuss(t,1) < 0 Then ; hier falsch gewesen , war größßer 0 deswegen wurde der schuss sofort abgeschaltet Schuss(t,0) = 0 EndIf EndIf EndIf End If Next End Function |
||
[BB2D | BB3D | BB+]
|
ZAiMoN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke leute nun gehts.
Ok wenn ich noch irgent wo probleme hab schreibe ich es hier rein. |
||
In Online Games Gilt:
Luck Beats Skill Lag Beats Skill Cheat Beats Skill |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group