Ganociy, чёрт возьми, УЧИ АЗЫ!
Во-первых, после While then не ставится!
Во-вторых: ты не знаешь, в чём ошибка? Я скажу: while выполняет операторы, расположенные между while и wend до тех пор, пока условие после while (в твоём случает это: FileType(TP$)=0) является истинным. Как только условие станет ложным, произойдёт выход из цикла. У тебя, как только текстурка не загрузится, произойдёт вход в цикл. А предусмотреть выход?
Опять повторю: УЧИ АЗЫ!
Ну, и напоследок, если ещё не понял соль цикла while:
SetBuffer(BackBuffer())
SeedRnd(MilliSecs())
Graphics3D(0,0,0,1)
i=20
Repeat
i=i-1
While i=19
Print("ololo")
Wend
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End
Подумай, почему ololo выводится не один раз, а forever и почему программа не завершается по тыку на escape
_____________________________________
Ну ладно, помогу ещё: хотя код надо переписывать (но вначале прочитать хелп
).
удали позорный цикл
While FileType(TP$)=0 Then
Print "No texture!"
Wend
и замени
If b\picked=1 Then
b\texture=LoadTexture (TP$)
EntityTexture b\model,b\texture
EntityColor b\model,255,0,0
EndIf
|
на
If b\picked=1
b\texture=LoadTexture (TP$)
If b\texture ;в блитце цикл "if b\texture" выполнится только, если это самое b\texture существует! Полезнейщая вещь
EntityTexture b\model,b\texture
EntityColor b\model,255,0,0
else ... ;тут печатаешь текст и прочая лабуда
EndIf
EndIf
|
То бишь цикл не сработает, если текстурка не загрузилась. Как выводить сообщение о неправильной текстуре, подумай сам, покури хелп и поучи азы.