Показать сообщение отдельно
Старый 14.01.2010, 20:51   #143
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Вопросы очередного новичка

Сообщение от EaNub Посмотреть сообщение
If KnopkaLoadGame=1 ; ах да кнопка постоянно обновляется в 0
Menusost=4
PlX#=50 ;
PlY#=60 ;
PlZ#=60 ; корды тестовые, потом они из файла считываться будут...
EndIf

If MenuSost=4
PositionEntity Player,PlX#,PlY#,PlZ#
Menusost=2
EndIf ; вот я делаю как вы мне посоветовали..

RenderWorld
UpdateWorld
Flip
Wend
End

гыг зачем выносить MenuSost за пределы KnopkaLoadGame при такой логике? Достаточно
If KnopkaLoadGame=1 ; ах да кнопка постоянно обновляется в 0
PlX#=50 ;
PlY#=60 ;
PlZ#=60 ; корды тестовые, потом они из файла считываться будут...
PositionEntity Player,PlX#,PlY#,PlZ#
Menusost=2
EndIf ; вот я делаю как вы мне посоветовали..

-2 лишних переменных и минус лишний if
Истинный кошмар
If KeyHit(Jump) And EntityCollided(Player,TypeFloor) Then MoveEntity Player,0,20,0
Собсно проблема хде-то сдесь прячется. Есть уже уйма предположений:
Для начала напиши так
If KeyHit(Jump) And EntityCollided(Player,TypeFloor)
MoveEntity Player,0,20,0
Stop;
EndIF
При нажатии пробела(или чем ты там прыгаешь) программа должна "зависнуть". Тоесть она как-бэ закончится на этом моменте и больше не будет выполнятся. Если при нажатии пробела игра не останавливается - ошибка в условиях:
1)Бах в EntityCollided(Player,TypeFloor). Плееру не задан тип, а может и колизии с полом - EntityCollided работает лишь при заданных коллизиях. Солюшн: Убрать And EntityCollided(Player,TypeFloor) и попробовать прыгать.
2)Бах в If KeyHit(Jump) - переменная Jump задана неправильно. Солюшн: открыть код, нажать Ctrl+F ввести в поле Jump и посмотреть действительно ли там сканкод 57.
3)Бах в MoveEntity Player,0,20,0 кроме того что для прыжка он двигается по оси Y(), не исключен вариант что твой игрок прыгает "в пол" а колизии его выталкивают обратно => ничего не просиходит. Солюшн: Поиграть со значениями MoveEntity
Таким образом БАХ может быть в любой части If'a.
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием