Може ли обект да е елемент на масив и как? |
Здравейте ( Вход | Регистрация )
Може ли обект да е елемент на масив и как? |
![]()
Коментар
#1
|
|
Новодошъл ![]() Група: Потребител Коментари: 5 Регистриран: 30.08.11 Потребител № 1690 ![]() |
Имам следния script
scr_equipment j=0; k=0; for (i=0;i<150;i+=1) { if ( my_ship_inventory[i,0]!=0 ) { instance_create(j+130,k+125,my_ship_inventory[i,0]); j+=0; k+=100; } } Като на друго място има my_ship_inventory[0,0]= obj_cannon; my_ship_inventory[0,1]= 1; //have cannon my_ship_inventory[1,0]= obj_plasma; my_ship_inventory[0,1]= 1; //have plasma Като се изпълнява скрипта дава грешка: ___________________________________________ ERROR in action number 7 of Mouse Event for Left Button for object obj_button_equipment: In script scr_equipment: Error in code at line 6: if ( my_ship_inventory[i,0]!=0 ) ^ at position 12: Unknown variable my_ship_inventory or array index out of bounds Защо става така? |
|
|
![]() |
![]()
Коментар
#2
|
|
![]() Засмян тъпоъгълник :D ![]() Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 ![]() |
Защото си прехвърлил границите на масива
Код j=0;
k=0; for (i=0;i<2;i+=1) { if ( my_ship_inventory[i,1]!=0 ) { instance_create(j+130,k+125,my_ship_inventory[i,0]); j+=0; k+=100; } } Като на друго място има my_ship_inventory[0,0]= obj_cannon; my_ship_inventory[0,1]= 1; //have cannon my_ship_inventory[1,0]= obj_plasma; my_ship_inventory[1,1]= 1; //have plasma -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
![]()
Коментар
#3
|
|
Новодошъл ![]() Група: Потребител Коментари: 5 Регистриран: 30.08.11 Потребител № 1690 ![]() |
Мерси за отговора!
А добре кое определя границите на масива? Може би някъде трябва да има: my_ship_inventory[0,0]= obj_cannon; my_ship_inventory[0,1]= 1; //have cannon my_ship_inventory[1,0]= obj_plasma; my_ship_inventory[0,1]= 1; //have plasma my_ship_inventory[150,0]= 0; my_ship_inventory[150,1]= 1; //razshirqvane na masiva do 150 elementa За да може цикъла да е до 150, защото инвенторито ще се разширява за в бъдеще. Мисля, че го схванах масива се разширява до там до където има елементи със стойност, ако има стойности до 4 е 4. Но ако има стойност за 150, а няма за 4, то тогава като се проверява четвъртия елемент ще даде грешка |
|
|
![]()
Коментар
#4
|
|
![]() Засмян тъпоъгълник :D ![]() Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 ![]() |
просто напиши в create event for(i=0;i<150;i+=1)for(j=0;j<2;j+=1)my_ship_inventory[i,j]= 0; и оттам нататък всеки от 300те елемента е създаден. Освен това използваш един и същи флаг за плазма и оръдие, не би ли трябвало да е
my_ship_inventory[0,0]= obj_cannon; my_ship_inventory[0,1]= 1; //have cannon my_ship_inventory[1,0]= obj_plasma; my_ship_inventory[1,1]= 1; //have plasma -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
![]()
Коментар
#5
|
|
Новодошъл ![]() Група: Потребител Коментари: 5 Регистриран: 30.08.11 Потребител № 1690 ![]() |
Мерси! Това за цикъл наистина е най-простото решение за пълнене на масива.
За флага няма проблеми, това е само за ориентир за форума, не съм го забелязал, че е грешно. |
|
|
![]() ![]() |
Олекотена версия | Час: 11:44:26, 03.07.25 |