eine instanz auswählen, welche einen bestimmten variablenwert hat.

  • GM 7

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

  • eine instanz auswählen, welche einen bestimmten variablenwert hat.

    hallo. beschäftige mich im moment aus neugierde mit isometrischen klötzchen. hihi

    ich habe eine karte, auf welcher ich würfel erstellen kann. (nein, ich bastel kein iso-minecraft)
    ich kann auch würfel aufeinander stapeln. gestapelte würfel stehen im prinzip alle auf der selben x,y koordinate. sie stapeln sich durch verschiebung des sprites nach oben. den abstand des sprites zum objekt, habe ich mit einer weiteren variable (z) gelöst. somit hat der unterste würfel eines stapels z=0, der zweite würfel z=1 usw. so weit so gut.
    wenn ich aber einen bestimmten würfel aus dem stape löschen will, muss ich ja wissen, welche von den objekten auf der x,y koordinate, den z wert hat, welcher auch mein cursor hat. irgendwie krieg ich das in gml nicht raus... habs bis jetzt mit instance_place(x,y,obj); versucht. was zur folge hatte, dass ich die würfel nur in der reienfolge löschen konnte, wie sie erstellt wurden. weil das ding ja immer nur die erste instanz wählt.

    könnte mir viellecht jemand auf die sprünge helfen? merci.

    gruss und bussi, belial
    PUTREFACTION ////
    ◇ ALIEN BASTARDS ◇ SLY PITCH ◇ SHOVE MASTER ◇

  • ich arbeite auch sehr gerne isometrisch, doch das problem ist das man es dort (auf lange dauer [ich würds von anfang an machen]) mit 3 postions variablen zu tun hat X Y und Z
    die man dann isometrisch darstellen muss. Die maus hat allerdings nur 2. wenn du ohne Z angefangen ahst würde ich in deinem fall entweder neustarten oder versuchen es einzufügen.
    dann bruchst du eine art marker object, das immer zur maus springt, sich auf die blöcke ausrichtet und dann von der sichtweise den block mit der höchsten Z variable auswählt.
    diese coordinaten des blockes speicherst du dann im marker.

    Wählt der psieler jetzt zerstören des blockes aus, deo gucken alle angeklickten blöcke (es könne ja welche hinte oder auf dem ausgewählten block liegen) ob sie mti den X, Y ;z coordinaten des markers übereinstimmen. Falls dies der fall ist zerstört sich der block.

    Vieleicht ein bischen komisch erklärt, ich aknn verusuchen dir ein beispiel zu bauen wenn du willst
  • hmm... die z variable hab ich ja bereits drin. ein cursor objekt, das der maus folgt, sich am raster ausrichtet und sich mittels mausrad z anpassen lässt, habe ich auch bereits gemacht... bin mir jetzt nicht sicher, ob mein problem richtig verstanden worden ist.
    alles was ich jetzt noch wissen muss, ist folgendes:

    wie kann ich aus mehreren objekten, die sich alle auf der gleichen x,y koordinate befinden, die in den objekten befindliche variable (z) auslesen und anhand dieser variable ein objekt auswählen?
    PUTREFACTION ////
    ◇ ALIEN BASTARDS ◇ SLY PITCH ◇ SHOVE MASTER ◇

  • Hab ich eigentlich oben erkärt aber hier nochmal ausführlicher:
    dei abfrage muss von den blöcken aus kommen. Alle blöcke die den marker berühren, fragen bei sich selber ab, ob ihre z variable mit der des marker überinstimmt, falls sie es tut,
    wird dann getriggered was immer du mit dem block machen willst (löschen/ändern)
  • also ich steuer auch das ganz von einem object:
    entweder machst duds wie minecraft: du hast nur ein block object und änderst nur die verhötensweise

    oder: du machst eienn perent block der den code für die abfrage beinhaltet (musst du nur bei parent einstellen)
  • Benutzer online 1

    1 Besucher