Вверх ↑
Ответов: 2200
Рейтинг: 673
#1: 2020-02-22 13:36:01 ЛС | профиль | цитата
UtoECat писал(а):
без угла поворота :з. Он тоже по сути хранится в регионе
Не хранится в регионе угол поворота.
UtoECat писал(а):
Неужели создание региона это дейтвительно очень ресурсозатратная вешь?
Да дело не конкретно в регионе. Поймите на момент рисования, а это происходит несколько десятков раз в секунду, у вас уже должно быть все создано. И будь то регион, изменение размера картинки и прочее, нужно вынести из цикла рисования.
UtoECat писал(а):
не два массива (MTMTArray and RGArray), а четыре
Почему бы и нет. Вполне годная оптимизация. В играх обычно так и делают. Если игровой мир большой, то имеет смысл разбить его не части и подгружать данные по мере прохождения игрока.
Вот вам два наброска. В первом вариант с хранением данных в разных массивах. А во втором варианте весь мир один регион и рисуется не перебором, а сразу.
Схема 1

Add(MainForm,2953706,14,168)
{
Width=1200
Height=839
Position=1
Point(onClose)
link(onCreate,8694556:doEvent1,[])
link(onClose,7482565:doEnum,[(72,195)(72,286)])
}
Add(PaintBox,8412952,686,588)
{
Left=5
Top=5
Width=1000
Height=800
Color=15780518
Point(MouseX)
Point(MouseY)
Point(onMouseDown)
link(onMouseDown,6752386:doEvent,[])
}
Add(StrList,2670249,434,133)
{
Strings=#9:0.760.0.0|10:40.760.0.0|10:80.760.0.0|11:120.760.0.0|11:160.760.0.0|11:200.760.0.0|11:240.760.0.0|11:280.760.0.0|11:320.760.0.0|11:360.760.0.0|11:400.760.0.0|11:440.760.0.0|11:480.760.0.0|11:520.760.0.0|11:560.760.0.0|11:600.760.0.0|11:640.760.0.0|11:680.760.0.0|11:720.760.0.0|11:760.760.0.0|11:800.760.0.0|11:840.760.0.0|11:880.760.0.0|11:920.760.0.0|11:960.760.0.0|7:0.0.0.0|8:40.0.0.0|8:80.0.0.0|9:120.0.0.0|9:160.0.0.0|9:200.0.0.0|9:240.0.0.0|9:280.0.0.0|9:320.0.0.0|9:360.0.0.0|9:400.0.0.0|9:440.0.0.0|9:480.0.0.0|9:520.0.0.0|9:560.0.0.0|9:600.0.0.0|9:640.0.0.0|9:680.0.0.0|9:720.0.0.0|9:760.0.0.0|9:800.0.0.0|9:840.0.0.0|9:880.0.0.0|9:920.0.0.0|9:960.0.0.0|8:0.40.0.0|8:0.80.0.0|9:0.120.0.0|9:0.160.0.0|9:0.200.0.0|9:0.240.0.0|9:0.280.0.0|9:0.320.0.0|9:0.360.0.0|9:0.400.0.0|9:0.440.0.0|9:0.480.0.0|9:0.520.0.0|9:0.560.0.0|9:0.600.0.0|9:0.640.0.0|9:0.680.0.0|9:0.720.0.0|10:960.40.0.0|10:960.80.0.0|11:960.120.0.0|11:960.160.0.0|11:960.200.0.0|11:960.240.0.0|11:960.280.0.0|11:960.320.0.0|11:960.360.0.0|11:960.400.0.0|11:960.440.0.0|11:960.480.0.0|11:960.520.0.0|11:960.560.0.0|11:960.600.0.0|11:960.640.0.0|11:960.680.0.0|11:960.720.0.0|10:40.640.0.0|10:80.640.0.0|11:160.720.0.0|11:160.680.0.0|11:160.640.0.0|11:160.600.0.0|11:200.680.0.0|11:240.680.0.0|11:280.680.0.0|11:320.680.0.0|11:320.640.0.0|11:320.600.0.0|11:200.640.6.0|11:240.640.6.0|11:280.640.6.0|11:280.600.6.0|11:240.600.6.0|11:200.600.6.0|11:200.720.1.0|11:240.720.1.0|11:280.720.1.0|11:320.720.1.0|11:360.720.1.0|11:400.720.1.0|11:440.720.1.0|11:480.720.1.0|11:320.200.3.0|11:320.240.3.0|11:320.280.3.0|11:360.200.3.0|11:400.200.3.0|11:440.200.3.0|11:480.200.3.0|11:360.240.8.0|11:440.240.8.0|11:480.240.3.0|11:400.240.3.0|11:360.280.3.0|11:400.280.3.0|11:440.280.3.0|11:480.280.3.0|11:400.320.3.0|11:520.720.7.0|11:560.720.7.0|11:600.720.7.0|11:640.720.7.0|11:680.720.7.0|11:720.720.7.0|11:760.720.1.0|11:800.720.1.0|11:840.720.1.0|11:880.720.1.0|11:920.720.1.0|11:920.640.0.0|11:880.600.0.0|11:840.560.0.0|11:800.520.0.0|11:760.520.0.0|11:720.520.0.0|11:680.520.0.0|11:800.560.0.0|11:840.600.0.0|11:880.640.0.0|11:680.560.0.0|11:640.560.0.0|11:600.560.0.0|11:560.560.0.0|11:520.560.0.0|11:520.520.0.0|11:560.520.4.0|11:600.520.4.0|11:640.520.4.0|12:592.233.0.45|12:672.273.0.45|12:752.233.0.45|11:672.73.0.45|11:920.600.2.0|11:920.560.2.0|11:880.560.2.0|11:920.520.2.0|11:880.520.2.0|11:840.520.2.0|10:40.400.0.0|10:80.400.0.0|11:120.400.0.0|11:160.400.0.0|10:40.360.0.0|10:40.320.0.0|10:80.360.0.0|11:120.360.0.0|10:80.320.0.0|10:40.280.0.0|11:160.560.0.0|11:120.560.0.0|10:80.560.0.0|10:40.480.0.0|10:80.480.0.0|11:120.480.0.0|11:160.480.0.0|11:200.480.0.0|11:240.480.0.0|11:280.480.0.0|11:320.480.0.0|11:360.480.0.0|11:520.480.0.0|
}
Add(BitmapArray,4721941,637,665)
{
Bitmaps=['brick'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C8C0A1E13F1908A80D8846F58EEA1DD53BB07A471A1A8DFD51BDA37A87AEDED1F26A34E58CEA1DD53BDABE1A6D5F8DEA1DD53BAA77B47D450902008CE22F38],'stone'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C8E030CDC06230A80783C37404A4DA4B2D77AE0603886983D95EE2D553370607CADEC1EF424AECA54F5861BA70A0EC2535B5532B1E07CA5EEA9A4F5D5FD0C75E62C28A16FE1A287B691D4783CDDEE1DDBA18C9A9821661458C9903652FFEB022AFEE2626FC07CADE81ADBB079BBDA360E802F24A0CFCBA685752516E2FAE1C815F2FFE7C444C1F61A0ECA54FAD4ABC690365EFF003007359C894],'planks'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F22860FEB91185F84EFE1F45A368140D51345A5E8DA251348A46CBAB415A5E9DF80F42D40D4662CC1C287B47D1281A2DAF46DB57A368148D22BA230056BFF9FF],'stones'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C8E03059A01E0C46F58EEA1DD53BB07A471A188DFD51BDA37A87AEDED1F26A34E58CEA1DD53BDABE1A6D5F8DEA1DD53BAA77B47D450900008B2CE725],'dirt'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C820BC6A27101D0603089B9E68A0EC1D45D48A17EAC620ADED1D4DE7A361323C426634D646D148AE5F685DFE53D75EFA8427FDDD3650F68EB6A0069BBDA368A4B5B8465B20433DDC4663903C17D2CEFD0365EFD045006E95DDE8],'color'=[ZIP760A000078DADDD4316ED5401006E0454208517006979C807A44CF1D7C0AEA398A8B88734C41C519287C84F4148F6FC70412F41E44281209F61B3DC7FFC4DE6F779377EF3FBC1A7DBC7D3EC69BF1B39E8D977D3F5E8CF1E9F5516EDE3AB23F23F3F89AA78BAA1AF5A5C6F5E78F632CA156255836556AF7D0F9E045B90879C8431EF290BB3556F92A5FFDB0CA57F92A5FF7EFEF95A73CD71EC34879CA53EE726CF24DBEC937F9E6E626DFE4BE46C94B5EF29A03DFE6E095DC67ECF25DBECB77F92EDFE5FB7E0C7F2C6A9EAB4AB5A952FB415BE4FCC11FFCC11FFCC1DF6C4DE122F8833FF8833FF87B4AF8833FF8833FF8833FF87BBAF8833FF8833FF8833FF87B2AF9833FF8833FF8833FF87B9AF9833FF8833FF8833FF8E712047FF0077FF0077FF007FFB1DE4BAB93BFD79E3FF993BF97863FF9933FF9933FF993BF978D3FF9133681D2A0D3C0D2CB7B49F9933FF9933FF9933FF97BB9BD243D2835E7DC83FCC99FFCBD15F8933FF9933FF9933FF97B9BF0277FF2277FF2277FF2CF2D94FCC99FFCC99FFCC99FFCBD7DF8AB577C6D75F1579FFBB1B5F88BBFF88BBFF88BBFF87BDBF1177FF1177FF1177FF1F796E42FFEE22FFEE22FFEE2EFEDCA5FFCC55FFC055D6065F0BD95F98BBFF88BBFF88BBFF87B9B1B64194879597960F9A5EBAFA77135E7694EF038F5679C4EC7D73CE7ADF9F3831F57F7389E52DFEF903F2EFF301DF7E8EB869BBEB37379ABF156FB59D1D9BE4BD0D3DDF75E9C91BB8E8B53F7D4D6F711F79DFDA33A5DDC07FFA4AFFF8DFCDA7773F32FFA1EB3F7BFD8570F7B7C0393F921C8],'water'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C8E08C873D85E840671610516ECE60B0F750430A10ED9B5480071D684D07A2E161EF7045D44D1BC8B1B3BF2F1788068FBD1035C4A40D8809C8290ABF5FA03E029B8C991A07CA5E62C20D623E8ADB3C4108220271392D521DEDECC55F3ED0AE6418287B71A1B36044FFF264A0EC1D396878C72CA46480E4A6D31EF6A7E9D59EA1BFBDC4D70BC8253CC49DA7423D806868D94B1E3AEDE30444B8EA3862D0D0B277B4241F45431D414A09CCD62CC92D5B12CB5BEADA8BD9A243D68B6C0BA494809418F8CB52FC2D5B6435F4B7177FF94FCF16EC40D93BBC11000B58B8B5],'grass'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C820BC6A27101D0603089B9E68A0EC1D45D48A17EAC620ADED1D4DE7A361323C426634D646D148AE5F685DFE53D75EFA8427FDDD3650F68EB6A0069BBDA368A4B5B8465B204331DC7C362A8DA2618CFC56990211FD6D1C287B012F1B7114],'killer'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C84045E6ED281A4514A037603472EC1D45C323D5BD03A3A162EF281A45A368148DA25134D4D140D580A335EF680F823EF6229B4C4FDF0D94BDA368140D0C02008DDA5CCE],'checkpoint'=[ZIP760A000078DAE5D4316ED44018C5F1414238A2E00C2E3901F5133D4DEA447203524A1AEA77141768CB9CE115549C21858F902A5B5098FF7C8EC44A2058C00512E3FDB28EDF177B7E9E81D76F3E3C6F355E3D6DED65FB564FDA455DD7B3D63EBDD88A8B27C3F569F6F6D50F4E92B4DCA5DD7F3EB4368A9A288271A6422DDCB4DF78A43811B9C8452E729173A94DE413F9C42F13F9443E914FCBE373C94DEEA9E6D04C6E729373DA66F2997C269FC9672ECEE433395F2DE4210F79FAC4E73E798A9C4F5BC817F2857C215FC817F265D9A6DF46AA1F13656AA6422D1B6D24C72FFCC22FFCC22FFCC5A6499C08BFF00BBFF00B7FBD12FCC22FFCC22FFCC22FFCF5BAF00BBFF00BBFF00BBFF0D7ABC42FFCC22FFCC22FFCC25FAF19BFF00BBFF00BBFF00B7F5F02E1177EE1177EE1177EE1DFD67B2CB5F1D7DAE3377EE3AFA5C16FFCC66FFCC66FFCC65FCB86DFF80DD680CCA4CDC4CCC36B49F11BBFF11BBFF11BBFF1D772F3107323D3ECBE07F11BBFF1D756C06FFCC66FFCC66FFCC65FDB04BFF11BBFF11BBFF11B7FDF42C66FFCC66FFCC66FFCC65FDB077F6AC5A752077FEA58B6AD853FF8833FF8833FF883BFB61DFEE00FFEE00FFEE00FFEDA92F8833FF8833FF8833FF86BBBE20FFEE00FFE800EB030F9DACAF8833FF8833FF8833FF86B9B33C93091F0B070C3F047F75FD6F6B1BFA7FE82DB5A9FB6AEDB573FFA257EDCDCBC3F6B9CDB77FABFCA5B463B639CDBF78EF13FF51D0EFBF6ED3DBFDBDB7DFBFA7387A1B55EFBF50DC3C3C3BA5E5EEED3B73E8EADFBC733F893BEDE733CF6DEBFEBBBB8584FC6F1380CDF9B7EA7AFCFBF3FADD7F6F4DEF9EFF4EDEDDD7B3DF6DE2F7BEEE7EBEBABABFE1E7EF5EFE8677D5F01FD2BB2B2],'slime'=[ZIP760A000078DADDD4316ED5401006E0454208517006979C807A44CF1D7C0AEA398A8B88734C41C519287C84F4148F6FC70412F41E44281209F61B3DC7FFC4DE6F779377EF3FBC1A7DBC7D3EC69BF1B39E8D977D3F5E8CF1E9F5516EDE3AB23F23F3F89AA78BAA1AF5A5C6F5E78F632CA156255836556AF7D0F9E045B90879C8431EF290BB3556F92A5FFDB0CA57F92A5FF7EFEF95A73CD71EC34879CA53EE726CF24DBEC937F9E6E626DFE4BE46C94B5EF29A03DFE6E095DC67ECF25DBECB77F92EDFE5FB7E0C7F2C6A9EAB4AB5A952FB415BE4FCC11FFCC11FFCC1DF6C4DE122F8833FF8833FF87B4AF8833FF8833FF8833FF87BBAF8833FF8833FF8833FF87B2AF9833FF8833FF8833FF87B9AF9833FF8833FF8833FF8E712047FF0077FF0077FF007FFB1DE4BAB93BFD79E3FF993BF97863FF9933FF9933FF993BF978D3FF9133681D2A0D3C0D2CB7B49F9933FF9933FF9933FF97BB9BD243D2835E7DC83FCC99FFCBD15F8933FF9933FF9933FF97B9BF0277FF2277FF2277FF2CF2D94FCC99FFCC99FFCC99FFCBD7DF8AB577C6D75F1579FFBB1B5F88BBFF88BBFF88BBFF87BDBF1177FF1177FF1177FF1F796E42FFEE22FFEE22FFEE2EFEDCA5FFCC55FFC055D6065F0BD95F98BBFF88BBFF88BBFF87B9B1B64194879597960F9A5EBAFA77135E7694EF038F5679C4EC7D73CE7ADF9F3831F57F7389E52DFEF903F2EFF301DF7E8EB869BBEB37379ABF156FB59D1D9BE4BD0D3DDF75E9C91BB8E8B53F7D4D6F711F79DFDA33A5DDC07FFA4AFFF8DFCDA7773F32FFA1EB3F7BFD8570F7B7C0393F921C8],'angryslime'=[ZIPF612000078DA73F2FD26C400066640AC8184191924C0E207A0F2C86089E7E2513402D0223042885C5BB81F889EEF3F4121BABFE130100D3E7BD1D1832D478088727B216870DB0B0AF37393760111E53642E26B70DB0B422B029601D199FE9D4004491BA4A6A58BD37603D1EA90E54034D8EC5D0A46B42807F0A381B27770DB425D7BF1E9DD91B30E8890D3CCD1E6AD404489CA81B6171F82E825A6DC235EE560B6F740D5662022C634E2550EACBD131CFA800897ECDAC81540043113129290F44389CA81B55747440788E859DA74D97501D140D90BE935D459D40211AD6D6CB0AC0722296E49201A587BB958B980A8CCA41488A86B579B750B10A908A8001166EF6CA0EC4506F27CF24064276D0B44B5E6354044AA5D7DF63D4064226E0C440C448381B21713405202C425893A89405468540044D5E6D540046107AA040211C4CD0C54020365EF2818054305000005816F09]]
UseName=1
}
Add(RGN_Rect,8233066,539,168)
{
Point2=2621480
Point2AsOffset=0
Point(doClear)
link(onCreateRect,14755726:doRotate,[(579,174)(579,188)])
link(Point1,13052045:Point,[])
}
Add(RGN_Array,3676850,672,196)
{
}
Add(ArrayEnum,8636513,448,182)
{
link(onItem,1845762:doEvent1,[(492,188)(492,167)])
link(onEndEnum,3235548:doEvent1,[])
link(Array,2670249:Array,[])
}
Add(RGN_Rotate,14755726,588,182)
{
Point(doClear)
link(onRotate,12161989:doEvent1,[])
link(Angle,8961729:Var2,[])
}
Add(MultiStrPart,827761,574,49)
{
Char="."
Count=4
}
Add(Hub,1845762,497,161)
{
link(onEvent1,827761:doSplit,[(529,167)(529,55)])
link(onEvent2,8233066:doCreateRect,[])
}
Add(PointXY,13052045,539,126)
{
link(X,827761:Part1,[(545,104)(580,104)])
link(Y,827761:Part2,[(552,109)(587,109)])
}
Add(Hub,12161989,644,182)
{
OutCount=3
link(onEvent1,7157942:doAdd,[(665,188)(665,160)])
link(onEvent2,11204724:doAdd,[])
link(onEvent3,3676850:doAdd,[])
}
Add(ArrayRW,11204724,728,175)
{
link(Array,9871036:Var2,[])
link(Value,8961729:Var3,[(748,110)])
}
Add(GetDataEx,8961729,595,105)
{
link(Data,827761:Part4,[])
}
Add(ArrayRW,7157942,672,140)
{
link(Array,12677955:Var2,[])
link(Value,827761:Part3,[(692,128)(594,128)])
}
Add(Timer,16084674,336,588)
{
Interval=33
link(onTimer,9089622:doEvent1,[])
}
Add(Hub,9089622,378,588)
{
OutCount=3
link(onEvent1,11306518:doEvent1,[(414,594)(414,447)])
link(onEvent2,8412952:doClear,[])
link(onEvent3,5124160:doEnum,[(409,608)(409,720)])
}
Add(Hub,3235548,497,189)
{
link(onEvent1,8233066:doClear,[(525,195)(525,181)])
link(onEvent2,14755726:doClear,[(578,202)(578,195)])
}
Add(CableData,16585388,700,245)
{
Count=3
link(Wire1,3676850:Array,[(706,237)(678,237)])
link(Wire2,12677955:Var3,[(713,117)])
link(Wire3,9871036:Var3,[(720,145)])
}
Add(GetDataEx,12677955,672,112)
{
link(Data,8145499:Array,[])
}
Add(CableVar,8974127,539,665)
{
link(Cable,10086630:getVar,[])
}
Add(GetDataEx,9871036,728,140)
{
link(Data,4776907:Array,[])
}
Add(ArrayEnum,5124160,539,714)
{
link(onItem,14609622:doRead,[])
link(onEndEnum,4153564:doDraw,[(580,727)(580,594)])
link(Array,8974127:Wire1,[])
}
Add(ArrayRW,11848360,637,714)
{
link(onRead,428334:doDraw,[])
link(Array,4721941:Array,[])
}
Add(ArrayRW,14609622,588,714)
{
link(onRead,11848360:doRead,[])
link(Array,8974127:Wire2,[(594,700)(552,700)])
link(Index,5124160:Index,[(601,702)(625,702)(625,768)(552,768)])
}
Add(RGN_Draw,428334,686,714)
{
UseOffsetFill=1
PatternStyle=0
Outline=0
Color=0
BgColor=0
Point(Pattern)
link(Bitmap,1763732:Var2,[])
link(Region,5124160:Item,[(699,702)(677,702)(677,779)(545,779)])
}
Add(LineBreakEx,2742422,700,273)
{
Caption="arr"
Type=3
link(_Data,16585388:Cable,[])
}
Add(LineBreakEx,10086630,539,637)
{
Caption="arr"
Type=2
}
Add(InfoTip,5692103,420,14)
{
Info=#4:Load|
Width=379
Height=284
}
Add(Math,555846,1071,294)
{
OpType=7
Op2=40
link(onResult,9845158:doOperation,[])
link(Op1,3606291:Wire1,[])
}
Add(Math,8278174,1155,294)
{
OpType=7
Op2=40
link(onResult,178581:doOperation,[])
link(Op1,3606291:Wire2,[(1161,286)(1084,286)])
}
Add(Math,9845158,1113,294)
{
OpType=2
Op2=40
link(onResult,8278174:doOperation,[])
}
Add(Math,178581,1197,294)
{
OpType=2
Op2=40
link(onResult,12176735:doCreateRect,[(1238,300)(1238,379)(1178,379)(1178,391)])
}
Add(CableVar,3606291,1071,266)
{
link(Cable,1805454:getVar,[])
}
Add(CableData,7004078,693,630)
{
link(Wire1,8412952:MouseX,[])
link(Wire2,8412952:MouseY,[])
}
Add(LineBreakEx,6050920,693,658)
{
Caption="ms"
Type=3
link(_Data,7004078:Cable,[])
}
Add(LineBreakEx,1805454,1071,238)
{
Caption="ms"
Type=2
}
Add(RGN_Rect,12176735,1190,385)
{
Point2=2621480
Point2AsOffset=0
Point(doClear)
link(onCreateRect,15779881:doRotate,[])
link(Point1,14346571:Point,[])
}
Add(PointXY,14346571,1190,343)
{
link(X,9845158:Result,[(1196,335)(1119,335)])
link(Y,178581:Result,[])
}
Add(CableVar,13756205,1309,336)
{
Count=3
link(Cable,4663276:getVar,[])
}
Add(LineBreakEx,4663276,1309,308)
{
Caption="arr"
Type=2
}
Add(ArrayRW,3421259,1309,371)
{
link(Array,13756205:Wire1,[])
}
Add(ArrayRW,9956699,1344,399)
{
link(Array,13756205:Wire2,[(1350,363)(1322,363)])
link(Value,15046020:Index,[])
}
Add(Hub,8241839,1274,385)
{
OutCount=3
link(onEvent1,3421259:doAdd,[])
link(onEvent2,9956699:doAdd,[(1307,398)(1307,419)])
link(onEvent3,12391780:doAdd,[(1300,405)(1300,454)])
}
Add(ArrayRW,12391780,1379,434)
{
link(Array,13756205:Wire3,[(1385,358)(1329,358)])
link(Value,14498789:Var2,[(1399,358)(1413,358)])
}
Add(ListBox,15046020,1337,252)
{
Left=1020
Top=5
Width=135
Height=170
Strings=#5:brick|5:stone|6:planks|6:stones|4:dirt|5:color|5:water|5:grass|6:killer|10:checkpoint|5:slime|10:angryslime|0:|
Point(Index)
}
Add(CableVar,11459156,98,231)
{
Count=3
link(Cable,7992788:getVar,[])
}
Add(LineBreakEx,7992788,98,203)
{
Caption="arr"
Type=2
}
Add(RGN_GetData,2695321,168,280)
{
link(onGetData,13945161:doRead,[])
}
Add(ArrayEnum,7482565,98,280)
{
link(onItem,2695321:doGetData,[])
link(onEndEnum,8317484:doSetText,[(142,293)(142,419)])
link(Array,11459156:Wire1,[])
}
Add(ArrayRW,13945161,210,280)
{
link(onRead,16598545:doRead,[])
link(Array,11459156:Wire2,[(216,262)(111,262)])
link(Index,15569570:Var2,[])
}
Add(ArrayRW,16598545,252,280)
{
link(onRead,6532347:doString,[(300,286)(300,392)(156,392)(156,356)])
link(Array,11459156:Wire3,[(258,254)(118,254)])
link(Index,15569570:Var3,[(265,268)])
}
Add(FormatStr,6532347,168,350)
{
DataCount=4
Mask="%1.%2.%3.%4"
link(onFString,2073319:doAdd,[])
link(Str1,2695321:Left,[])
link(Str2,2695321:Top,[])
link(Str3,13945161:Item,[(188,331)(216,331)])
link(Str4,16598545:Item,[(195,339)(258,339)])
}
Add(GetDataEx,15569570,217,263)
{
Angle=3
link(Data,7482565:Index,[(157,268)(157,324)(111,324)])
}
Add(InfoTip,5981560,84,196)
{
Info=#4:Save|
Width=274
Height=249
}
Add(ClipboardHook,8317484,308,413)
{
link(Text,2073319:Text,[])
}
Add(RGN_Elliptic,10071187,574,315)
{
Point1=47185960
Point2=2621480
Point2AsOffset=0
Point(doClear)
link(onCreateElliptic,8464650:doWork2,[])
}
Add(StrList,2073319,308,350)
{
}
Add(Hub,8694556,378,182)
{
OutCount=3
link(onEvent1,8636513:doEnum,[])
link(onEvent2,10071187:doCreateElliptic,[(414,195)(414,321)])
link(onEvent3,10071187:doClear,[(407,202)(407,328)])
}
Add(InfoTip,3030796,1043,231)
{
Info=#9:Add block|
Width=400
Height=263
}
Add(CableVar,3000624,1085,574)
{
Count=1
link(Cable,887848:getVar,[])
}
Add(LineBreakEx,887848,1085,546)
{
Caption="arr"
Type=2
}
Add(ArrayEnum,5880915,1085,602)
{
Type=1
link(onItem,14827820:doCheck,[])
link(Array,3000624:Wire1,[])
}
Add(StrList,4776907,714,42)
{
}
Add(StrList,8145499,658,70)
{
}
Add(RGN_PointXY,14827820,1127,602)
{
link(onTrue,107177:doData,[])
link(X,6811021:Wire1,[])
link(Y,6811021:Wire2,[])
}
Add(IndexToChanel,6752386,1008,595)
{
link(onEvent1,555846:doOperation,[(1053,601)(1053,300)])
link(onEvent2,5880915:doEnum,[])
}
Add(CableVar,6811021,1134,574)
{
link(Cable,8556110:getVar,[])
}
Add(LineBreakEx,8556110,1134,546)
{
Caption="ms"
Type=2
}
Add(InfoTip,6005959,1064,504)
{
Info=#12:Delete block|
Width=260
Height=193
}
Add(DoData,107177,1176,602)
{
link(onEventData,11324041:In,[])
link(Data,5880915:Index,[(1182,590)(1167,590)(1167,645)(1098,645)])
}
Add(Hub,6450089,574,238)
{
OutCount=3
link(onEvent1,4776907:doDelete,[(628,244)(628,62)])
link(onEvent2,8145499:doDelete,[(635,251)(635,90)])
link(onEvent3,3676850:doDelete,[(643,258)(643,216)])
}
Add(LineBreak,11048781,497,238)
{
Caption="delBlocck"
link(Out,6450089:doEvent1,[])
Primary=[11324041,721,364]
}
Add(RGN_Draw,4153564,616,588)
{
Outline=0
Color=16776960
Point(Pattern)
link(onDraw,8412952:doRefresh,[])
link(Bitmap,1763732:Var1,[(622,575)(682,575)(682,635)])
link(Region,1327578:Var2,[])
}
Add(GetDataEx,1763732,686,630)
{
link(Data,8412952:Bitmap,[])
}
Add(RGN_Offset,15590097,854,476)
{
X=5
link(onOffset,2702286:doWork2,[])
link(Region,12193029:Var2,[])
}
Add(RGN_Combine,608873,623,315)
{
Mode=4
}
Add(RGN_Collision,3669781,924,469)
{
link(onFalse,8464650:doWork1,[(1020,482)(1020,303)(613,303)])
link(Array,3568675:Wire1,[])
}
Add(CableVar,3568675,938,441)
{
Count=1
link(Cable,12556491:getVar,[])
}
Add(LineBreakEx,12556491,938,413)
{
Caption="arr"
Type=2
}
Add(HubEx,8464650,609,315)
{
link(onEvent,608873:doCombine,[])
}
Add(RGN_Offset,2754314,861,434)
{
Y=5
link(onOffset,2702286:doWork1,[(900,440)])
link(Region,11733065:Var2,[])
}
Add(RGN_Offset,9481434,868,392)
{
Y=-5
link(onOffset,8681195:doWork1,[(914,398)])
link(Region,11733065:Var3,[(874,362)])
}
Add(RGN_Offset,14600466,847,518)
{
X=-5
link(onOffset,2702286:doWork3,[(900,524)])
link(Region,16460696:Var2,[])
}
Add(GetDataEx,1327578,623,357)
{
link(Data,608873:Result,[])
}
Add(GetDataEx,11733065,861,357)
{
Angle=3
link(Data,12193029:Var3,[])
}
Add(GetDataEx,12193029,854,357)
{
Angle=3
link(Data,16460696:Var3,[])
}
Add(GetDataEx,16460696,847,357)
{
Angle=3
link(Data,1327578:Var3,[])
}
Add(HubEx,8681195,910,476)
{
link(onEvent,3669781:doEnum,[])
}
Add(HubEx,2702286,896,476)
{
link(onEvent,8681195:doWork2,[])
}
Add(Keyboard,13873403,763,511)
{
Key=65
link(onReadKey,4583430:doEvent,[])
}
Add(Keyboard,8186697,763,469)
{
Key=68
link(onReadKey,7472050:doEvent,[])
}
Add(Keyboard,5669077,763,427)
{
Key=83
link(onReadKey,11639003:doEvent,[])
}
Add(Keyboard,3782309,763,385)
{
Key=87
link(onReadKey,5500737:doEvent,[])
}
Add(Hub,11306518,721,441)
{
OutCount=4
link(onEvent1,3782309:doReadKey,[(745,447)(745,391)])
link(onEvent2,5669077:doReadKey,[(755,454)(755,433)])
link(onEvent3,8186697:doReadKey,[(754,461)(754,475)])
link(onEvent4,13873403:doReadKey,[(748,468)(748,517)])
}
Add(IndexToChanel,5500737,805,385)
{
link(onEvent2,9481434:doOffset,[])
}
Add(IndexToChanel,11639003,805,427)
{
link(onEvent2,2754314:doOffset,[])
}
Add(IndexToChanel,7472050,805,469)
{
link(onEvent2,15590097:doOffset,[])
}
Add(IndexToChanel,4583430,805,511)
{
link(onEvent2,14600466:doOffset,[])
}
Add(InfoTip,5065822,707,315)
{
Info=#9:Collision|
Width=267
Height=242
}
Add(InfoTip,14263195,490,567)
{
Info=#4:Draw|
VAlign=2
Width=281
Height=242
}
Add(ListBox,12306016,1386,252)
{
Left=1020
Top=180
Width=135
Height=110
Strings=#1:0|2:45|2:90|3:135|3:180|3:225|3:270|3:315|0:|
DataType=1
Point(String)
}
Add(RGN_Rotate,15779881,1232,385)
{
Point(doClear)
link(onRotate,8241839:doEvent1,[])
link(Angle,14498789:Var1,[(1245,299)])
}
Add(GetDataEx,14498789,1407,294)
{
link(Data,12306016:String,[])
}
карма: 11

0
Редактировалось 1 раз(а), последний 2020-02-23 12:45:44