# \[Smily Entry 2\] - NodeDraw 2

**URL:** <https://forum.kirupa.com/t/smily-entry-2-nodedraw-2/176992>\
**Category:** contests\
**Created:** [January 28, 2006, 11:58pm UTC](https://forum.kirupa.com/t/smily-entry-2-nodedraw-2/176992 "2006-01-28T23:58:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Smily](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@Smily](https://forum.kirupa.com/u/Smily)\
**Post date:** [January 28, 2006, 11:58pm UTC](https://forum.kirupa.com/t/smily-entry-2-nodedraw-2/176992/1 "2006-01-28T23:58:01Z")

</div>

Here’s the second version of NodeDraw. You can draw now (as I said in NodeDraw 1) using SHIFT. The little thumbnail on the top left indicates what will be visible and connected. I suggest you don’t draw much on it, as every white pixel is treated as a node and will be connected to other white pixels. When you are finished with the drawing, press SPACE and wait for a few seconds/minutes. The time that takes it to process GREATLY depends on the amount of white pixels. Refresh to make a new one and you would probably need to click in it once, to gain focus.

[COLOR=Red]\*\*WARNING: [COLOR=Black]This flash file is EXTREMELY cpu heavy. I’m not taking the responsibility of your computer crashing/freezing. It’s even more heavy on the cpu than the last one, so please, use with care. 🙂

[/COLOR]\*\*[COLOR=Black] ActionScript Code:  
[FONT=Courier New][LEFT][COLOR=#000000] **var** [/COLOR] bitmap:flash.[COLOR=#000080]display[/COLOR].[COLOR=#000080]BitmapData[/COLOR] = [COLOR=#000000] **new** [/COLOR] flash.[COLOR=#000080]display[/COLOR].[COLOR=#000080]BitmapData[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000080]800[/COLOR], [COLOR=#000080]600[/COLOR], [COLOR=#000000] **true** [/COLOR], 0x000000[COLOR=#000000])[/COLOR];  
[COLOR=#000000] **var** [/COLOR] grid:flash.[COLOR=#000080]display[/COLOR].[COLOR=#000080]BitmapData[/COLOR] = [COLOR=#000000] **new** [/COLOR] flash.[COLOR=#000080]display[/COLOR].[COLOR=#000080]BitmapData[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000080]40[/COLOR], [COLOR=#000080]30[/COLOR], [COLOR=#000000] **false** [/COLOR], 0x000000[COLOR=#000000])[/COLOR];  
[COLOR=#000000] **var** [/COLOR] b:[COLOR=#0000FF]MovieClip[/COLOR] = [COLOR=#0000FF]\_root[/COLOR].[COLOR=#0000FF]createEmptyMovieClip[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“b”[/COLOR], [COLOR=#0000FF]\_root[/COLOR].[COLOR=#0000FF]getNextHighestDepth[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000])[/COLOR];  
[COLOR=#000000] **var** [/COLOR] c:[COLOR=#0000FF]MovieClip[/COLOR] = [COLOR=#0000FF]\_root[/COLOR].[COLOR=#0000FF]createEmptyMovieClip[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“c”[/COLOR], [COLOR=#0000FF]\_root[/COLOR].[COLOR=#0000FF]getNextHighestDepth[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000])[/COLOR];  
[COLOR=#000000] **var** [/COLOR] l:[COLOR=#0000FF]MovieClip[/COLOR] = c.[COLOR=#0000FF]createEmptyMovieClip[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“l”[/COLOR], c.[COLOR=#0000FF]getNextHighestDepth[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000])[/COLOR];  
b.[COLOR=#000080]attachBitmap[/COLOR][COLOR=#000000]([/COLOR]bitmap, b.[COLOR=#0000FF]getNextHighestDepth[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000])[/COLOR];  
[COLOR=#000000] **var** [/COLOR] b:[COLOR=#0000FF]MovieClip[/COLOR] = [COLOR=#0000FF]\_root[/COLOR].[COLOR=#0000FF]createEmptyMovieClip[/COLOR][COLOR=#000000]([/COLOR][COLOR=#FF0000]“t”[/COLOR], [COLOR=#0000FF]\_root[/COLOR].[COLOR=#0000FF]getNextHighestDepth[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000])[/COLOR];  
t.[COLOR=#000080]attachBitmap[/COLOR][COLOR=#000000]([/COLOR]grid, t.[COLOR=#0000FF]getNextHighestDepth[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000])[/COLOR];  
[COLOR=#000000] **var** [/COLOR] iy = [COLOR=#000080]0[/COLOR];  
getInt = [COLOR=#0000FF]setInterval[/COLOR][COLOR=#000000]([/COLOR]getInfo, [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR];  
[COLOR=#000000] **function** [/COLOR] drawOneCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]  
[COLOR=#0000FF]for[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#000000] **var** [/COLOR] ix = [COLOR=#000080]0[/COLOR]; ix\<grid.[COLOR=#0000FF]width[/COLOR]; ix++[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]  
[COLOR=#0000FF]for[/COLOR] [COLOR=#000000]([/COLOR][COLOR=#000000] **var** [/COLOR] i = [COLOR=#000080]0[/COLOR]; i\<grid.[COLOR=#0000FF]width[/COLOR]_grid.[COLOR=#0000FF]height[/COLOR]; i++[COLOR=#000000])[/COLOR] [COLOR=#000000]{[/COLOR]  
[COLOR=#000000] **var** [/COLOR] cond = [COLOR=#000000]([/COLOR][COLOR=#000000]([/COLOR]grid.[COLOR=#000080]getPixel[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR], [COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR][COLOR=#000000])[/COLOR] == 0xFFFFFF[COLOR=#000000])[/COLOR] && [COLOR=#000000]([/COLOR]grid.[COLOR=#000080]getPixel[/COLOR][COLOR=#000000]([/COLOR]ix, iy[COLOR=#000000])[/COLOR] == 0xFFFFFF[COLOR=#000000])[/COLOR][COLOR=#000000])[/COLOR] ? c.[COLOR=#000080]l[/COLOR].[COLOR=#0000FF]clear[/COLOR]COLOR=#000000[/COLOR] : [COLOR=#000080]1[/COLOR];  
cond = cond == [COLOR=#000080]1[/COLOR] ? [COLOR=#000080]1[/COLOR] : c.[COLOR=#000080]l[/COLOR].[COLOR=#0000FF]lineStyle[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000080]1[/COLOR], 0xFFFFFF_i/COLOR=#000000[/COLOR], [COLOR=#000080]40[/COLOR]/[COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]sqrt[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]pow[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR]-ix, [COLOR=#000080]2[/COLOR][COLOR=#000000])[/COLOR]+[COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]pow[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR]-iy, [COLOR=#000080]2[/COLOR][COLOR=#000000])[/COLOR][COLOR=#000000])[/COLOR][COLOR=#000000])[/COLOR];  
cond = cond == [COLOR=#000080]1[/COLOR] ? [COLOR=#000080]1[/COLOR] : c.[COLOR=#000080]l[/COLOR].[COLOR=#0000FF]moveTo[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR]_[COLOR=#000080]20[/COLOR], [COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR]_[COLOR=#000080]20[/COLOR][COLOR=#000000])[/COLOR];  
cond = cond == [COLOR=#000080]1[/COLOR] ? [COLOR=#000080]1[/COLOR] : c.[COLOR=#000080]l[/COLOR].[COLOR=#0000FF]lineTo[/COLOR][COLOR=#000000]([/COLOR]ix\*[COLOR=#000080]20[/COLOR], iy\*[COLOR=#000080]20[/COLOR][COLOR=#000000])[/COLOR];  
cond = cond == [COLOR=#000080]1[/COLOR] ? [COLOR=#000080]1[/COLOR] : bitmap.[COLOR=#000080]draw[/COLOR]COLOR=#000000[/COLOR];  
[COLOR=#000000]}[/COLOR]  
[COLOR=#000000]}[/COLOR]  
iy++;  
[COLOR=#0000FF]if[/COLOR] COLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]  
[COLOR=#0000FF]clearInterval[/COLOR]COLOR=#000000[/COLOR];  
[COLOR=#000000]}[/COLOR]  
[COLOR=#000000]}[/COLOR]  
[COLOR=#000000] **function** [/COLOR] getInfoCOLOR=#000000[/COLOR] [COLOR=#000000]{[/COLOR]  
[COLOR=#000000] **var** [/COLOR] cond = [COLOR=#0000FF]Key[/COLOR].[COLOR=#0000FF]isDown[/COLOR]COLOR=#000000[/COLOR] ? grid.[COLOR=#000080]setPixel[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR], [COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]floor[/COLOR]COLOR=#000000[/COLOR], 0xFFFFFF[COLOR=#000000])[/COLOR] : [COLOR=#000000] **null** [/COLOR];  
cond = [COLOR=#0000FF]Key[/COLOR].[COLOR=#0000FF]isDown[/COLOR]COLOR=#000000[/COLOR] ? [COLOR=#FF0000]“Run it!”[/COLOR] : [COLOR=#000000] **null** [/COLOR];  
cond == [COLOR=#FF0000]“Run it!”[/COLOR] ? [COLOR=#0000FF]clearInterval[/COLOR]COLOR=#000000[/COLOR] : [COLOR=#FF0000]“Run it!”[/COLOR];  
cond == [COLOR=#FF0000]“Run it!”[/COLOR] ? drawInt=[COLOR=#0000FF]setInterval[/COLOR][COLOR=#000000]([/COLOR]drawOne, [COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR] : [COLOR=#000000] **null** [/COLOR];  
[COLOR=#000000]}[/COLOR]  
[COLOR=#0000FF]Mouse[/COLOR].[COLOR=#0000FF]addListener[/COLOR]COLOR=#000000[/COLOR];  
[/LEFT]  
[/FONT]

[/COLOR][/COLOR]  
Enjoy 😉
