23.12.2016 / 15:55 |  | 
1961uvg    Пользователь  
   Сейчас: Offline 
 Имя: Victor Откуда: Минск Регистрация: 28.07.2015
   | На сколько я понял вопрос: например экран 1200 точек по оси Х (экран ландшафтный , т.е. боком ),делим экран на три зоны- первый экран - Х= от 0 до 399 второй экран - Х= от 400 до 799 третий экран - Х= от 800 до 1200 проверяем точку касания для первого экрана - если Х попадает в диапазон 0-399, то переход на подпрограмму отрисовки первого экрана , если нет то переход на проверку второго экрана. Аналогично, если попадает в диапазон 400-799, то переход на отрисовку второго экрана, если нет, то переходим к проверке третьего экрана - если попадает в 800-1200, то переход на отрисовку третьего экрана, если нет возврат на проверку нажатия первого экрана!   Ну как то так!
   | 
  23.12.2016 / 17:41 |  | 
lion1971    Пользователь  
   Сейчас: Offline 
 Имя: Lion1971 Регистрация: 12.12.2016
   | думал где-то так do  
Gr.bounded.touch zone1, left1, top1, right1, bottom1  
...  
Gr.bounded.touch zone4, left4, top4, right4, bottom4  
if zone1 then gosub ... endif  
...  
if zone3 then gosub ... endif  
until zone4  
 а zone4 типа кнопка для выхода  | 
  23.12.2016 / 18:05 |  | 
1961uvg    Пользователь  
   Сейчас: Offline 
 Имя: Victor Откуда: Минск Регистрация: 28.07.2015
   | Просто проверка по условию командой IF ! Значения Х только влияют, так как разбивка экрана по оси Х.
   Изменено 1961uvg (23.12 / 18:07) (всего 1 раз) | 
  23.12.2016 / 19:05 |  | 
lion1971    Пользователь  
   Сейчас: Offline 
 Имя: Lion1971 Регистрация: 12.12.2016
   | вот такой черновой рабочий код z=0  
GR.OPEN 255,0,0,0  
GR.COLOR 255,255,255,255  
Gr.rect rct1, 10, 10, 250, 450  
Gr.rect rct2, 260, 10, 500, 450  
Gr.rect rct3, 510, 10, 750, 450  
Gr.rect rct4, 510, 500, 750, 550  
Gr.text.size 50  
Gr.text.draw zone, 10, 550, str$(z)  
GR.RENDER  
   
do  
Gr.bounded.touch zone1, 10, 10, 250, 450  
Gr.bounded.touch zone2, 260, 10, 500, 450  
Gr.bounded.touch zone3, 510, 10, 750, 450  
Gr.bounded.touch zone4, 510, 500, 750, 550  
if zone1 then  
z=1  
endif  
if zone2 then  
z=2  
endif  
if zone3 then  
z=3  
endif  
gr.modify zone, "text", str$(z)  
gr.render  
until zone4  
end  
 вот только через Gr.bounded.touch идет множественное срабатывание пока идет нажатие  Изменено lion1971 (23.12 / 19:08) (всего 1 раз) | 
  23.12.2016 / 19:49 |  | 
1961uvg    Пользователь  
   Сейчас: Offline 
 Имя: Victor Откуда: Минск Регистрация: 28.07.2015
   | Возьми просто gr.touch и выполни проверку по условию по Х с переходом в нужную подпрограмму, зачем тебе нажатие на область экрана , будет и проще и короче и быстрее. Не надо усложнять там где это не надо!
   | 
  23.12.2016 / 21:21 |  | 
lion1971    Пользователь  
   Сейчас: Offline 
 Имя: Lion1971 Регистрация: 12.12.2016
   | В плане быстродействия программы что лучше: рисовать объекты графическими командами или использовать готовые рисунки? И можно ли менять точку регистрации (привязки) рисунка или это только верхний левый угол?
   | 
  24.12.2016 / 11:41 |  | 
380679477932    Пользователь  
   Сейчас: Offline 
 Имя: Vlad Регистрация: 19.12.2016
   | Лутше конечно рисовать, а так без разницы
   | 
  24.12.2016 / 14:28 |  | 
lion1971    Пользователь  
   Сейчас: Offline 
 Имя: Lion1971 Регистрация: 12.12.2016
   |  Изменено lion1971 (24.12 / 14:31) (всего 3 раза)
 Прикрепленные файлы:   hanoy1.png (3.28 кб.) Скачано 98 раз    dsk1.png (0.92 кб.) Скачано 95 раз   | 
  24.12.2016 / 17:37 |  | 
1961uvg    Пользователь  
   Сейчас: Offline 
 Имя: Victor Откуда: Минск Регистрация: 28.07.2015
   | Для быстродействия лучше готовые спрайты и стрипы. У этого языка только одна точка привязки - это верхняя левая точка. По этому заставить вращаться объект вокруг центра очень сложно!
   | 
  24.12.2016 / 18:08 |  | 
lion1971    Пользователь  
   Сейчас: Offline 
 Имя: Lion1971 Регистрация: 12.12.2016
   | и сам себе отвечаю     fn$ = ""  
dim dsk[7]  
for i = 1 to 7  
fn$ = "dsk"+int$(i)+".png"  
GR.BITMAP.LOAD p, fn$  
GR.BITMAP.DRAW dsk[i], p, x, y  
next i  
 но может у кого идеи получше будут    а что такое "стрипы"?  Изменено lion1971 (24.12 / 18:13) (всего 1 раз) |