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 squares filled, or not? property pMinSize -- the minimum size of each square property pMaxSize -- the maximum size of each square 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 rounded squares -- 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: "Squares are filled:", #format: #boolean, #default: TRUE] addProp list, #pMinSize, [#comment: "Minimum size of each square:", #format: #integer, #default: 5, #range: [#min: 0, #max: 30]] addProp list, #pMaxSize, [#comment: "Maximum size of each square:", #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 square size rectSize = random(pMaxSize) + pMinSize -- get random square origin rectOrigin = point(random(getStageWidth(me) - pMinSize), random(getStageHeight(me) - pMinSize)) -- set width limits for square if rectOrigin.locH > getStageWidth(me) - rectSize then rectOrigin.locH = getStageWidth(me) - rectSize * 2 end if -- set height limits for square if rectOrigin.locV > getStageHeight(me) - rectSize then rectOrigin.locV = getStageHeight(me) - rectSize * 2 end if -- set width and height of square rectWidth = rectOrigin.locH + rectSize rectHeight = rectOrigin.locV + rectSize -- handle filled or hollow shapes if pFilled then -- filled myImage.fill(point(rectOrigin.locH, rectOrigin.locV), point(rectWidth, rectHeight), [#shapeType: #roundRect, #lineSize: strokeSize, #color: rgb(random(255), random(255), random(255))]) else -- hollow myImage.draw(point(rectOrigin.locH, rectOrigin.locV), point(rectWidth, rectHeight), [#shapeType: #roundRect, #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