.shivanshi.
. Home . Share . Share Success . Join Us! .

ActionScript - Code Samples

State Management

Download state.zip.

Folder/Package structure:
state\state.fla
state\com\shivanshi\state\States.as
state\com\shivanshi\state\StateA.as
state\com\shivanshi\state\StateB.as
state\com\shivanshi\state\iState.as


// frame 1 in state.fla
import com.shivanshi.state.*;
var states = new States();
a_btn.onRelease = function() {
	states.setState(new StateA());
	states.request();
};
b_btn.onRelease = function() {
	states.setState(new StateB());
	states.request();
};       


// States.as
import com.shivanshi.state.*;
class com.shivanshi.state.States {
	private var m_state;
	var p_state;
	function States() {
		trace("State Management...");
	}
	function request() {
		m_state.handle();
	}
	function getState():iState {
		return (m_state);
	}
	function setState(p_state) {
		m_state = p_state;
	}
}            



// StateA.as
import com.shivanshi.state.*;
class com.shivanshi.state.StateA implements iState{
	function handle():Void {
		_root.txt.text = "State A";
	}
}    



// StateB.as
import com.shivanshi.state.*;
class com.shivanshi.state.StateB implements iState{
	function handle():Void {
		_root.txt.text = "State B";
	}
}



// iState.as
interface com.shivanshi.state.iState {
	function handle():Void;
}               
Add Favorite
| About Us | Site Map | Privacy Policy | Contact Us |
.shivanshi.