Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/148: Рейтинг темы: голосов - 148, средняя оценка - 4.80
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366

Перемещение объекта

09.11.2009, 22:02. Показов 28759. Ответов 59
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как переместить объект (пусть прямоугольник) влево, вправо, вверх и вниз? Одним словом, как это все перемещать? Подсказывают, что через Mode, но как?!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2009, 22:02
Ответы с готовыми решениями:

Перемещение объекта в 3D пространстве
Как написать программу для перемещения объекта в 3D пространстве?)

Плавное перемещение одного объекта к другому
Здравствуйте, есть у меня две точки, которые находятся на неком расстоянии друг от друга по диагонали. Кратчайшее расстояние нахожу по...

Пермещение объекта в позицию другого объекта по его клику
Имеется command1 и command2 Как сделать чтобы при нажатии на command2, command1 перемещалась в позицию command2 только не сразу...

59
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
12.11.2009, 11:49  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Toxa33rus Посмотреть сообщение
ugo1 = IIf(ugo1 > 2 * Pi, ugo1 - 2 * Pi + HScroll1 / 10, ugo1 + HScroll1 / 10)
Все оказалось достаточно легко
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
12.11.2009, 12:17  [ТС]
А можно ли сделать следующую програмку: два поезда, две станции. Поезда следуют друг за другом по кругу, но при они не должны "врезаться" в друг друга и обгонять. На станциях, они делают небольшие остановки, а потом снова трогаются в путь.
Такое вообще возможно?
Миниатюры
Перемещение объекта  
0
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,970
12.11.2009, 13:03
Если задать им одинаковую скорость то врезаться они не будут по определению.
Переменную "угол" можно оставить одну, синусы и косинусы брать для первого поезда от "угол", а для второго от "угол"+Pi.
Остановку можно сделать задав в нужный момент (когда угол равен (почти) нулю) интервал таймера в пару секунд, а на следующем цикле вернуть обратно 50 мс.

Ожидаю что дальше захочется сделать плавное торможение и разгон, но это уже сами
1
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
12.11.2009, 13:27  [ТС]
А таймер использовать один или два?
Понял - два
0
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
12.11.2009, 13:41
Цитата Сообщение от Василий-Робот Посмотреть сообщение
А таймер использовать один или два?
если разная скорость, то 2, иначе - 1
1
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
12.11.2009, 15:25  [ТС]
Цитата Сообщение от Toxa33rus Посмотреть сообщение
Остановку можно сделать задав в нужный момент (когда угол равен (почти) нулю) интервал таймера в пару секунд, а на следующем цикле вернуть обратно 50 мс.
Подробнее пожалуйста
И вопрос, а почему когда угол почти равен нулю? Ведь станция находиться все время на одном мечте, как синхронизировать временную остановку поезда именно в момент, когда он добрался до станции?
0
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,970
12.11.2009, 18:49
Цитата Сообщение от Василий-Робот Посмотреть сообщение
почему когда угол почти равен нулю? Ведь станция находиться все время на одном мечте, как синхронизировать временную остановку поезда именно в момент, когда он добрался до станции?
Угол задается в радианах, изначально равен нулю. Дальше к нему прибавляется 0.5 (например). Как только угол стал равен 2*Пи радиан то мы отнимаем эти самые 2*Пи.
Например через 13 циклов таймера угол = 0.5*13 = 6.5. Это больше 2*Пи и мы отнимаем 2*Пи и угол = 0,21681469282042
Это и есть ПОЧТИ ноль. Точный ноль там долго не появится
Если б изначально в условии были поезда то не надо было делать через IIF а надо былоа делать через If ugol > 2*Pi Then и там уже и отнимать лишнее да и делать остановку заодно.
Короче в таймер надо впихнуть условие:
Visual Basic
1
2
3
4
5
6
7
If ugol > 0 And ugol < HScroll1 / 10 or ugol > Pi And ugol < Pi + HScroll1 / 10 then
  ugol = 0
  'тут возможно придется обновить координаты
  timer1.interval = 2000 'можно покурить на пероне
else
  timer.interval=50
end if
Добавлено через 6 минут
Мораль сей басни такова:
Что изначально надо полное ТЗ писать
А если апосля пускать по рельсам поезда
То проще будет Вам проект уж новый начинать.

навеяло
1
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
12.11.2009, 19:29
Цитата Сообщение от Toxa33rus Посмотреть сообщение
Мораль сей басни такова:
Что изначально надо полное ТЗ писать
А если апосля пускать по рельсам поезда
То проще будет Вам проект уж новый начинать.

Не по теме:

запощу-ка я это в стихотворенство :)

1
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
12.11.2009, 21:55  [ТС]
Что такое ТЗ?
Прога вообще будет выглядеть так: много станций, много поездов. Поезда еду друг за другом с разными скоростями, как говорилось выше, не "врезаясь" и не обгоняя друг друга. Как предусмотрительно заметил Toxa33rus они действительно будут притормаживать у станций, останавливаться, ждать несколько секунд (высадка и посадка пассажиров) трогаться в путь набирая скорость и так до следующей станции. Плюс диспетчер (он же пользователь) будет видеть текущую скорость каждого поезда на табло и при желании пользователя он может "добавить" людей на какой-то станции, тем самым увеличивая время остановки поезда, а следовательно замедляя все составы идущие за ним.
Я прошу дать мне совет: стоит ли вообще это делать в Басике или идти на Дельфу или С ++ (но пожалуйста, аргументируйте)
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
09.12.2009, 18:16  [ТС]
Всем доброго дня!
Я промучился с остановкой. Как сделать медленное торможение перед станцией, остановку в течении нескольких секунд и снова набирание скорости?
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
14.12.2009, 21:08  [ТС]
Как сделать так, чтобы при круговом движении объект двигался "не рывками", а плавно?
0
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,970
15.12.2009, 14:00
Уменьшить интервал у таймера и соответственно шаг сдвига тоже.
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
15.12.2009, 20:58  [ТС]
Как понять "шаг сдвига"?
Где он есть в коде?

