Bauen

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

  • Hey,
    ich war die Wochen leider inaktiv da ich im Urlaub war.
    Und ich wollte ein neues Project Starten.
    Doch leider weiß ich nicht wie ich das Umzetzen muss.
    Unten gibt es eine Leiste mit 5 Gebäuden wenn man auf eins draufklickt kann man auf der Karte dieses Gebäude setzten
    wenn man auf ein anderes raufklickt kann man das setzten.
    Ich hoffe ihr versteht was ich meine.

    LG 4ndi
    Jedes Spiel war mal Schlecht doch manche werden verbessert <3
  • Ich würde es so lösen, dass ich ein Array mache :D (immer meine Art)
    Dann würde ich in einem die Sprites davon rein schreiben und in einen anderem Array die Objekte, das alles aber so das das erste Objekt dem erstem Sprite zusammen passt. Das könnte man natürlich auch mit ds_grid** machen. Dann würde ich checken auf welchem Objekt ich klicke. Das wird als Zahl in eine andere Variable gespeichert: Der Wert der Variable entspricht des Feldes des Arrays dass dieses Objekt trägt. Das Sprite kann man dann drawen und beim klicken dann das Objekt createn.

    Ich hoffe das ist verständlich
    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
  • So wie husi es oben schrieb, kannst du es gut mit Arrays lösen.

    Du erstellst einfach ein array (Beispiel hier: Gebaeude)

    GML-Quellcode

    1. Gebaeude[5] = obj_Gebaeude5
    2. Gebaeude[4] = obj_Gebaeude4
    3. Gebaeude[3] = obj_Gebaeude3
    4. Gebaeude[2] = obj_Gebaeude2
    5. Gebaeude[1] = obj_Gebaeude1

    Ich nehme mal an dass du im Room iwo so kleine Vorschaubilder hast, die dann eine Variable (Beispiel hier: nummer ), verändern jenachdem welche angeklickt wurde, und benutzt sie hierfür:

    GML-Quellcode

    1. instance_create(mouse_x,mouse_y,Gebaeude[nummer])


    Natürlich muss der Code ein wenig angepasst werden, jenachdem wie du das genau haben möchtest :D
  • husi012 schrieb:


    Dann würde ich in einem die Sprites davon rein schreiben und in einen anderem Array die Objekte, das alles aber so das das erste Objekt dem erstem Sprite zusammen passt


    man könnte auch direkt ein zweidimensionales array nutzen und in der 2. Dimension alle indos eines objekts speichern. Also Gebäude [x,0] = objekt, Gebäude [x,1] = sprite, Gebäude [x,2] = Preis, usw...
    find ich persönlich immer recht schick :)

    Lg
  • Was noch besser wäre, wenn man eine Variable festlegt und durch jedes Objekt ändern lässt. Am besten Global und mithilfe eines scripts

    GML-Quellcode

    1. ///sc_change_building(object building)
    2. global.Building = argument0;

    Oder gleich die Button Abfrage in den Script:

    GML-Quellcode

    1. ///sc_proof_building(object building)
    2. if(instance_position(x,y,id) {
    3. global.Building = argument0;
    4. }