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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2009, 14:04
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 1  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
По умолчанию Ошибка дебагера Помогите устранить

Следующая ошибка TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать CubeWithDifferentSides_backAsset@42831f1 в flash.display.BitmapData.
at CubeWithDifferentSides()[C:\Documents and Settings\User\Рабочий стол\MagicCube\CubeWithDifferentSides.as:45]

Код не работает,только чёрный экран на странице, при компиляции также ошибок не было!
Но вот только дебагер замечает что что-то не так..

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

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Если даже русский текст ошибки Вам непонятен, то тут ничем не поможешь.
__________________
Griver

Старый 15.01.2009, 15:13
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 3  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
и что мне делать?
проблему решать же надо!

Добавлено через 2 минуты
Код AS3:
package
{
	import flash.display.Bitmap;
	import flash.events.Event;
 
	import org.papervision3d.lights.PointLight3D;
	import org.papervision3d.materials.BitmapMaterial;
	import org.papervision3d.materials.shaders.PhongShader;
	import org.papervision3d.materials.shaders.ShadedMaterial;
	import org.papervision3d.materials.shaders.Shader;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.primitives.Cube;
	import org.papervision3d.view.BasicView;
 
	[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
	public class CubeWithDifferentSides extends BasicView
	{
		[Embed(source="assets/back.jpg")]
		private var backAsset:Class;
 
		[Embed(source="assets/bottom.jpg")]
		private var bottomAsset:Class;
 
		[Embed(source="assets/front.jpg")]
		private var frontAsset:Class;
 
		[Embed(source="assets/left.jpg")]
		private var leftAsset:Class;
 
		[Embed(source="assets/right.jpg")]
		private var rightAsset:Class;
 
		[Embed(source="assets/top.jpg")]
		private var topAsset:Class;
 
		private var light:PointLight3D;
		private var cube:Cube;
 
		public function CubeWithDifferentSides()
		{
			var materialsList:MaterialsList = new MaterialsList();
 
			light = new PointLight3D();
 
			materialsList.addMaterial(new BitmapMaterial( new backAsset(), true ), "back");
			materialsList.addMaterial(new BitmapMaterial( new bottomAsset(), true ), "bottom");
			materialsList.addMaterial(new BitmapMaterial( new frontAsset(), true ), "front");
			materialsList.addMaterial(new BitmapMaterial( new leftAsset(), true ), "left");
			materialsList.addMaterial(new BitmapMaterial( new rightAsset(), true ), "right");
			materialsList.addMaterial(new BitmapMaterial( new topAsset(), true ), "top");
 
			cube = new Cube(materialsList, 500, 500, 500, 5, 5, 5);
			scene.addChild(cube);
                        cube.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onCubeClick);
 
			startRendering();
		}
 
 
		override protected function onRenderTick(event:Event=null):void
		{
			cube.rotationY += (viewport.containerSprite.mouseX - cube.rotationY) * .1;
			cube.rotationX += (viewport.containerSprite.mouseY - cube.rotationX) * .1;
			renderer.renderScene(scene, camera, viewport);
		}
 
                private function onCubeClick(e:InteractiveScene3DEvent):void {
                         switch(e.face3d.material.name) {
      case 'front':
         navigateToURL(new URLRequest('http://mySite.com/1'));
      break;
      case 'back':
         navigateToURL(new URLRequest('http://mySite.com/2'));
      break;
      case 'left':
         navigateToURL(new URLRequest('http://mySite.com/3'));
      break;
      case 'right':
         navigateToURL(new URLRequest('http://mySite.com/4'));
      break;
   }
 
                }
	}
}

Старый 15.01.2009, 15:36
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 4  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Код AS3:
materialsList.addMaterial(new BitmapMaterial( new backAsset(), true ), "back");
вот здесь видимо вылазит ошибка и _русским языком_ вам пишет "не могу преобразовать CubeWithDifferentSides_backAsset@42831f1 в flash.display.BitmapData."
посмотрите, какие параметры (тип) принимает BitmapMaterial, и посмотрите что на самом деле вы туда передаёте

Старый 15.01.2009, 15:39
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 5  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
а как это сделать?

Старый 15.01.2009, 15:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от MafiaBoy Посмотреть сообщение
а как это сделать?
Документацию к pv3d почитать.

Старый 15.01.2009, 15:57
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 7  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
спасибо господа
я решил, но вот теперь только ссылки на гранях не работают...
Это почему?

Добавлено через 31 минуту
Может я чтоөто упустил, но щелчка по грани не происходит!

Добавлено через 47 минут
Код AS1/AS2:
private function onCubeClick(event:MouseEvent):void {
                         switch(e.face3d.material.name) {
		case 'back':
			navigateToURL(new URLRequest('http://ebay.com/'));
		break;
		case 'front':
			navigateToURL(new URLRequest('http://google.com/'));
		break;
		case 'left':
			navigateToURL(new URLRequest('http://myspace.com/'));
		break;
		case 'right':
			navigateToURL(new URLRequest('http://ebay.com/'));
		break;
		}
	}
я изменил код и при компиляции получаю следующую ошибку
C:\Documents and Settings\User\Рабочий стол\MagicCube\CubeWithDifferentSides.as(72): col: 33 Error: Обращение несуществующего свойства e.
switch(e.face3d.material.name) {

Старый 15.01.2009, 16:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Потому что внимательнее надо писать код и понимать, что этот код делает.

Старый 15.01.2009, 16:52
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 9  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
ну я школьник я же учусь...
что следует использовать за место e.face3d.material.name

Старый 15.01.2009, 16:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну вы вообще понимаете, что делает этот switch? Что вообще это за обработчик, который вы написали?
Код нужно понимать, а не бездумно втыкать его куда-попало, даже не разбираясь в нём.

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

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

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


 


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


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