Вверх ↑
Ответов: 1258
Рейтинг: 47
#1: 2023-03-27 14:13:37 ЛС | профиль | цитата
Gunta, вы гений!) Благодарю! Да, через отрицательный шаг тоже отлично меняется направление и схема упрощается и лучше работает, тк заменил 2 счетчика целых, вот мой постковидный код)):

Add(Math,6865152,238,497)
{
OpType=33
link(onResult,3620403:doCompare,[])
}
Add(If_else,3620403,280,497)
{
Type=2
Op2=Integer(0)
link(onTrue,14246424:doCompare,[(324,503)(324,524)(268,524)(268,545)])
}
Add(If_else,14246424,280,539)
{
Type=1
Op2=Integer(10)
link(onTrue,9295344:doEvent1,[])
}
Add(Switch,4397705,490,497)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(onOn)
Point(onOff)
Point(doOn)
Point(State)
link(onSwitch,8869183:doEvent1,[])
}
Add(Hub,9295344,322,539)
{
link(onEvent2,8869183:doEvent2,[(438,552)(438,510)])
}
Add(CounterEx,1286796,350,483)
{
Min=1
Max=3000
Default=1
Point(onThroughMax)
Point(onThroughMin)
Point(doReset)
}
Add(CounterEx,14590244,350,532)
{
Min=1
Max=3000
Default=1
Point(onThroughMax)
Point(onThroughMin)
Point(doReset)
}
Add(Hub,8819902,315,574)
{
OutCount=4
link(onEvent1,3837172:doCompare,[(371,580)(371,517)])
link(onEvent2,1286796:doReset,[(339,587)(339,496)])
link(onEvent3,14590244:doReset,[(341,594)(341,545)])
}
Add(If_else,3837172,413,511)
{
Type=3
link(onTrue,4397705:doReset,[(467,517)(467,510)])
link(onFalse,9471157:doWork2,[(467,524)(467,517)])
link(Op1,5880437:Var3,[(419,499)(387,499)])
link(Op2,6502204:Var3,[(426,499)(403,499)(403,576)])
}
Add(GetDataEx,6502204,371,571)
{
Angle=3
link(Data,14590244:Count,[(356,576)])
}
Add(GetDataEx,5880437,378,522)
{
Angle=3
link(Data,1286796:Count,[(356,527)])
}
Add(Hub,8869183,539,497)
{
InCount=3
OutCount=3
}
Add(HubEx,9471157,476,511)
{
link(onEvent,4397705:doOn,[])
}


Заменил его одним таким теперь:

Add(MultiElementEx,14944517,700,1141)
{
}
BEGIN_SDK
Add(EditMultiEx,1536624,21,21)
{
WorkCount=#9:doCompare|
EventCount=#6:onTrue|
DataCount=#4:Data|5:Data1|
link(doCompare,16196495:doCompare,[(35,27)(35,76)])
}
Add(SampleDelta,11289676,133,49)
{
link(onCalcDelta,8867587:doWork1,[(181,55)])
link(Data,1536624:Data,[(139,35)(27,35)])
}
Add(SampleDelta,9897615,133,98)
{
link(onCalcDelta,8867587:doWork3,[(181,104)])
link(Data,1536624:Data1,[(139,60)(34,60)])
}
Add(Hub,16248483,98,70)
{
link(onEvent1,11289676:doCalcDelta,[(122,76)(122,55)])
}
Add(If_else,13178583,252,77)
{
Type=5
Op2=Integer(0)
link(onTrue,1536624:onTrue,[(292,83)(292,27)])
}
Add(HubEx,8867587,177,77)
{
link(onEvent,3462727:doOperation,[(189,83)(189,146)])
}
Add(If_else,16196495,49,70)
{
Op2=Integer(0)
link(onTrue,16248483:doEvent1,[])
}
Add(Math,3462727,196,140)
{
OpType=3
Op2=10
link(onResult,13178583:doCompare,[(240,146)(240,83)])
}
END_SDK

Делю там на 10 чтоб бешено не крутился)

--- Добавлено в 2023-03-27 14:39:09

Добавил инерцию - шаг уменьшается со временем. Добавить свою картинку.

