1.modle
package
{
import flash.events.Event;
import flash.events.EventDispatcher;
public class modle extends EventDispatcher
{
private var mint;
private var mheight:int;
public function modle()
{
}
public function get Mwidth():int
{
return mwidth;
}
public function set Mwidth(value:int):void
{
mwidth = value;
}
public function get Mheight():int
{
return mheight;
}
public function set Mheight(value:int):void
{
mheight = value;
}
public function ChangeModel(_int,_height:int):void
{
Mwidth = _width;
Mheight = _height;
dispatchEvent(new Event("change"));
}
}
}
2.view
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
public class view extends Sprite
{
private var theModle:modle;
private var theController:controller;
private var shape:Shape
public function view(_model:modle, _controller:controller)
{
shape = new Shape();
shape.graphics.beginFill(0xffff00);
shape.graphics.drawRect(0,0,100,100);
shape.graphics.endFill();
addChild(shape);
theModle = _model;
theController = _controller;
theModle.addEventListener("change", HandleDraw);
}
private function HandleDraw(evt:Event):void
{
shape.width = theModle.Mwidth;
shape.height = theModle.Mheight;
}
//添加按钮,调用这个方法刷新Model
public function RefreshModel():void
{
theController.changeModle();
}
}
}
3.controller
package
{
public class controller
{
private var theModle:modle
public function controller(_modle:modle)
{
theModle = _modle;
}
public function changeModle():void
{
theModle.ChangeModel(200,200);
}
}
}
4.运行
var mo:modle = new modle(); var col:controller = new controller(mo); var vi:view = new view(mo,col); addChild(vi); vi.RefreshModel();