Brauche Hilfe beim Programmieren!

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

  • Brauche Hilfe beim Programmieren!

    Hallo, ich programmiere gerade einen Dusch Simulator, ich habe einen Spieler (obj_player) und Seife (obj_Soap). Meine Frage: Wie kann ich es schaffen, das ich den Spieler einseifen kann, also wenn das die Seife mit dem Spieler kollidiert? Am besten das die Seifenblasen da erstellt werden wo die Seife (obj_soap) gerade auf dem Spieler ist. :)


    (Hoffe man konnte meine Frage verstehen!)
  • Erstelle ein drittes Objekt ( kann auch unsichtbar sein, muss aber eine collision mask haben )
    und mach folgendes ins Step Event:

    x=mouse_x
    y=mouse_y

    if mouse_check_button(mb_left)
    {
    if place_meeting(x,y,obj_player)
    {
    instance_create(x,y,obj_soap)
    }
    }

    denk das es funktioniert (wenn ich dich jetzt richtig verstanden habe)
  • Hey,

    ich gehe mal davon aus, dass du mit den Drag&Drop Bilder arbeitest, oder?

    Zuerst kannst du in einem Sprite bei dem Button 'Modify Mask' die "Maske" auswählen. Bei einer Kollision wird geprüft, ob sich die Masken der Seife und des Spielers überlappen, dabei entsteht eine Kollision.

    Nun zur Kollision:
    Einfach in der Seife den Event 'Kollision' hinzufügen und den Spieler auswählen. Nun zum Teil mit den Seifenblasen. Am besten wäre es, diese mit sogenannten Partikeln zu lösen, diese würde ich aber als blutiger Neuanfänger mal außen vor lassen, da sie etwas umfangreich sind. Du könntest also einfach ein Objekt 'Blase' erstellen und gibst dieser ein Seifenblasensprite. Dieses Objekt lässt du dann einfach in dem Kollisionsevent erstellen.
    In dem Blasen Objekt ist es wichtig, dass du dieses nach einer Zeit wieder zerstörst (Alarme helfen hier weiter). Wie gesagt, wäre es mit Partikeln eine bessere Lösung, da diese viel weniger Performance verbrauchen als Objekte.

    Falls du dich mal mit Partikeln beschäftigen möchtest, gibt es hier ein gutes Programm, welches dir die Codearbeit für Partikel übernimmt ^^
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • Code:

    In der Seife:
    Step:

    GML-Quellcode

    1. x = mouse_x
    2. y = mouse_y
    3. if place_meeting(x,y,obj_player)
    4. {
    5. instance_create(x,y,obj_blase)
    6. }


    In der Seifenblase:
    Create:

    GML-Quellcode

    1. alarm[0] = room_speed*3 // room_speed sind die Steps, die in einer Sekunde ausgeführt werden. D.h. nehmen wird room_speed*3 sind das 3 Sekunden

    In Alarm 0:

    GML-Quellcode

    1. instance_destroy()



    Drag&Drop:

    In der Seife:
    Step:

    :action_jumpposition:
    mouse_x
    mouse_y

    :event_collision: mit Player
    :action_create:
    obj_player
    An X und Y

    In der Seifenblase:
    Create:

    :action_alarm:
    room_speed*3 // Die Zahl ist wie oben dann Sekunden

    In Alarm 0:
    :action_destroy:
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • Erstmal, willkommen im Forum.

    Auch wenn ich mich der Gefahr aussetze hier den BuMann zu spielen, muss ich doch sagen bitte fang an mit Tutorials zu den Grundlagen und dann übe mit ein paar kleinen minigames. Das führt so zu nichts wenn man für jede neue Funktion die man implementieren will das Forum fragen muss. Wenn du nach fertigem Code fragst hat das kaum einen Lerneffekt, ich spreche aus Erfahrung wie ich damals vor 5-6 Jahren angefangen habe mit Bukkit-Serverplugins für Minecraft. Damals habe ich mich auch direkt reingestürzt und mir Videos angeguckt wie man dies und jenes programmiert um dann bald zu dem entschluss zu kommen das man ohne Kenntnis der Programmiersprache Java und der Grundlagen des Programmierens allgemein nur stupide abpinselt was der Typ im Tutorial vormacht und man immer Probleme hat etwas eigenes einzubauen. Hier in GML ist es nicht anders.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: