Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   PaperVision 3D Карусель из картинок. (http://www.flasher.ru/forum/showthread.php?t=119838)

rispekt 02.01.2009 22:31

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
- Не совсем понимаю что представляют из себя контейнеры, в которые подгружаются картинки и какие действия можно с ними производить.

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

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

Obi 03.01.2009 02:14

http://silin.fatal.ru/#AS3/five3d/ring


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

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