Add(CounterEx,9911111,77,154)
{
Max=359
Point(onThroughMax)
Point(onThroughMin)
Point(doPrev)
Point(doStep)
Point(doMax)
Point(doDirect)
link(onNext,12465343:doRefresh,[])
}
Add(MainForm,12061819,203,28)
{
@Hint=#8:3.3.2023|
Width=500
Height=499
Color=16777215
Ctl3D=0
Caption="Img"
BorderStyle=0
DragForm=0
Point(Handle)
Point(onKeyDown)
link(onCreate,11240625:doColor,[])
link(onKeyDown,3448284:doCase,[(242,55)(242,20)(151,20)(151,48)])
}
Add(Timer,4020990,7,154)
{
Interval=33
Point(doInterval)
link(onTimer,9911111:doNext,[])
}
Add(WinTools,8023775,301,14)
{
Point(doTransparentColor)
link(Handle,9629725:Var2,[])
}
Add(SelectColor,11240625,259,42)
{
Color=16777215
link(onColor,8023775:doTransparentColor,[])
}
Add(MoveWindow,945688,336,189)
{
link(Handle,9629725:Var3,[(342,5)])
}
Add(GetDataEx,9629725,301,0)
{
Angle=3
link(Data,12061819:Handle,[(252,5)(252,70)(209,70)])
}
Add(Case,3448284,161,42)
{
Value=Integer(27)
link(onTrue,12061819:doClose,[])
}
Add(PaintBox,12465343,133,154)
{
Left=615
Top=245
Align=5
Color=16777215
ClearBeforeDraw=0
Point(onMouseDown)
Point(onMouseMove)
Point(MouseX)
link(onBeforeDraw,4757424:doDraw,[])
link(onMouseDown,945688:doMove,[(246,167)(246,195)])
link(onMouseMove,14944517:doCompare,[(177,174)(177,226)(128,226)(128,279)])
}
Add(Img_Bmp,4757424,252,154)
{
TransparentColor=16777215
Point(Transform)
link(Bitmap,12465343:Bitmap,[(258,143)(241,143)(241,198)(139,198)])
link(SourceBitmap,359550:Bitmap,[])
link(Transform,3452604:Transform,[(272,146)(300,146)])
}
Add(Img_UseRotate,3452604,294,98)
{
link(Angle,9911111:Count,[(307,89)(-6,89)(-6,207)(83,207)])
}
Add(SampleDelta,15574220,224,238)
{
}
Add(Bitmap,359550,259,105)
{
@Hint=#18:Вставить картинку!|
FillColor=16777215
AddHint(-141,10,114,13,@Hint)
}
Add(MultiElementEx,14944517,140,273)
{
link(onTrue,9911111:doStep,[(184,279)(184,227)(65,227)(65,174)])
link(Data,12465343:MouseX,[])
}
BEGIN_SDK
Add(EditMultiEx,1536624,21,21)
{
WorkCount=#9:doCompare|
EventCount=#6:onTrue|
DataCount=#4:Data|5:Data1|
Width=468
Height=298
link(doCompare,16196495:doCompare,[(35,27)(35,76)])
}
Add(SampleDelta,11289676,133,49)
{
link(onCalcDelta,8867587:doWork1,[(181,55)])
link(Data,1536624:Data,[(139,35)(27,35)])
}
Add(SampleDelta,9897615,133,98)
{
link(onCalcDelta,8867587:doWork3,[(181,104)])
link(Data,1536624:Data1,[(139,60)(34,60)])
}
Add(Hub,16248483,98,70)
{
OutCount=3
link(onEvent1,11289676:doCalcDelta,[(122,76)(122,55)])
link(onEvent3,4534483:doTimer,[(133,90)(133,167)])
}
Add(If_else,13178583,420,77)
{
Type=5
Op2=Integer(0)
link(onTrue,1536624:onTrue,[(470,83)(470,27)])
}
Add(HubEx,8867587,177,77)
{
link(onEvent,1741126:doWork2,[])
}
Add(If_else,16196495,49,70)
{
Op2=Integer(0)
link(onTrue,16248483:doEvent1,[])
}
Add(Math,3462727,217,161)
{
OpType=3
Op2=1.5
link(onResult,8299281:doCompare,[])
link(Op1,11906766:Value,[])
}
Add(Timer,4534483,154,161)
{
Enable=1
link(onTimer,3462727:doOperation,[])
}
Add(Memory,11906766,217,77)
{
link(onData,13178583:doCompare,[])
}
Add(HubEx,1741126,196,77)
{
link(onEvent,11906766:doValue,[])
}
Add(If_else,8299281,287,161)
{
Type=5
Op2=Integer(0)
link(onTrue,1741126:doWork3,[(331,167)(331,127)(200,127)])
link(onFalse,4534483:doStop,[(331,174)(331,162)(142,162)(142,174)])
}
END_SDK

карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Редактировалось 3 раз(а), последний 2023-03-27 14:40:33