4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 108

Перемещение фигуры на форме. Исходное положение задаётся случайно

29.06.2014, 19:55. Показов 2461. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возникла небольшая проблема. Хочу, чтобы от края экрана начал двигаться эллипс, при каждом запуске программы он естественно на разной высоте, но проблема в том,что он в каждый промежуток времени оказывается на разной высоте. Мне нужно, чтобы заданная в начале высота оставалась до конца его пролета.
C#
1
2
3
4
5
6
7
8
 Random rand = new Random();
 
       public void botR(Graphics g)
        {
            SolidBrush br = new SolidBrush(Color.Silver);
            int bot = rand.Next(0, ClientSize.Height - 50);
                g.FillEllipse(br, botX, bot, 100, 50);
        }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.06.2014, 19:55
Ответы с готовыми решениями:

Перемещение нарисованной фигуры по форме
Как осуществить перемещение фигуры? Например, квадрата.

Как сделать перемещение нарисованной фигуры по форме
Всем добрый вечер. Подскажите как сделать перемещение нарисованной фигуры по форме? Допустим нарисовал круг,далее кликнули в любое место...

Как сделать плавное перемещение нарисованной фигуры по форме?
Здравствуйте, у меня есть задача: Передвижение фигур. Вообщем выполняю её так: создаю стартовую фигуру, указываю куда она должна...

11
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
29.06.2014, 20:35
Цитата Сообщение от BboyBlackjack Посмотреть сообщение
при каждом запуске программы он естественно на разной высоте
почему естественно?
Перемещается по таймеру? Чтобы высота не менялась, следует изменять только координату X
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
29.06.2014, 20:41
я так понимаю вы в цикле вызываете метод botR? уберите из метода рандомную переменную bot. Например пусть метод получает ее как параметр. Чтобы фигура перемещалась, при каждом итерации увеличивайте переменную bot на 1.
0
4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 108
29.06.2014, 21:45  [ТС]
Добавлено через 34 минуты
Дело в том, что у меня будет куча объектов и все они должны будут находиться на разной высоте, так как сделать так, чтобы высота задавалась рандомно, но оставалась такой-же какой и задалась, а не менялась каждый "тик" таймера
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
29.06.2014, 22:19
Вы читали что я написал?
0
4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 108
29.06.2014, 23:50  [ТС]
Да читал, к сожалению я вас не понял, т.к начинающий проггер. Объясните пожалуйста на примере

Добавлено через 1 час 29 минут
Помогите пожалуйста, очень надо
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
30.06.2014, 01:08
Цитата Сообщение от BboyBlackjack Посмотреть сообщение
оставалась такой-же какой и задалась, а не менялась каждый "тик" таймера
Это значит, что в методе, который выполняется по таймеру, высоту нельзя менять. Её нужно брать откуда-то извне. Сейчас высота задаётся в методе. Задавай её до начала выполнения метода
0
4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 108
30.06.2014, 01:14  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        private void Form1_Load(object sender, EventArgs e)
        {
            int Y = rand.Next(50, 200);
            this.WindowState = FormWindowState.Maximized;
            BackColor = Color.Black;
            sp.Play();
        }
 
        public void bot(Graphics g) {
            SolidBrush br = new SolidBrush(Color.Silver);
            g.FillEllipse(br, 50, Y, 100, 50);
        
        }
Делаю так, кидает ошибку, уже хз что делать
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
30.06.2014, 01:21
Лучший ответ Сообщение было отмечено BboyBlackjack как решение

Решение

Цитата Сообщение от BboyBlackjack Посмотреть сообщение
Делаю так
Уже лучше. Только Y нужно объявить вне метода, на уровне класса:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int Y;
private void Form1_Load(object sender, EventArgs e)
    {
        Y = rand.Next(50, 200);
        this.WindowState = FormWindowState.Maximized;
        BackColor = Color.Black;
        sp.Play();
    }
 
    public void bot(Graphics g) {
        SolidBrush br = new SolidBrush(Color.Silver);
        g.FillEllipse(br, 50, Y, 100, 50);
    
    }
1
4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 108
30.06.2014, 01:31  [ТС]
Огромное вам спасибо, избавили от мучений) И еще вопросик, как сделать чтобы их появлялось в диапазоне от 3 до 15, на рандомном расстоянии друг от друга и чтобы с разной периодичностью вылетали?
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
30.06.2014, 01:34
Цитата Сообщение от BboyBlackjack Посмотреть сообщение
как сделать чтобы их появлялось в диапазоне от 3 до 15, на рандомном расстоянии друг от друга и чтобы с разной периодичностью вылетали?
кого их? Что есть сейчас?
0
4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 108
30.06.2014, 01:38  [ТС]
их это эллипсов, пока есть только один
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.06.2014, 01:38
Помогаю со студенческими работами здесь

Вернуть в исходное положение bg
Есть категории: div class="categories"> <button type="button" value="8" class="category">8 Категория</button> <button...

Исходное положение формы
Здравствуйте, Как вернуть форму в исходное положение не перезагружая программу? Спасибо.

Персонаж возвращается в исходное положение
Народ, помогите исправить проблему. Когда персонаж(Рыцарь) после анимации(Взмах меча) возвращается в позицию до анимации. Как это...

Возврат страницы в исходное положение
как сделать, чтобы страницы оставалось на том же месте после обновления, например где была нажата кнопка!?

Вернуть данные в исходное положение
Добрый день, ребята) Сделала в dbgrid сортировку по алфавиту. Код: ...


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

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

Новые блоги и статьи
Памятка для бота и "визитка" для читателей "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
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru