Section 1
//Color (fl.motion.Color)
package fl.motion {
import flash.geom.*;
import flash.display.*;
public class Color extends ColorTransform {
private var _tintMultiplier:Number;// = 0
private var _tintColor:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
_tintColor = 0;
_tintMultiplier = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setTint(_arg1:uint, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
private function deriveTintColor():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = (1 / this.tintMultiplier);
_local2 = Math.round((this.redOffset * _local1));
_local3 = Math.round((this.greenOffset * _local1));
_local4 = Math.round((this.blueOffset * _local1));
_local5 = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set brightness(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
_local2 = (1 - Math.abs(_arg1));
_local3 = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local2:XML;
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
_local2 = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
_local4 = (1 - _arg3);
_local5 = ((_arg1 >> 24) & 0xFF);
_local6 = ((_arg1 >> 16) & 0xFF);
_local7 = ((_arg1 >> 8) & 0xFF);
_local8 = (_arg1 & 0xFF);
_local9 = ((_arg2 >> 24) & 0xFF);
_local10 = ((_arg2 >> 16) & 0xFF);
_local11 = ((_arg2 >> 8) & 0xFF);
_local12 = (_arg2 & 0xFF);
_local13 = ((_local5 * _local4) + (_local9 * _arg3));
_local14 = ((_local6 * _local4) + (_local10 * _arg3));
_local15 = ((_local7 * _local4) + (_local11 * _arg3));
_local16 = ((_local8 * _local4) + (_local12 * _arg3));
_local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number;
var _local5:ColorTransform;
_local4 = (1 - _arg3);
_local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 2
//lapin_hitZone_13 (lapins_nice_3_fla.lapin_hitZone_13)
package lapins_nice_3_fla {
import flash.display.*;
public dynamic class lapin_hitZone_13 extends MovieClip {
public function lapin_hitZone_13(){
addFrameScript(0, frame1);
}
function frame1(){
visible = false;
}
}
}//package lapins_nice_3_fla
Section 3
//PRELOADER_1 (lapins_nice_3_fla.PRELOADER_1)
package lapins_nice_3_fla {
import flash.display.*;
public dynamic class PRELOADER_1 extends MovieClip {
public var bar:MovieClip;
}
}//package lapins_nice_3_fla
Section 4
//pyramid_pyramid_9 (lapins_nice_3_fla.pyramid_pyramid_9)
package lapins_nice_3_fla {
import flash.display.*;
public dynamic class pyramid_pyramid_9 extends MovieClip {
public var pyramide:MovieClip;
public var gradientMC:MovieClip;
}
}//package lapins_nice_3_fla
Section 5
//speaker_5 (lapins_nice_3_fla.speaker_5)
package lapins_nice_3_fla {
import flash.display.*;
public dynamic class speaker_5 extends MovieClip {
public function speaker_5(){
addFrameScript(379, frame380, 1063, frame1064);
}
function frame1064(){
gotoAndPlay(1);
}
function frame380(){
gotoAndPlay(1);
}
}
}//package lapins_nice_3_fla
Section 6
//Lapin (Lapin)
package {
import fl.motion.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
public class Lapin extends MovieClip {
var grosseur:int;
var ratio:Number;
var myColor:Color;
var colorTransform:ColorTransform;
var ySpeed:Number;
var lapinType:String;
var myParent:MovieClip;
public var myIndex:int;
var mustCreatePoussiere:Boolean;
var xSpeed:Number;
var blurFilter:BlurFilter;
public var hitZone:MovieClip;
public function Lapin(_arg1:MovieClip, _arg2:int){
addFrameScript(11, frame12, 41, frame42, 43, frame44, 45, frame46, 70, frame71, 79, frame80);
this.myParent = _arg1;
xSpeed = (6 + (8 * Math.random()));
ySpeed = (-0.5 + (1 * Math.random()));
y = (200 + ((100 * _arg2) / 100));
scaleX = getRatio();
scaleY = getRatio();
blurFilter = new BlurFilter(0, 0, BitmapFilterQuality.LOW);
filters = new Array(blurFilter);
myColor = new Color();
if (Math.random() < 0.5){
lapinType = "jumper";
gotoAndPlay("jump_go");
} else {
lapinType = "normal";
};
}
function frame71(){
}
function frame80(){
createPoussiere();
gotoAndPlay(1);
}
function frame12(){
createPoussiere();
if (lapinType == "jumper"){
gotoAndPlay("jump");
} else {
gotoAndPlay(1);
};
}
private function getYspeed():Number{
return ((ySpeed * ratio));
}
private function getRatio():Number{
return (((y - 200) / 100));
}
public function setIndex(_arg1:int):void{
myIndex = _arg1;
}
public function frameRoutine():void{
var _local1:*;
var _local2:int;
var _local3:int;
ratio = getRatio();
x = (x + getXspeed());
y = (y + getYspeed());
scaleX = ratio;
scaleY = ratio;
if (lapins_main.bgColor == 0xFFFFFF){
myColor.brightness = ((1 - (ratio * 0.92)) * Math.abs((1 - (ratio * 0.92))));
} else {
myColor.setTint(lapins_main.bgColor, ((1 - (ratio * 0.92)) * Math.abs((1 - (ratio * 0.92)))));
};
transform.colorTransform = myColor;
if (ratio > 0.5){
blurFilter.blurX = (lapins_main.scaleFactor * ((getXspeed() * ratio) / 2));
filters = new Array(blurFilter);
};
_local3 = (myIndex + 1);
while (_local3 < myParent.lapins.length) {
if (((((hitZone.hitTestObject(myParent.lapins[_local3].hitZone)) && (!((myParent.lapins[_local3] == this))))) && (!((myParent.lapins[_local3].y == y))))){
_local1 = myParent.lapins[_local3];
_local2 = int((Math.abs((_local1.y - y)) / (_local1.y - y)));
if ((_local2 * ySpeed) > 0){
ySpeed = (ySpeed * -1);
if ((_local2 * _local1.ySpeed) < 0){
_local1.ySpeed = (_local1.ySpeed * -1);
};
};
break;
};
_local3++;
};
if (mustCreatePoussiere){
myParent.createPoussiere(this);
mustCreatePoussiere = false;
};
if ((((x > (700 + (width / 2)))) || ((y < 205)))){
myParent.removeLapin(this);
};
}
function frame44(){
createPoussiere();
}
function frame42(){
createPoussiere();
}
private function getXspeed():Number{
return ((xSpeed * ratio));
}
function frame46(){
createPoussiere();
gotoAndPlay("jump_go");
}
public function createPoussiere():void{
mustCreatePoussiere = true;
}
}
}//package
Section 7
//lapins_main (lapins_main)
package {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.text.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.net.*;
import flash.printing.*;
import flash.profiler.*;
import flash.system.*;
import flash.ui.*;
import flash.utils.*;
import flash.xml.*;
public class lapins_main extends MovieClip {
public const bgColor:int = 3;
public var pyramides:Array;
public var lapinTimer:int;
public var pyramideTimer:int;
public var bgShape:Shape;
public var preloader:MovieClip;
public var allSprites:Array;
public var poussiereCountTF:TextField;
public var ground:MovieClip;
public var lapins:Array;
public var poussieres:Array;
public var lapinCountTF:TextField;
public var allBG:Array;
public var infoTF:TextField;
public var bgContainer:MovieClip;
public var spritesContainer:MovieClip;
public static const scaleFactor:Number = 1;
public static const bgColor:uint = 0xFFFFFF;
public function lapins_main(){
addFrameScript(0, frame1, 5, frame6);
}
public function removeLapin(_arg1:Lapin):void{
var _local2:int;
spritesContainer.removeChild(_arg1);
_local2 = 0;
while (_local2 < lapins.length) {
if (lapins[_local2] == _arg1){
lapins.splice(_local2, 1);
};
_local2++;
};
_local2 = 0;
while (_local2 < allSprites.length) {
if (allSprites[_local2] == _arg1){
allSprites.splice(_local2, 1);
};
_local2++;
};
_local2 = 0;
while (_local2 < lapins.length) {
lapins[_local2].setIndex(_local2);
_local2++;
};
}
public function myHandler():void{
stage.fullScreenSourceRect = new Rectangle(0, 0, (700 * scaleFactor), (350 * scaleFactor));
stage.displayState = StageDisplayState.FULL_SCREEN;
}
public function createPyramide():Pyramide{
var _local1:int;
var _local2:int;
var _local3:Pyramide;
var _local4:int;
_local1 = (int((180 * Math.random())) + 60);
_local2 = (int((75 * Math.random())) + 25);
_local3 = new Pyramide(this, _local2, _local1);
_local3.x = (700 + (_local3.width / 2));
bgContainer.addChild(_local3);
pyramides.push(_local3);
allBG.push(_local3);
allBG.sortOn("y", Array.NUMERIC);
_local4 = allBG.length;
while (_local4--) {
if (bgContainer.getChildAt(_local4) != allBG[_local4]){
bgContainer.setChildIndex(allBG[_local4], _local4);
};
};
return (_local3);
}
public function createPyramideCheck():void{
if (Math.random() < 0.5){
createPyramide();
};
}
function frame6(){
bgContainer = new MovieClip();
spritesContainer = new MovieClip();
bgShape = new Shape();
lapinTimer = 0;
pyramideTimer = 0;
lapins = new Array();
poussieres = new Array();
pyramides = new Array();
allSprites = new Array();
allBG = new Array();
lapinCountTF = new TextField();
poussiereCountTF = new TextField();
poussiereCountTF.y = 30;
bgShape.graphics.beginFill(lapins_main.bgColor);
bgShape.graphics.drawRect(0, 0, 700, 350);
bgShape.graphics.endFill();
this.addChildAt(bgShape, 0);
this.addChild(lapinCountTF);
this.addChild(poussiereCountTF);
this.addChild(bgContainer);
this.addChild(spritesContainer);
this.removeChild(infoTF);
this.addChild(infoTF);
this.addEventListener(Event.ENTER_FRAME, frameRoutine);
createPyramide();
stop();
scaleX = (scaleY = scaleFactor);
}
public function createLapin():Lapin{
var _local1:int;
var _local2:Lapin;
_local1 = (int((150 * Math.random())) + 1);
_local2 = new Lapin(this, _local1);
_local2.x = (-(_local2.width) / 2);
spritesContainer.addChild(_local2);
lapins.push(_local2);
allSprites.push(_local2);
_local2.setIndex((lapins.length - 1));
return (_local2);
}
public function removePoussiere(_arg1:Poussiere):void{
var _local2:int;
spritesContainer.removeChild(_arg1);
_local2 = 0;
while (_local2 < poussieres.length) {
if (poussieres[_local2] == _arg1){
poussieres.splice(_local2, 1);
};
_local2++;
};
_local2 = 0;
while (_local2 < allSprites.length) {
if (allSprites[_local2] == _arg1){
allSprites.splice(_local2, 1);
};
_local2++;
};
}
function frame1(){
stop();
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, PL_LOADING);
}
public function frameRoutine(_arg1:Event):void{
var _local2:int;
lapinTimer++;
pyramideTimer++;
if (lapinTimer == 12){
createLapin();
lapinTimer = 0;
};
if (pyramideTimer == 96){
createPyramideCheck();
pyramideTimer = 0;
};
_local2 = 0;
while (_local2 < lapins.length) {
lapins[_local2].frameRoutine();
_local2++;
};
_local2 = 0;
while (_local2 < poussieres.length) {
poussieres[_local2].frameRoutine();
_local2++;
};
_local2 = 0;
while (_local2 < pyramides.length) {
pyramides[_local2].frameRoutine();
_local2++;
};
allSprites.sortOn("y", Array.NUMERIC);
_local2 = allSprites.length;
while (_local2--) {
if (spritesContainer.getChildAt(_local2) != allSprites[_local2]){
spritesContainer.setChildIndex(allSprites[_local2], _local2);
};
};
}
public function removePyramide(_arg1:Pyramide):void{
var _local2:int;
bgContainer.removeChild(_arg1);
_local2 = 0;
while (_local2 < pyramides.length) {
if (pyramides[_local2] == _arg1){
pyramides.splice(_local2, 1);
};
_local2++;
};
_local2 = 0;
while (_local2 < allBG.length) {
if (allBG[_local2] == _arg1){
allBG.splice(_local2, 1);
};
_local2++;
};
}
public function PL_LOADING(_arg1:ProgressEvent){
preloader.bar.scaleX = (_arg1.bytesLoaded / _arg1.bytesTotal);
if (_arg1.bytesLoaded >= _arg1.bytesTotal){
gotoAndPlay(2);
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, PL_LOADING);
};
}
public function createPoussiere(_arg1:Lapin):Poussiere{
var _local2:Poussiere;
_local2 = new Poussiere(this, _arg1);
spritesContainer.addChild(_local2);
poussieres.push(_local2);
allSprites.push(_local2);
return (_local2);
}
}
}//package
Section 8
//Poussiere (Poussiere)
package {
import fl.motion.*;
import flash.display.*;
import flash.filters.*;
public class Poussiere extends MovieClip {
var ratio:Number;
var myColor:Color;
var myParent:MovieClip;
var mustBeRemoved:Boolean;
var xSpeed:Number;
var myLapin:MovieClip;
var blurFilter:BlurFilter;
var colorValue:Number;
public function Poussiere(_arg1:MovieClip, _arg2:MovieClip){
addFrameScript(5, frame6);
ratio = _arg2.ratio;
this.myParent = _arg1;
this.myLapin = _arg2;
xSpeed = (-25 * ratio);
x = (_arg2.x - xSpeed);
y = (_arg2.y + 1);
scaleX = (ratio * (0.7 + (0.5 * Math.random())));
scaleY = (ratio * (0.7 + (0.5 * Math.random())));
blurFilter = new BlurFilter(0, 0, BitmapFilterQuality.LOW);
myColor = new Color();
colorValue = ((1 - (ratio * 0.86)) * Math.abs((1 - (ratio * 0.86))));
if (lapins_main.bgColor == 0xFFFFFF){
myColor.brightness = colorValue;
} else {
myColor.setTint(lapins_main.bgColor, colorValue);
};
transform.colorTransform = myColor;
if (ratio > 0.25){
blurFilter.blurX = (lapins_main.scaleFactor * Math.abs(getXspeed()));
filters = new Array(blurFilter);
};
}
function frame6(){
end();
stop();
}
public function frameRoutine(){
x = (x + xSpeed);
if (mustBeRemoved){
myParent.removePoussiere(this);
mustBeRemoved = false;
};
}
public function getXspeed():Number{
return ((xSpeed * ratio));
}
public function end(){
mustBeRemoved = true;
}
}
}//package
Section 9
//Pyramide (Pyramide)
package {
import fl.motion.*;
import flash.geom.*;
import flash.display.*;
public class Pyramide extends MovieClip {
var myColor:Color;
public var pyramide:MovieClip;
var colorTransform:ColorTransform;
var myParent:MovieClip;
var xSpeed:Number;
public function Pyramide(_arg1:MovieClip, _arg2:int, _arg3:int){
var _local4:Number;
super();
addFrameScript(47, frame48);
this.myParent = _arg1;
xSpeed = ((-1 * _arg2) / 100);
y = (198 + ((3 * _arg2) / 100));
scaleX = (((_arg3 / 100) * _arg2) / 100);
scaleY = (((_arg3 / 100) * _arg2) / 100);
myColor = new Color();
myColor.setTint(lapins_main.bgColor, (1 - (_arg2 / 150)));
pyramide.pyramide.transform.colorTransform = myColor;
myColor.setTint(lapins_main.bgColor, 1);
pyramide.gradientMC.transform.colorTransform = myColor;
_local4 = Math.random();
if (_local4 < 0.25){
gotoAndPlay("half");
} else {
if (_local4 < 0.5){
gotoAndPlay("quarter");
} else {
if (_local4 < 0.75){
gotoAndPlay("threequarter");
};
};
};
}
public function frameRoutine(){
x = (x + xSpeed);
if (x < (0 - (width / 2))){
myParent.removePyramide(this);
};
}
function frame48(){
gotoAndPlay(1);
}
}
}//package