Показать сообщение отдельно
Старый 07.03.2012, 19:55
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 5  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
redefy, круто что-то появилось на экране
Код AS3:
package {
 
	import away3d.cameras.*;import away3d.containers.*;import away3d.controllers.*;import away3d.debug.*;
	import away3d.entities.*;import away3d.extrusions.*;import away3d.lights.*;import away3d.materials.*;
	import away3d.materials.lightpickers.*;import away3d.materials.methods.*;import away3d.primitives.*;
	import away3d.textures.*;
	//import com.bit101.components.Label;
 
	import flash.display.*;import flash.events.*;import flash.filters.*;import flash.geom.*;
	import flash.net.*;import flash.ui.*;import flash.utils.*;import flash.events.*;
 
	/**
	 * HelloAlternativa3DtoAway3d "Hello world!" application. 
	 * Создание простейшего трёхмерного приложения.
	 */
	public class HelloAlternativa3DtoAway3d extends Sprite {
		private var rootContainer:ObjectContainer3D = new ObjectContainer3D();
		private var camera:Camera3D;
		private var stage3D:Stage3D;
		private var box:Mesh;
		private var view:View3D;
 
		public function HelloAlternativa3DtoAway3d() {
			// Ресурсы
 
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
 
			stage3D = stage.stage3Ds[0];
			stage3D.addEventListener(Event.CONTEXT3D_CREATE, onContextCreate);
			stage3D.requestContext3D();
		}
 
		private function onContextCreate(e:Event):void {
			var scene:Scene3D = new Scene3D();
			//setup camera for optimal shadow rendering
			camera = new Camera3D();
			camera.lens.far = 2100;
			view = new View3D();
			view.scene = scene;
			view.camera = camera;
			addChild(view);
 
			camera.rotationX = -120*Math.PI/180;
			camera.z = -800;
			camera.y = 400;
			rootContainer.addChild(camera);
 
			var directionalLight:DirectionalLight = new DirectionalLight(-1, -1, 1);
			directionalLight.y = 20000;
			directionalLight.z = -20000;
			directionalLight.x = 20000;
			//directionalLight.intensity = 1;//кто-то знает 
			directionalLight.lookAt(new Vector3D(2000, 0, 0));
 
			//нач свет и тени
			var sunLight:DirectionalLight = directionalLight;
			var lightPicker:StaticLightPicker = new StaticLightPicker([sunLight]);//[sunLight, skyLight]);
			var filteredShadowMapMethod:FilteredShadowMapMethod = new FilteredShadowMapMethod(sunLight);
			var material:TextureMaterial = new TextureMaterial(new BitmapTexture(new BitmapData(2, 2, false, 0xFF0000)));// , true));
			material.lightPicker = lightPicker;
			material.shadowMethod = filteredShadowMapMethod;
			material.ambient = 0.5;
			//кон свет и тени
 
			var boxG:CubeGeometry = new CubeGeometry(250, 250, 250, 1, 1, 1);
			box = new Mesh(boxG);
			box.y = 200;
			box.material = material;
 
			rootContainer.addChild(box);
			var plane:Mesh = new Mesh(new PlaneGeometry(1000, 1000));
			plane.material = material;
 
			rootContainer.addChild(plane);
			scene.addChild(rootContainer);
 
			stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);//Away3d Alternativa 
		}
 
		private function onEnterFrame(e:Event):void {
			box.rotationY -= 1; //в градусах
			view.render();
		}
 
	}
}


Не понятно, что за фигура, явно не куб, но крутится, теней по прежнему нет, по поводу, что не надо запрашивать контекст - не понял, как сделать "не_надо".
__________________
Гоночка