Moorhuhn

  • also ich programmier grad an nem Klickshooter - genauer: an nem Moorhuhn-klon - und blicks net wie ichs hinbekomm dass:

    - wenn das huhn lebendig aus dem bild fliegt es zu 'ner zufälligen zeit wieder reinkommt (andere seite - gleiche seite auch zufällig)
    - wenn das huhn erschosssen ist und dann nach unten aus dem bild fliegt, nach einer zufälligen zeit ein lebendiges huhn aus einer zufälligen richtung wieder in's bild reinfliegt.
    - die hühner am anfang net schon im Bild sind sondern auch erst ins bild reinfliegen.


    hmm ich glaub da war noch irgentwas aber ich weiß es nimmer... naja wenns mir einfällt werd ich's euch wissen lassen...

    bitte helft mir!

    edit: 'n Rechtschreibfehler verbessert...

    -Agent3004
    Alle Rechtschreibfehler sind Copyright (c) by Agent3004.

    Scheisen sollte man mit der maus können!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Agent3004 ()

  • Ich sag nur random, mehr brauchste nicht.
    Evtl. noch ein wenig eigenständiges Denken.
    Hört doch auf immer zu ertleutern was ihr wollt...
    HIlfreicher wäre, wenn ihr schildert was nicht geht oder wo ihr probleme habt.
    Sag nicht du hast 0 Idee und keien Ahnung wo du anfangen sollst... dann haste wahrscheinlich noch garnicht angefangen darüber nachzudenken.
  • Original von TrunX
    ...wo ihr probleme habt.


    hab ich das nicht?

    - wenn das huhn lebendig aus dem bild fliegt es zu 'ner zufälligen zeit wieder reinkommt (andere seite - gleiche seite auch zufällig)
    - wenn das huhn erschosssen ist und dann nach unten aus dem bild fliegt, nach einer zufälligen zeit ein lebendiges huhn aus einer zufälligen richtung wieder in's bild reinfliegt.
    - die hühner am anfang net schon im Bild sind sondern auch erst ins bild reinfliegen.
    Alle Rechtschreibfehler sind Copyright (c) by Agent3004.

    Scheisen sollte man mit der maus können!
  • Nein hast du nicht...
    das ist eine Liste was du haben möchtest.
    Um nicht unnötig zu spammen:

    1.

    GML-Quellcode

    1. //step:
    2. if x>room_width+sprite_width or x<roomwidth-sprite_width
    3. {
    4. wasmachen=choose(1,2)
    5. if wasmachen=1
    6. //einfach umkehren
    7. else
    8. if x>room_width
    9. x=0
    10. else
    11. x=room_width
    12. }
    Alles anzeigen

    2.

    GML-Quellcode

    1. //step:
    2. if y>room_height+sprite_height
    3. {
    4. alarm[0]=random(20)*room_speed //0-20 sekunden in diesem fall
    5. }
    6. //alarm0:
    7. y=minabstandoben+random(room_height-minabstandoben-minabstandunten)
    8. x=choose(0,room_width)

    3.
    kannst den code aus alarm0 nehmen bzw. alarm0 im createvent starten (Auf 1 setzten)

    Habs jetzt ohne groß nachzudenken niedergeschrieben. Sicherlich nicht der idealste und kürzeste Lösungsansatz...

  • ___________________________________________
    FATAL ERROR in
    action number 1
    of Step Event
    for object Muurhohn:

    COMPILATION ERROR in code action
    Error in code at line 7:
    else

    at position 2: Unexpected symbol in expression.


    edit:

    also hier:

    GML-Quellcode

    1. //step:
    2. if x>room_width+sprite_width or x<roomwidth-sprite_width
    3. {
    4. wasmachen=choose(1,2)
    5. if wasmachen=1
    6. //einfach umkehren
    7. else
    8. if x>room_width
    9. x=0
    10. else
    11. x=room_width
    12. }
    Alles anzeigen
    Alle Rechtschreibfehler sind Copyright (c) by Agent3004.

    Scheisen sollte man mit der maus können!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Agent3004 ()

  • neuer post - damit's gelesen wird, wenn die mods das net so sehen wollen dann bitte den post löschen und den inhalt in den alten reinschreiben!

    also die Probleme:

    1. Die toten viecher fallen aus dem bild und kommen dann nach net zufälligenzeit an ner sufälligen stelle wieder TOT links in den bildschirm wieder rein... also unten raus links wieder rein??? da sollten eigentlich dann die lebenden Hühner rauskommen...

    2. Die lebenden hühner klemmen am bildrand...

    3. ich bekomms immernoch net hin dass die tiere ausserhalb dess bildes spawnen und dann erst reinfliegen... wenn sie aussen spawnen bemerkt der ja "objekt ausserhalb dess bildes" und setzt es neu... usw...
    Alle Rechtschreibfehler sind Copyright (c) by Agent3004.

    Scheisen sollte man mit der maus können!
  • Hi,

    habe grade ein ähnliches Problem... und wollte keinen Thread extra aufmachen, währ ja unsinnig, wenn schon einer da ist der vom Prinzip her ein ähnliches Problem behandelt:

    GML-Quellcode

    1. // Bewegung nach links mit einer Speed von 10
    2. hspeed=-10
    3. effect_create_above(ef_smoke,other.x+35,other.y,0,c_lime);
    4. //Kollisionsabfrage mit dem Laser-Schuss des Spielers, Treffer setzt die
    5. //Punktzahl relativ +10 (score), es wird eine Explosion erzeugt
    6. if collision_circle(x,y,20,laser_obj,true,false)
    7. {
    8. instance_create(other.x,other.y,explo01_obj);
    9. score+=20;
    10. instance_destroy();
    11. }
    12. //Kollisionsabfrage mit dem Asteroiden, Kollision setzt Schildengergie
    13. //relativ -5 (health), es wird eine Explosion erzeugt
    14. if collision_circle(x,y,20,player_obj,true,false)
    15. {
    16. instance_create(other.x,other.y,explo01_obj);
    17. health-=15;
    18. instance_destroy();
    19. }
    20. // Instanz soll umkehren am linken Bildschirmrand, Zerstörung der Instanz
    21. // erfolgt am rechten Bildschirm Rand
    22. if x=-32 {
    23. sprite_index=lightHunter02_gfx
    24. hspeed=+10;
    25. if x=+32 {
    26. instance_destroy(); // Wenn mann diese Zeile Wegnimmt erhällt man den Effekt nur ohne Bewegung
    27. }
    28. }
    Alles anzeigen


    Dann folgender Versuch ... :

    GML-Quellcode

    1. // Bewegung nach links mit einer Speed von 10
    2. hspeed=-10 { effect_create_above(ef_smoke,other.x+35,other.y,0,c_lime); }
    3. //Kollisionsabfrage mit dem Laser-Schuss des Spielers, Treffer setzt die
    4. //Punktzahl relativ +10 (score), es wird eine Explosion erzeugt
    5. if collision_circle(x,y,20,laser_obj,true,false)
    6. {
    7. instance_create(other.x,other.y,explo01_obj);
    8. score+=20;
    9. instance_destroy();
    10. }
    11. //Kollisionsabfrage mit dem Asteroiden, Kollision setzt Schildengergie
    12. //relativ -5 (health), es wird eine Explosion erzeugt
    13. if collision_circle(x,y,20,player_obj,true,false)
    14. {
    15. instance_create(other.x,other.y,explo01_obj);
    16. health-=15;
    17. instance_destroy();
    18. }
    19. // Instanz soll umkehren am linken Bildschirmrand, Zerstörung der Instanz
    20. // erfolgt am rechten Bildschirm Rand
    21. if x=-32 {
    22. effect_clear(); }
    23. // sprite_index=...anderes Sprite andere Richtung später einfügen
    24. hspeed=0 { if hspeed=0 then hspeed=+10;
    25. effect_create_above(ef_smoke,other.x-35,other.y,0,c_lime);
    26. if x=+32 { instance_destroy(); }
    27. }
    Alles anzeigen


    Theoretisch müsste es doch irgendwie so funktionieren? - Oder muss ich den Code in ein Beginn-Step, Step, End-Step --- Event aufteilen; aber das würde ja irgendwie trotzdem aufs gleiche hinauflaufen ...?
    Dieser Beitrag wurde ausgezeichnet mit einem großen LOB.
  • Hy Marv1,
    mein Problem liegt darin, dass die Instanz (lighthunter_obj) von rechts nach links ins Spielgeschehen einsteigen soll. Wenn die Instanz ganz links angekommen ist, soll sie image_scale machen, den create_effekt ausschalten (an der Position x+35) und an der position x-35 wieder starten. Das die Instanz auch noch schießen können soll habe ich erstmal gefreezt ..., weil ich komme da nicht weiter ... Path habe ich auch schon probiert und diverse Varianten der Verschachtelung in manigfaltigen Formen. - Die wollen etweder nicht oder es passiert nicht das was gewollt ist. Das ist alles zu Ressourcen hungrig bzw. zu unhandlich. Es muss irgendwie im Step-Event mittels Code zu lösen sein? ...

    Ein Tipp der Licht ins dunkel bringt währe schon Hilfreich ... ???

    Danke ... !

    Gruß pestamoebe und
    frohes Osterfest
    Dieser Beitrag wurde ausgezeichnet mit einem großen LOB.