instance_create

  • GM 8

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

  • instance_create

    Hey Leute :thumbsup:
    Ich hab ein kleines Problem, ich denke es ist ein kleiner Logik Fehler aber ich komme nicht drauf.
    Bitte um Hilfe:

    GML-Quellcode

    1. if mouse_check_button(mb_right) && place_free(x+16,y+16) && place_free(x-16,y-16) { // Gugen ob im umkreis von 16 px ein Block ist, wenn nicht soll er einen setzen (der ist selber 32 px groß) instance_create(x,y,obj_block)}
    2. if mouse_check_button(mb_left) && place_meeting(mouse_x,mouse_y,obj_block) { // Wenn die Maus den Block beruert, soll dieser Block geloescht werden( instance_destroy()) instance_destroy()}


    Wieso er dies in 2 Zeilen Quetscht weiß ich leider nicht
  • Ich habe:
    • eine anzahl obj_blöcke
    • wenn ich Rechtsklick mache, dann passiert nichts. Eigentlich sollte ein Block erstellt werden.
    • wenn ich Linksklick mache, dann zerstört er alle blöcke, außer den auf den ich geklickt habe,
    eigentlich sollte er nur diesen block zerstören und die anderen lassen
  • Versuch es mal mit collision_point, da du nicht ja nicht mit Objekten, sondern mit Instanzen arbeiten musst:

    GML-Quellcode

    1. if (mouse_check_button(mb_right) && !collision_rectangle(x - 16, y - 16, x + 16, y + 16, obj_block, false, false)) {
    2. instance_create(x, y, obj_block);
    3. }
    4. if (mouse_check_button(mb_left)) {
    5. colliding_block_instance = collision_point(mouse_x, mouse_y, obj_block, false, false);
    6. if (colliding_block_instance > 0) {
    7. with(colliding_block_instance) instance_destroy();
    8. }
    9. }
    Alles anzeigen

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

  • @ henrik1235
    entweder ich mache was Falsch, oder das ganze funktioinit nicht :(

    wenn ich auf einen Block klicke, keine Reaktion, wenn ich ins leere klicke bekomme ich eine Error Meldung in dieser vorm:


    Spoiler anzeigen


    ___________________________________________
    ERROR in
    action number 1
    of Step Event
    for object obj_block:

    Creating instance for non-existing object: 100293


    Ich vergaß, dass dies im Step Event ist

    @cafaxo
    das mit dem Löschen geht super, Danke :thumbsup:
    doch das instance_create will irgendwie nicht :( soll einfach nur ne Überprüfung sein, dass kein Block in der nähe ist, sodass sie die Blöcke nicht berühren. Ich habe mal gelesen, dass man sowas auch mit gird Lösen kann, jedoch weiß ich leider nicht wie diese Funktion geht.

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

  • Ich habe den Code editiert, damit er collision_rectangle anstatt place_free benutzt. Jetzt sollte also die Erstellung eines Blocks an einer freien Position funktionieren.

    edit: Bist du sicher, dass dieses neue Objekt an der Position des Objekts, welches den Code ausführt, erstellt werden soll?

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

  • wenn ich auf einen Block klicke, keine Reaktion, wenn ich ins leere klicke bekomme ich eine Error Meldung in dieser vorm:
    Du solltest nur das was ich im Code-Feld kopiert hab erstetzen und nicht alle obj_block zu id machen, daher bekommste auch den Fehler.

    #edit:

    Nur um es mal zu sagen, dein Code hat einen Widerspruch, möglicherweiße lässt sich das ganze effektiver lösen wenn du genau beschreibst was du nun willst.
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%

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