home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mobiclic 161
/
MOBICLIC161.ISO
/
pc
/
DATA
/
DSS161
/
DSS161_00
/
DSS161_00.swf
/
scripts
/
dss161_00
/
AppareilPhoto.as
next >
Wrap
Text File
|
2014-01-15
|
6KB
|
169 lines
package dss161_00
{
import dss161.engineaddons.gamesprotos.Actor;
import dss161.engineaddons.gamesprotos.actors.actorClip.ActorClip;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.text.TextField;
import flash.ui.Mouse;
public class AppareilPhoto extends Actor
{
private var actorClip:ActorClip;
public var visual:ActorClip;
private var onEvent:Function;
private var viseur:ActorClip;
public function AppareilPhoto(param1:* = null)
{
var params:* = param1;
super();
this.onEvent = params.onEvent;
if(game.captures == undefined)
{
game.captures = [0,0,0,0,0,0,0,0,0,0];
}
game.numCaptures = 0;
var i:int = 0;
while(i < game.captures.length)
{
if(game.captures[i] != 0)
{
++game.numCaptures;
}
i++;
}
this.visual = addActor({"mc":params.visualMC});
this.visual.actif = true;
this.visual.limitZone = new Rectangle(-61,-145,1016,767);
this.visual.onDrag = function(param1:ActorClip):void
{
if(visual.actif)
{
if(game.stage.mouseX < 200 && game.stage.mouseY > 400)
{
Mouse.show();
}
else
{
Mouse.hide();
}
param1.setToPos(game.stage.mouseX,game.stage.mouseY,"CENTER");
}
};
this.visual.dragEnabled = true;
this.visual.enabled = false;
this.visual.initAs();
this.visual.dragStart();
if(game.engine.pad != null)
{
}
this.viseur = addActor({"mc":this.visual.getChildByName("VISEUR")});
game.showTextBloc({
"text":game.numCaptures + "/10",
"target":this.viseur.getChildByName("LM_COMPTEUR.TEXTE") as TextField,
"idStyle":"LM.LM_PHOTO"
});
game.stage.addEventListener(MouseEvent.MOUSE_DOWN,this.onClickHandler);
Mouse.hide();
}
private function onClickHandler(param1:MouseEvent) : void
{
game.stage.removeEventListener(MouseEvent.MOUSE_DOWN,this.onClickHandler);
this.visual.dragStop();
this.visual.visible = false;
this.capture();
}
private function onUpHandler(param1:MouseEvent) : void
{
game.stage.removeEventListener(MouseEvent.MOUSE_UP,this.onUpHandler);
this.visual.dragStart();
game.stage.addEventListener(MouseEvent.MOUSE_DOWN,this.onClickHandler);
}
private function capture() : void
{
var _loc1_:Rectangle = null;
game.noisePlay({"code":"B_PHOTO"});
var _loc2_:Point = new Point(this.viseur.x,this.viseur.y);
var _loc3_:Point = new Point(this.viseur.x + this.viseur.width,this.viseur.y + this.viseur.height);
_loc2_ = this.visual.clip.localToGlobal(_loc2_);
_loc3_ = this.visual.clip.localToGlobal(_loc3_);
_loc1_ = new Rectangle(_loc2_.x,_loc2_.y,_loc3_.x - _loc2_.x,_loc3_.y - _loc2_.y);
var _loc4_:BitmapData = new BitmapData(800,600,false);
_loc4_.draw(game.stage,null,null,null,_loc1_);
var _loc5_:BitmapData = new BitmapData(_loc1_.width,_loc1_.height,false);
_loc5_.copyPixels(_loc4_,_loc1_,new Point(0,0));
var _loc6_:Bitmap = new Bitmap(_loc5_,"auto",true);
game.numCaptures = 0;
var _loc7_:Boolean = false;
var _loc8_:int = 0;
while(_loc8_ < game.captures.length)
{
if(!_loc7_ && game.captures[_loc8_] == 0)
{
_loc7_ = true;
game.captures[_loc8_] = _loc6_;
}
if(game.captures[_loc8_] != 0)
{
++game.numCaptures;
}
_loc8_++;
}
game.showTextBloc({
"text":game.numCaptures + "/10",
"target":this.viseur.getChildByName("LM_COMPTEUR.TEXTE") as TextField,
"idStyle":"LM.LM_PHOTO"
});
if(game.numCaptures >= 10)
{
this._destroy();
if(game.engine.pad != null)
{
game.engine.pad.activated = true;
}
this.onEvent();
}
else
{
game.stage.addEventListener(MouseEvent.MOUSE_UP,this.onUpHandler);
this.visual.visible = true;
}
}
override protected function _sleep() : void
{
this.visual.actif = false;
game.stage.removeEventListener(MouseEvent.MOUSE_UP,this.onUpHandler);
game.stage.removeEventListener(MouseEvent.MOUSE_DOWN,this.onClickHandler);
Mouse.show();
}
override protected function _wake() : void
{
this.visual.actif = true;
Mouse.hide();
game.stage.addEventListener(MouseEvent.MOUSE_DOWN,this.onClickHandler);
}
override protected function _destroy() : void
{
super._destroy();
Mouse.show();
game.stage.removeEventListener(MouseEvent.MOUSE_UP,this.onUpHandler);
game.stage.removeEventListener(MouseEvent.MOUSE_DOWN,this.onClickHandler);
}
}
}