Pascal
1
2
3
4
5
6
7
8
9
10
11
Dim ugo1
Const Pi = 3.14159265358979
Private Sub Form_Load()
ugo1 = 0
Timer1.Interval = 200
End Sub
Private Sub Timer1_Timer()
Timer1.Enabled = True
Shape1.Move Sin(ugo1) * 3000 + 5000, Cos(ugo1) * 3000 + 5000
ugo1 = IIf(ugo1 > 2 * Pi, ugo1 - 2 * Pi + 0.5, ugo1 + 0.5)
End Sub
Добавлено через 1 час 46 минут
И как сделать так, чтобы поезда не двигались на определенном расстоянии друг от друга, а распределялись равномерно по всему кольцу (при условии, что количество поездов можно менять)
0
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,970
16.12.2009, 10:16
Цитата Сообщение от Василий-Робот Посмотреть сообщение
Как понять "шаг сдвига"?
Где он есть в коде?
Перемещение объекта

Василий-Робот, не будьте роботом - вникайте хоть немного в код который вам дают.
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
16.12.2009, 22:09  [ТС]
Toxa33rus, искренне, не понимаю, где шаг сдвига
Тыкни меня носом в код

Если движутся к примеру пять поездов, то как сделать чтобы они ехали на одинаковом расстоянии друг от друга?
Миниатюры
Перемещение объекта  
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
16.12.2009, 22:58  [ТС]
Как располагать на равном расстоянии я уже знаю
0
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,970
17.12.2009, 20:36
Там есть такая хрень как угол, которая потом превратилась в уго1. Неужели сложно догадаться прибавить к ней 72 градуса в радианах 4 раза и для каждого раза нарисовать круг.

Добавлено через 1 минуту
0.5 это шаг
1
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
19.12.2009, 23:45  [ТС]
Как сделать так чтобы совместить суть выбора двух опций из трех
То есть есть три опции 1 - 2 - 3
При нажатия 1 и 3 - происходит одно и тоже
При нажатии 2 - происходит другое
Нужно полностью переписывать код или можно поставить что-то вроде or?
________________________________________ _____

Если загнать опции в две разные Frame, к примеру:
Frame 1 содержит опцию 1 и 2
Frame 2 содержит опцию 3 и 4
Как записать условие, что при нажатии опции 2 и 4 произойдет то-то?

Добавлено через 22 часа 26 минут
Повторю вопрос:
Как сделать так чтобы совместить суть выбора двух опций из трех
То есть есть три опции 1 - 2 - 3
При нажатия 1 и 3 - происходит одно и тоже
При нажатии 2 - происходит другое
Нужно полностью переписывать код или можно поставить что-то вроде or?
________________________________________ _____

Если загнать опции в две разные Frame, к примеру:
Frame 1 содержит опцию 1 и 2
Frame 2 содержит опцию 3 и 4
Как записать условие, что при нажатии опции 2 и 4 произойдет то-то?

Добавлено через 45 минут


Добавлено через 3 часа 43 минуты
И как же это делается?
0
 Аватар для ks2010
0 / 0 / 0
Регистрация: 19.02.2010
Сообщений: 11
02.03.2010, 15:24
как с помощью таймера сделать чтобы объект перемещался из одной точки в другую???хелп ми плиз)
0
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 2
01.01.2021, 14:31
По этой теме для полноценного теста сделал по материалам форума тестовую программку, можно на ходу менять радиусы как горизонтальный, так и вертикальный, а также менять плавность и наоборот задержку (ступенчатость) вращения. В коде программы есть Public-переменные для установки центральной точки вращения на форме. См.вложения.
Миниатюры
Перемещение объекта  
Вложения
Тип файла: zip vb6 Вращение по кругу или овалу, настройка.zip (7.4 Кб, 10 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.01.2021, 14:31
Помогаю со студенческими работами здесь

Перемещение объекта
Здравствуйте. У меня имеется несколько объектов, так же есть рамка, которая двигается стрелками. Когда рамка &quot;захватывает&quot;...

Перемещение объекта
Придумал вот такое перемещение облаков, чтоб летали туда сюда (да наверно не очень правильно, но я учусь) using UnityEngine; using...

Перемещение объекта
Помогите сделать скрипт, который изменял положение картинки в зависимости от положения курсора пользователя. Так, при щелчке мышью в...

Перемещение 2 d объекта
Помогите пожалуйста. Могу нарисовать несколько треугольников в различных точках. А как реализовать перемещение треугольника в различные...

Перемещение объекта
Всем привет. Немного запутался с перемещением.. Игра 2d. Нажимаем в любую точку на экране, и начинаем водить пальцем вверх - вниз...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. На мобильном - сканируйте QR-код. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru