![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Программирую в Vsual Studio 2010
У меня есть кнопка на форме. Нужно что-бы эта кнопка свободно падала до низа формы. Формула свободного падения y = y + g * t ^ 2 / 2 Подскажите как перевести это в программный код? ![]() Это сообщение отредактировал(а) ДимkА - 6.4.2010, 11:56 |
|||
|
||||
jorikdima |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 18.1.2008 Где: Там, где Зенит Репутация: нет Всего: нет |
координаты (location ) кнопки меняйте в соответствии с законом. а время берите из Timer запустив его при нажатии на кнопку
|
|||
|
||||
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
А как из Timer взять время?
|
|||
|
||||
Skalik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 20.3.2008 Где: Харьков Репутация: нет Всего: нет |
в нем есть событие Timer_Tick, которое выполняеться при каждом срабатывании таймера, тут ты можешь делать с временем что хочешь...
Это сообщение отредактировал(а) Skalik - 6.4.2010, 10:21 |
|||
|
||||
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Вот что получилось
int g = 10; private void button1_Click(object sender, EventArgs e) { timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { button1.Location.Y = button1.Location.Y + g * (А ЧТО ЗДЕСЬ ПИСАТЬ, КАК ПОЛУЧИТЬ ЗНАЧЕНИЕ, КАК ЗАДАТЬ ЭТУ ПЕРЕМЕННУЮ) ^ 2 / 2; } Это сообщение отредактировал(а) ДимkА - 6.4.2010, 11:47 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
заведи переменную private int t, которую инкрементируй (++i) при каждом вызове timer1_Tick, это и будет твое время (точнее это будет количество "тиков таймера", на а из них, зная дискретность таймера, можно и получить секнды)..
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Вот так?
int g = 10; private int t; private void button1_Click(object sender, EventArgs e) { timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { t = ++t; } private void Form1_Load(object sender, EventArgs e) { button1.Location.Y = button1.Location.Y + g * t ^ 2 / 2; } Error 1 Cannot modify the return value of 'System.Windows.Forms.Control.Location' because it is not a variable C:\C#\Программа1\Программа\Form1.cs 35 13 Программа Плиз напишите полный код а то я так долго думать буду((((( Это сообщение отредактировал(а) ДимkА - 6.4.2010, 11:54 |
|||
|
||||
CYBERDREAM |
|
||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 8 Всего: 28 |
заимени на
P.S. пользуйся подсветкой -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||
|
|||||
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Получилось! Спасибо огромное!
|
|||
|
||||
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
А где и как теперь указывать что кнопка до низа формы падает. Т. е. куда вставлять >= 24(высота кнопки) или какую строку и где надо написать чтобы от высоты формы отнять высоту кнопки и до этого значения она падала?
Это сообщение отредактировал(а) ДимkА - 6.4.2010, 13:08 |
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
ДимkА, я так понимаю ты программирование не учил? особенно ту часть которая про алгоритмизацию?
добавь условный оператор, который будет проверять где у тебя кнопка и решать, опускать ее ниже или нет. |
|||
|
||||
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Спасибо. Я уже решил эту задачу по своему.
Алгоритм был с самого начала. А вот как перевести его в код вот этого я не знаю. Я надеялся кто нибудь представит свой вариант кода. Тут http://forum.vingrad.ru/forum/topic-295547.html программист за 2 часа прогу написал. Я думаю она раз в 100 сложнее этой. Так вот что сделал я за 2 часа, а что он. Вам же легко ТАКОЙ код написать минут за 10 не больше. А вы всё не учил да не учил. |
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
ДимkА, понимаешь, вся разница в том, что ты спрашиваешь как написать. и тебе пытаются подсказать, что бы ты научился и сделал сам. а если тебе нужно что бы тебе написали то так и скажи, но это уже не в этом разделе.
|
|||
|
||||
ДимkА |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Тогда в каком?
|
|||
|
||||
PashaPash |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 9 Всего: 49 |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |