taschenlampe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • taschenlampe

    hallo

    ich habe die sufu schon benutzt nur leider gibt es kein tutorial für eine platformer spiel wo man eine taschenlampe hat.

    also ich mach gerade ein jump run spiel und die welten sind oft dunkel sodass der spieler ne taschenlampe haben soll.doch weis ich nicht wie ich es hinbekommen kann.
    alle tutorials hier sind für rpgs oder andere arten...bitte um hilfe
  • hallo


    also ich habe gerade ein flashlight erstellt nur hab ich ein kleines problem:

    ich wollte machen das es nur eingeschaltet wird wenn man den button E drückt...
    das hab ich auch geschafft nur ist das problem das ich auf dem button bleiben muss damit es an bleibt..und so will ich es nicht.
    was hab ich falsch gemacht??


    hier mal der code:


    OBJ_LIGHT
    CREATE EVENT:

    GML-Quellcode

    1. [/color]surf=surface_create(2000,1000);
    2. surface_set_target(surf);
    3. draw_clear(c_black);
    4. surface_reset_target();
    5. flashlight=0; ///flashlight ist aus[color=#000000]


    OBJ_LIGHT
    END STEP

    GML-Quellcode

    1. surface_set_target(surf);
    2. draw_clear(c_black);
    3. draw_set_blend_mode(bm_subtract);
    4. if keyboard_check(ord("E")){
    5. flashlight=1 ////flashlight on
    6. draw_sprite_ext(spr_flashlight,0,obj_player.x+5,obj_player.y,1,1,point_direction(obj_player.x,obj_player.y,mouse_x,mouse_y),c_white,1);}
    7. surface_reset_target();
    8. draw_set_blend_mode(bm_normal);


    OBJ_LIGHT
    DRAW EVENT

    GML-Quellcode

    1. draw_surface(surf,view_xview,view_yview);





    Und noch was ich wollte eigentlich nur das die taschenlampe der mouse folgt sobald man den mousebutton drückt und nicht schon die ganze zeit.
  • Hallo

    Ich war längere Zeit nicht hier und bin sicher ein bischen eingerostet aber Probier mal:

    GML-Quellcode

    1. surface_set_target(surf);
    2. draw_clear(c_black);
    3. draw_set_blend_mode(bm_subtract);
    4. if keyboard_check_pressed(ord("E"))
    5. {
    6. flashlight=1 ////flashlight on
    7. }
    8. if flashlight=1
    9. {
    10. draw_sprite_ext(spr_flashlight,0,obj_player.x+5,obj_player.y,1,1,point_direction(obj_player.x,obj_player.y,mouse_x,mouse_y),c_white,1);
    11. }
    12. surface_reset_target();
    13. draw_set_blend_mode(bm_normal);
    Alles anzeigen

    lg Vectorhead
  • Ich würde es so machen:

    GML-Quellcode

    1. ​surface_set_target(surf);
    2. draw_clear(c_black);
    3. draw_set_blend_mode(bm_subtract);
    4. if keyboard_check_pressed(ord("E"))
    5. flashlight=!flashlight; ////flashlight on
    6. if flashlight=1
    7. {
    8. draw_sprite_ext(spr_flashlight,0,obj_player.x+5,obj_player.y,1,1,point_direction(obj_player.x,obj_player.y,mouse_x,mouse_y),c_white,1);
    9. }
    10. surface_reset_target();
    11. draw_set_blend_mode(bm_normal);
    Alles anzeigen

    da es dann bei erneutem Drücken wieder ausgeschaltet wird. Ausser du willst dies auf eine andere Taste legen.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Dann cheat ich auchmal bisschen rum, mal sehen wie kompakt wir das kriegen :D

    GML-Quellcode

    1. if keyboard_check_pressed(ord("E")) flashlight =! flashlight;
    2. surface_set_target(surf);
    3. draw_clear(c_black);
    4. draw_set_blend_mode(bm_subtract);
    5. draw_sprite_ext(spr_flashlight,0,obj_player.x+5,obj_player.y,1,1,point_direction(obj_player.x,obj_player.y,mouse_x,mouse_y),c_white,flashlight);
    6. surface_reset_target();
    7. draw_set_blend_mode(bm_normal);

    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: