[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 1
  • 1
Модератор форума: Spidy, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 2D программирование » Глупый вопрос...
Глупый вопрос...
VirusssДата: Суббота, 30.01.2010, 13:03 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Code
If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1) Then DrawImage key_load_on,240,150
   While Not KeyHit(14) Or KeyHit(1)
     DrawImage load_the_game,0,0:DrawImage Cursor,mx#,my#
     DrawImage Cursor,mx#,my#
     RenderWorld
     Flip
   Wend
EndIf

пишет что end if with out if что не так???
 
SpidyДата: Суббота, 30.01.2010, 13:29 | Сообщение # 2
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
Ошибка тут:

Code
If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1) Then DrawImage key_load_on,240,150

1. Убери строку DrawImage key_load_on,240,150 если хочешь чтобы цикл While выполнялся в заданном условии

2. Либо удали не нужный EndIf


Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму

Сообщение отредактировал Spidy - Суббота, 30.01.2010, 13:33
 
VirusssДата: Суббота, 30.01.2010, 16:02 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Quote (Spidy)
2. Либо удали не нужный EndIf

как???как програма узнает о том где мой if кончается? вот два примера:
if ... then
if..then
if...then
if...then
- сдесь второй, третий и четвертый if выполняются ТОЛЬКО если первый правильно, второй пример:
if...then
if...then
if...then
if...then
- нет разници ведь так?а мне во втором надо что бы все отдельно, поставлю end if - выдаст ошыбку, что делать???
 
deejexДата: Суббота, 30.01.2010, 19:06 | Сообщение # 4
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Code
If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1) Then
DrawImage key_load_on,240,150  
    While Not KeyHit(14) Or KeyHit(1)  
      DrawImage load_the_game,0,0:DrawImage Cursor,mx#,my#  
      DrawImage Cursor,mx#,my#  
      RenderWorld  
      Flip  
    Wend  
EndIf

Вотъ и всё




 
ParisHiltonДата: Суббота, 30.01.2010, 19:07 | Сообщение # 5
прогер
Группа: Пользователи
Сообщений: 197
Награды: 2
Репутация: 5
Статус: Offline
Условие End if работает по следующим принципам:

Code
If <условие> then <команда>

в этом примере End if не требуется так как выполняется всего одна команда и все написано в одну строчку

Code
If <условие> then    
       <команда>
       <команда>
       <команда>
End if

в этом примере выполняется несколько команд и без End if тут никак

Вывод:

Все зависит от количества команд после then и от того написано все в одну строку или нет
В твоем примере все получается вот так

Code

If my#>171 And my#<250 And mx#>240 And mx#<380 And MouseHit(1) Then DrawImage key_load_on,240,150
         
; тут выполнилось условие если бла-бла-бла, то рисуется картинка DrawImage key_load_on,240,150
; условие if...then выполнилось и не требует закрывающего End if

While Not KeyHit(14) Or KeyHit(1)
        DrawImage load_the_game,0,0:DrawImage Cursor,mx#,my#
        DrawImage Cursor,mx#,my#
        RenderWorld
        Flip
      Wend
EndIf  ; в этом месте произойдет ошибка так как этот EndIf не к чему не относится


Мы ищем предмет цели для того чтобы найти результаты его следствия

Сообщение отредактировал ParisHilton - Суббота, 30.01.2010, 19:10
 
VirusssДата: Суббота, 30.01.2010, 19:34 | Сообщение # 6
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
да я понял спасибо.
 
Форум мира Blitz3D » Язык Blitz3D » 2D программирование » Глупый вопрос...
  • Страница 1 из 1
  • 1
Поиск: