Показать сообщение отдельно
Старый 02.01.2009, 22:31
rispekt вне форума Посмотреть профиль Отправить личное сообщение для rispekt Найти все сообщения от rispekt
  № 1  
Ответить с цитированием
rispekt

Регистрация: May 2007
Сообщений: 32
По умолчанию PaperVision 3D Карусель из картинок.

Здравствуйте!
Имеется вот такая карусель: http://theflashblog.com/?p=293

Код:
import org.papervision3d.scenes.*;
import org.papervision3d.objects.*;
import org.papervision3d.cameras.*;
import org.papervision3d.materials.*;
import caurina.transitions.*;

var numOfItems:int = 10;
var radius:Number = 800;
var anglePer:Number = (Math.PI*2) / numOfItems;
var dsf:DropShadowFilter = new DropShadowFilter(10, 45, 0x000000, 0.3, 6, 6, 1, 3);

var con:Sprite = new Sprite();
con.x = stage.stageWidth * 0.5;
con.y = stage.stageHeight * 0.5;
addChild(con);

var scene:MovieScene3D = new MovieScene3D(con);
var cam:Camera3D = new Camera3D();
cam.zoom = 2;

for(var i:uint=1; i<=numOfItems; i++)
{
	var bam:BitmapAssetMaterial = new BitmapAssetMaterial("s" + i);
	bam.oneSide = false;
	bam.smooth = true;
	var p:Plane = new Plane(bam, 162, 230, 2, 2);
	p.x = Math.cos(i*anglePer) * radius;
	p.z = Math.sin(i*anglePer) * radius;
	p.rotationY = (-i*anglePer) * (180/Math.PI) + 270;
	scene.addChild(p);
	p.container.filters = [dsf];
}

var angleX:Number = anglePer;
var dest:Number = 1;

right.addEventListener(MouseEvent.CLICK, moveRight);
left.addEventListener(MouseEvent.CLICK, moveLeft);
this.addEventListener(Event.ENTER_FRAME, render);

function moveRight(e:Event):void
{
	dest++;
	Tweener.addTween(this, {angleX:dest*anglePer, time:0.5});
}

function moveLeft(e:Event):void
{
	dest--;
	Tweener.addTween(this, {angleX:dest*anglePer, time:0.5});
}

function render(e:Event):void
{
	cam.x = Math.cos(angleX) * 1000;					 
	cam.z = Math.sin(angleX) * 1000;
	scene.renderCamera(cam);
}
Мне нужно сделать так, чтобы при нажатии на разные картинки происходили определенные действия.
Лучший вариант - это присвоить каждой картинке номер, на который будет реагировать функция обработки нажатия мышкой на картинку.
Подскажите, пожалуйста как это реализовать.
В чем трудности:
- Я плохо знаком с AS3
- Не совсем понимаю что представляют из себя контейнеры, в которые подгружаются картинки и какие действия можно с ними производить.

Максимум, чего у меня получилось добиться - это чтобы при нажатии на любую картинку происходило одно и то же

Прошу прощения, если ошибся с разделом.