Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.02.2012, 20:49
Sated вне форума Посмотреть профиль Отправить личное сообщение для Sated Найти все сообщения от Sated
  № 1  
Ответить с цитированием
Sated

Регистрация: Jan 2012
Сообщений: 25
Tools Трехмерный сайт

Доброго времени суток

Хочу написать сайт, который представляет собой куб изнутри, на гранях interactive MovieMaterial, чтобы можно было более удобно с ним управляться при просмотре информации, использую Away3D 4beta, Flex SDK 4.6, FlashDevelop и компилю под Flash Player 11.1, чтобы не было ограничений по картинке 2880*2880, все пишется с использованием ActionScript3.0. Есть главный модуль main.as, основной класс SatedClass.as и его наследник Skybook.as:

Код AS3:
import away3d.cameras.Camera3D;
	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
 
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class SatedClass extends Sprite
	{
		protected var camera: Camera3D;
		protected var scene: Scene3D;
		protected var view: View3D;
 
		public function SatedClass()
		{
			initEngine();
			initListener();
			Draw();
		}
 
		protected function initEngine(): void
		{
			view = new View3D();
			view.antiAlias = 4;
			scene = view.scene;
			camera = view.camera;			
			addChild(view);
			view.x = stage.stageWidth / 2;
			view.y = stage.stageHeight / 2;
			view.z = 2000;
		}
 
		protected function initListener(): void
		{
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
 
		protected function onEnterFrame(event: Event): void
		{
			view.render();
		}
 
		protected function Draw(): void {}
 
	}
Код AS3:
import away3d.core.base.Object3D;
	import away3d.primitives.Skybox;
	import away3d.cameras.Camera3D;
	import away3d.sprites.Sprite3D;
	import flash.events.*;
	import flash.display.*;
	import away3d.materials.MovieMaterial;
	import away3d.core.utils.Cast;
 
	public class Skybook extends SatedClass
	{
		[Embed(source="../1.swf", mimeType="application/octet-stream")]
		private var index1:Class;
		[Embed(source="../2.swf", mimeType="application/octet-stream")]
		private var index2:Class;
		[Embed(source="../3.swf", mimeType="application/octet-stream")]
		private var index3:Class;
		[Embed(source="../4.swf", mimeType="application/octet-stream")]
		private var index4:Class;
		[Embed(source="../5.swf", mimeType="application/octet-stream")]
		private var index5:Class;
		[Embed(source="../6.swf", mimeType="application/octet-stream")]
		private var index6:Class;
 
		protected var myskyBox: Skybox;
		protected var up, down, right, left: Boolean;
		protected var roundObject:Shape = new Shape();
 
		[SWF(width=600, height=600, backgroundColor="#000000", frameRate="90")]
 
		public function Skybook()
		{
			super();
		}
 
		protected override function Draw(): void
		{
			super.Draw();
			myskyBox = new Skybox(
								new MovieMaterial(new index1(),
												  {
													  interactive: true,
													  smooth: false
												  }
												  ),
								new MovieMaterial(new index2(),
												  {
													  interactive: true,
													  smooth: false
												  }
												  ),
								new MovieMaterial(new index3(),
												  {
													  interactive: true,
													  smooth: false
												  }
												  ),
								new MovieMaterial(new index4(),
												  {
													  interactive: true,
													  smooth: false
												  }
												  ),
								new MovieMaterial(new index5(),
												  {
													  interactive: true,
													  smooth: false
												  }
												  ),
								new MovieMaterial(new index6(),
												  {
													  interactive: true,
													  smooth: false
												  }
												  )
								);
 
			scene.addChild(myskyBox);
		}
 
		protected override function initListener(): void
		{
			super.initListener();
 
			this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
			stage.addEventListener(KeyboardEvent.KEY_DOWN,OnKeyDown);
		}
 
		protected function OnKeyDown(e: KeyboardEvent): void
		{
			switch (e.keyCode)
			{
				case 38: //UP ARROW
					up = true;
					break;
				case 40: //DOWN ARROW
					down = true;
					break;
				case 37: //LEFT ARROW
					left = true;					
					break;
				case 39: //RIGHT ARROW
					right = true;					
					break;
			}
		}
 
		protected override function onEnterFrame(event: Event): void
		{
			view.render();
 
			if (up)
			{
				up = false;
 
				scene.rotationX += 9;
			}
 
			if (down)
			{
				down = false;
 
				scene.rotationX -= 9;
			}
 
			if (left)
			{
				left = false;
 
				scene.rotationY += 9;
			}
 
			if (right)
			{
				right = false;
 
				scene.rotationY -= 9;
			}
		}
	}
Все бы ничего, вот только все компилируется, ошибок нет никаких при компиляции, но ничего не показывается, чистый белый экран Flash Playera...не могли бы подсказать, в чем может быть проблемка?

Добавлено через 1 минуту
и еще, я думаю, что нет разницы в том, что все ли файлы классов хранятся в папке проекта или нет, у меня проект лежит в одном месте, а SatedClass.as и его наследник Skybook.as на другом логическом диске

Старый 22.02.2012, 21:57
redefy вне форума Посмотреть профиль Отправить личное сообщение для redefy Посетить домашнюю страницу redefy Найти все сообщения от redefy
  № 2  
Ответить с цитированием
redefy
 
Аватар для redefy

Регистрация: Mar 2011
Сообщений: 58
Цитата:
использую Away3D 4beta
Ага, как же... Здесь Away3D 4.0 даже близко не пахнет....

Старый 22.02.2012, 22:26
Sated вне форума Посмотреть профиль Отправить личное сообщение для Sated Найти все сообщения от Sated
  № 3  
Ответить с цитированием
Sated

Регистрация: Jan 2012
Сообщений: 25
Цитата:
Ага, как же... Здесь Away3D 4.0 даже близко не пахнет....
а как исправить? мануала не нашел по использованию away3d 4, пробовал для версии away3d 3.6, все равно не показывает, в самом проекте flashdevelop главным файлом является main.swf, приведенные выше файлы просто присоединены, в Flash Professional CS 5.5 просто открывал и говорил где мои файлы *.as использовать, в каком *.fla, а тут я не знаю, как их использовать, видимо мои добавленные в папку src проекта файлы SatedClass.as и его наследник Skybook.as просто не используются и не вызываются, но как исправить я тоже не знаю...

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.