| Процедурная генерация коридоров | 
|  | 
| 
| CUbeB | Дата: Суббота, 30 Мая 2020, 04:28 | Сообщение # 1 |  |   частый гость Сейчас нет на сайте | Написал небольшой код: 
 Код 
 i=0;//x
 j=0;//y
 map[0,0]=0;
 for (i=0; i<100; i+=1)
 for (j=0; j<100; j+=1){map[i,j]=0;}
 
 ii=0;
 jj=0;
 dir=0;
 size=2000
 for (seeds=0;seeds<4;seeds+=1)
 {
 ii=irandom(100);
 jj=irandom(100);
 for (s=0;s<size;s+=1)
 {
 map[ii,jj]=1
 dir=irandom(3)
 if (dir=0) {ii+=1};
 if (dir=1) {ii-=1};
 if (dir=2) {jj+=1};
 if (dir=3) {jj-=1};
 if (ii>100)or(ii<0)or(jj>100)or(jj<0)
 then {ii=irandom(100);jj=irandom(100);}
 }
 }
 for (i=0; i<100; i+=1)
 for (j=0; j<100; j+=1){if map[i,j]=0 then instance_create(obj_wall,i*16,j*16)
 if map[i,j]=1 instance_create(obj_hole,i*16,j*16)}
 
 По идеи, он должен генерировать коридоры и стены, но вместо этого пишет в консоль сообщение об ошибке:
 Creating instance for non-existing object: 0
 
 Если по пытаться поставить вместо создания объектов, рисования их спрайта, то все работает.
 
 Да да, на аватарке моя старая игра...
 |  |  |  |  | 
| 
| DivES | Дата: Суббота, 30 Мая 2020, 04:39 | Сообщение # 2 |  |   заслуженный участник Сейчас нет на сайте | CUbeB, слушай, да ты издеваешься? А загуглить это твоё 
 Цитата CUbeB (  )  Creating instance for non-existing object: 0ты не подумал?
 Вторая же ссылка выдаёт решение.
 |  |  |  |  | 
| 
| CUbeB | Дата: Суббота, 30 Мая 2020, 05:24 | Сообщение # 3 |  |   частый гость Сейчас нет на сайте | DivES, Я уже все это видел. Ничего не понятно, но очень интересно. Можно конкретное решение моей проблемы?
 
 Я тупой
 
 Да да, на аватарке моя старая игра...
 |  |  |  |  | 
| 
| DivES | Дата: Суббота, 30 Мая 2020, 05:54 | Сообщение # 4 |  |   заслуженный участник Сейчас нет на сайте | CUbeB, а ты же в курсе, что instance_create(x, y, obj); принимает объект именно в качестве третьего параметра, а не первого, как у тебя?
 
 Ну нельзя же слепо копировать функцию, даже не имея представления о том, в каком порядке у неё расположены аргументы.
 
 
 Сообщение отредактировал DivES - Суббота, 30 Мая 2020, 05:56 |  |  |  |  | 
| 
| CUbeB | Дата: Суббота, 30 Мая 2020, 06:09 | Сообщение # 5 |  |   частый гость Сейчас нет на сайте | DivES, Забыл поменять местами, после теста с draw_sprite(); вместо instance_create(); 
 Ошибка была в этом.. я клоун
 
 Да да, на аватарке моя старая игра...
 |  |  |  |  | 
| 
| DivES | Дата: Суббота, 30 Мая 2020, 06:10 | Сообщение # 6 |  |   заслуженный участник Сейчас нет на сайте | CUbeB, а, ну тут да, так любой мог попасться, внимательнее!   |  |  |  |  |