This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡛⠛⠷⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⠀⠀⠀⠙⠻⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⠟⠀⠀⠀⠀⠀⠀⠈⣹⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⣠⡴⠞⠉⠈⠻⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣿⡧⠤⠤⠶⠖⠋⠉⠀⠀⠀⠀⠀⢹⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠞⠉⠀⠉⠙⠻⣶⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⢀⣠⡴⠞⠉⠀⢀⣀⣀⣀⠀⠀⠘⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⣆⣴⠟⠉⠉⠉⠛⢶⡖⠛⠉⠁⠀⠀⢠⡾⠋⠉⠈⠉⠻⣦⣰⣿⣀⠀⠀⠀⠀⠀⠀⠀⠀ | |
⠀⠀⠀⠀⠀⠀⢀⣤⣾⠟⠋⡿⠁⢀⣾⣿⣷⣄⠈⢿⡀⠀⠀⠀⢠⡟⠀⢠⣾⣿⣷⡄⠘⣿⠉⠛⢿⣦⡀⠀⠀⠀⠀⠀ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// simple easy shared access to callback and current attempted profile | |
private static var supportsCallback:Function; | |
private static var checkingProfile:String; | |
public static function supportsProfile(nativeStage:flash.display.Stage, profile:String, callback:Function):void | |
{ | |
supportsCallback = callback; | |
checkingProfile = profile; | |
if (nativeStage.stage3Ds.length > 0) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static function isPointInPolygon(point:Vector3D, polygon:Vector.<Vector3D>):Boolean { | |
var i:int, j:int, nvert:int = polygon.length; | |
var result:Boolean = false; | |
for (i = 0, j = nvert - 1; i < nvert; j = i++) { | |
if (((polygon[i].z) >= point.z != (polygon[j].z >= point.z)) && | |
(point.x <= (polygon[j].x - polygon[i].x) * (point.z - polygon[i].z) / (polygon[j].z - polygon[i].z) + polygon[i].x)) | |
result = !result; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private function getStagePosition(cam:Camera3D, obj:ObjectContainer3D):Vector3D { | |
var camT:Matrix3D = cam.viewProjection.clone(); | |
var planT:Matrix3D = obj.sceneTransform.clone(); | |
planT.appendTranslation(0, obj.maxY, 0); | |
camT.prepend(planT); | |
var pv:Vector3D = Utils3D.projectVector(camT, new Vector3D()); | |
pv.x = (pv.x * stage.stageWidth / 2) + stage.stageWidth / 2; | |
pv.y = (pv.y * -1 * stage.stageHeight / 2) + stage.stageHeight / 2; | |
return pv; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static function generateRandomResultBasedOnWeights(weights:Array):int { | |
weights.sort(Array.DESCENDING); | |
var sum:Number = sumArrayElements(weights); | |
var r:Number = Math.random() * sum; | |
var result:int = -1; | |
for (var i:uint = 0; i < weights.length; i++) { | |
var item:int = weights[i]; | |
if (r < item) | |
return result; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package { | |
import away3d.cameras.Camera3D; | |
import away3d.cameras.lenses.PerspectiveLens; | |
import away3d.containers.Scene3D; | |
import away3d.containers.View3D; | |
import away3d.core.managers.Stage3DManager; | |
import away3d.core.managers.Stage3DProxy; | |
import away3d.debug.AwayStats; | |
import away3d.events.Stage3DEvent; | |
import away3d.lights.DirectionalLight; |