Diskuze: Vytváranie objektov
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
xx=352;
//dočasný list hodnot
var lokace=ds_list_create();
//přidání pozic
ds_list_add(lokace,160);
ds_list_add(lokace,260);
ds_list_add(lokace,360);
//... atd
ds_list_shuffle(lokace); //zamíchat
//vytváření instancí
pocet_vytvoreni=ds_list_size(lokace)-1; //nebo nějaké nižší číslo
for(i=0;i<pocet_vytvoreni;i++) instance_create(xx,lokace[|i],object);
Nefunguje resp. keď dám vytvoriť 2 objekty vytvorí 4 na 160 aj 260
Kód funguje správně. Můžeš se přesvědčit:
https://www.dropbox.com/…Instance.zip?dl=0
Pokud ti to místo dvou dělá čtyři, tak spouštíš kód dvakrát.
No a? Rozepiš přece ten cyklus na tři instance_create.
for(i=0;i<pocet_vytvoreni;i++) instance_create(xx,lokace[|i],object1);
instance_create(xx,lokace[|i],object2);
instance_create(xx,lokace[|i],object3);
takto myslíš?
Měl bys na sobě začít trochu makat. Cyklus for se programátoři učí v jeslích.
Z výše uvedeného kódu ponecháš vše, co je nad řádkem:
ds_list_shuffle(lokace); //a ten samosebou taky necháš
Zbytek nahradíš tímto:
instance_create(xx,lokace[|1],object1);
instance_create(xx,lokace[|2],object2);
instance_create(xx,lokace[|3],object3);
Zobrazeno 8 zpráv z 8.