аЯрЁБс>ўџ ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRoot Entryџџџџџџџџ pЊ|YЊrЯƒRASHНrБѓ{РContentsџџџџџџџџBPage 1џџџџџџџџџџџџ ŠSymbol 27џџџџџџџџџџџџœ§џџџџџџџџџџџџџџџ ўџџџ  ўџџџўџџџ/ !"#$,џџџџџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџ0ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRoot Entryџџџџџџџџ pЊ|YЊrЯƒRASH Ќѓ{РContentsџџџџџџџџ4BPage 1џџџџџџџџџџџџ%ŠSymbol 27џџџџџџџџџџџџœџџџџџџџџ§џџџ џџџџўџџџ  ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ/џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ&'()*+-џџџџ.10ўџџџ23ўџџџ56789:;<=>ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџSymbol 26џџџџ7рSymbol 29џџџџ—Symbol 25џџџџџџџџBASymbol 30џџџџџџџџџџџџ$[Symbol 26џџџџ7рSymbol 29џџџџ—Symbol 25џџџџџџџџBASymbol 30џџџџџџџџџџџџ$[ўџџџ ўџџџўџџџ" !ўџџџ#ўџџџ%&'()*+,-ўџџџ/012ўџџџџџџџџџџџџџџџџџџџ89:ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџCDEFGўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџton€€џџџџ Kon (press) { this.startDrag(false); } on (release) { stopDrag(); }€€џџџ?џџ€€Layer 1џџџџO€џџ€€џџCPicPageџџ CPicLayerџџ CPicFrame€€џџџџёdœ0pў0pў0џџџџеCНC'фCфНйНффффНйНфCф'Cџџџ?џџ€€€џџџџџџџџёddpў0pў00џџџ?џџ€€Layer 1џџџџO€џџ€€џџCPicPageџџ CPicLayerџџ CPicFrameџџ CPicBut€€Layer 1џџџџO€џџ€€€€Layer 1џџџџO€џџ€€џџCPicPageџџ CPicLayerџџ CPicFrame€€3™fZг XM€ўMІџєў-цўТџM€ўMІўAмE.I~*цўA§>§АћTzўE€ўMˆўE”§Eџџџ?џџ€€€џџџџџџџџёddpў0pў00џџџ?џџџџCPicPageџџ CPicLayerџџ CPicFrameџџ CPicSprite§џџџ§џџџџџџџJonClipEvent(enterFrame) { _root.drawLine(); _root.calcVector(); }€€џџџ?џџSymbol 32 џџџџЂSymbol 33џџџџџџџџџџџџ—Symbol 34 џџџџжSymbol 35џџџџџџџџџџџџ.8аў):`да(ўрїPџџџ?џџ€€Layer 2џџџџџOOџ€€€€џџџџ№  џџџ?џџ€€Layer 1џџџџO€џџ€€џџCPicPageџџ CPicLayerџџ CPicFrame€€џџнџџю§666ю<ИЪўџџCPicPageџџ CPicLayerџџ CPicFrameџџCPicText€€.$Kџџџ{пџџу @РArialџџfџ"Рўcalculating movement vectorsџџ CPicShape€€џџџџгюUV>и0ŠЊ0вС0vU(1и.> €џџ CPicSpriteщњщњџџџџ €з џџз џџџџ€€dёџџdџџџџѓ`"pX0./0h€€€А…МємArialџџfџ"ˆџdrag the nodes€€џџfџџџнџѓ@€%~§0(0‚№Ў 0иы0RіѓBР~§0і>0‚№Ў 0 С0RіѓцSиы1œ Сџџџ?џџ€€ backgroundџџџџџџ€€€€€ИУT@ ’@hArialџџfџ"ˆџorigin€€€ЬЁ@ ’@hArialџџfџ"ˆџdeltaX€€€ЧЏ@ ’@hArialџџfџ"ˆџdeltaY€€€И_ @ ’@ hArialџџfџ"ˆџvectorAngle€€€ИЗ ќџџџ@ ’@hArialџџfџ"ˆџvectorMagnitude€€€ Н|Д’Ѓ originOutputhArialџџџџ"ˆџx: 000, y: 000€€€ Y |Д’Ѓ angleOutputhArialџџџџ"ˆџ000 deg€€€№ Ё|Д’Ѓ deltaXOutputhArialџџџџ"ˆџ000€€€№ Џ|Д’Ѓ deltaYOutputhArialџџџџ"ˆџ000€€€џџCPicPageџџ CPicLayerџџ CPicFrameџџ CPicButton€€џџџџ"Kon (press) { this.startDrag(false); } on (release) { stopDrag(); }€€џџџ?џџ€€Layer 1џџџџO€џџ€€џџCPicPageџџ CPicLayerџџ CPicFrame€€Ёш@ ’@hArialџџfџ"ˆџangleCos€€€vЏ`@ ’@hArialџџfџ"ˆџangleSin€€€ЧЁ|Д’Ѓ cosOutputhArialџџџџ"ˆџ000€€€ЧЏ|Д’Ѓ sinOutputhArialџџџџ"ˆџ000€€€ Х |Д’Ѓ distOutputhArialџџџџ"ˆџ000€€€И Ь@ ’@hArialџџfџ"ˆџpoint€€€  |Д’Ѓ pointOutputhArialџџџџ"ˆџx: 000, y: 000€€џџџ?џџ€€statusџџџџ™3Ьџ€€ €(X (X џџџџ!node1 €<l џџ<l џџџџline €L"|L"|џџџџnode2 €!j !j џџџџ#circle€€џџџ?џџ€€contentџџџџOџOџ€€€€€€џџџ?џƒ// record the proportion of the line, relative to 100 pixels line.scale = 100 / line._width; // *** attach movie which calls drawLine function on enterFrame _root.attachMovie("process", "drawLine Process", 0); // *** plots the line based on the location of the two nodes function drawLine () { // place the top left corner of the line at node 1 line._x = node1._x; line._y = node1._y; // place the bottom right corner of the line at node 2 // by scaling the line clip line._xscale = (node2._x - node1._x) * line.scale; line._yscale = (node2._y - node1._y) * line.scale; } // well that was pretty painless. not as tidy as drawing // a real line to the screen, but it gets the job done. // keep an eye on the dashed square in the line clip to // get a sense of how the fake line drawing works. remember // that clips flip when their _xscale or _yscale are negative.€€script: line drawingџџџџ™џ€€€€џџџ?џџџДtrace(Math.atan2(90, 15)); function calcVector () { originOutput = "x: " + Math.floor(node1._x) + ", y: " + Math.floor(node1._y); pointOutput = "x: " + Math.floor(node2._x) + ", y: " + Math.floor(node2._y); deltaX = node2._x - node1._x; deltaY = -(node2._y - node1._y); deltaXOutput = deltaX; deltaYOutput = deltaY; var angle = radiansToDegrees(Math.atan2(deltaY, deltaX)); angleOutput = Math.floor((angle < 0 ? 360 + angle : angle) * 1000) / 1000 + " deg"; var dist = Math.sqrt((deltaX*deltaX) + (deltaY*deltaY)); distOutput = Math.floor(dist * 1000) / 1000; cosOutput = Math.floor(Math.cos(Math.atan2(deltaY, deltaX)) * 1000) / 1000; sinOutput = Math.floor(Math.sin(Math.atan2(deltaY, deltaX)) * 1000) / 1000; circle._x = node1._x; circle._y = node1._y; circle._width = dist * 2; circle._height = dist * 2; } function radiansToDegrees (radians) { return (radians / Math.PI) * 180; }€€script: calc vectorџџџџџџOџ€€@hArialџџfџ"ˆџdeltaX€€€ЧЏ@ ’@hArialџџfџ"ˆџdeltaY€€€И_ @ ’@ hArialџџfџ"ˆџvectorAngle€€€ИЗ ќџџџ@ ’@hArialџџfџ"ˆџvectorMaю<Ъў6§68йь]:€ Symbol 35circle#Qш]:'7щ]:€ Symbol 32button: square §ач9 б-]:€ Symbol 34button: circle".]:#.]:€ Symbol 30lineЏач9 x8]:€ Symbol 29 square handleEач9ш2]:€ Symbol 33 circle handle! .]:1.]:€ Symbol 27processуDФ9processy(]:€ Symbol 26enterFrame loopлDФ9_ач9€ Symbol 25arrowЌТ9 %ач9$ј*@h…hhhhfЬ™џРРРџДVector::External Font Files0Vector::Debugging Permitted0Vector::Generator CommandVector::Preview as GIF0Vector::Override Sounds0Vector::Quality50Vector::Protect0Vector::TemplateVector::Debugging PasswordVector::Omit Trace Actions0Vector::TopDown0Vector::Report0"PublishFormatProperties::generatorVector::Event Format0Vector::Stream Compress7Vector::Version5Vector::Event Compress7Vector::Stream Format0џџџџхџџ CColorDefџ €333џ0 €fffџ` €™™™џ €ЬЬЬџР €џџџџ№ €џџяx €џџPяx €џџ яx €џџџ(яx €џџџxяx €џџџШяx €џ €3џPя €fџPя0 €™џPяH €ЬџPя` €џџPяx €3џя €33џ(я €3fџ<я0 €3™џCяH €3ЬџFя` €3џџHяx €3џ я €33џxя €f3џdя0 €™3џ]яH €Ь3џZя` €џ3џXяx €33џШя €333џ0 €3f3џPPH €3™3џPx` €3Ь3џPx €3џ3џPя €fџ я0 €3fџŒя0 €ffџxя0 €™fџkяH €Ьfџdя` €џfџ`яx €3fџДя0 €33fџ PH €3ffџxPH €3™fџdx` €3Ьfџ]x €3џfџZя €™џ яH €3™џ“яH €f™џ…яH €™™џxяH €Ь™џnя` €џ™џhяx €3™џ­яH €33™џ x` €3f™џŒx` €3™™џxx` €3Ь™џkx €3џ™џdя €Ьџ я` €3Ьџ–я` €fЬџŒя` €™Ьџ‚я` €ЬЬџxя` €џЬџpяx €3ЬџЊя` €33Ьџ x €3fЬџ“x €3™Ьџ…x €3ЬЬџxx €3џЬџnя €џџ яx €3џџ˜яx €fџџяx €™џџˆяx €Ьџџ€яx €џџџxяx €3џџЈяx €33џџ я €3fџџ–я €3™џџŒя €3Ьџџ‚я €3џџџxя €fџя0 €f3џя0 €ffџ(я0 €f™џ5яH €fЬџ<я` €fџџ@яx €™џяH €™3џ яH €™fџяH €™™џ(яH €™Ьџ2я` €™џџ8яx €f3џмя0 €f33џPH €ff3џ(PH €f™3џ<x` €fЬ3џCx €fџ3џFя €™3џуяH €™33џx` €™f3џx` €™™3џ(x` €™Ь3џ5x €™џ3џ<я €ffџШя0 €f3fџШPH €fffџ` €f™fџP0x €fЬfџPx €fџfџPяЈ €™fџеяH €™3fџмx` €™ffџ0x €™™fџ(0x €™Ьfџ<x €™џfџCяЈ €f™џЛяH €f3™џДx` €ff™џ 0x €f™™џx0x €fЬ™џdx €fџ™џ]яЈ €™™џШяH €™3™џШx` €™f™џШ0x €™™™џ €™Ь™џPPЈ €™џ™џPяР €fЬџДя` €f3Ьџ­x €ffЬџ x €f™ЬџŒx €fЬЬџxx €fџЬџkяЈ €™ЬџОя` €™3ЬџЛx €™fЬџДx €™™Ьџ PЈ €™ЬЬџxPЈ €™џЬџdяР €fџџАяx €f3џџЊя €ffџџ яЈ €f™џџ“яЈ €fЬџџ…яЈ €fџџџxяЈ €™џџИяx €™3џџДя €™fџџ­яЈ €™™џџ яР €™ЬџџŒяР €™џџџxяР €Ьџя` €Ь3џ я` €Ьfџя` €Ь™џя` €ЬЬџ(я` €Ьџџ0яx €џџяx €џ3џяx €џfџяx €џ™џяx €џЬџ яx €џџџ(яx €Ь3џця` €Ь33џx €Ьf3џ x €Ь™3џx €ЬЬ3џ(x €Ьџ3џ2я €џ3џшяx €џ33џя €џf3џ я €џ™3џя €џЬ3џя €џџ3џ(я €Ьfџмя` €Ь3fџуx €Ьffџx €Ь™fџx €ЬЬfџ(x €Ьџfџ5яЈ €џfџряx €џ3fџця €џffџяЈ €џ™fџ яЈ €џЬfџяЈ €џџfџ(яЈ €Ь™џвя` €Ь3™џеx €Ьf™џмx €Ь™™џPЈ €ЬЬ™џ(PЈ €Ьџ™џ<яР €џ™џияx €џ3™џмя €џf™џуяЈ €џ™™џяР €џЬ™џяР €џџ™џ(яР €ЬЬџШя` €Ь3ЬџШx €ЬfЬџШx €Ь™ЬџШPЈ €ЬЬЬџР €ЬџЬџPяи €џЬџаяx €џ3Ьџвя €џfЬџеяЈ €џ™ЬџмяР €џЬЬџяи €џџЬџ(яи €ЬџџРяx €Ь3џџОя €ЬfџџЛяЈ €Ь™џџДяР €ЬЬџџ яи €Ьџџџxяи €џџџШяx €џ3џџШя €џfџџШяЈ €џ™џџШяР €џЬџџШяи €џџџџ№ €џџнџ(яр €џџџџџџџ €џџџџџџџ €џџџџџџџCPicPageџџ CPicLayerџџ CPicFrameџџCPicText€€.$Kџџџ{пџџу @РArialџџfџ"Рўcalculating movement vectorsџџ CPicShape€€џџџџгюUV>и0ŠЊ0вС0vU(1и.> €џџ CPicSpriteщњщњџџџџ €з џџз џџџџ€€dёџџdџџџџѓ`"pX0./0h€€€А…МємArialџџfџ"ˆџdrag the nodes€€џџfџџџнџѓ@€%~§0(0‚№Ў 0иы0RіѓBР~§0і>0‚№Ў 0 С0RіѓцSиы1œ Сџџџ?џџ€€ backgroundџџџџџџ€€€€€ИУT@ ’@hArialџџfџ"ˆџorigin€€€ЬЁ@ ’@hArialџџfџ"ˆџdeltaX€€€ЧЏ@ ’@hArialџџfџ"ˆџdeltaY€€€И_ @ ’@ hArialџџfџ"ˆџvectorAngle€€€ИЗ ќџџџ@ ’@hArialџџfџ"ˆџvectorMagnitude€€€ Н|Д’Ѓ originOutputhArialџџџџ"ˆџx: 000, y: 000€€€ Y |Д’Ѓ angleOutputhArialџџџџ"ˆџ000 deg€€€№ Ё|Д’Ѓ deltaXOutputhArialџџџџ"ˆџ000€€€№ Џ|Д’Ѓ deltaYOutputhArialџџџџ"ˆџ000€€€Ёш@ ’@hArialџџfџ"ˆџangleCos€€€vЏ`@ ’@hArialџџfџ"ˆџangleSin€€€ЧЁ|Д’Ѓ cosOutputhArialџџџџ"ˆџ000€€€ЧЏ|Д’Ѓ sinOutputhArialџџџџ"ˆџ000€€€ Х |Д’Ѓ distOutputhArialџџџџ"ˆџ000€€€И Ь@ ’@hArialџџfџ"ˆџpoint€€€  |Д’Ѓ pointOutputhArialџџџџ"ˆџx: 000, y: 000€€џџџ?џџ€€statusџџџџ™3Ьџ€€ €(X (X џџџџ!node1 €<l џџ<l џџџџline €L"|L"|џџџџnode2 €!j !j џџџџ#circle€€џџџ?џџ€€contentџџџџOџOџ€€€€ €џџџџџ €џџџџџ €џџџ*џџџ]џџџџџЊџџдџџџџџџ €џюœџdБtџџџЯzђщџџhr _yscale are negative.€€script: line drawingџџџџ™џ€€ €ѕj ѕj џџџџ#€€џџџ?џƒ// record the proportion of the line, relative to 100 pixels line.scale = 100 / line._width; // *** attach movie which calls drawLine function on enterFrame _root.attachMovie("process", "drawLine Process", 0); // *** plots the line based on the location of the two nodes function drawLine () { // place the top left corner of the line at node 1 line._x = node1._x; line._y = node1._y; // place the bottom right corner of the line at node 2 // by scaling the line clip line._xscale = (node2._x - node1._x) * line.scale; line._yscale = (node2._y - node1._y) * line.scale; } // well that was pretty painless. not as tidy as drawing // a real line to the screen, but it gets the job done. // keep an eye on the dashed square in the line clip to // get a sense of how the fake line drawing works. remember // that clips flip when their _xscale or _yscale are negative.€€script: line drawingџџџџџџ?џџ€€Layer 1џџџџO€џџ€€џџCPicPageџџ CPicLayerџџ CPicFrameџџ CPicSprite§џџџ§џџџџџџџ0onClipEvent(enterFrame) { _root.drawLine(); }€€џџџ?џџ€€Layer 1џџџџO€џџ€€џџCPicPageџџ CPicLayerџџ CPicFrameџџ CPicShape€€џџџџё€@§ў^џ0E0]џ€€џџџ?џџ€€Layer 1џџџџO€џџ€€