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], 0xFFFFFFi/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