Hallo
Ich versuche gerade ein kleines Spiel zu programmieren. Jetzt komme ich gerade nicht weiter, weil ich nicht weiß wie man folgendes am besten lösen kann :
Also ich habe vor eine kleine Verkehrssimulation zu machen. Autos die von A nach B fahren. Dabei muss der Spieler den Verkehr regeln indem man die Ampelkreuzungen schaltet. Genau da bekomme ich meine ersten Probleme.
Ich habe meine erste Map als Background gemacht. Die Ampeln habe ich zu 95% transparent gemacht indem ich genau auf der Kreuzung ein identisches Objekt lege wie es auf dem Background ist. So verändert sich halt einmal die Ampel und einmal die Haltestriche um die Autos anhalten zu lassen ( das funktioniert auch wunderbar ). Jetzt habe ich vor mit einem Mausklick diese Ampel umschalten zu lassen. Wenn aber das Objekt nur die Ampel und den kleinen Haltestrich als sichtbar hat muss man auch genau auf diese kleinen Stellen klicken. Ich möchte aber, das man auf der ganzen Kreuzung klicken kann.
Wenn ich die Ampelkreuzung als ganzes Objekt zeichne, bleiben die Autos am Rande des Objektes stehen. Ein abändern der Collisionsmaske geht leider nicht so wie ich das hätte. Man kann lediglich eine Box machen wo eine Kollision zustande kommen kann. Wenn man zwei Boxen machen könnte wäre das Problem weg !
Jetzt habe ich folgendes ausprobiert. Ich habe ein unsichtbares Objekt erstellt was die Kreuzung abdeckt und von den Autos ignoriert wird. Dann habe ich das Event
Left pressed gesetzt und dann folgenden Code geschrieben :
Ich warte also bis ein Mausklick kommt auf diesem Objekt. Dann lasse ich mir die ID von der Ampel_Instance geben die am nächsten dran ist. Mittels der Texteinlage danach habe ich die Nr. kontrolliert die auch richtig ausgegeben wird. Dann speichere ich noch den Namen des Ampelobjektes der auch richtig gespeichert wird.
Kann man nun mit diesen Werten sagen, das Objekt A ( also meine unsichtbare Kreuzung ) nun Objekt B ( meine Ampelkreuzung ) das Subimage auf 1 bzw 0 zu ändern ?
Oder kann man das ganze viel leichter gestalten und ich denke zu kompliziert ?

Ich versuche gerade ein kleines Spiel zu programmieren. Jetzt komme ich gerade nicht weiter, weil ich nicht weiß wie man folgendes am besten lösen kann :
Also ich habe vor eine kleine Verkehrssimulation zu machen. Autos die von A nach B fahren. Dabei muss der Spieler den Verkehr regeln indem man die Ampelkreuzungen schaltet. Genau da bekomme ich meine ersten Probleme.
Ich habe meine erste Map als Background gemacht. Die Ampeln habe ich zu 95% transparent gemacht indem ich genau auf der Kreuzung ein identisches Objekt lege wie es auf dem Background ist. So verändert sich halt einmal die Ampel und einmal die Haltestriche um die Autos anhalten zu lassen ( das funktioniert auch wunderbar ). Jetzt habe ich vor mit einem Mausklick diese Ampel umschalten zu lassen. Wenn aber das Objekt nur die Ampel und den kleinen Haltestrich als sichtbar hat muss man auch genau auf diese kleinen Stellen klicken. Ich möchte aber, das man auf der ganzen Kreuzung klicken kann.

Wenn ich die Ampelkreuzung als ganzes Objekt zeichne, bleiben die Autos am Rande des Objektes stehen. Ein abändern der Collisionsmaske geht leider nicht so wie ich das hätte. Man kann lediglich eine Box machen wo eine Kollision zustande kommen kann. Wenn man zwei Boxen machen könnte wäre das Problem weg !
Jetzt habe ich folgendes ausprobiert. Ich habe ein unsichtbares Objekt erstellt was die Kreuzung abdeckt und von den Autos ignoriert wird. Dann habe ich das Event

Quellcode
- if (position_meeting(mouse_x,mouse_y,self)) && (mouse_check_button_pressed(mb_left))
- {
- wert1 = instance_nearest(mouse_x,mouse_y,Game_Kreuz3);
- show_question("Geklappt ! Es ist ID Nr." +string(wert1));
- wert2 = object_get_name(wert1.object_index);
- show_question("Objekt hat den Namen : " +string(wert2));
Ich warte also bis ein Mausklick kommt auf diesem Objekt. Dann lasse ich mir die ID von der Ampel_Instance geben die am nächsten dran ist. Mittels der Texteinlage danach habe ich die Nr. kontrolliert die auch richtig ausgegeben wird. Dann speichere ich noch den Namen des Ampelobjektes der auch richtig gespeichert wird.
Kann man nun mit diesen Werten sagen, das Objekt A ( also meine unsichtbare Kreuzung ) nun Objekt B ( meine Ampelkreuzung ) das Subimage auf 1 bzw 0 zu ändern ?
Oder kann man das ganze viel leichter gestalten und ich denke zu kompliziert ?
