Помощ за Room_set_persistent(), Не работи... |
Здравейте ( Вход | Регистрация )
Помощ за Room_set_persistent(), Не работи... |
![]()
Коментар
#1
|
|
Новодошъл ![]() Група: Потребител Коментари: 22 Регистриран: 29.12.11 Град: Враца Потребител № 1702 ![]() |
Привет на всички...
В момента всички стаи в играта ми са persistent. Проблема ми е, че след добавяне на още 5 пъти повече стаи лага ще стане умопомрачителен, за това реших да пооправя малко нещата, като persistent да е само стаята, в която се намира героя... И така. Ако героя влезе в room1 ползвам кода: room_set_persistent(room1,1) instance_create(16,400,obj_hero) global.location=1 Когато излезе от room1 и влезе в room2 използвам кода: room1: if(obj_hero.x<16){ room_set_persistent(room1,0) //destroy hero } room2: instance_create(784,400,obj_hero) room_set_persistent(room2,1) global.location=2 Ползвам location за други цели, които не са важни в момента. Проблема е: instance_create() се изпълнява. Все пак героя ми е в стаята. global.location се променя, защото това, за което го ползвам си работи. room_set_persistent() не се изпълнява... Не знам защо. Ползвам имената на стаите, които копирам от програмата, пробвах с 1/0 и true/false... Не знам вече какво да правя, но стаите не са persistent. Къде греша? -------------------- Monstrocity (beta) Поиграйте, коментирайте, 80% от функционалността е готова. Останалото ще се появи на по-късне етап. Съобщавайте за бъгове за да ги отстранявам. :)
|
|
|
![]() |
![]()
Коментар
#2
|
|
![]() BEST ENTRY award - зад.1/2008 ![]() Група: VIP Коментари: 597 Регистриран: 19.04.07 Град: Kюстендил Потребител № 539 ![]() |
Май някои неща не са ти ясно, но не знам до каква степен ще ти ги обясня. Room persistent се изплозва, когато искаш всички променливи по дадена стая да се запазят след НАПУСКАНЕТО й. Демек ако в room0 си сложил обект player с координати 10, 10 и го преместиш на друго място (например 25,30), след това отидеш в room1 и се върнеш обратно в room0, то този обект (и всички други) няма да се е върнал на 10,10, а ще си стои на 25, 30. На кратко както си го оставил си остава така.
Колкото до "лага", за който говориш - според мен няма да го има понеже тук говорим само за заделяне по-голямо количество оперативна памет, а не работа на процесора. По твоя въпрос много ясно, че room0 няма да ти е pesistent, защото ти сам я правиш да е false при напускане на стаята. По друг начин казано: Отиваш в room1 - persistent = true; При напускане на room1 правиш persistent = false; Е току що ти сам го направи false. Говоря за този код: Цитат Когато излезе от room1 и влезе в room2 използвам кода: room1: if(obj_hero.x<16){ room_set_persistent(room1,0) //destroy hero } Обяснението се получи доста велико и разбираемо. Дано си разбрал. -------------------- "Последно: 18:05:07, 21.09.12" След две години мълчание пак проговори...
ИГРИ И ПРИМЕРИ НА САЙТА МИ!. |
|
|
![]() ![]() |
Олекотена версия | Час: 13:49:23, 03.07.25 |