Что нового

[Script] Модель: гравитация внутри Земли

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
AutoIt: 3.3.6.1
Версия: beta

Категория: Графика / GDI+, Разное

Описание: Модель движения тела через прямой туннель в земле. Учитывает только гравитационное взаимодействие земли и тела. Земля считается однородным идеальным шаром.
(Физика. Гравитация внутри Земли. Гармоничные колебания.)
Сделано под разрешение экрана 1280х1024.

Файл: Скачать

Снимок:


Автор(ы): dwerf
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Прикольно! И хорошо сделано.

:ok:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Хорошая работа! :smile:
Но только огорчило то, что через мин. две приятного просмотра, кнопка "Стоп" не сработала :search:
 
Автор
D

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
Garrett сказал(а):
Но только огорчило то, что через мин. две приятного просмотра, кнопка "Стоп" не сработала :search:
После заставки/блокирования пользователя картинка почему то рисуется медленнее.
AdlibRegister запускал функции быстрее чем они выполнялись. До цикла с GuiGetMsg дело уже не доходило.
Сейчас сделал обновление таймера Adlib'а: чем медленнее работает функция, тем реже она запускается.
Думаю, может через OnEvent надёжней бы было? Бог его знает.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
dwerf,
Очень даже симпатично! :smile:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
dwerf сказал(а):
До цикла с GuiGetMsg дело уже не доходило.

Для отлова нажатия кнопки можешь использовать следующий способ. GUIGetMsg() здесь вообще не нужен...

Код:
...

GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')

...

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
	Switch $hWnd
		Case $Form1
			Switch BitShift($wParam, 16)
				Case $BN_CLICKED
					Switch BitAND($wParam, 0xFFFF)
						Case $Form1_btnStart
							; Нажата кнопка "Старт (CTRL+S)"/"Стоп (CTRL+S)"
							Return 0
						Case ...
							
							...
							
							Return 0
					EndSwitch
			EndSwitch
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
 
Верх