⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3dshudu.as

📁 在3d空间中玩数独。使用papervision3d实现。要用flash cs3或flash cs4编译。
💻 AS
字号:
package {
import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*;  
import org.papervision3d.cameras.*; 
import org.papervision3d.materials.*; 
import org.papervision3d.objects.*; 
import org.papervision3d.scenes.*; 
import flash.text.TextField; 
import flash.text.TextFormat;  
[SWF(backgroundColor="#000000", frameRate="60", width="400", height="400")] 
public class T5step2 extends Sprite { 
 private var container:Sprite; 
 private var scene:MovieScene3D; 
 private var camera:Camera3D; 
 private var length:int=50; 
 private var offset:int=20;  
 private var numBDs:Array = new Array();   
 public function T5step2()  { 
  //背景 
  var bg:Sprite = new Sprite();   
addChild(bg);  
 bg.graphics.beginFill(0x999999); 
 bg.graphics.drawRect(0, 0, 400, 400); 
 bg.graphics.endFill(); 
     //制作数字贴图材质 
 var tf:TextFormat = new TextFormat(); 
 tf.size = 24;  
 tf.bold = true;  
 for(var i:int=0; i<=9; i++){   
 var numSprite:Sprite = new Sprite();    numSprite.graphics.lineStyle(1);  
numSprite.graphics.drawRect(0, 0, length, length);  
var numTxt:TextField = new TextField();   
numTxt.text = i.toString();  
numTxt.setTextFormat(tf);   
numSprite.addChild(numTxt);      
var bd:BitmapData = new BitmapData(length, length, false, 0xffffffff);    
bd.draw(numSprite);    
numBDs.push(bd);   } 
// initialize the objects 
  init3D();  
// add a listener for the 3D loop 
 addEventListener(Event.ENTER_FRAME, loop3D);  }   
 private function init3D():void{    
 container = new Sprite();  
 addChild(container);     
 container.x = 200;  
 container.y = 200;    
 scene = new MovieScene3D(container);    
 camera = new Camera3D(); 
 camera.z = -2000;  
 camera.zoom = 10; 
 camera.focus = 100;  
 for(var idxX:int=0; idxX<9; idxX++){  
  for(var idxY:int=0; idxY<9; idxY++){  
   for(var idxZ:int=0; idxZ<9; idxZ++){      
     var num:int = (idxX + idxY + idxZ) % 9 + 1;     
 var cube:DisplayObject3D = new Cube(new BitmapMaterial(numBDs[num]), length, length, length, 1, 1, 1);          
  cube.x = (idxX-4) * (length+offset);   
   cube.y = (idxY-4) * (length+offset);   
   cube.z = (idxZ-4) * (length+offset);     
 scene.addChild(cube, "cube"+idxX+idxY+idxZ);            //cube.container.alpha = 0.9; 
    }   
 }  
 } 
 }   
 private function loop3D(event:Event):void{   
 camera.hover(0, container.mouseX / 20, container.mouseY / 10);   scene.renderCamera(camera); 
 }
 }
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -