property pStageW -- the width of the stage property pStageH -- the height of the stage property pLineSize -- the thickness of the lines drawn property pRandom -- should lines be drawn with random thickness property pFilled -- are the rectangles filled, or not? property pMinSize -- the minimum size of each rectangle property pMaxSize -- the maximum size of each rectangle on prepareFrame me -- determine the width and height of the stage pStageW = getStageWidth(me) pStageH = getStageHeight(me) end -- -- This behavior draws randomly sized, randomly colored rectangles -- all over the stage using imaging Lingo. Place this in a -- frame script. No other sprites are needed for it to work. -- Ken Loge - http://diginoodles.com -- on getPropertyDescriptionList me list = [:] addProp list, #pLineSize, [#comment: "Line thickness:", #format: #integer, #default: 0, #range: [#min: 0, #max: 30]] addProp list, #pRandom, [#comment: "Randomize line thickness:", #format: #boolean, #default: FALSE] addProp list, #pFilled, [#comment: "Rectangles are filled:", #format: #boolean, #default: TRUE] addProp list, #pMinSize, [#comment: "Minimum size of each rectangle:", #format: #integer, #default: 5, #range: [#min: 0, #max: 30]] addProp list, #pMaxSize, [#comment: "Maximum size of each rectangle:", #format: #integer, #default: 150, #range: [#min: 10, #max: 300]] return list end on exitFrame me -- get an image of the stage myImage = _movie.stage.image -- handle line thickness if pRandom = TRUE then strokeSize = random(pLineSize) else strokeSize = pLineSize end if -- get random rectangle size rectSizeWidth = random(pMaxSize) + pMinSize rectSizeHeight = random(pMaxSize) + pMinSize -- get random rectangle origin rectOrigin = point(random(getStageWidth(me) - pMinSize), random(getStageHeight(me) - pMinSize)) -- set width limits for rectangle if rectOrigin.locH > getStageWidth(me) - rectSizeWidth then rectOrigin.locH = getStageWidth(me) - rectSizeWidth * 2 end if -- set height limits for rectangle if rectOrigin.locV > getStageHeight(me) - rectSizeHeight then rectOrigin.locV = getStageHeight(me) - rectSizeHeight * 2 end if -- set width and height of rectangle rectWidth = rectOrigin.locH + rectSizeWidth rectHeight = rectOrigin.locV + rectSizeHeight -- handle filled or hollow shapes if pFilled then -- filled myImage.fill(point(rectOrigin.locH, rectOrigin.locV), point(rectWidth, rectHeight), [#shapeType: #rect, #lineSize: strokeSize, #color: rgb(random(255), random(255), random(255))]) else -- hollow myImage.draw(point(rectOrigin.locH, rectOrigin.locV), point(rectWidth, rectHeight), [#shapeType: #rect, #lineSize: strokeSize, #color: rgb(random(255), random(255), random(255))]) end if _movie.go(_movie.frame) end -- get the width of the stage on getStageWidth me return _movie.stage.rect[3] - _movie.stage.rect[1] end -- get the height of the stage on getStageHeight me return _movie.stage.rect[4] - _movie.stage.rect[2] end