Вверх ↑
Этот топик читают: Гость
Ответов: 9
Рейтинг: 0
#16: 2016-10-25 00:36:10 ЛС | профиль | цитата
Элемент Rect победить удалось. Теперь можно создавать не обязательно прямоугольник, но и круги и многогранники. Рабочая схема, скрины-описание в новом архиве.
карма: 1

0
файлы: 1RectTi.zip [501.3KB] [293]
Ответов: 2268
Рейтинг: 677
#17: 2016-10-25 02:27:59 ЛС | профиль | цитата
Mes, ознакомьтесь с элементами Регионы из вкладки Окно.
Посмотрите примеры в папке с HiAsm: \Elements\delphi\Example\Forms\Regions\.
Думаю что пример RGN_Collision.sha вас заинтересует.
карма: 11

0
Ответов: 9
Рейтинг: 0
#18: 2016-10-25 03:12:33 ЛС | профиль | цитата
sla8a, Да спс, я помню те макеты пролистывал их ранее. Они из стихии HoleRegion,подвижный сквозной квадрат понравился. Может и применю ту идею. Сейчас тружусь над одиозной задумкой. Типа включаешь программу, появляется куча осколков из дочерних форм. Их надо будет правильно припарковать друг к другу; только тогда активируется главная форма. Такое вступление из осколков ---- нууу типа вход подобно паролю. Вот я и зациклился на узлом Rect & PointinRect что-бы ими регистрировать позиции осколков. Потом в OpenGL загляну, и... буду надеятся что Flash раздел многофункционален, и самое главное чтобы там ,блокировка ПКМ по флэшу меню Adobe была
карма: 1

0
Ответов: 2268
Рейтинг: 677
#19: 2016-10-25 13:13:34 ЛС | профиль | цитата
Mes писал(а):
Вот я и зациклился на узлом Rect & PointinRect что-бы ими регистрировать позиции осколков.

Ну так задуманное вами и проще сделать на регионах. В независимости от того какой формы осколки(регионы) вы всегда можете узнать после перемещения произошло наложение осколков друг на друга или нет (элемент RGN_Collision).

Вот посмотрите нечто похожее вашей задумке Игра пазл (пентамино)

И еще вы создали тему не там. Увидит администрация заругает.

Редактировалось 3 раз(а), последний 2016-10-25 13:25:45
карма: 11

0
Ответов: 1536
Рейтинг: 176
#20: 2016-10-25 13:43:24 ЛС | профиль | цитата
Mes, как вариант

Add(ChildPanelEx,7671596,623,154)
{
}
BEGIN_SDK
Add(EditMultiEx,15719061,35,35)
{
WorkCount=#8:doEvent1|
EventCount=#8:onEvent1|
VarCount=#30:Output=Формирование 4ёх вершин|
DataCount=#2:X1|2:У1|2:X2|2:У2|
Width=230
Height=186
link(Output,3336936:Result,[(41,189)(153,189)])
link(doEvent1,3066290:doEnum,[(52,41)(52,153)])
}
Add(Panel,186579,189,182)
{
Left=5
Top=5
Width=10
Height=10
}
Add(StrList,2699549,63,84)
{
Strings=#13:%2*65536 + %1|18:(%2*65536)+(%1+%3)|23:((%2+%4)*65536)+(%1+%3)|18:((%2+%3)*65536)+%1|
}
Add(MathParse,3336936,147,147)
{
DataCount=4
MathStr=""
Point(doMathStr)
link(onResult,15719061:onEvent1,[(211,153)(211,41)])
link(X1,15719061:X1,[(153,73)(41,73)])
link(X2,15719061:У1,[(160,65)(48,65)])
link(X3,15719061:X2,[(167,56)(55,56)])
link(X4,15719061:У2,[(174,50)(62,50)])
}
Add(ArrayEnum,3066290,77,147)
{
link(onItem,9677001:doEvent1,[])
link(Array,2699549:Array,[])
}
Add(Hub,9677001,119,147)
{
link(onEvent1,3336936:doMathStr,[(140,153)(140,160)])
link(onEvent2,3336936:doCalc,[(140,160)(140,153)])
}
END_SDK
И ещё проще

Add(MultiElement,65026,483,238)
{
}
BEGIN_SDK
Add(EditMulti,73558,28,21)
{
EventCount=1
WorkCount=1
DataCount=4
Width=139
Height=123
link(doWork1,13914004:doFor,[(38,27)(38,76)])
}
Add(MathParse,2469249,98,70)
{
DataCount=5
MathStr="((%2*65536 + %1)*(%5=0))+\r\n(((%2*65536)+(%1+%3))*(%5=1))+\r\n((((%2+%4)*65536)+(%1+%3))*(%5=2))+\r\n((((%2+%3)*65536)+%1)*(%5=3))"
ResultType=0
Default=2
link(onResult,73558:onEvent1,[(152,76)(152,27)])
link(X1,73558:Data1,[(104,56)(34,56)])
link(X2,73558:Data2,[(111,56)(41,56)])
link(X3,73558:Data3,[(118,56)(48,56)])
link(X4,73558:Data4,[(125,56)(55,56)])
}
Add(For,13914004,49,70)
{
End=3
link(onEvent,2469249:doCalc,[])
}
END_SDK

Редактировалось 2 раз(а), последний 2016-10-26 20:02:54
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 9
Рейтинг: 0
#21: 2016-10-28 00:45:28 ЛС | профиль | цитата
ser_davkin, Второй вариант с циклом вообще нищтяк, решает вдобавок момент синхронизации. Cхемка в 2элемента заменяет целую кучу. nice
Да кстати, у меня в SHA остался непонятен момент. Почему кнопка Свернуть закрывает главную форму вместо заданной ей ChuldForm , Кнопка Закрыть там-же но работает корректно.
карма: 1

0
Ответов: 1536
Рейтинг: 176
#22: 2016-10-28 19:48:58 ЛС | профиль | цитата
Mes писал(а):
Почему кнопка Свернуть закрывает главную форму
Это либо к разработчикам, либо к админу, либо к Господу Богу.
Mes, попробуй так:

Add(ChildForm,2454266,245,147)
{
}
BEGIN_SDK
Add(EditMulti,6126215,84,84)
{
}
Add(MainForm,16212420,168,119)
{
Left=35
Top=105
Point(Handle)
}
Add(Button,9015606,119,196)
{
Left=160
Top=40
Width=75
Hint="Закрыть"
Caption="Свернуть"
link(onClick,8978923:doMinimize,[])
}
Add(WinTools,8978923,168,168)
{
Point(doMinimize)
link(Handle,16212420:Handle,[])
}
END_SDK

Редактировалось 1 раз(а), последний 2016-10-28 19:52:10
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
22
Сообщение
...
Прикрепленные файлы
(файлы не залиты)