Аватар для Александер2000
7 / 7 / 0
Регистрация: 29.06.2013
Сообщений: 218

Блокирование движение за границу экрана

10.04.2017, 23:21. Показов 2376. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, начинающий познаватель сей многожрущий оперативки операционки. И вопрос возник интересный
эксперементировал с движением, и осознал одну простую вещь, как заблокировать движение героя за границу?!
допустим на яве, я бы прописал условие если движение верх и радиус не меньше ширины, идти.

А здесь, по сути, тач скрин, и я незнаю как заблокировать перемещение за границу. Чтобы девочка ударилась в стенку, и начала идти на месте, так можно сделать?

Java
1
2
3
4
5
6
7
public void moveElainaHowTouchAt(int xx, int yy){
        int dx = (xx - x) * eSpeed / bitmap.getWidth();
        int dy = (yy - y) * eSpeed / bitmap.getHeight();
        x += dx;
        y += dy;
 
    }
и так же, вопрос, опяь же, в яве просто задаешь ширину высоту какую надо, или иногда я юзал создавал клетку и перемножал ее и получал ширину высоту. А можно ли так получить что-нибудь в андройд?
Миниатюры
Блокирование движение за границу экрана  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.04.2017, 23:21
Ответы с готовыми решениями:

Блокирование определенной части экрана
Мне стало интересно, а как можно сделать такое: запускается программа, которая блокирует все нажатия мышью на правый нижний угол (ну...

Панель вышла за границу экрана
Собсна...скрылась, и не выезжает почему-то... на скрине она в виде полоски слева...

Блок, выходящий за границу экрана
Имеется резиновый сайт. В правой части - несколько блоков с контентом. Эти блоки имеют справа декоративные ленточки. Требуется сделать...

4
77 / 76 / 57
Регистрация: 07.08.2016
Сообщений: 173
10.04.2017, 23:35
Вы же на Canvas рисуете? У объекта Canvas есть методы getWidth и getHeight.
Соответственно, что-то вроде этого:
Java
1
2
if (x <= 0 || x >= canvas.getWidth())
    speed = 0;
Если x меньше нуля или больше возможно ширины, скорость равна 0. Только надо ещё продумать, чтоб фигурка не выходила за границы, подкорректировать значения на ширину самой девочки.
0
 Аватар для Александер2000
7 / 7 / 0
Регистрация: 29.06.2013
Сообщений: 218
11.04.2017, 17:06  [ТС]
Kir-malishev, не помогло, потому, что кривенько все. Где по статьи инфу взял, где что. От того, как-то не так все, ща переделаю все сначала, сам все сделаю как надо. И все получиться, если что отпишусь вновь, ждите

Добавлено через 1 час 24 минуты
Ребятульки, собственно я маленько запутался, подскажите.
Java
1
2
3
4
5
public void moveElainaHowTouchAt(int xx, int yy){
* * * * int dx = (xx - x) * eSpeed / bitmap.getWidth();
* * * * int dy = (yy - y) * eSpeed / bitmap.getHeight();
* * * * x += dx;
* * * * y += dy;
вот здесь, главный герой бегает за тачскрином, но бегает с увеличеной скоростью от дальности нажатия. Как сделать чтобы скорость перемещения была всегда фиксирована? ну, чтобы он одинаково бегал независимо от координаты нажатия
0
77 / 76 / 57
Регистрация: 07.08.2016
Сообщений: 173
11.04.2017, 20:16
Ну, тут уже начинаются физика с математикой.
В общем, так:

1.Получаете вектор и точки начала движения в точку конца движения:

https://www.cyberforum.ru/cgi-bin/latex.cgi?(x1 - x0;  y1 - y0) = (\Delta x; \Delta y)

2.Дальше нужно спроецировать его на оси координат, т.е. найти cos и sin:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\cos \alpha = \Delta x / \sqrt{{\Delta x}^{2} + {\Delta y}^{2}}

https://www.cyberforum.ru/cgi-bin/latex.cgi?\sin \alpha = \Delta y / \sqrt{{\Delta x}^{2} + {\Delta y}^{2}}

3.И умножить скорость на cos (получим скорость по x) и на sin (получим скорость по y:

https://www.cyberforum.ru/cgi-bin/latex.cgi?V = 5

https://www.cyberforum.ru/cgi-bin/latex.cgi?{V}_{x} = V*cos\alpha

https://www.cyberforum.ru/cgi-bin/latex.cgi?{V}_{y} = V*sin\alpha

4.В конце концов, каждую единицу времени прибавляйте к x и y соответствующие скорости.
0
 Аватар для Александер2000
7 / 7 / 0
Регистрация: 29.06.2013
Сообщений: 218
11.04.2017, 20:23  [ТС]
Цитата Сообщение от Kir-malishev Посмотреть сообщение
4.В конце концов, каждую единицу времени прибавляйте к x и y соответствующие скорости.
спасибо я понял. в школе был бандитом, потому, пробелы жетские. Я попробую, отпишусь будет ли успех)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.04.2017, 20:23
Помогаю со студенческими работами здесь

Запрет перемещения формы за границу экрана
как запретить форме выходить за пределы экрана?

Запретить объекту выходить за камеру(границу экрана)
Игра 2D, Границы камеры и есть граница экрана, как запретить объекту которым управляет игрок(WASD), выходить за камеру?

Движение картинки от центра экрана — по диагоналям ко всем углам экрана с уменьшением размера
нужно чтобы картинка двигалась от центра экрана - по диагоналям ко всем углам экрана с уменьшением размера заранее спасибо

Asus Eee PC 1015PD нижняя часть изображения выходит за границу экрана
На нетбуке Asus Eee PC 1015PD нижняя часть изобразения выходит за границу экрана, причем данная проблема не только в операционной системе...

В Panel-е не появляется скрол, а сам Panel выезжает за границу экрана
Здравстуйте, уважаемые форумчане! Столкнулся со следующей проблемой, на веб-странице есть таблица которая динамически заполняется данными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru