1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204

Как увеличить скорость движения объекта по таймеру, если его интервал уже и так равен единице

03.12.2012, 22:55. Показов 6189. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть объект он передвигается по форм, передвижение осуществлено по таймеру, в таймере интервал стоит 1, но объект движется слишком медленно, как можно ускорить движение объекта ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2012, 22:55
Ответы с готовыми решениями:

Символьные функции: Преобразовать массив так: стаж работы увеличить на год, если он станет равен 10, то зарплату увеличить в 2 раза, если 15 – в 3 раз
Задан массив. «Фамилия_стаж работы_зарплата». Преобразовать массив так: стаж работы увеличить на год, если он станет равен 10, то зарплату...

Заполнить массив по правилу: первый элемент массива равен единице, второй равен N, третий – двум, четвертый равен N – 1 и так далее.
Задали написать программу, которая заполнит массив A из N элементов последовательными целыми числами от 1 до N по следующему принципу: ...

Каков будет период движения шайбы, если её скорость в нижней точке поверхности увеличить вдвое
Добрый день. Есть вот такая задача Шайба может без трения двигаться по гладкой поверхности, имеющей форму вогнутой окружности....

15
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 22:59
Увеличить приращение координаты - то число, на которое смещается объект с каждым шагом расчета
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 23:02  [ТС]
Цитата Сообщение от jivot Посмотреть сообщение
Увеличить приращение координаты - то число, на которое смещается объект с каждым шагом расчета
Можете показать? пожалуйста!
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 23:16
показать на чем? ... у меня кнопки по форме не бегают
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 23:21  [ТС]
ну сам код как это записать
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 23:25
Понимаете, чтобы продемонстрировать то, о чем я говорю, мне надо создать проект, повесить на него кнопку, таймер, заставить кнопку бегать по таймеру, а потом вам как-то наглядно изобразить код

Короче, свой код выкладывайте, а там поглядим
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 23:44  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Moving
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
     //       label5.Location = new Point(23, 404);
     
        }
        Form2 Form2 = new Form2();
 
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up) up.Start();
            if (e.KeyCode == Keys.Down) down.Start();
            if (e.KeyCode == Keys.Left) left.Start();
            if (e.KeyCode == Keys.Right) right.Start();
        }
 
        private void right_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up) up.Stop();
            if (e.KeyCode == Keys.Down) down.Stop();
            if (e.KeyCode == Keys.Left) left.Stop();
            if (e.KeyCode == Keys.Right) right.Stop();
        }
 
        private void up_Tick(object sender, EventArgs e)
        {
            if (up.Interval > 8) up.Interval = 8;
            Point cor = label5.Location;
            if (label5.Location.Y + 8 == label6.Location.Y + 31)
            {
                up.Stop();
            }
            else
            {
                if (label5.Location.Y + 8 == label1.Location.Y + 31) up.Stop();
                else
                {
                    cor.Y--;
                    label5.Location = cor;
                }
            }
        
        }
 
        private void down_Tick(object sender, EventArgs e)
        {
            Point cor = label5.Location;
            if (label5.Location.Y + 62 == label2.Location.Y + 31) down.Stop();
            else
            {
                cor.Y++;
                label5.Location = cor;
            }
        }
 
        private void left_Tick(object sender, EventArgs e)
        {
            Point cor = label5.Location;
            if (label5.Location.X+31 == label3.Location.X+54) left.Stop();
            else
            {
                cor.X--;
                label5.Location = cor;
            }
        }
 
        private void right_Tick(object sender, EventArgs e)
        {
 
            Point cor = label5.Location;
            if (label5.Location.X + 31 == Finish.Location.X)
            {
                up.Stop();
                left.Stop();
                down.Stop();
                right.Stop();
 
                this.Hide();
                Form2.ShowDialog();
                this.Close();
 
            }
            if (label5.Location.X + 31 == label7.Location.X)
            {
                right.Stop();
            }
            else
            {
                if (label5.Location.X + 31 == label4.Location.X) right.Stop();
 
                {
                    cor.X++;
                    label5.Location = cor;
                }
            }
        }
 
        private void Teleport_Click(object sender, EventArgs e)
        {
            if (label5.Location == Teleport.Location)
               label5.Location = new Point(444, 345); 
            
            
        }
 
 
    }
}
Вот так вот и сразу еще 1 вопрос!
Я даже не знаю как объяснить я сейчас скину дебаг вы попробуйте пройдите вверх, ПОЧЕМУ НЕ ПРОХОДИТ?
Вложения
Тип файла: rar Debug.rar (17.7 Кб, 14 просмотров)
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 23:54
C#
1
cor.Y--;
ну вот здесь например замените на вот это:
C#
1
cor.Y -= 2;
будет в два раза быстрее ползать ... аналогично по другим направлениям.

