Created
March 16, 2012 03:55
-
-
Save lynxerzhang/2048449 to your computer and use it in GitHub Desktop.
bitmapscale9btn(like movieclip's scale9Grid property)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* all code in timeline | |
* bitmapbutton test | |
* | |
* our project use raw bitmap to install button, so more btn resource is repeat | |
* use ScaleBitmap to reuse resource(like movieclip's scale9Grid) | |
*/ | |
import org.bytearray.display.ScaleBitmap; | |
import org.bytearray.display.ScaleBitmapSprite; | |
import flash.display.BitmapData; | |
import flash.geom.Rectangle; | |
import flash.display.Sprite; | |
import flash.display.Bitmap; | |
import flash.display.SimpleButton; | |
import flash.events.MouseEvent; | |
var preferredWidth:int = 200; | |
var preferredHeight:int = 100; | |
//the origin mc (have up, over, down' state in it's internal frames) | |
_mc.gotoAndStop(1); | |
//use bitmapData to draw btn's upstate | |
var upData:BitmapData = new BitmapData(_mc.width, _mc.height, true, 0); | |
upData.draw(_mc); | |
//create a Sprite and this is use for ScaleBitmap.draw(use graphic's beginBitmapFill method to draw) | |
var upSprite:Sprite = new Sprite(); | |
ScaleBitmap.draw(upData, upSprite.graphics, preferredWidth, preferredHeight, new Rectangle(4, 4, 94, 28), null, true); | |
//use bitmapdata to draw btn's overState | |
_mc.gotoAndStop(2); | |
//and same as above | |
var overData:BitmapData = new BitmapData(_mc.width, _mc.height, true, 0); | |
overData.draw(_mc); | |
var overSprite:Sprite = new Sprite(); | |
ScaleBitmap.draw(overData, overSprite.graphics, preferredWidth, preferredHeight, new Rectangle(4, 4, 94, 28), null, true); | |
//disable upState and overState's mouse enabled property | |
upSprite.mouseChildren = upSprite.mouseEnabled = false; | |
overSprite.mouseChildren = overSprite.mouseEnabled = false; | |
//and final, we create a simplebutton to use these state | |
var button:SimpleButton = new SimpleButton(); | |
button.upState = upSprite; | |
button.overState = overSprite; | |
button.downState = overSprite; | |
button.hitTestState = overSprite; | |
addChild(button); | |
//create event listener | |
button.addEventListener(MouseEvent.CLICK, clickBtn); | |
button.addEventListener(MouseEvent.MOUSE_OVER, overBtn); | |
button.addEventListener(MouseEvent.MOUSE_OUT, outBtn); | |
function clickBtn(evt:MouseEvent):void{ | |
trace("click"); | |
} | |
function overBtn(evt:MouseEvent):void{ | |
trace("over"); | |
} | |
function outBtn(evt:MouseEvent):void{ | |
trace("out"); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment