ZeBoxx2
05-09-2009, 09:40 AM
alright, suppose this is the function you got from the bitmap -> script function from the help file.. (simple noise map rendered out at 8x8)
----------
fn load_bitmap_test = (
local bitmap_test=bitmap 8 8
fn unpack val = for p in val collect (r=p/256^2; g=p/256-r*256; b=mod p 256; color r g b)
setpixels bitmap_test [0,0] (unpack #(8092539, 8158332, 8026746, 7895160, 7829367, 7895160, 8092539, 8487297))
setpixels bitmap_test [0,1] (unpack #(7697781, 7829367, 7895160, 7960953, 8092539, 8355711, 8750469, 9276813))
setpixels bitmap_test [0,2] (unpack #(7631988, 7763574, 7895160, 8026746, 8289918, 8618883, 9145227, 9737364))
setpixels bitmap_test [0,3] (unpack #(7829367, 7960953, 8026746, 8158332, 8355711, 8750469, 9276813, 9934743))
setpixels bitmap_test [0,4] (unpack #(8158332, 8289918, 8224125, 8158332, 8289918, 8553090, 9013641, 9737364))
setpixels bitmap_test [0,5] (unpack #(8553090, 8553090, 8355711, 8158332, 8026746, 8158332, 8553090, 9211020))
setpixels bitmap_test [0,6] (unpack #(8816262, 8684676, 8355711, 7960953, 7697781, 7631988, 7960953, 8553090))
setpixels bitmap_test [0,7] (unpack #(8684676, 8553090, 8158332, 7631988, 7237230, 7171437, 7434609, 8026746))
return bitmap_test
)
----------
Then...
A. Function inside rollout (scope is in the rollout), called from inside rollout
(
rollout roll_test "test" (
bitmap bmp_test width:10 height:10
----------
fn load_bitmap_test = (
local bitmap_test=bitmap 8 8
fn unpack val = for p in val collect (r=p/256^2; g=p/256-r*256; b=mod p 256; color r g b)
setpixels bitmap_test [0,0] (unpack #(8092539, 8158332, 8026746, 7895160, 7829367, 7895160, 8092539, 8487297))
setpixels bitmap_test [0,1] (unpack #(7697781, 7829367, 7895160, 7960953, 8092539, 8355711, 8750469, 9276813))
setpixels bitmap_test [0,2] (unpack #(7631988, 7763574, 7895160, 8026746, 8289918, 8618883, 9145227, 9737364))
setpixels bitmap_test [0,3] (unpack #(7829367, 7960953, 8026746, 8158332, 8355711, 8750469, 9276813, 9934743))
setpixels bitmap_test [0,4] (unpack #(8158332, 8289918, 8224125, 8158332, 8289918, 8553090, 9013641, 9737364))
setpixels bitmap_test [0,5] (unpack #(8553090, 8553090, 8355711, 8158332, 8026746, 8158332, 8553090, 9211020))
setpixels bitmap_test [0,6] (unpack #(8816262, 8684676, 8355711, 7960953, 7697781, 7631988, 7960953, 8553090))
setpixels bitmap_test [0,7] (unpack #(8684676, 8553090, 8158332, 7631988, 7237230, 7171437, 7434609, 8026746))
return bitmap_test
)
----------
on roll_test open do (
bmp_test.bitmap = load_bitmap_test()
)
)
createDialog roll_test
)
B. Function outside rollout (scope is outside the rollout, in this case a global scope), called from inside rollout
(
----------
fn load_bitmap_test = (
local bitmap_test=bitmap 8 8
fn unpack val = for p in val collect (r=p/256^2; g=p/256-r*256; b=mod p 256; color r g b)
setpixels bitmap_test [0,0] (unpack #(8092539, 8158332, 8026746, 7895160, 7829367, 7895160, 8092539, 8487297))
setpixels bitmap_test [0,1] (unpack #(7697781, 7829367, 7895160, 7960953, 8092539, 8355711, 8750469, 9276813))
setpixels bitmap_test [0,2] (unpack #(7631988, 7763574, 7895160, 8026746, 8289918, 8618883, 9145227, 9737364))
setpixels bitmap_test [0,3] (unpack #(7829367, 7960953, 8026746, 8158332, 8355711, 8750469, 9276813, 9934743))
setpixels bitmap_test [0,4] (unpack #(8158332, 8289918, 8224125, 8158332, 8289918, 8553090, 9013641, 9737364))
setpixels bitmap_test [0,5] (unpack #(8553090, 8553090, 8355711, 8158332, 8026746, 8158332, 8553090, 9211020))
setpixels bitmap_test [0,6] (unpack #(8816262, 8684676, 8355711, 7960953, 7697781, 7631988, 7960953, 8553090))
setpixels bitmap_test [0,7] (unpack #(8684676, 8553090, 8158332, 7631988, 7237230, 7171437, 7434609, 8026746))
return bitmap_test
)
----------
rollout roll_test "test" (
bitmap bmp_test width:10 height:10
on roll_test open do (
bmp_test.bitmap = load_bitmap_test()
)
)
createDialog roll_test
)
C. Function inside rollout (scope is inside the rollout), called from outside the rollout by referencing it as part of the rollout
(
rollout roll_test "test" (
bitmap bmp_test width:10 height:10
----------
fn load_bitmap_test = (
local bitmap_test=bitmap 8 8
fn unpack val = for p in val collect (r=p/256^2; g=p/256-r*256; b=mod p 256; color r g b)
setpixels bitmap_test [0,0] (unpack #(8092539, 8158332, 8026746, 7895160, 7829367, 7895160, 8092539, 8487297))
setpixels bitmap_test [0,1] (unpack #(7697781, 7829367, 7895160, 7960953, 8092539, 8355711, 8750469, 9276813))
setpixels bitmap_test [0,2] (unpack #(7631988, 7763574, 7895160, 8026746, 8289918, 8618883, 9145227, 9737364))
setpixels bitmap_test [0,3] (unpack #(7829367, 7960953, 8026746, 8158332, 8355711, 8750469, 9276813, 9934743))
setpixels bitmap_test [0,4] (unpack #(8158332, 8289918, 8224125, 8158332, 8289918, 8553090, 9013641, 9737364))
setpixels bitmap_test [0,5] (unpack #(8553090, 8553090, 8355711, 8158332, 8026746, 8158332, 8553090, 9211020))
setpixels bitmap_test [0,6] (unpack #(8816262, 8684676, 8355711, 7960953, 7697781, 7631988, 7960953, 8553090))
setpixels bitmap_test [0,7] (unpack #(8684676, 8553090, 8158332, 7631988, 7237230, 7171437, 7434609, 8026746))
return bitmap_test
)
----------
)
createDialog roll_test
roll_test.bmp_test.bitmap = roll_test.load_bitmap_test()
)
D. Function integrated into the rollout opening event (scope inside rollout opening event, can't be called externally as it is no longer a separate function).
(
rollout roll_test "test" (
bitmap bmp_test width:10 height:10
on roll_test open do (
----------
local bitmap_test=bitmap 8 8
fn unpack val = for p in val collect (r=p/256^2; g=p/256-r*256; b=mod p 256; color r g b)
setpixels bitmap_test [0,0] (unpack #(8092539, 8158332, 8026746, 7895160, 7829367, 7895160, 8092539, 8487297))
setpixels bitmap_test [0,1] (unpack #(7697781, 7829367, 7895160, 7960953, 8092539, 8355711, 8750469, 9276813))
setpixels bitmap_test [0,2] (unpack #(7631988, 7763574, 7895160, 8026746, 8289918, 8618883, 9145227, 9737364))
setpixels bitmap_test [0,3] (unpack #(7829367, 7960953, 8026746, 8158332, 8355711, 8750469, 9276813, 9934743))
setpixels bitmap_test [0,4] (unpack #(8158332, 8289918, 8224125, 8158332, 8289918, 8553090, 9013641, 9737364))
setpixels bitmap_test [0,5] (unpack #(8553090, 8553090, 8355711, 8158332, 8026746, 8158332, 8553090, 9211020))
setpixels bitmap_test [0,6] (unpack #(8816262, 8684676, 8355711, 7960953, 7697781, 7631988, 7960953, 8553090))
setpixels bitmap_test [0,7] (unpack #(8684676, 8553090, 8158332, 7631988, 7237230, 7171437, 7434609, 8026746))
----------
bmp_test.bitmap = bitmap_test
)
)
createDialog roll_test
)
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.