очевидно, что упирается в это условие

C#
1
label5.Location.Y + 8 == label6.Location.Y + 31
без проекта целиком точнее сказать не могу
1
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
03.12.2012, 23:57  [ТС]
Хоршо если бы в это условие уперался но видители label6 стоит совсем не там такое ущещение, что протягивается огромная нивидимая линия вот весь проект скажите почему дальше не идет?
Вложения
Тип файла: rar Moving.rar (49.5 Кб, 14 просмотров)
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
04.12.2012, 00:02
ну у вас же ограничение - как только верхняя граница label5 упрется в нижнюю границу label6 - то объект останавливается. При чем границы объектов берутся исключительно по Y координатам, которым до фонаря, тыкается объект в стенку или нет, главное чтобы выше этой линии не перебралось ...

Добавляйте проверку по X
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
04.12.2012, 00:07  [ТС]
Насчет ускорения, когда так сделал объект стал двигаться быстрее, но стал проходить сквозь стены
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
04.12.2012, 00:11
так он и так сквозь стену у вас проходит) ...
0
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
04.12.2012, 00:17  [ТС]
нет только через, неоторые просто я так думаю, надо вообще по другому делать! ПОтому если сли делаешь хоть 1 стену нужно все условия опять к ней прописывать т.е если будет стен 40 то для каждой нужно будет прописать это много кода!
Как можно сделать по другому? Типо создать класс стены там описать все или как можно сделать?
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
04.12.2012, 00:25
Нуууу ... Можно класс реализовать для стен. Можно реализовать интерфейс с координатами и реализовать его во всем, с чем объект может сталкиваться в принципе. Можно построить матрицу, где хранить координаты изгибов стен ... но эт, что пришло в голову ... понятия не имею, что из этого будет эффективнее и эффективно ли вообще ... советую погуглить на эту тему, наверняка для таких задач есть проверенные и рабочие шаблоны ... или ещё кто может чего подскажет
1
1 / 1 / 0
Регистрация: 20.05.2012
Сообщений: 204
04.12.2012, 00:27  [ТС]
спасибо :-). Уже гуглил ничего нормального не нашел!
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
04.12.2012, 00:34
Windows Pacman Game

Добавлено через 26 секунд
Посмотрите как там стенки реализованы, может подчерпнете что полезное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2012, 00:34
Помогаю со студенческими работами здесь

Какова скорость движения автомобиля, если в его вертикальной антене, длиной 1,5 м индуцируется ЭДС
4.7. Какова скорость движения автомобиля, если в его вертикальной антене, длиной 1,5 м индуцируется ЭДС 610-4 В. Горизонтальная...

Вывести на экран путь, пройденный пешеходом, если известны его скорость и время движения
:( "Составление программ с использованием функций, не возвращающих значения" Написать программу, выводящую на экран путь, пройденный...

Как узнать скорость перемещения объекта в 3-мерном пространстве, если задана вертикальная и горизонтальная ср. скорость
Здравствуйте. Есть задача: имеется квадрокоптер, он летает в трёхмерном пространстве с координатами (x, y, z), координаты в метрах. Даны...

Увеличить скорость через каждый интервал времени
Нужно чтобы скорость падающего предмета увеличивалась на 5 через каждые, например, 5 секунд; или на 1 каждую секунду. Не знаю какую лучше...

Сформировать массив, в котором элемент равен единице, если количество отрицательных элементов строки матрицы А больше, чем в строке
Дорогие, очень прошу помощи... начали учить Java,с середины февраля. Задали задачу.с одной частью вроде как справилась, не могу сообразить...


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

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

Новые блоги и статьи
Запрет удаления строк ТЧ документа при определенном условии
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, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru