Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Game Maker Domäne. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Belial

Waldschrat

  • »Belial« ist der Autor dieses Themas

Beiträge: 175

Game Maker Version: 7 Pro

Selbsteinschätzung: GML Anfänger

Aktuelles Projekt: Plasma Shield & Obsidian VE

  • Private Nachricht senden

1

Donnerstag, 15. Juni 2006, 18:16

id zuweisung einer instanz

gibt es die möglichkeit, eine instanz, bzw. ein objekt zu erstellen, und ihr/ihm eine bestimmte id zuzuweisen?

Hakku

Waldnymphe

Beiträge: 148

Aktuelles Projekt: UnlimitedBasic, Team-Ulm Messenger, Azuzephres

  • Private Nachricht senden

2

Donnerstag, 15. Juni 2006, 18:18

Du willst also ein Objekt im Spiel machen und im dann sozusagen code zuweißen?


www.mevedia.de Unlimited Studio - Software Development - www.unlimited-studio.de
Christmas special: Azuzephres Snowball Time


interceptor

Game Designer

Beiträge: 1 430

Game Maker Version: 7 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Handyspiele (JavaME, Android, iPhone, iPad)

Danksagungen: 26

  • Private Nachricht senden

3

Donnerstag, 15. Juni 2006, 18:20

Die id einer Instanz oder eines Objektes kann nicht verändert werden. Du musst mit dem leben, was dir die Engine vorwirft. Aber vielleicht sagst du uns, was du damit vorhast, dann kann man vielleicht einen anderen Weg zum Ziel finden...
Meine neuesten Handyspiele:

::: Clouds & Sheep ::: Aporkalypse - Pigs of Doom ::: Cyberlords - Arcology ::: Guns'n'Glory :::

Belial

Waldschrat

  • »Belial« ist der Autor dieses Themas

Beiträge: 175

Game Maker Version: 7 Pro

Selbsteinschätzung: GML Anfänger

Aktuelles Projekt: Plasma Shield & Obsidian VE

  • Private Nachricht senden

4

Donnerstag, 15. Juni 2006, 18:23

Zitat

Original von Alexander
Du willst also ein Objekt im Spiel machen und im dann sozusagen code zuweißen?


nein, ich möchte ihm eine id zuweisen. logsich, das objekt bekommt ja automatisch eine, aber die ist mir nicht recht. ich möchte dem objekt selbst eine id zuweisen. zb. (111066).

geht das überhaupt?

EDIT: ach so.. gg zu spät. :-P

naja, ich habe ein objekt, das in jedem level mehrmals vorkommt. beim endgegnerlevel, sind sechs solche objekte da, und werden von einem anderen objekt per id gesteuert. jetzt kommts... die objekte, können zerstört werden, aber eben auch wieder erstellt. und da kommt ja das problem mit der id, weil die neuen objekte, haben nicht mehr dieselbe wie vorher.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Belial« (15. Juni 2006, 18:26)


Shoba

Dollar-Note

Beiträge: 311

Game Maker Version: 8.1 Standard

Selbsteinschätzung: GML Experte

Aktuelles Projekt: Adventskalender Spiel

  • Private Nachricht senden

5

Donnerstag, 15. Juni 2006, 18:36

Array. Du machst irgendwo ein Array, welchen du die IDs dieses Objekt zuweist.

z.b.

GML

1
2
3
4
5
6
BossCannon[0] = instance_create(....yaddayadda....);
BossCannon[1] = instance_create(....yaddayadda....);
BossCannon[2] = instance_create(....yaddayadda....);
BossCannon[3] = instance_create(....yaddayadda....);
BossCannon[4] = instance_create(....yaddayadda....);
BossCannon[5] = instance_create(....yaddayadda....);


jetzt kannst du alle diese Objekte z.b. in einer For schleife behandeln

GML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(i = 0; i < 6; i+=1)
  {
if(BossCannon[i]!=-1)
{
   if(BossCannon[i].HP<0)
   {
with(BossCannon[i])
{
instance_destroy();
}
BossCannon[i] = -1;
}
}
}

-1 ist deswegen ein guter wert, weil er bei instance_create nie erzeugt werden kann.

Jetzt kannst du in das Array, wenn der wert -1ist, nach einer bestimmten zeit das Objekt einfach wieder auferstehen lassen.
...

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Shoba« (15. Juni 2006, 18:38)


interceptor

Game Designer

Beiträge: 1 430

Game Maker Version: 7 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Handyspiele (JavaME, Android, iPhone, iPad)

Danksagungen: 26

  • Private Nachricht senden

6

Donnerstag, 15. Juni 2006, 18:37

Dazu kannst du ja die ids in Variablen abspeichern.
Wenn dein Hauptobjekt die Kanonen generiert, mach das so:

GML

1
for (i=0;i<6;i+=1)kanone[i]=instance_create(...);



Dann kannst du doch schön über dieses Array auf die einzelnen Instanzen zugreifen.
Du kannst auch überprüfen ob eine schon weg ist mit:

GML

1
for (i=0;i<6;i+=1) if (!instance_exists(kanone[i])) kanone[i]=instance_create(*Kanonenplatzhalter*);


EDIT: da war wieder jemand schneller...
Meine neuesten Handyspiele:

::: Clouds & Sheep ::: Aporkalypse - Pigs of Doom ::: Cyberlords - Arcology ::: Guns'n'Glory :::

Belial

Waldschrat

  • »Belial« ist der Autor dieses Themas

Beiträge: 175

Game Maker Version: 7 Pro

Selbsteinschätzung: GML Anfänger

Aktuelles Projekt: Plasma Shield & Obsidian VE

  • Private Nachricht senden

7

Freitag, 16. Juni 2006, 17:23

ähm.. warum redet ihr jetzt über kanonen? in meinem spiel existieren keine kanonen... :D
und ja... ich hab das ganze jetzt anderst gelöst. ist um längen einfacher zu coden und ist gameplay-technisch raffinierter. :)

ok ok. ich habs bloss anders gemacht, weil ich mit euren antworten nicht viel anfangen konnte. :P da hätte ich wieder stunden gebraucht um das zu kapieren. und mir das zu erklären, erspar ich euch jetzt mal. ^^ vielen dank auf alle fälle.

Melancor

Immanuel Kant

Beiträge: 415

  • Private Nachricht senden

8

Donnerstag, 6. Juli 2006, 18:26

Also, mir haben die Antworten schon geholfen.
Arbeite Dich mal (falls Du das hier noch liest) in das Benutzen von Scripten bzw. Pieces of Code ein.

Ich brauche die IDs, weil sich manche Objekte bei mir aus mehreren Komponenten zusammensetzen, die unterschiedliches Verhalten haben, aber zusammen bewegt werden sollen.
Zum Beispiel besteht mein Tank aus drei Objekten mit unterschiedlichen Sprites. Rumpf fährt und dreht in Fahrtrichtung , Oberteil dreht in Blickrichtung und schiesst, Minimap Sprite wird proportional und versetzt bewegt.

Das Array für vosichtshalber 100 Panzer wird ganz am Anfang komplett mit allen 3 Komponenten erzeugt (na gut, bei mir 3 arrays) und dann erstmal alle Objekte deaktiviert.
Den Zugriff auf das Array sowie die Verwaltung der so aktivierten Panzer erledigt die Panzerfabrik... das ist schon recht leicht gemacht.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Melancor« (7. Juli 2006, 16:26)