3 gegner probleme
Übersicht

masterman123Betreff: 3 gegner probleme |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo,
1.mein gegner soll nicht immer ununterbrochen schießen,sonder nachladen(nichtschießen für 2s) 2.wenn ich mit entitydistance sage das,wenn ich <450 bin dann soll er schießen,aber dann schießen alle gegner Code: [AUSKLAPPEN] Function Update_Aliens()
For al.aliens=Each aliens If EntityDistance(al\obj,cam)<450 And EntityDistance(al\obj,cam)>15 Then al\timer=al\timer+1 winkel#=DeltaYaw(al\obj,cam) TurnEntity al\obj,0,winkel#/22,0 If al\timer=9 And leben > 0 Create_AlienBullets() al\timer=0 EndIf EndIf If EntityCollided(al\obj,shotme) Then al\life=al\life-1 EndIf If EntityCollided(al\obj,terre) Else TranslateEntity al\obj,0,-1,0 EndIf If al\life=0 FreeEntity al\obj Delete al AlienCount=AlienCount-1 EndIf Next End Function 3.dann soll,wenn der gegner tot ist(gelöscht),ein anderer gegner kommen(der liegt da rum) wie geht das? mfg masterman123 |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. if![]() ![]() 2. Begreif deinen Code nicht ganz 3. dann soll,wenn der gegner tot ist(gelöscht),ein anderer gegner kommen(der liegt da rum) Wer soll da rum liegen? Wenn du ihn löscht mit Delete einfach einen neuen Erstellen, wo ist da das Problem? mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1.ok ich versuchs/hab nicht hingekriegt
2.naja egal 3.das krieg ich ja nicht hin ![]() |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. so in die Richtung muss das ausschauen, falls dus nicht checkst, frag ruhig nach;)
Code: [AUSKLAPPEN] Type gegner Field x Field y Field rldtime End Type Type schuss Field x Field y End Type g.gegner=New gegner g\x=100 g\y=10 g\rldtime=13 g.gegner=New gegner g\x=100 g\y=100 g\rldtime=124 g.gegner=New gegner g\x=100 g\y=200 g\rldtime=86 While Not KeyHit(1) Cls For g.gegner= Each gegner Rect g\x,g\y,10,10,1 g\rldtime=g\rldtime-1 If g\rldtime=0 g\rldtime=150 s.schuss=New schuss s\x=g\x s\y=g\y EndIf Next For s.schuss= Each schuss s\x=s\x+1 Text s\x,s\y,"*",1,1 If s\x>500 Then Delete s.schuss Next Flip 60 Wend 3. was willst du denn nun? ,mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
zum 3ten Punkt, ein Beispiel ausm Bauch raus.
Code: [AUSKLAPPEN] for g.TGegner = each Gegner If g.TGegner\hp = 0 then g2.TLeiche = new Tleiche Positionentity g2.Tleiche\handle , g.TGegner\posX , g.TGegner\posY , g.TGegner\posZ delete g.TGegner end if next Wenn der Gegner 0 Hp hat, dann erstelle zuerst die Leiche an dessen Position und lösche erst dann den Gegner. Ich denke es wäre aber sinnvoller, wenn du "Gegner" und "Leiche" zusammenführst. Also wenn der Gegner verreckt, dann kann er ja tot am boden liegen bleiben und nach einiger zeit gelöscht werden. ~EDIT~ Ach frage 1 wurde auch nicht beantwortet. Naja ich denke das erklärt sich von selbst: (Lauffähiger code) Code: [AUSKLAPPEN] While Not KeyHit(1) If MilliSecs() >=time+1000 Then time=MilliSecs() Print "Stinken ist cool ! " End If Wend End die +1000 sagen aus wieviele Millisekunden gewartet werden soll bis die IF-Abfrage "=True" ist Time speichert einfach nur die aktuelle millisekunden zeit, und wird zum abgleichen benötigt Gruß Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
1.ich kriegs nicht in meine function rein Code: [AUSKLAPPEN] Function Update_Aliens()
For al.aliens=Each aliens If EntityDistance(al\obj,cam)<250 And EntityDistance(al\obj,cam)>15 Then al\timer=al\timer+1 winkel#=DeltaYaw(al\obj,cam) TurnEntity al\obj,0,winkel#/22,0 If al\timer=9 And leben > 0 Create_AlienBullets() al\timer=0 End If EndIf If EntityCollided(al\obj,shotme) Then al\life=al\life-1 EndIf If EntityCollided(al\obj,terre) Else TranslateEntity al\obj,0,-1,0 EndIf If al\life=0 FreeEntity al\obj Delete al AlienCount=AlienCount-1 EndIf Next End Function zu 3. ich habs versucht ratet mal ob ichs hinbekommen habe |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
9 Frames sind nun mal keine 2 Sekunden. Der Einsatz von Millisecs![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich will ihn nicht langsamer machen sonder das der schuss 2s auf hört und dann weiter geht | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist das selbe Prinzip. Du hast eine bestimmte Anzahl von Schüssen z.B. Magazin und wenn das 0 erreicht speicherst du die Zeit. Wenn 2 Sekunden vorbei sind, wird das Magazin wieder aufgefüllt. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Boa es ist ziemlich schwer aus deinem Codeschnipsel schlau zu werden, wenn er so unformatiert ist.
also nochmal zu deinem Nachlade-Schuss-Unterbrechungs-Problem-dings-da... Eigentlich brauchst du ja garnicht denn schuss für 2sek auser betrieb nehmen. Schreib doch lieber eine Abfrage die einfach prüft ob er gerade was im Magazin hat oder nicht. Und mach es abhängig von der Länge der Nachlade animation.(Vorteil: egal was für eine Waffe benützt wird, er lädt auch wirklich erst die waffe "neu" wenn das nachladen fertig ist) Somit ergibt sich dieses Logische konstrukt: (ausm Bauch) Code: [AUSKLAPPEN] Function schuss() IF Magazin > 1 and Mousedown(1) Then animate "Schuss animation" : Create_new_shot IF Magazin < 1 and Nachladen=1 Then "starte nachlade animation" IF "letzter keyframe der Animation erreicht" then Magazin=10:Nachladen=0 end if End Function |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group