|  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
 
 | думал где-то так doGr.bounded.touch zone1, left1, top1, right1, bottom1...Gr.bounded.touch zone4, left4, top4, right4, bottom4if zone1 then gosub ... endif...if zone3 then gosub ... endifuntil 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=0GR.OPEN 255,0,0,0GR.COLOR 255,255,255,255Gr.rect rct1, 10, 10, 250, 450Gr.rect rct2, 260, 10, 500, 450Gr.rect rct3, 510, 10, 750, 450Gr.rect rct4, 510, 500, 750, 550Gr.text.size 50Gr.text.draw zone, 10, 550, str$(z)GR.RENDER doGr.bounded.touch zone1, 10, 10, 250, 450Gr.bounded.touch zone2, 260, 10, 500, 450Gr.bounded.touch zone3, 510, 10, 750, 450Gr.bounded.touch zone4, 510, 500, 750, 550if zone1 thenz=1endifif zone2 thenz=2endifif zone3 thenz=3endifgr.modify zone, "text", str$(z)gr.renderuntil zone4end
вот только через 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 7fn$ = "dsk"+int$(i)+".png"GR.BITMAP.LOAD p, fn$GR.BITMAP.DRAW dsk[i], p, x, ynext i
но может у кого идеи получше будут    а что такое "стрипы"?Изменено lion1971 (24.12 / 18:13) (всего 1 раз)
 |