Advertisement
Rolpege

Untitled

Oct 26th, 2011
546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.aberustudios.kodama
  2. {
  3.     import de.nulldesign.nd2d.display.World2D;
  4.     import flash.display.Stage3D;
  5.     import flash.display.StageAlign;
  6.     import flash.display.StageScaleMode;
  7.     import flash.display3D.Context3DRenderMode;
  8.     import flash.events.Event;
  9.     /**
  10.      * ...
  11.      * @author Rolpege
  12.      */
  13.     public class Kodama extends World2D
  14.     {
  15.         public static const WIDTH:Number = 800;
  16.         public static const HEIGHT:Number = 600;
  17.  
  18.         protected var firstResizeTime:Boolean = true;
  19.  
  20.         public function Kodama()
  21.         {
  22.             super(Context3DRenderMode.AUTO);
  23.  
  24.             antialiasing = 2;
  25.             //setActiveScene and start here
  26.         }
  27.  
  28.         override protected function addedToStage(event:Event):void
  29.         {
  30.             stage.align=StageAlign.TOP_LEFT;
  31.             stage.scaleMode=StageScaleMode.NO_SCALE;
  32.  
  33.             var contextMenu:ContextMenu = new ContextMenu();
  34.             contextMenu.hideBuiltInItems();
  35.             this.contextMenu = contextMenu;
  36.  
  37.             super.addedToStage(event);
  38.         }
  39.  
  40.         override protected function resizeStage(e:Event = null):void
  41.         {
  42.             if (firstResizeTime)
  43.             {
  44.                 if(!context3D) return;
  45.                 var rect:Rectangle = bounds ? bounds : new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
  46.                 stage.stage3Ds[stageID].x = rect.x;
  47.                 stage.stage3Ds[stageID].y = rect.y;
  48.  
  49.                 context3D.configureBackBuffer(rect.width, rect.height, antialiasing, false);
  50.                 camera.resizeCameraStage(rect.width, rect.height);
  51.             }
  52.             else
  53.             {
  54.                 var sx:Number = stage.stageWidth / WIDTH;
  55.                 var sy:Number = stage.stageHeight / HEIGHT;
  56.  
  57.                 var zoom:Number = sx > sy ? sy : sx;
  58.                 context3D.configureBackBuffer(WIDTH * zoom, HEIGHT * zoom, antialiasing, false);
  59.  
  60.                 var stage3D:Stage3D = stage.stage3Ds[stageID];
  61.                 stage3D.x = (stage.stageWidth - (WIDTH * zoom)) * 0.5;
  62.                 stage3D.y = (stage.stageHeight - (HEIGHT * zoom)) * 0.5;
  63.             }
  64.  
  65.             firstResizeTime = false;
  66.         }
  67.     }
  68.  
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement