STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228109
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

swfchan turned sixteen years old the day before yesterday! (5may2024)

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/82645329?noj=FRM82645329-8DC" width="1" height="1"></div>

1208549065822.swf

This is the info page for
Flash #16494

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS3]
Section 1
//FPS (com.alternativagame.admin.FPS) package com.alternativagame.admin { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import flash.system.*; import flash.utils.*; public final class FPS extends Sprite { private var currentY:int; private var diagramTimer:int; private var tfTimer:int; private var downloadedBytes:uint;// = 0 private var socketOutBytes:uint;// = 0 private var socketOutLast:uint;// = 0 private var socketInBytes:uint;// = 0 private var mem:TextField; private var skn:TextField; private var diagram:BitmapData; private var socketOut:TextField; private var skins:int;// = -1 private var fps:TextField; private var socketInLast:uint;// = 0 private var tfDelay:int;// = 0 private var socketIn:TextField; private var dwl:TextField; private var skinsChanged:int;// = 0 private static const maxMemory:uint = 41943040; private static const diagramWidth:uint = 60; private static const tfDelayMax:int = 10; private static const maxSocket:uint = 4200; private static const diagramHeight:uint = 40; private static var instance:FPS; public function FPS(_arg1:DisplayObjectContainer){ var _local2:Bitmap; fps = new TextField(); mem = new TextField(); skn = new TextField(); dwl = new TextField(); socketIn = new TextField(); socketOut = new TextField(); super(); if (instance == null){ mouseEnabled = false; mouseChildren = false; _arg1.addChild(this); fps.defaultTextFormat = new TextFormat("Tahoma", 10, 0xCCCCCC); fps.autoSize = TextFieldAutoSize.LEFT; fps.text = ("FPS: " + Number(stage.frameRate).toFixed(2)); fps.selectable = false; fps.x = (-(diagramWidth) - 2); addChild(fps); mem.defaultTextFormat = new TextFormat("Tahoma", 10, 0xCCCC00); mem.autoSize = TextFieldAutoSize.LEFT; mem.text = ("MEM: " + bytesToString(System.totalMemory)); mem.selectable = false; mem.x = (-(diagramWidth) - 2); mem.y = 10; addChild(mem); currentY = 20; skn.defaultTextFormat = new TextFormat("Tahoma", 10, 0xFF6600); skn.autoSize = TextFieldAutoSize.LEFT; skn.text = ("MEM: " + bytesToString(System.totalMemory)); skn.selectable = false; skn.x = (-(diagramWidth) - 2); dwl.defaultTextFormat = new TextFormat("Tahoma", 10, 0xCC00CC); dwl.autoSize = TextFieldAutoSize.LEFT; dwl.selectable = false; dwl.x = (-(diagramWidth) - 2); socketIn.defaultTextFormat = new TextFormat("Tahoma", 10, 0xFF00); socketIn.autoSize = TextFieldAutoSize.LEFT; socketIn.selectable = false; socketIn.x = (-(diagramWidth) - 2); socketOut.defaultTextFormat = new TextFormat("Tahoma", 10, 26367); socketOut.autoSize = TextFieldAutoSize.LEFT; socketOut.selectable = false; socketOut.x = (-(diagramWidth) - 2); diagram = new BitmapData(diagramWidth, diagramHeight, true, 553648127); _local2 = new Bitmap(diagram); _local2.y = (currentY + 4); _local2.x = -(diagramWidth); addChildAt(_local2, 0); addEventListener(Event.ENTER_FRAME, onEnterFrame); stage.addEventListener(Event.RESIZE, onResize); onResize(); diagramTimer = getTimer(); tfTimer = getTimer(); } else { throw (new Error("FPS is a Singleton. Use FPS.init to create FPS instance")); }; } private function bytesToString(_arg1:uint):String{ var _local2:String; if (_arg1 < 0x0400){ _local2 = (String(_arg1) + "b"); } else { if (_arg1 < 0x2800){ _local2 = (Number((_arg1 / 0x0400)).toFixed(2) + "kb"); } else { if (_arg1 < 102400){ _local2 = (Number((_arg1 / 0x0400)).toFixed(1) + "kb"); } else { if (_arg1 < 0x100000){ _local2 = ((_arg1 >> 10) + "kb"); } else { if (_arg1 < 0xA00000){ _local2 = (Number((_arg1 / 0x100000)).toFixed(2) + "mb"); } else { if (_arg1 < 104857600){ _local2 = (Number((_arg1 / 0x100000)).toFixed(1) + "mb"); } else { _local2 = ((_arg1 >> 20) + "mb"); }; }; }; }; }; }; return (_local2); } private function onEnterFrame(_arg1:Event):void{ tfDelay++; if (tfDelay >= tfDelayMax){ tfDelay = 0; fps.text = ("FPS: " + Number(((1000 * tfDelayMax) / (getTimer() - tfTimer))).toFixed(2)); tfTimer = getTimer(); }; var _local2:Number = (1000 / (getTimer() - diagramTimer)); var _local3:Number = ((_local2)>stage.frameRate) ? 1 : (_local2 / stage.frameRate); diagramTimer = getTimer(); diagram.scroll(1, 0); diagram.fillRect(new Rectangle(0, 0, 1, diagram.height), 553648127); diagram.setPixel32(0, (diagramHeight * (1 - _local3)), 4291611852); mem.text = ("MEM: " + bytesToString(System.totalMemory)); var _local4:Number = ((skins)==0) ? 0 : (skinsChanged / skins); diagram.setPixel32(0, (diagramHeight * (1 - _local4)), 4294927872); var _local5:Number = (System.totalMemory / maxMemory); diagram.setPixel32(0, (diagramHeight * (1 - _local5)), 4291611648); var _local6:Number = ((socketInBytes - socketInLast) / maxSocket); socketInLast = socketInBytes; diagram.setPixel32(0, (diagramHeight * (1 - _local6)), 4278255360); var _local7:Number = ((socketOutBytes - socketOutLast) / maxSocket); socketOutLast = socketOutBytes; diagram.setPixel32(0, (diagramHeight * (1 - _local7)), 4278216447); } private function onResize(_arg1:Event=null):void{ var _local2:Point = parent.globalToLocal(new Point((stage.stageWidth - 2), -3)); x = _local2.x; y = _local2.y; } public static function addDownloadBytes(_arg1:uint):void{ if (instance.downloadedBytes == 0){ instance.dwl.y = instance.currentY; instance.currentY = (instance.currentY + 10); instance.addChild(instance.dwl); instance.getChildAt(0).y = (instance.currentY + 4); }; instance.downloadedBytes = (instance.downloadedBytes + _arg1); instance.dwl.text = ("DWL: " + instance.bytesToString(instance.downloadedBytes)); } public static function init(_arg1:DisplayObjectContainer):void{ instance = new FPS(_arg1); } public static function addSocketInBytes(_arg1:uint):void{ if (instance.socketInBytes == 0){ instance.socketIn.y = instance.currentY; instance.currentY = (instance.currentY + 10); instance.addChild(instance.socketIn); instance.getChildAt(0).y = (instance.currentY + 4); }; instance.socketInBytes = (instance.socketInBytes + _arg1); instance.socketIn.text = ("IN: " + instance.bytesToString(instance.socketInBytes)); } public static function addSocketOutBytes(_arg1:uint):void{ if (instance.socketOutBytes == 0){ instance.socketOut.y = instance.currentY; instance.currentY = (instance.currentY + 10); instance.addChild(instance.socketOut); instance.getChildAt(0).y = (instance.currentY + 4); }; instance.socketOutBytes = (instance.socketOutBytes + _arg1); instance.socketOut.text = ("OUT: " + instance.bytesToString(instance.socketOutBytes)); } public static function addSkins(_arg1:uint, _arg2:uint):void{ if (instance.skins < 0){ instance.skn.y = instance.currentY; instance.currentY = (instance.currentY + 10); instance.addChild(instance.skn); instance.getChildAt(0).y = (instance.currentY + 4); }; instance.skins = _arg1; instance.skinsChanged = _arg2; instance.skn.text = ("SKN: " + ((_arg2)>0) ? ((_arg1.toString() + "-") + _arg2.toString()) : _arg1.toString()); } } }//package com.alternativagame.admin
Section 2
//TestInfo (com.alternativagame.test.TestInfo) package com.alternativagame.test { import flash.text.*; import flash.system.*; public class TestInfo extends TextField { public function TestInfo(){ autoSize = TextFieldAutoSize.LEFT; selectable = false; text = (((("Flash Player (" + Capabilities.playerType) + ") ") + Capabilities.version) + "\n"); setTextFormat(new TextFormat("Tahoma", 10, 8355635)); defaultTextFormat = new TextFormat("Tahoma", 10, 0x7F7F7F); } public function write(_arg1:String):void{ appendText(("\n" + _arg1)); } } }//package com.alternativagame.test
Section 3
//RGB (com.alternativagame.type.RGB) package com.alternativagame.type { import com.alternativagame.utility.*; public final class RGB { public var green:uint;// = 0 public var red:uint;// = 0 public var blue:uint;// = 0 public function RGB(... _args){ if (_args.length > 0){ if (_args.length > 1){ red = _args[0]; green = _args[1]; blue = _args[2]; } else { red = ((_args[0] & 0xFF0000) >>> 16); green = ((_args[0] & 0xFF00) >>> 8); blue = (_args[0] & 0xFF); }; }; } public function add(_arg1:RGB):void{ red = (red + _arg1.red); green = (green + _arg1.green); blue = (blue + _arg1.blue); } public function multiply(_arg1:Number):void{ red = (red * _arg1); green = (green * _arg1); blue = (blue * _arg1); } public function subtract(_arg1:RGB):void{ red = ((red)<_arg1.red) ? 0 : (red - _arg1.red); green = ((green)<_arg1.green) ? 0 : (green - _arg1.green); blue = ((blue)<_arg1.blue) ? 0 : (blue - _arg1.blue); } public function toString():String{ var _local1:String = red.toString(16).toUpperCase(); var _local2:String = green.toString(16).toUpperCase(); var _local3:String = blue.toString(16).toUpperCase(); _local1 = ((_local1.length)==1) ? ("0" + _local1) : _local1; _local2 = ((_local2.length)==1) ? ("0" + _local2) : _local2; _local3 = ((_local3.length)==1) ? ("0" + _local3) : _local3; return ((((("[RGB: " + _local1) + _local2) + _local3) + "]")); } public function copy(_arg1:RGB):void{ red = _arg1.red; green = _arg1.green; blue = _arg1.blue; } public function toInt():uint{ return ((((((red >>> 8)) ? 0xFF : red << 16) + (((green >>> 8)) ? 0xFF : green << 8)) + ((blue >>> 8)) ? 0xFF : blue)); } public function clone():RGB{ return (new RGB(red, green, blue)); } public function equals(_arg1:RGB):Boolean{ return ((((((red == _arg1.red)) && ((green == _arg1.green)))) && ((blue == _arg1.blue)))); } public static function interpolate(_arg1:RGB, _arg2:RGB, _arg3:Number):RGB{ return (new RGB((_arg1.red + ((_arg2.red - _arg1.red) * _arg3)), (_arg1.green + ((_arg2.green - _arg1.green) * _arg3)), (_arg1.blue + ((_arg2.blue - _arg1.blue) * _arg3)))); } public static function random(_arg1:uint=0, _arg2:uint=0xFF, _arg3:uint=0, _arg4:uint=0xFF, _arg5:uint=0, _arg6:uint=0xFF):RGB{ return (new RGB(MathUtility.random(_arg1, _arg2), MathUtility.random(_arg3, _arg4), MathUtility.random(_arg5, _arg6))); } public static function average(_arg1:RGB, _arg2:RGB):RGB{ return (new RGB(((_arg1.red + _arg2.red) >>> 1), ((_arg1.green + _arg2.green) >>> 1), ((_arg1.blue + _arg2.blue) >>> 1))); } } }//package com.alternativagame.type
Section 4
//MathUtility (com.alternativagame.utility.MathUtility) package com.alternativagame.utility { import flash.geom.*; public final class MathUtility { public static const degree60:Number = (Math.PI / 3); private static const toDeg:Number = (180 / Math.PI); public static const degree45:Number = (Math.PI / 4); private static const toRad:Number = (Math.PI / 180); public static const degree180:Number = Math.PI; public static const degree360:Number = (Math.PI + Math.PI); public static const degree90:Number = (Math.PI / 2); public static const degree1:Number = toRad; public static const degree30:Number = (Math.PI / 6); public static const degree10:Number = (Math.PI / 18); public static const degree5:Number = (Math.PI / 36); public static function random(_arg1:Number=0, _arg2:Number=0):Number{ if (arguments.length == 0){ return (Math.random()); }; if (arguments.length == 1){ return ((Math.random() * _arg1)); }; return (((Math.random() * (_arg2 - _arg1)) + _arg1)); } public static function segmentDistance(_arg1:Point, _arg2:Point, _arg3:Point):Number{ var _local4:Number = (_arg2.x - _arg1.x); var _local5:Number = (_arg2.y - _arg1.y); var _local6:Number = (_arg3.x - _arg1.x); var _local7:Number = (_arg3.y - _arg1.y); return ((((_local4 * _local7) - (_local5 * _local6)) / Math.sqrt(((_local4 * _local4) + (_local5 * _local5))))); } public static function randomAngle():Number{ return ((Math.random() * degree360)); } public static function vectorAngleFast(_arg1:Point, _arg2:Point):Number{ var _local3:Number = vectorDot(_arg1, _arg2); if (Math.abs(_local3) > 1){ _local3 = ((_local3)>0) ? 1 : -1; }; return (Math.acos(_local3)); } public static function vectorAngle(_arg1:Point, _arg2:Point):Number{ var _local3:Number = (_arg1.length * _arg2.length); var _local4:Number = ((_local3)!=0) ? (vectorDot(_arg1, _arg2) / _local3) : 1; return (Math.acos(_local4)); } public static function limitAngle(_arg1:Number):Number{ var _local2:Number = (_arg1 % degree360); _local2 = ((_local2)>0) ? ((_local2)>degree180) ? (_local2 - degree360) : _local2 : ((_local2)<-(degree180)) ? (_local2 + degree360) : _local2; return (_local2); } public static function vectorDot(_arg1:Point, _arg2:Point):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function toDegree(_arg1:Number):Number{ return ((_arg1 * toDeg)); } public static function deltaAngle(_arg1:Number, _arg2:Number):Number{ var _local3:Number = (_arg2 - _arg1); if (_local3 > degree180){ return ((_local3 - degree360)); }; if (_local3 < -(degree180)){ return ((_local3 + degree360)); }; return (_local3); } public static function toRadian(_arg1:Number):Number{ return ((_arg1 * toRad)); } public static function vectorCross(_arg1:Point, _arg2:Point):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function triangleHasPoint(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point):Boolean{ if (vectorCross(_arg3.subtract(_arg1), _arg4.subtract(_arg1)) <= 0){ if (vectorCross(_arg2.subtract(_arg3), _arg4.subtract(_arg3)) <= 0){ if (vectorCross(_arg1.subtract(_arg2), _arg4.subtract(_arg2)) <= 0){ return (true); }; return (false); } else { return (false); }; //unresolved jump }; return (false); } public static function equals(_arg1:Number, _arg2:Number, _arg3:Number=0):Boolean{ return ((Math.abs((_arg2 - _arg1)) <= _arg3)); } } }//package com.alternativagame.utility
Section 5
//MouseUtility (com.alternativagame.utility.MouseUtility) package com.alternativagame.utility { import flash.display.*; import flash.geom.*; public class MouseUtility { private static var _stage:Stage = null; public static function init(_arg1:Stage):void{ _stage = _arg1; } public static function localCoords(_arg1:DisplayObject):Point{ return (_arg1.globalToLocal(globalCoords())); } public static function globalCoords(_arg1:Boolean=true):Point{ var _local3:int; var _local4:int; var _local2:Point; if (_stage != null){ _local3 = _stage.mouseX; _local4 = _stage.mouseY; if (_arg1){ _local3 = ((_local3)<0) ? 0 : ((_local3)>_stage.stageWidth) ? _stage.stageWidth : _local3; _local4 = ((_local4)<0) ? 0 : ((_local4)>_stage.stageHeight) ? _stage.stageHeight : _local4; }; _local2 = new Point(_local3, _local4); } else { throw (new Error("MouseUtility don't have link to stage. Use MouseUtility.init(stage) before.")); }; return (_local2); } } }//package com.alternativagame.utility
Section 6
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "3.0.0.0"; public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } public function get measuredWidth():Number{ if (bitmapData){ return (bitmapData.width); }; return (0); } public function get measuredHeight():Number{ if (bitmapData){ return (bitmapData.height); }; return (0); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 7
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ var bitmapData = _arg1; var pixelSnapping = _arg2; var smoothing = _arg3; super(bitmapData, pixelSnapping, smoothing); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 8
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 9
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(_arg1:Point):Point; function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(_arg1:String):void; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(_arg1:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(_arg1:Point):Point; function get height():Number; function set blendMode(_arg1:String):void; function get parent():DisplayObjectContainer; function getBounds(_arg1:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(_arg1:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(_arg1:Number):void; function set accessibilityProperties(_arg1:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(_arg1:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(_arg1:Number):void; function set mask(_arg1:DisplayObject):void; function getRect(_arg1:DisplayObject):Rectangle; function get alpha():Number; function set transform(_arg1:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(_arg1:DisplayObject):Boolean; function set opaqueBackground(_arg1:Object):void; function set visible(_arg1:Boolean):void; function get mask():DisplayObject; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function get transform():Transform; function set filters(_arg1:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(_arg1:Number):void; function get stage():Stage; } }//package mx.core
Section 10
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 11
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 12
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var _local2:String; var _local4:String; var _local5:Array; var _local3:DisplayObject = _arg1; while (_local3 != null) { if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){ break; }; _local4 = _local3.name; if ((_local3 is IRepeaterClient)){ _local5 = IRepeaterClient(_local3).instanceIndices; if (_local5){ _local4 = (_local4 + (("[" + _local5.join("][")) + "]")); }; }; _local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2); _local3 = _local3.parent; }; return (_local2); } public static function createUniqueName(_arg1:Object):String{ if (!_arg1){ return (null); }; var _local2:String = getQualifiedClassName(_arg1); var _local3:int = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; var _local4:int = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 13
//Test3D (Test3D) package { import flash.events.*; import com.alternativagame.type.*; import flash.display.*; import flash.geom.*; import flash.filters.*; import com.alternativagame.test.*; import com.alternativagame.admin.*; import com.alternativagame.utility.*; import flash.ui.*; public class Test3D extends Sprite { private var container:Sprite; private var contrast:Number;// = 0.5 private var spotAlpha:Shape; private var spotRect:Rectangle; private var spot:BitmapData; private var light:BitmapData; private var coords:Point; private var spotContainer:Sprite; private var spotGreen:Shape; private var spotRed:Shape; private var diffuseBitmap:Bitmap; private var spotRadius:Number;// = 200 private var spotAndNormal:BitmapData; private var index:uint;// = 8 private var diffuse:BitmapData; private var color:RGB; private var lightBitmap:Bitmap; private var normal:BitmapData; private var needDraw:Boolean;// = false private var spotBlue:Shape; private var filter:ColorMatrixFilter; private static const diffuse1:BitmapData = new bmpDiffuse1().bitmapData; private static const diffuse2:BitmapData = new bmpDiffuse2().bitmapData; private static const diffuse3:BitmapData = new bmpDiffuse3().bitmapData; private static const diffuse4:BitmapData = new bmpDiffuse4().bitmapData; private static const diffuse5:BitmapData = new bmpDiffuse5().bitmapData; private static const diffuse6:BitmapData = new bmpDiffuse6().bitmapData; private static const diffuse7:BitmapData = new bmpDiffuse7().bitmapData; private static const diffuse8:BitmapData = new bmpDiffuse8().bitmapData; private static const normal2:BitmapData = new bmpNormal2().bitmapData; private static const normal4:BitmapData = new bmpNormal4().bitmapData; private static const normal5:BitmapData = new bmpNormal5().bitmapData; private static const normal6:BitmapData = new bmpNormal6().bitmapData; private static const normal7:BitmapData = new bmpNormal7().bitmapData; private static const normal1:BitmapData = new bmpNormal1().bitmapData; private static const bmpSphere:Class = Test3D_bmpSphere; private static const normal3:BitmapData = new bmpNormal3().bitmapData; private static const bmpDiffuse1:Class = Test3D_bmpDiffuse1; private static const bmpDiffuse2:Class = Test3D_bmpDiffuse2; private static const bmpDiffuse3:Class = Test3D_bmpDiffuse3; private static const bmpDiffuse4:Class = Test3D_bmpDiffuse4; private static const bmpDiffuse5:Class = Test3D_bmpDiffuse5; private static const bmpDiffuse6:Class = Test3D_bmpDiffuse6; private static const bmpDiffuse7:Class = Test3D_bmpDiffuse7; private static const bmpDiffuse8:Class = Test3D_bmpDiffuse8; private static const normal8:BitmapData = new bmpNormal8().bitmapData; private static const sphere:BitmapData = new bmpSphere().bitmapData; private static const bmpNormal1:Class = Test3D_bmpNormal1; private static const bmpNormal2:Class = Test3D_bmpNormal2; private static const bmpNormal3:Class = Test3D_bmpNormal3; private static const bmpNormal5:Class = Test3D_bmpNormal5; private static const bmpNormal7:Class = Test3D_bmpNormal7; private static const bmpNormal4:Class = Test3D_bmpNormal4; private static const bmpNormal6:Class = Test3D_bmpNormal6; private static const bmpNormal8:Class = Test3D_bmpNormal8; public function Test3D(){ color = new RGB(0xFFFFFF); coords = new Point(); spotRect = new Rectangle(); filter = new ColorMatrixFilter(); super(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.quality = StageQuality.LOW; stage.frameRate = 100; MouseUtility.init(stage); container = new Sprite(); addChild(container); FPS.init(this); var _local1:TestInfo = new TestInfo(); _local1.write("Mouse move — move light"); _local1.write("Mouse click — change light color"); _local1.write("Mouse wheel or +/- — change specularity"); _local1.write("Ctrl + mouse wheel or +/- — change spot size"); _local1.write("Space — change texture"); addChild(_local1); diffuseBitmap = new Bitmap(); container.addChild(diffuseBitmap); lightBitmap = new Bitmap(); lightBitmap.blendMode = BlendMode.HARDLIGHT; container.addChild(lightBitmap); spotContainer = new Sprite(); spotRed = new Shape(); spotGreen = new Shape(); spotBlue = new Shape(); spotAlpha = new Shape(); spotRed.blendMode = BlendMode.ADD; spotGreen.blendMode = BlendMode.ADD; spotBlue.blendMode = BlendMode.ADD; spotContainer.addChild(spotRed); spotContainer.addChild(spotGreen); spotContainer.addChild(spotBlue); var _local2:Matrix = new Matrix(); _local2.createGradientBox(100, 100, 0, -50, -50); spotRed.graphics.beginGradientFill(GradientType.LINEAR, [0xFF0000, 0], [1, 1], [0, 0xFF], _local2); spotRed.graphics.drawCircle(0, 0, 50); _local2.rotate((-(Math.PI) / 2)); spotGreen.graphics.beginGradientFill(GradientType.LINEAR, [0, 0xFF00], [1, 1], [0, 0xFF], _local2); spotGreen.graphics.drawCircle(0, 0, 50); spotBlue.graphics.beginGradientFill(GradientType.RADIAL, [0, 0xFF], [1, 1], [0, 0xFF], _local2); spotBlue.graphics.drawCircle(0, 0, 50); spotAlpha.graphics.beginGradientFill(GradientType.RADIAL, [0xFFFFFF, 0], [1, 1], [0, 0xFF], _local2); spotAlpha.graphics.drawCircle(0, 0, 50); setTexture(); calculateMatrix(); drawSpot(); drawLight(); onResize(null); stage.addEventListener(Event.ENTER_FRAME, onEnterFrame); stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); stage.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); stage.addEventListener(Event.RESIZE, onResize); } private function addRadius(_arg1:Number):void{ spotRadius = (spotRadius + _arg1); spotRadius = ((spotRadius)<10) ? 10 : ((spotRadius)>500) ? 500 : spotRadius; drawSpot(); needDraw = true; } private function drawLight():void{ light.fillRect(spotRect, 0); spotRect = new Rectangle(Math.floor((coords.x - spotRadius)), Math.floor((coords.y - spotRadius)), (spotRadius * 2), (spotRadius * 2)); spotAndNormal.copyPixels(normal, spotRect, new Point()); spotAndNormal.draw(spot, null, new ColorTransform(1, 1, 1, 0, 0, 0, 0, 0xFF), BlendMode.DIFFERENCE); spotAndNormal.applyFilter(spotAndNormal, spotAndNormal.rect, new Point(), filter); light.copyPixels(spotAndNormal, spotAndNormal.rect, new Point(spotRect.x, spotRect.y), spot, new Point()); } private function onEnterFrame(_arg1:Event):void{ if (needDraw){ drawLight(); needDraw = false; }; } private function onKeyDown(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case Keyboard.SPACE: index = ((index)<8) ? (index + 1) : 1; setTexture(); needDraw = true; break; case 107: case 187: if (_arg1.ctrlKey){ addRadius(20); } else { addContrast(0.1); }; break; case 109: case 189: if (_arg1.ctrlKey){ addRadius(-20); } else { addContrast(-0.1); }; break; }; } private function calculateMatrix():void{ var _local1:Number = (-1 - contrast); var _local2:Number = (-1 - contrast); var _local3:Number = 0; var _local4:Number = (128 / contrast); var _local5:Array = [_local1, _local2, _local3, 0, _local4, _local1, _local2, _local3, 0, _local4, _local1, _local2, _local3, 0, _local4, 0, 0, 0, 1, 0]; filter.matrix = _local5; } private function onMouseDown(_arg1:MouseEvent):void{ color = RGB.random(); lightBitmap.transform.colorTransform = new ColorTransform((color.red / 0xFF), (color.green / 0xFF), (color.blue / 0xFF)); } private function setTexture():void{ switch (index){ case 1: diffuse = diffuse1; normal = normal1; break; case 2: diffuse = diffuse2; normal = normal2; break; case 3: diffuse = diffuse3; normal = normal3; break; case 4: diffuse = diffuse4; normal = normal4; break; case 5: diffuse = diffuse5; normal = normal5; break; case 6: diffuse = diffuse6; normal = normal6; break; case 7: diffuse = diffuse7; normal = normal7; break; case 8: diffuse = diffuse8; normal = normal8; break; }; diffuseBitmap.bitmapData = diffuse; diffuseBitmap.x = (-(diffuse.width) / 2); diffuseBitmap.y = (-(diffuse.height) / 2); if ((((((light == null)) || (!((light.width == normal.width))))) || (!((light.height == normal.height))))){ light = new BitmapData(normal.width, normal.height, false, 0); lightBitmap.bitmapData = light; lightBitmap.x = (-(normal.width) / 2); lightBitmap.y = (-(normal.height) / 2); }; } private function addContrast(_arg1:Number):void{ contrast = (contrast * (1 + _arg1)); contrast = ((contrast)<0.1) ? 0.1 : ((contrast)>1.5) ? 1.5 : contrast; calculateMatrix(); needDraw = true; } private function drawSpot():void{ var _local1:Matrix = new Matrix((spotRadius / 50), 0, 0, (spotRadius / 50), spotRadius, spotRadius); spotAndNormal = new BitmapData((spotRadius * 2), (spotRadius * 2), false, 0); spotAndNormal.draw(spotAlpha, _local1); spot = new BitmapData((spotRadius * 2), (spotRadius * 2), true, 0); spot.draw(spotContainer, _local1); spot.copyChannel(spotAndNormal, spotAndNormal.rect, new Point(), BitmapDataChannel.RED, BitmapDataChannel.ALPHA); } private function onResize(_arg1:Event):void{ container.x = (stage.stageWidth / 2); container.y = (stage.stageHeight / 2); } private function onMouseWheel(_arg1:MouseEvent):void{ if (_arg1.ctrlKey){ addRadius((_arg1.delta * 10)); } else { addContrast((_arg1.delta / 20)); }; } private function onMouseMove(_arg1:MouseEvent):void{ coords = MouseUtility.localCoords(lightBitmap); needDraw = true; } } }//package
Section 14
//Test3D_bmpDiffuse1 (Test3D_bmpDiffuse1) package { import mx.core.*; public class Test3D_bmpDiffuse1 extends BitmapAsset { } }//package
Section 15
//Test3D_bmpDiffuse2 (Test3D_bmpDiffuse2) package { import mx.core.*; public class Test3D_bmpDiffuse2 extends BitmapAsset { } }//package
Section 16
//Test3D_bmpDiffuse3 (Test3D_bmpDiffuse3) package { import mx.core.*; public class Test3D_bmpDiffuse3 extends BitmapAsset { } }//package
Section 17
//Test3D_bmpDiffuse4 (Test3D_bmpDiffuse4) package { import mx.core.*; public class Test3D_bmpDiffuse4 extends BitmapAsset { } }//package
Section 18
//Test3D_bmpDiffuse5 (Test3D_bmpDiffuse5) package { import mx.core.*; public class Test3D_bmpDiffuse5 extends BitmapAsset { } }//package
Section 19
//Test3D_bmpDiffuse6 (Test3D_bmpDiffuse6) package { import mx.core.*; public class Test3D_bmpDiffuse6 extends BitmapAsset { } }//package
Section 20
//Test3D_bmpDiffuse7 (Test3D_bmpDiffuse7) package { import mx.core.*; public class Test3D_bmpDiffuse7 extends BitmapAsset { } }//package
Section 21
//Test3D_bmpDiffuse8 (Test3D_bmpDiffuse8) package { import mx.core.*; public class Test3D_bmpDiffuse8 extends BitmapAsset { } }//package
Section 22
//Test3D_bmpNormal1 (Test3D_bmpNormal1) package { import mx.core.*; public class Test3D_bmpNormal1 extends BitmapAsset { } }//package
Section 23
//Test3D_bmpNormal2 (Test3D_bmpNormal2) package { import mx.core.*; public class Test3D_bmpNormal2 extends BitmapAsset { } }//package
Section 24
//Test3D_bmpNormal3 (Test3D_bmpNormal3) package { import mx.core.*; public class Test3D_bmpNormal3 extends BitmapAsset { } }//package
Section 25
//Test3D_bmpNormal4 (Test3D_bmpNormal4) package { import mx.core.*; public class Test3D_bmpNormal4 extends BitmapAsset { } }//package
Section 26
//Test3D_bmpNormal5 (Test3D_bmpNormal5) package { import mx.core.*; public class Test3D_bmpNormal5 extends BitmapAsset { } }//package
Section 27
//Test3D_bmpNormal6 (Test3D_bmpNormal6) package { import mx.core.*; public class Test3D_bmpNormal6 extends BitmapAsset { } }//package
Section 28
//Test3D_bmpNormal7 (Test3D_bmpNormal7) package { import mx.core.*; public class Test3D_bmpNormal7 extends BitmapAsset { } }//package
Section 29
//Test3D_bmpNormal8 (Test3D_bmpNormal8) package { import mx.core.*; public class Test3D_bmpNormal8 extends BitmapAsset { } }//package
Section 30
//Test3D_bmpSphere (Test3D_bmpSphere) package { import mx.core.*; public class Test3D_bmpSphere extends BitmapAsset { } }//package

Library Items

Symbol 1 Bitmap {Test3D_bmpDiffuse4}
Symbol 2 Bitmap {Test3D_bmpDiffuse3}
Symbol 3 Bitmap {Test3D_bmpDiffuse2}
Symbol 4 Bitmap {Test3D_bmpDiffuse1}
Symbol 5 Bitmap {Test3D_bmpDiffuse8}
Symbol 6 Bitmap {Test3D_bmpDiffuse7}
Symbol 7 Bitmap {Test3D_bmpDiffuse6}
Symbol 8 Bitmap {Test3D_bmpDiffuse5}
Symbol 9 Bitmap {Test3D_bmpNormal5}
Symbol 10 Bitmap {Test3D_bmpNormal4}
Symbol 11 Bitmap {Test3D_bmpNormal7}
Symbol 12 Bitmap {Test3D_bmpNormal6}
Symbol 13 Bitmap {Test3D_bmpNormal1}
Symbol 14 Bitmap {Test3D_bmpSphere}
Symbol 15 Bitmap {Test3D_bmpNormal3}
Symbol 16 Bitmap {Test3D_bmpNormal2}
Symbol 17 Bitmap {Test3D_bmpNormal8}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1457 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
SerialNumber (41)Timeline Frame 1

Labels

"Test3D"Frame 1




http://swfchan.com/4/16494/info.shtml
Created: 25/3 -2019 06:07:09 Last modified: 25/3 -2019 06:07:09 Server time: 08/05 -2024 03:25:19