RFO BASIC 24.12.2016 / 20:06 | | 380679477932 Пользователь Сейчас: Offline
Имя: Vlad Регистрация: 19.12.2016
| Кто поможет написать алгоритм преследования в играх
|
25.12.2016 / 10:41 | | levapbar Пользователь Сейчас: Offline
Имя: Павел Регистрация: 04.09.2016
| Подскажите пожалуйста, у кого-нибудь работает бейсик с внешней картой памяти? А-то у меня ни программы не запускаются, ни файлик какой-нибудь не загрузить в программу. Все только с внутренней памяти. |
25.12.2016 / 14:14 | | 380679477932 Пользователь Сейчас: Offline
Имя: Vlad Регистрация: 19.12.2016
| У меня норм
|
25.12.2016 / 20:52 | | lion1971 Пользователь Сейчас: Offline
Имя: Lion1971 Регистрация: 12.12.2016
| как отловить только одно нажатие на экран? Gr.touch touched, x, y выполняется много раз пока происходит касание |
25.12.2016 / 22:59 | | DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| 1961uvg, переносишь на половину высоты и ширины, вращаешь, переносишь обратно. Или там прям совсем всё плохо?
|
26.12.2016 / 10:43 | | 1961uvg Пользователь Сейчас: Offline
Имя: Victor Откуда: Минск Регистрация: 28.07.2015
| levapbarВсе наверно зависит от версии Андроид! У меня андроид 6.0 - поддерживает любой носитель: SD карту, флешку и винчестер и с них запускает без вопросов! lion1971В интернете много информации по спрайтам, стрипам и тайлам. Спрайт-одно изображение ( объект ) в одном файле. Стрип - много спрайтов ( кадров ) в линию в одном файле. Тайл - много спрайтов расположенных в сетке ( типа фона ) в одном файле. Например здесь : http://gmakers.xyz/index.php?topic=5142.20А здесь примеры анимации Глобус и Костер : http://annimon.com/forum/id396951-470 380679477932 Алгоритмов приследования много , вот одна из тем : http://www.codenet.ru/progr/alg/ai.phpDominaNДаже если сместить точку вращения , то и объект переместиться. Вращение вокруг центра можно с имитировать вращением точки вращения по окружности и синхронизированным вращением объекта. В строке gr.rotate.start i,x+v,y+d - если i*на 10 и более увеличивается скорость вращения . Где то так : Изменено 1961uvg (26.12 / 14:01) (всего 5 раз)
Прикрепленные файлы: rotate1-1[1].bas (0.62 кб.) Скачано 883 раза |
26.12.2016 / 11:06 | | lion1971 Пользователь Сейчас: Offline
Имя: Lion1971 Регистрация: 12.12.2016
| вот посмотрите этот код, пока без графики num_d = 7
stack.create N, a
stack.create N, b
stack.create N, c
z=0 % зона, куда тапнул для теста
cur_d = 0 % верхний элемент в стеке, т. е. верний диск в пирамиде
isTaken = 0 % флажок "взял-положил"
GR.OPEN 255,0,0,0
GR.COLOR 255,255,255,255,0
gr.line ln, 10, 400, 790, 400
gr.line ln, 280, 0, 280, 400
gr.line ln, 520, 0, 520, 400
Gr.text.size 25
Gr.text.draw txt, 10, 450, "z = " + str$(z) + " k = " + str$(k) + " isTaken = " + str$(isTaken) + " cur_d = " + str$(cur_d) % тестовая строка
gosub init_game
do
GR.TOUCH touched, xt, yt
if touched <> 0 then % определяем зону, куда тапнул
if xt < 280 then
z = 1
stk = a % работаем с первым стеком
endif
if (xt > 280) & (xt < 520) then
z = 2
stk = b % работаем со вторым стеком
endif
if (xt > 520) then
z = 3
stk = c % работаем с третим стеком
endif
gosub do_move
gr.modify txt, "text", "z = " + str$(z) + " k = " + str$(k) + " isTaken = " + str$(isTaken) + " cur_d = " + str$(cur_d) % меняем тестовую строку
gr.render
endif
until yt > 400 % выходим по тапу ниже 400 рх
end
init_game:
for i = 1 to 7
stack.push a, i
next i
return
do_move:
if isTaken = 1 then
stack.push stk, cur_d
isTaken = 0
else
stack.isEmpty stk, empt
if empt = 0 then
stack.pop stk, cur_d
isTaken = 1
endif
endif
return
срабатывает по многу раз за тап, как отловить только одно срабатывание? |
26.12.2016 / 12:07 | | 1961uvg Пользователь Сейчас: Offline
Имя: Victor Откуда: Минск Регистрация: 28.07.2015
| Попробуй применить команду PAUSE ....
Изменено 1961uvg (26.12 / 12:11) (всего 1 раз) |
26.12.2016 / 13:02 | | lion1971 Пользователь Сейчас: Offline
Имя: Lion1971 Регистрация: 12.12.2016
| разобрался мать его за ногу DO
GR.TOUCH touched, x, y
UNTIL touched
! Touch detected, now wait for
! finger lifted
DO
GR.TOUCH touched, x, y
UNTIL !touched
% а уже тут действия
вот так счетчик срабатывает только один раз Открыть спойлер Закрыть спойлер k = 0
gr.open 255,25,25,25
gr.orientation 0
gr.color 255, 255, 255, 255
gr.text.draw txt, 10, 10, int$(k)
gr.render
while 1=1
gosub touch
gosub image_move
repeat
touch:
do
gr.touch touched,xt,yt
until touched
do
gr.touch touched,xt,yt
until !touched
k = k + 1
return
image_move:
gr.modify txt, "text", int$(k)
gr.render
return
Изменено lion1971 (26.12 / 13:08) (всего 1 раз) |
26.12.2016 / 15:36 | | lion1971 Пользователь Сейчас: Offline
Имя: Lion1971 Регистрация: 12.12.2016
| и еще со стеком я пошел по ложному пути, элементы стека недоступны для перебора, только верхний? Надо переделывать под list?
|
Всего сообщений: 2716 Фильтровать сообщения Поиск по теме Файлы топика (511)
|