3D Carousel

Hi everyone,
Please help. I have script for a 3d Carousel everything works. But I want to get the images to stay facing the front.
I can change most things but am having trouble with getting the images front facing.
The property y.rotation I need to change is not in the same fuction as so I can't dinamically change the value using the eventlistner.
I have tried to do this but have had no success.
p.rotationY = 90; is the value I need to change dynamically but it is in the cacheimages section function initLoadCache(evt:Event):void. I need to be able to get this into the function render(e:Event):void from the addEventListener(Event.ENTER_FRAME, render); which is also in the function initLoadCache(evt:Event):void {
I think I can figure the rest out but need some help to figure this out.  
Script:
var scene:Scene3D;
var cam:Camera3D;
var _numActiveImage:uint;
var p_link:Boolean;
var total:Number;
var url_thumb:Array;
var container:Sprite;
container= new Sprite();
addChild(container);
var anglePer:Number;
var p_dict:Dictionary
var pc:Plane
var numOfRotations:Number = 1;
var yPos:Number;
yPos= 0;
var angle:Number;
angle= 0;
var angle2:Number;
angle2= 0;
var camX:Number;
///////////////////////////////////////////////////////// removeAllChildren ////////////////////////////////////////////////////////////////////////////////
function removeAllChildren(_container : DisplayObjectContainer, _index : uint = 0):void{
   var _numChild : uint = _container.numChildren;
   if (_numChild > _index){
    for (var i:int = _index; i < _numChild; i++) {
     _container.removeChildAt(_container.numChildren - 1);
buildCategory();
create_thumbnail();
/////////////////////////////////////////////////////// create_thumbnail //////////////////////////////////////////////////////////////
function create_thumbnail():void {
removeEventListener(Event.ENTER_FRAME, render);
if(container) {
if (Tweener.getTweenCount(container) > 0) Tweener.removeTweens(container);
removeAllChildren(container, 0);
removeChild(container);
subpageInfo(_counterPage);
url_thumb = [];
total = subPageArr.length;
    for( var j:uint = 0; j < total; j++ ){
  url_thumb.push(subPageArr[j]._thumb);
container = new Sprite();
addChild(container);
addChildAt(container, (getChildIndex(fullscreen_mc)-1));
//addChildAt(fullscreen_mc, getChildIndex(container));
scene = new MovieScene3D(container);
cam = new Camera3D();
p_dict= new Dictionary();
pc= new Plane();
pc.visible = false;
cam.target = pc;
yPos = 0;
angle = 0;
cam.zoom = 0.5;
cam.y = 700;
    p_link = false;
anglePer = ((Math.PI*2) * numOfRotations) / total;
    cacheImages(url_thumb);
addChildAt(categoryMc,(getChildIndex(container)+1));
function p_rollover(me:MouseEvent) {
var sp:Sprite = me.target as Sprite;
var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 1, 0.5, 0.6, true);
function p_rollout(me:MouseEvent) {
var sp:Sprite = me.target as Sprite;
var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 0.5, 1, 0.6, true);
function p_click(me:MouseEvent) {
if(!p_link) {
p_link = !p_link;
var sp:Sprite = me.target as Sprite;
var s_no:Number = parseInt(sp.name.slice(3,6));
_numActiveImage = s_no;
onResizeStageApp();
new Tween(gallery1, 'alpha', Strong.easeOut, 0, 1, 1, true);
gallery1.visible = true;
openImage();
//_page.visible = true;
function render(e:Event):void {
if(container) {
container.x = stage.stageWidth/2;
container.y = stage.stageHeight/2;
var dist2:Number = ((stage.mouseX) - stage.stageWidth/2) * 0.0001;
angle += dist2;
//test
p.rotationY += angle;
//testEnd
if(!p_link) {
cam.y += ((stage.mouseY) * 0.04 - cam.y) * 0.08;
cam.x += (- Math.cos(angle) * 350-cam.x) * 0.08;
cam.z += (Math.sin(angle) * 350-cam.z) * 0.08;
var new_zoom = 3 - stage.mouseY * 0.002;
cam.zoom += ( new_zoom - cam.zoom ) * 0.06;
for( var i:uint = 0; i < total; i++ ){
   container.getChildByName("btn_sh" + i).y += (0-container.getChildByName("btn_sh" + i).y)*0.1;
      container.getChildByName("btn_sh" + j).alpha = 0.1;
}else{
  for( var j:uint = 0; j < total; j++ ){
   container.getChildByName("btn_sh" + j).y += (-120-container.getChildByName("btn_sh" + j).y)*0.1;
  container.getChildByName("btn_sh" + j).alpha = 0.05;
cam.y += ( 0 - cam.y ) * 0.2;
cam.zoom += ( 9 - cam.zoom ) * 0.06;
scene.renderCamera(cam);
/////////////////////////////////////////////////////// cacheImages /////////////////////////////////////////////////////////////////
var totalImages:Number;
var indexIm:Number;
var _loaderCacheImages:ImageLoader;
var _arrCacheImages:Array;
var _currContentCache:MovieClip;
function cacheImages(_arr:Array){
_txtLoadInfo.visible = true;
addChildAt(_txtLoadInfo,(getChildIndex(container)+1));
totalImages = _arr.length;
indexIm = 0;
_arrCacheImages = [];
_arrCacheImages = _arr;
var targetIm:String = _arrCacheImages[indexIm];
_loaderCacheImages = new ImageLoader(targetIm);
_loaderCacheImages.addEventListener(ProgressEvent.PROGRESS, progressCacheImages);
_loaderCacheImages.addEventListener(Event.INIT, initLoadCache);
function initLoadCache(evt:Event):void {
var _bitmapThumb:Bitmap = evt.target.urlImgData;
_bitmapThumb.smoothing = true;
  var bfm:BitmapMaterial = new BitmapMaterial(_bitmapThumb.bitmapData);
  bfm.oneSide = false;
  bfm.smooth = true;
  var p:Plane = new Plane(bfm, 180, 110, 2, 2);
  scene.addChild(p);
  var p_container:Sprite = p.container;
  p_container.name = "btn" + indexIm;
  p_dict[p_container] = p;
  p_container.buttonMode = true;
  p_container.addEventListener( MouseEvent.ROLL_OVER, p_rollover );
  p_container.addEventListener( MouseEvent.ROLL_OUT, p_rollout );
  p_container.addEventListener( MouseEvent.CLICK, p_click );
  var p1:Plane = new Plane(bfm, 180, 110, 2, 2);
  scene.addChild(p1);
  var p_container1:Sprite = p1.container;
  p_container1.name = "btn_sh" + indexIm;
  p_container1.alpha = 0.1;
  p_dict[p_container1] = p1;
  p1.rotationY = (-indexIm*anglePer) * (180/Math.PI) + 90;
  p1.rotationX = 180;
  if(total >=10) {
  p1.x = Math.cos(indexIm * anglePer) * 29*total;
  p1.z = Math.sin(indexIm * anglePer) * 29*total;
  }else{
  p1.x = Math.cos(indexIm * anglePer) * 40*total;
  p1.z = Math.sin(indexIm * anglePer) * 40*total;
  p1.y = -110;
  p.rotationY = 90;
  if(total >=10) {
  p.x = Math.cos(indexIm * anglePer) * 29*total;
  p.z = Math.sin(indexIm * anglePer) * 29*total;
  }else{
  p.x = Math.cos(indexIm * anglePer) * 40*total;
  p.z = Math.sin(indexIm * anglePer) * 40*total;
indexIm ++;
if (indexIm < totalImages){
  var targetIm:String = _arrCacheImages[indexIm];
  _loaderCacheImages = new ImageLoader(targetIm);
  _loaderCacheImages.addEventListener(ProgressEvent.PROGRESS, progressCacheImages);
  _loaderCacheImages.addEventListener(Event.INIT, initLoadCache);
}else{
indexIm = 0;
_txtLoadInfo.text = "";
_txtLoadInfo.visible = false;
_loaderCacheImages.removeEventListener(ProgressEvent.PROGRESS, progressCacheImages);
_loaderCacheImages.removeEventListener(Event.INIT, initLoadCache);
_loaderCacheImages = null;
container.alpha = 0;
onResizeStageApp();
Tweener.addTween(container, {alpha:1, time:2});
addEventListener(Event.ENTER_FRAME, render);
if(!loadSite) gotoAndStop(6);
function progressCacheImages(evt:ProgressEvent):void{
var _progressDataArr:Array = evt.target.progressImgArr;
var _bLoaded:Number = Number(_progressDataArr[0]);
var _bTotal:Number = Number(_progressDataArr[1]);
var loadPercent:int = Math.round(_bLoaded / _bTotal * 100);
_txtLoadInfo.text = "Loading thumb ... " + indexIm + "  " + loadPercent + "%";
_txtLoadInfo.x = Math.round((stage.stageWidth - _txtLoadInfo.width)/2);
_txtLoadInfo.y = Math.round((stage.stageHeight - _txtLoadInfo.height)/2);

SM6601: you obviously do not want to be helped here -
dzedward and myself have been here for years
and tens of thousands of helpful posts between us - if you
are not satisfied with the quality/result
of tutorials and samples after googling - do NOT take it out
on us. How about you learn from the
tons of tutorials we pointed to you and you make them better
if you can? Then you can write your own
tutorial and we can then point others to it who have the same
level of perfection you do ok?
If nothing else - please use another forum - there's no need
for attitude like yours. Sorry for not
meeting your expectations.
Chris Georgenes
Adobe Community Expert
www.mudbubble.com
www.keyframer.com
www.howtocheatinflash.com
SM6601 wrote:
> Why waste your time if you don't have a solution. Go
back to being a god at flashgods.org.

Similar Messages

  • Stop the carousel from moving

    I've added navigation buttons to this carousel of items that
    will move the carousel either left or right, however I would like
    the carousel to STOP anytime an icon is at the center X point. When
    a nav button is pressed, the carousel moves until the next icon is
    at center X, etc.
    AS and XML code posted below:
    Example SWF here:
    http://www.dattoli.com/temp/PlayerApplication2.html
    Any help is appreciated. Thanks.
    -Christopher C. Keeler

    Yes, well this is the base of two of his tutorials, and I
    just combined them together. I have posted the same question there
    as well. I will add this disclaimer so you know that I did not
    write the bulk of this: Most of above code was origianally written
    by Lee Brimelow at www.gotoandlearn.com.
    Thanks for pointing that out.
    -Chris

  • Where can I find a tutorial to build a 3D carousel in AS 3.0?

    Anyone know where I can find good a tutorial to help me build
    a 3d flash carousel in AS 3.0?
    Or anywhere I can download a flash file or anything I can
    play around with to figure it out?
    I would prefer it to be XML driven.
    I would like to build a carousel like this:
    Carousel in 2.0
    Only I would like to learn to build it in action script 3.0.
    I appreciate it.

    A little Googling is all you need... I can't speak of it in
    terms of decency though... I never tried the tutorial myself. It
    appears to be more of a here is the code approach.
    http://flash.lillegutt.com/?p=46#comment-35

  • Adding a html link to a carousel

    i have followed a tutorial to build a flash craousel and have had no problems in building that.  i wanted to add a html link to a section of the carousel but everything i have tried up to now has failed.  All the information is passed through to the carousel from an xml file and everything works fine except for the link.
    i have slightly modified the tutorial so i have an extra box on the information page which holds the web address for the site they are looking at in the portfolio.  i have the address showing up but i cannot use the text as a link.
    the box that i am putting it in is a dynamic text box which has been set up with the following settings
    theLink.html = true;
    theLink.htmlText = t.Link;
    so as far as i know these are set to be able to handle html tags/code but they are not playing games.
    i have tried to pass the link through to the swf file from the xml file with the following code but this just seem to break the whole application.
    Link="<![CDATA[<a href='http://www.acmeart.co.uk/pip_new']]"
    to view how i have the file working upto now please view the link below.
    http://acmeart.co.uk/carousel
    i feel the problem is not with the flash application but more with how i am trying to pass the html link over to the application from the xml file.  i will attach the xml file to the post.

    What I had in mind was to place the link inline in your text. Something like this:
    <item name="valley" full="assets/valley.png"
            title='Book - CD ROM'
            body='This product was a Shockwave holiday card. It began as a jigsaw puzzle. As the puzzle was solved, it opened and displayed the holiday greeting. &lt;a href=&quot;http://www.amazon.com" &gt;Purchase a copy.&lt;a\&gt;'>
        </item>
    The url is right in the text. The html markup is escaped as html entities.

  • LaserJet CP1025NW Color Printer - Weird cranking noise when printing or rotating carousel

    Just out the package today, the first time turning on the printer, during all print jobs and when rotating the cartridges, the carousel is making a weird cranking noise coming from the left side of the printer. I understand that this printer does make the winding/power-up sound, but this cranking noise is in addition to the normal sound. 
    I find this odd because I use the exact same printer at work and it does not make this noise and I am afraid that it is a faulty mechanism within the printer.
    I have checked to make sure that I removed all packaging from inside the printer and removed all cartridges and replaced them. I would think that all pieces that need to be removed would be bright orange. Also, the print jobs are not affected by the cranking noise. 
    Does anyone else have this problem? 

    Hi saidthegirl
    I understand the printer is noisy but will print.
    I have included the document for setting up the printer, to take a look at where all the packing material is located.
    http://h10025.www1.hp.com/ewfrf/wc/document?docname=c02469250&tmp_task=setupCategory&cc=us&dlc=en&la...
    If the printer is making unusual noise and you are using the toner that shipped with the printer then I would recommend to call HP Tech Support for further assistance to see what other options are available for you.
    http://www8.hp.com/us/en/contact-hp/ww-contact-us.html
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    Click the “Kudos Thumbs Up" on the right to say “Thanks” for helping!
    Gemini02
    I work on behalf of HP

  • How to stretch the child components of a carousel item.

    Dear All,
    Use case:
    I am putting a list of dvt graph on a carousel component but I am having a lot of trouble when it comes to sizing the components.
    Consider the code below
    <af:panelGroupLayout id="pgl1" layout="scroll">
         <af:carousel id="c1" var="item" value="#{pageFlowScope.myBean.dataList}">
              <f:facet name="nodeStamp">
                   <af:carouselItem id="crslItem" text="#{item.title}" shortDesc="#{item.title}">
                        <af:panelGroupLayout id="pgl4" layout="vertical">
                             <dvt:lineGraph id="lg2">
                             </dvt:lineGraph>
                        </af:panelGroupLayout>
              </af:carouselItem>
              </f:facet>
         </af:carousel>
    </af:panelGroupLayout>The graph seems to be cut and is not rendering all of the data. The legends and the columns are hidden.
    I dont want to put a lot of inlinestyles there in putting the width and height.
    I thought the carouselitem stretches its child component but that does not seem the case for me.
    How do I do this?
    What I want is that the size of the carouselitem would be equal to the size of the dvt line graph.
    What can I do to achieve this?
    Thanks
    JDEV 11G PS5

    <af:panelGroupLayout> does not stretch its children (even if it has got a sole child). Surrounding a component with an <af:panelGroupLayout> prevents it of being stretched by its parent (even if the parent is a components that stretches its children).
    In your case the <af:carousel> component is not stretched because it is within an <af:panelGroupLayout>. Also the <dvt:lineGraph> is not stretched because it is surrounded with an <af:panelGroupLayout>.
    Just remove both <af:panelGroupLayout> tags and try again.
    (Note, that <af:panelGroupLayout layout="scroll"> may be stretched by its parent, but it does not stretch its own children even if it is stretched by its parent).
    Dimitar

  • How to unload externally loaded swf which contains 3D Carousel?

    Hello to all
    I am learning AS3 and have been taking on various tutorials found on the net. While learning about AS3 I came across a lesson on http://tutorials.flashmymind.com/2009/05/vertical-3d-carousel-with-actionscript-3-and-xml/ titled "Vertical 3D Carousel with AS3 and XML".
    I completed the tutorial and all worked fine so I then wanted to load the swf into a existing project. The loading of the swf goes fine and when I unload my loader it is removed but only visually as in my output panel in flash CS5 I get an error as follows
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at carousel_c_fla::MainTimeline/moveCarousel()
    this error repeats over and over again slowing my swf movie.
    So does this mean my main flash movie trying to still play / find my unloaded 3D Carousel?
    If so how do I unload remove all the AS3 that is trying to run from the 3D Carousel?
    I have included the AS3 below from the tutorial page and I understand that this is what I have to remove to "break free" from the 3D Carousel swf when it is unloaded. This is where I am stuck as my knowledge of AS3 is limited - Can you guys / girls help?
    //Import TweenMax
    import com.greensock.*;
    //The path to the XML file (use your own here)
    // old var from tutorial - var xmlPath:String = "http://tutorials.flashmymind.com/XML/carousel-menu.xml";
    var xmlPath:String = "carousel-menu.xml";
    //We'll store the loaded XML to this variable
    var xml:XML;
    //Create a loader and load the XML. Call the function "xmlLoaded" when done.
    var loader = new URLLoader();
    loader.load(new URLRequest(xmlPath));
    loader.addEventListener(Event.COMPLETE, xmlLoaded);
    //This function is called when the XML file is loaded
    function xmlLoaded(e:Event):void {
         //Make sure that we are not working with a null variable
         if ((e.target as URLLoader) != null ) {
              //Create a new XML object with the loaded XML data
              xml = new XML(loader.data);
              //Call the function that creates the menu
              createMenu();
    //We need to know how many items we have on the stage
    var numberOfItems:uint = 0;
    //This array will contain all the menu items
    var menuItems:Array = new Array();
    //Set the focal length
    var focalLength:Number = 350;
    //Set the vanishing point
    var vanishingPointX:Number = stage.stageWidth / 2;
    var vanishingPointY:Number = stage.stageHeight / 2;
    //We calculate the angleSpeed in the ENTER_FRAME listener
    var angleSpeed:Number = 0;
    //Radius of the circle
    var radius:Number = 128;
    //This function creates the menu
    function createMenu():void {
         //Get the number of menu items we will have
         numberOfItems = xml.items.item.length();
         //Calculate the angle difference between the menu items (in radians)
         var angleDifference:Number = Math.PI * (360 / numberOfItems) / 180;
         //We use a counter so we know how many menu items have been created
         var count:uint = 0;
         //Loop through all the <button></button> nodes in the XML
         for each (var item:XML in xml.items.item) {
              //Create a new menu item
              var menuItem:MenuItem = new MenuItem();
              //Calculate the starting angle for the menu item
              var startingAngle:Number = angleDifference * count;
              //Set a "currentAngle" attribute for the menu item
              menuItem.currentAngle = startingAngle;
              //Position the menu item
              menuItem.xpos3D = 0;
              menuItem.ypos3D = radius * Math.sin(startingAngle);
              menuItem.zpos3D = radius * Math.cos(startingAngle);
              //Calculate the scale ratio for the menu item (the further the item -> the smaller the scale ratio)
              var scaleRatio = focalLength/(focalLength + menuItem.zpos3D);
              //Scale the menu item according to the scale ratio
              menuItem.scaleX = menuItem.scaleY = scaleRatio;
              //Position the menu item to the stage (from 3D to 2D coordinates)
              menuItem.x = vanishingPointX + menuItem.xpos3D * scaleRatio;
              menuItem.y = vanishingPointY + menuItem.ypos3D * scaleRatio;
              //Add a text to the menu item
              menuItem.menuText.text = item.label;
              //Add a "linkTo" variable for the URL
              menuItem.linkTo = item.linkTo;
              //We don't want the text field to catch mouse events
              menuItem.mouseChildren = false;
              //Assign MOUSE_OVER, MOUSE_OUT and CLICK listeners for the menu item
              menuItem.addEventListener(MouseEvent.MOUSE_OVER, mouseOverItem);
              menuItem.addEventListener(MouseEvent.MOUSE_OUT, mouseOutItem);
              menuItem.addEventListener(MouseEvent.CLICK, itemClicked);
              //Add the menu item to the menu items array
              menuItems.push(menuItem);
              //Add the menu item to the stage
              addChild(menuItem);
              //Assign an initial alpha
              menuItem.alpha = 0.3;
              //Add some blur to the item
              TweenMax.to(menuItem,0, {blurFilter:{blurX:1, blurY:1}});
              //Update the count
              count++;
    //Add an ENTER_FRAME listener for the animation
    addEventListener(Event.ENTER_FRAME, moveCarousel);
    //This function is called in each frame
    function moveCarousel(e:Event):void {
         //Calculate the angle speed according to mouseY position
         angleSpeed = (mouseY - stage.stageHeight / 2) * 0.0002;
         //Loop through the menu items
         for (var i:uint = 0; i < menuItems.length; i++) {
              //Store the menu item to a local variable
              var menuItem:MenuItem = menuItems[i] as MenuItem;
              //Update the current angle of the item
              menuItem.currentAngle += angleSpeed;
              //Calculate a scale ratio
              var scaleRatio = focalLength/(focalLength + menuItem.zpos3D);
              //Scale the item according to the scale ratio
              menuItem.scaleX=menuItem.scaleY=scaleRatio;
              //Set new 3D coordinates
              menuItem.xpos3D=0;
              menuItem.ypos3D=radius*Math.sin(menuItem.currentAngle);
              menuItem.zpos3D=radius*Math.cos(menuItem.currentAngle);
              //Update the item's coordinates.
              menuItem.x=vanishingPointX+menuItem.xpos3D*scaleRatio;
              menuItem.y=vanishingPointY+menuItem.ypos3D*scaleRatio;
         //Call the function that sorts the items so they overlap each other correctly
         sortZ();
    //This function sorts the items so they overlap each other correctly
    function sortZ():void {
         //Sort the array so that the item which has the highest
         //z position (= furthest away) is first in the array
         menuItems.sortOn("zpos3D", Array.NUMERIC | Array.DESCENDING);
         //Set new child indexes for the item
         for (var i:uint = 0; i < menuItems.length; i++) {
              setChildIndex(menuItems[i], i);
    //This function is called when a mouse is over an item
    function mouseOverItem(e:Event):void {
         //Tween the item's properties
         TweenMax.to(e.target, 0.1, {alpha: 1, glowFilter:{color:0xffffff, alpha:1, blurX:60, blurY:60},blurFilter:{blurX:0, blurY:0}});
    //This function is called when a mouse is out of an item
    function mouseOutItem(e:Event):void {
         //Tween the item's properties
         TweenMax.to(e.target, 1, {alpha: 0.3, glowFilter:{color:0xffffff, alpha:1, blurX:0, blurY:0},blurFilter:{blurX:1, blurY:1}});
    //This function is called when an item is clicked
    function itemClicked(e:Event):void {
         //Navigate to the URL that's assigned to the menu item
         var urlRequest:URLRequest=new URLRequest(e.target.linkTo);
         navigateToURL(urlRequest);

    Hi Ned thanks for the reply,
    Ok so I have a button in my main movie that loads the external swf
    stop();
    var my_loader:Loader = new Loader();
    var my_btn:Button = new Button();
    var my_pb:ProgressBar = new ProgressBar();
    my_pb.source = my_loader.contentLoaderInfo;
    my_btn.addEventListener(MouseEvent.CLICK,startLoading);
    function startLoading(e:MouseEvent):void{
    my_loader.load(new URLRequest("carousel.swf"));
    addChild(my_pb);
    my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishloading);
    function finishloading(e:Event):void{
    addChild(my_loader);
    my_loader.addEventListener("killMe",
    killLoadedClip);
    removeChild(my_pb);
    function killLoadedClip(e:Event):void {
    my_loader.removeEventListener("killMe",
    killLoadedClip);
    my_loader.unloadAndStop();
    removeChild(my_loader);
    Then I have a button in my loaded swf that closes the loader
    This is spread over 2 frames
    Frame1
    function closeIt(e:MouseEvent):void {
    parent.dispatchEvent(newEvent("killMe"));
    Frame 2
    back_btn.addEventListener(MouseEvent.CLICK, closeIt);
    Frame 2 also holds all the code for the carousel
    Thanks for your time and help in advance people ; )

  • How to add text to the carousel images ?

    <%--
      Copyright 1997-2010 Day Management AG
      Barfuesserplatz 6, 4001 Basel, Switzerland
      All Rights Reserved.
      This software is the confidential and proprietary information of
      Day Management AG, ("Confidential Information"). You shall not
      disclose such Confidential Information and shall use it only in
      accordance with the terms of the license agreement you entered into
      with Day.
      ==============================================================================
      Carousel component
    --%><%@include file="/libs/foundation/global.jsp"%><%
    %><%@ page import="java.util.Iterator,
                       java.util.LinkedHashMap,
                       java.util.Map,
                       com.day.cq.commons.Doctype,
                       com.day.cq.wcm.api.WCMMode,
                       com.day.cq.wcm.api.components.DropTarget,
                       com.day.cq.wcm.foundation.Image,
                       com.day.cq.wcm.foundation.List,
                       com.day.text.Text"
    %><%@include file="/libs/foundation/global.jsp"%><%
        %><cq:includeClientLib js="cq.jquery"/><%
        String xs = Doctype.isXHTML(request) ? "/" : "";
        if (WCMMode.fromRequest(request) == WCMMode.EDIT) {
            //drop target css class = dd prefix + name of the drop target in the edit config
            String ddClassName = DropTarget.CSS_CLASS_PREFIX + "pages";
            %><div class="<%= ddClassName %>"><%
        // initialize the list
        %><cq:include script="init.jsp"/><%
        List list = (List)request.getAttribute("list");
        if (!list.isEmpty()) {
            // config options
            int playDelay = properties.get("playSpeed", 6000);
            int transTime = properties.get("transTime", 1000);
            // todo: make default designeable
            String controlsType = properties.get("controlsType", "bc");
            boolean showControls = "pn".equals(controlsType);
            if (showControls) {
                controlsType = "";
            } else {
                controlsType = "-" + controlsType;
            // first shove all slides into a map in order to calculate distinct ids
            Map<String, Slide> slides = new LinkedHashMap<String, Slide>();
            Iterator<Page> items = list.getPages();
            String pfx = "cqc-" + Text.getName(resource.getPath()) + "-";
            while (items.hasNext()) {
                Slide slide = new Slide(items.next());
                String name = pfx + slide.name;
                int idx = 0;
                while (slides.containsKey(name)) {
                    name = pfx + slide.name + (idx++);
                slide.name = name;
                // prepend context path to img
                slide.img = request.getContextPath() + slide.img;
                slides.put(name, slide);
            %><div class="cq-carousel">
                <var title="play-delay"><%= playDelay %></var>
                <var title="transition-time"><%= transTime %></var>
                <%-- write the actual slides --%>
                <div class="cq-carousel-banners" >
                    <c:forEach var="slide" varStatus="loop" items="<%= slides.values() %>">
                    <div style="${loop.first ? "left: 0px; opacity: 1;" : "left: -1000px; opacity: 0;"}" id="${slide.name}" class="cq-carousel-banner-item">
                        <c:if test="${!empty slide.img}">
                            <a href="${slide.path}.html" title="${slide.title}">
                                <img src="/etc/designs/default/0.gif" style="background-image:url(${slide.img})" alt="${slide.title}"<%= xs %>>
                            </a>
                        </c:if>
                        <h3>${slide.title}</h3>
                        <p>${slide.desc}<br<%= xs %>>
                            <a href="${slide.path}.html">Read More</a>
                        </p>
                    </div>
                    </c:forEach>
                </div>
                <%-- defines the controls --%>
                <c:if test="<%= showControls %>">
                    <div class="cq-carousel-controls">
                        <a class="cq-carousel-control-prev" href="#" style="display:none"></a>
                        <a class="cq-carousel-control-next" href="#" style="display:none"></a>
                    </div>
                </c:if>
                <%-- write the switches, also needed when disabled --%>
                <div class="cq-carousel-banner-switches<%= controlsType %>">
                    <ul class="cq-carousel-banner-switch">
                        <c:forEach var="slide" varStatus="loop" items="<%= slides.values() %>">
                            <li><a class="${loop.first ? "cq-carousel-active" : ""}" title="${slide.title}" href="#${slide.name}"><img src="/etc/designs/default/0.gif" alt="0"<%= xs %>></a></li>
                        </c:forEach>
                    </ul>
                </div>
            </div><%
        } else {
            if (WCMMode.fromRequest(request) == WCMMode.EDIT){
                %><img src="/libs/cq/ui/resources/0.gif" class="cq-carousel-placeholder" alt=""><%
        if (WCMMode.fromRequest(request) == WCMMode.EDIT) {
            %></div><%
    %><%!
         * Container class for slides
        public static final class Slide {
            private final Page page;
            private String img = "";
            private String title = "";
            private String name = "";
            private String desc = "";
            private String path = "";
            private Slide(Page page) {
                this.page = page;
                title = page.getTitle();
                desc = page.getDescription();
                if (desc == null) {
                    desc = "";
                path = page.getPath();
                // currently we just check if "image" resource is present
                Resource r = page.getContentResource("image");
                if (r != null) {
                    Image image = new Image(r);
                    img = page.getPath() + ".img.png" + image.getSuffix();
                name = page.getName();
            public Page getPage() {
                return page;
            public String getImg() {
                return img;
            public String getTitle() {
                return title;
            public String getName() {
                return name;
            public String getDesc() {
                return desc;
            public String getPath() {
                return path;
    %>

    check example BCALV_GRID_08 if still with doubts , come back and i will try help you.

  • Carousel don't show images, only the page name and a "read more" link

    Good morning.
      I'm trying to get a carousel in my page. I already set a image to one page and on my carousel component, I selected that page.
      When I see the carousel, it shows me the page inputed name and a "read more" link instead of the image.
      Can anyone tell me what's wrong or missed?
      Heres a print screen:
    Thanks.

    What did I do to correct this problem:
       When I create a page renderer component, the same automatically creates a jsp file, with the same name as the component. In my Geometrixx copy sites, there's always a "content.jsp" file in the components, despite of the one with the same name of the component. So, instead of build my pages in the componentname.jsp, i'm doing this is these content.jsp. Just doing this, the carroussel works perfectly. For sure is something that I miss in my own jsp files, but even with the same code (copy > paste), in my jsp the carroussel don't work. Anyway, now I can use it.

  • Need help with 3D carousel gallery rotation to a specific angle

    Hi,
    I am making a 3d gallery, that has a menu underneath it. When clicking to a menu link, the gallery will rotate itself to a certain angle (photo) connected with the menu link. I am using FlashAndMaths 3D cylindrical gallery scripts (XML Customizable 3D Cylindrical Photo Gallery in Flash) as the base (as I couldn't find any free or neither payed 3d galleries that would have a menu connected to the carousel!).
    The function to rotate a carousel of thumbnails is the following:
    public function doRotate(ang:Number):void {  
                if(isLoading || notReady){       
                        return;
                if(!this.contains(container)){
                    return;
                var i:int;
                 for(i=0;i<numCols;i++){
                   colsVec[i].rotationY+=ang;
                   colsVec[i].rotationY=colsVec[i].rotationY%360;
                   if((colsVec[i].rotationY>90+diffAng && colsVec[i].rotationY<270-diffAng) || (colsVec[i].rotationY<-(90+diffAng) && colsVec[i].rotationY>-(270-diffAng))){
                          if(container.contains(colsVec[i])){
                              container.removeChild(colsVec[i]);
                         } else {   
                                   if(!container.contains(colsVec[i])){
                                     container.addChild(colsVec[i]);
    This will rotate the carousel as an infinite loop. However - I need the function to stop at a certain angle e.g. 45% (and/or reset itself to 0%). Another option would be to stop the carousel at a certain thumbnail container.
    The function to create a carousel is here:
    thumbWidth=thumbsArray[0][0].width;
    thumbHeight=thumbsArray[0][0].height;
    colsVec=new Vector.<Column>();
    colHeight=thumbHeight*colLen+(colLen-1)*pxSpace;
    colWidth=thumbWidth;
    rad=galLoader.radius;
    angle=360/numCols;
    container=new Sprite();
    this.addChild(container);
    containerWidth=2*rad;
    vertAddOn=40;
    vertDrop=15;
    containerHeight=colHeight+vertAddOn;
    container.x=containerWidth/2;
    container.y=containerHeight/2+vertDrop;
    contMask=new Shape();
    this.addChild(contMask);
    contMask.x=container.x;
    contMask.y=container.y;
    prepContainer();
    diffAng=Math.round((Math.asin(rad/fL)*180/Math.PI)*1000)/1000; 
    for(i=0;i<numCols;i++){
    colsVec[i]= new Column(thumbsArray[i],pxSpace,rad);
    container.addChild(colsVec[i]);
    colsVec[i].y=0;
    colsVec[i].x=0; 
    colsVec[i].z=0;
    colsVec[i].rotationY=angle*i;
    if((colsVec[i].rotationY>90+diffAng && colsVec[i].rotationY<270-diffAng) || (colsVec[i].rotationY<-(90+diffAng) && colsVec[i].rotationY>-(270-diffAng))){
    if(container.contains(colsVec[i])){
    container.removeChild(colsVec[i]);
    } else {
    if(!container.contains(colsVec[i])){
    container.addChild(colsVec[i]);
    Could anyone help me as I'm out of ideas!

    Hi, well, unfortunately asking help from forums is my last option, there really isn't many people around anymore, who'd use Flash!
    Also, I couldn't find neither free or payed scripts or examples online, that could do this - so, it's just me and forums.
    I really do appreciate that you've tried to help me- I just need a bit clearer reference (as I'm just not really used to use AS), so that I could try to search and/or figure out how to solve that problem.
    By "call doRotate() and pass the difference between the current rotation and the desired rotation.", did you mean something like this:
    private function onEnter(e:Event):void {
    if (rotate){
    this.doRotate(1);
    if(    //so, here I should use something that would locate the desired position, so something like currentFrame or would you have any better ideas?
    // should I also add something like doRotate.stop(); here?
    this.removeEventlistener(Event.ENTER_FRAME,onEnter);
    Or am I going the wrong way?

  • How to create a video carousel component

    Hi ,
    I have a doubt. For images we have one component carousel.
    Like Carousel component ,Can we develop a component for videos and it should suppport all formats (FLV,MP4,WMV)
    Can u guys pls help me out.
    Thanks & Regards,
    Prasad.

    Hi,
    OOB Carousel component will take a "Page" as the input. So, you can try putting a video in a page using "Video component" and add this page to your carousel' Fixed List. This may solve your purpose.
    Regards
    Shelly

  • Help with a carousel menu

    Hi guys.
    I have a download it a very good carousel menu,it works perfect but I been trying to insert a new effect in it, to make the objects of the menu a little bigger when they are in the front, and smallers when they are in the back, but all I can find its a property to change the size of the whole group.
    Please, its there any way to do this?
    PS: sorry for English.
    This is the code.
    import flash.filters.BlurFilter;
    import flash.filters.BitmapFilterQuality;
    import fl.transitions.easing.*;
    import fl.transitions.*;
    //CAROUSEL PARAMETERS
    var radiusX:Number = stage.stageWidth/3.5;
    var radiusY:Number = 50;
    var centerX:Number = stage.stageWidth/2.3;
    var centerY:Number = stage.stageHeight/1.5;
    var fade = 1; //modify carousel image alpha [0,1]
    var useFixedImageSize = 1;
    var activeMc;
    //change the speed
    var speed:Number = 0.01;
    var mouse_acc = 25000;
    var container:MovieClip = new MovieClip(); //thumbs container
    this.addChild(container);
    //large Image variables
    var imgM = new imgMcLarge();
    var largeImage = imgM;
    this.addChild(largeImage);
    var largeImageText = largeImage.bar;
    var loader = largeImage.preloadanim;
    var largeImageX = 2;
    var largeImageY = 2;
    largeImage.visible = false;
    largeImage.x = centerX-largeImage.width/2.2;
    largeImage.y = 0;
    //set xml data file
    var xmlData = "images.xml";
    var xmlObj: XMLDocument;
    var nodes = new Array();
    var mcArray:Array = new Array(); // store the Items to sort them according to their 'depth' - see sortBySize() function.
    init(); //init call -> load config XML and create objects
    function init() {
    xmlObj = new XMLDocument();
    xmlObj.ignoreWhite = true;
    var loader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest(xmlData);
    loader.load(request);
    loader.addEventListener("complete", onComplete);
    loader.addEventListener("ioError", onIOError);            
    function onIOError(event:Event):void {
        trace("IOERROR (maybe XML file does not exit or have an incorrect name)");
    function onComplete(event:Event):void
        var loader:URLLoader = event.target as URLLoader;
        if (loader != null)
         xmlObj.parseXML(loader.data);
         xmlHandler();
        else
            trace("Loader is not a URLLoader!");
    function xmlHandler() {
    addObjects();
    startEngine();
    function startEngine () {
    container.addEventListener("enterFrame",startMovie);
    var numItems;
    var objects;
    var idx;
    function addObjects() { //add objects in the scene
    objects = xmlObj.firstChild.childNodes;
    numItems = objects.length;
    for(var i=0; i<numItems; i++) {
        if (useFixedImageSize==1) source1 = "item"; //image mc linkage id from the library
          else source1 = "item_01";   
    var sourceType1 = "library";
    var regName1 = "p"+i; //the registration name used in Flash
    var classDef = getDefinitionByName(source1);
    var menuItemMc = new classDef;
    menuItemMc.name = regName1;
    container.addChild(menuItemMc);
    var currMc = container.getChildByName(regName1);
    var currMc0 = container.getChildByName("p0");
    idx = container.getChildIndex(currMc0);
    //trace(currMc.name+"  "+idx);
    mcArray.push(currMc);
    currMc.buttonMode = true;
    currMc.useHandCursor = true;
    currMc.mouseChildren = false;
          currMc["info"]=objects[i];
        currMc._load.alpha = fade;
        currMc.addEventListener("mouseOver",mouseRollOver);
        //currMc.addEventListener("mouseOut",mouseRollOut);
        currMc.addEventListener("mouseDown",mousePress);
    currMc._angle = i*((Math.PI*2)/numItems);
    function mouseRollOver(e:MouseEvent){
        //e.target._load.alpha = 1;
        TransitionManager.start(e.target, {type:Photo, direction:Transition.IN, duration:0.5, easing:Strong.easeOut});
        e.target.addEventListener("motionFinish",finishAnim);
    function finishAnim(e:Event){
        e.target._load.alpha = fade;
    function mouseRollOut(e:MouseEvent){
        e.target._load.alpha = fade;
    function mousePress(e:MouseEvent) {
    loadBigImage(e.target);
    activeMc = e.target;
    var releaseOutsideTarget;
    var url5;
    function loadBigImage(menuItemMc) {
        stage.addEventListener(MouseEvent.MOUSE_UP, releaseHandler);
          releaseOutsideTarget = menuItemMc;   
        if (largeImage.twOut!=undefined) {
       var has = largeImage.twOut.hasEventListener("motionFinish");
       if (has) largeImage.twOut.removeEventListener("motionFinish",largeImage.finishHandler);
      var url = menuItemMc["info"].attributes.image;
      largeImage["info"]=menuItemMc["info"];
      var request1 = new URLRequest(url);
    var loader1 = new Loader();
      var mc1 = largeImage.getChildByName("imgBoxLarge");
      var numchild = mc1.numChildren;
         if (numchild) {
               var l1 = mc1.getChildAt(0);
               mc1.removeChild(l1);
               l1 = null;
      loader1.load(request1);  //start loading img/swf
    mc1.addChild(loader1);
    loader1.contentLoaderInfo.addEventListener("progress", largeImage.progress_loading);
    loader1.contentLoaderInfo.addEventListener("complete", largeImage.finished_loading);
      loader.visible = true;
      largeImageText.text_field.text = menuItemMc["info"].attributes.description;
        function releaseHandler(e:MouseEvent) {
             stage.removeEventListener(MouseEvent.MOUSE_UP, releaseHandler);
             releaseOutsideTarget = null;   
    function startMovie(e:Event) {
        //add objects in the scene
    for (var i = 0; i<numItems; i++) {
        var regName1 = "p"+i;
        var currMc = container.getChildByName(regName1);
        currMc.x = Math.cos(currMc._angle)*radiusX+centerX;
        currMc.y = Math.sin(currMc._angle)*radiusY+centerY;
        var s:Number = currMc.y/(centerY+radiusY);
        currMc.scaleX = s*1;
        currMc.scaleY = s*1;
        currMc._angle += speed;
        url2 = currMc["info"].attributes.url;
        //trace(url2);
        var dpth = Math.round(currMc.scaleX)+120;
        sortBySize();
    // set the display list index (depth) of the Items according to their
    // scaleX property so that the bigger the Item, the higher the index (depth)
    function sortBySize():void {
        // There isn't an Array.ASCENDING property so use DESCENDING and reverse()
        mcArray.sortOn("scaleX", Array.DESCENDING | Array.NUMERIC);
        mcArray.reverse();
        for(var i:uint = 0; i < mcArray.length; i++) {
           container.setChildIndex(mcArray[i], i+idx);
    stage.addEventListener("mouseMove", rotateCar);
    function rotateCar(e:MouseEvent)
    speed = (this.mouseX - centerX) / mouse_acc;

    that should change the size of each based on it's y property which should work if the objects in front are lower on your stage.  so, use:
    var scaleMax:Number = 2; // or whatever you want for the max scale of objects in front
    var scaleMin:Number = .5;  // or whatever you want  for the min scale for objects behind
    //begin don't change this ////
    paramsF(this,(centerY-radiusY)/(centerY+radiusY),scaleMin,1,scaleMax);
    function paramsF(mc:MovieClip,x1:Number,y1:Number,x2:Number,y2:Number):void{
    this.m = (y1-y2)/(x1-x2);
    this.b = y1=this.m*x1;
    function resizeF(s:Number):Number{
    return this.m*s+this.b;
    //end don't change////////////////////////////
    then instead of your currMc.scaleX code, use:
    currMc.scaleX =resizeF(s);
    currMc.scaleY=resizeF(s);

  • How to adjust the space between images in a carousel or images with horizontal scroll

    I use the next steps to create a carousel or horizontal scroll of images:
    Webcenter portal: Spaces
    Spaces
    Manage Settings
    Pages
    Create page
    Content management
    Content presenter
    Add images with Plus Icon
    It works, but between every image has a lot of space, can you tell me how to reduce the space between every image.
    My Oracle Version 11gR1 (11.1.1.3.0)
    Regards
    Tomas Reyes

    Remove line 234 in your HTML code.
    <p>& n b s p</p>
    This is a redundant line of code. Your spacing should get resolved.
    PS: I've given spaces between the tag because otherwise this forum would not display the line correctly.

  • Is there a way to add images , text and button in the individual marquee of a carousel

    Is there a way to add images , text and button in the individual marquee of a carousel ?

    Write a custom carousel.  Usually carousel components are just ULs that use something like jQuery to rotate through the LIs.  The foundation carousel component is really just designed for some specific use cases.  Generally I would just recommend rolling your own.

  • How can I determine which image was clicked in 3D carousel?

    I have been modifying some 3D carousel code that I found in hopes that I can get it such that when image "resolv2.jpg" (or any of my other images) is clicked on at the front of my carousel, it goes to a specific webpage. By just replacing "moveBack(event.target) from the toggler section of the code with "navigateToURL:(newURLRequest('http://google.com'), the target DOES sucessfully go to google when clicked on. However, I want to modify this code by altering the else statement to say something to the effect of "else if event.target (clicked on object) is 'resolv2.jpg' THEN go to google". So essentially, my question is how can I determine which image was clicked? Here is the entire code with the area I was altering bolded:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" applicationComplete="init();" backgroundGradientColors="[#000033, #000033]" backgroundGradientAlphas="[1.0, 1.0]">
    <mx:Script>
              <![CDATA[
    //Import Papervision Classes
                   import org.papervision3d.scenes.*;
                   import org.papervision3d.cameras.*; 
                   import org.papervision3d.objects.*;
                   import org.papervision3d.objects.primitives.*;
                   import org.papervision3d.materials.*;
                   import org.papervision3d.materials.shadematerials.*;
                   import org.papervision3d.materials.utils.MaterialsList;
                   import org.papervision3d.lights.*;
                   import org.papervision3d.render.*;
                   import org.papervision3d.view.*;
                   import org.papervision3d.events.*;
                   import org.papervision3d.core.*;
                   import org.papervision3d.lights.PointLight3D;
                   import flash.filters.DropShadowFilter;
                         import caurina.transitions.*;
                         private var numOfItems:int = 5;
                         private var radius:Number = 600;
                         private var anglePer:Number = (Math.PI*2) / numOfItems;
                         //private var dsf:DropShadowFilter = new DropShadowFilter(10, 45, 0x000000, 0.3, 6, 6, 1, 3);
                   public var angleX:Number = anglePer;
             public var dest:Number = 1;
                   private var theLight:PointLight3D;
            //Papervision Engine
                   private var viewport:Viewport3D; 
                   private var scene:Scene3D; 
                   private var camera:Camera3D;
                   private var renderer:BasicRenderEngine;
             private var planeArray:Array = new Array();
             [Bindable]
             public var object:Object;
             private var arrayPlane:Object;
             private var p:Plane;
             //Initiation function           
             private function init():void 
             viewport = new Viewport3D(pv3dCanvas.width, pv3dCanvas.height, false, true); 
             pv3dCanvas.rawChildren.addChild(viewport); 
             viewport.buttonMode=true;
             renderer = new BasicRenderEngine();
             scene = new Scene3D(); 
             camera = new Camera3D();
             camera.zoom = 2; 
             createObjects(); 
             addEventListeners();
    //Create Objects function          
              private function createObjects():void{
              for(var i:uint=1; i<=numOfItems; i++)
                        /* var shadow:DropShadowFilter = new DropShadowFilter();
                        shadow.distance = 10;
            shadow.angle = 25; */
                        var bam:BitmapFileMaterial = new BitmapFileMaterial("images/resolv"+i+".jpg");
                        bam.oneSide = false;
                        bam.smooth = true;
            bam.interactive = true;
                        p = new Plane(bam, 220, 200, 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.filters=[shadow];
                        p.extra={pIdent:"in"};
                        p.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, toggler);
            planeArray[i] = p;
              // create lighting
            theLight = new PointLight3D();
            scene.addChild(theLight);
            theLight.y = pv3dCanvas.height;
              private function toggler(event:InteractiveScene3DEvent):void
                            // if the cube's position is "in", move it out else move it back
                            if (event.target.extra.pIdent == "in")
                                    moveOut(event.target);
                            else
                                   moveBack(event.target);
                    private function moveOut(object:Object):void
                              trace(object +" my object");
                            // for each cube that was not selected, remove the click event listener
                            for each (var arrayPlane:Object in planeArray)
                                    if (arrayPlane != object)
                                            arrayPlane.removeEventListener(InteractiveScene3DEvent.OBJECT_PRESS, toggler);
                            //right.enabled=false;
                            //left.enabled=false;
                            // move the selected cube out 1000 and rotate 90 degrees once it has finished moving out
                            Tweener.addTween(object, {scaleX:1.2, time:0.5, transition:"easeInOutSine", onComplete:rotateCube, onCompleteParams:[object]});
                            Tweener.addTween(object, {scaleY:1.2, time:0.5, transition:"easeInOutSine", onComplete:rotateCube, onCompleteParams:[object]});
                            // set the cube's position to "out"
                            object.extra = {pIdent:"out"};
                            // move the camera out 1000 and move it the to same y coordinate as the selected cube
                            //Tweener.addTween(camera, {x:1000, y:object.y, rotationX:0, time:0.5, transition:"easeInOutSine"});
                    private function moveBack(object:Object):void
                            // for each cube that was not selected, add the click event listener back
                            for each (var arrayPlane:Object in planeArray)
                                    if (arrayPlane != object)
                                            arrayPlane.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, toggler);
                            // move the selected cube back to 0 and rotate 90 degrees once it has finished moving back
                            Tweener.addTween(object, {scaleX:1, time:0.5, transition:"easeInOutSine", onComplete:rotateCube, onCompleteParams:[object]});
                            Tweener.addTween(object, {scaleY:1, time:0.5, transition:"easeInOutSine", onComplete:rotateCube, onCompleteParams:[object]});
                            // set the cube's position to "in"
                            object.extra = {pIdent:"in"};
                            // move the camera back to its original position
                            //Tweener.addTween(camera, {x:0, y:1000, rotationX:-30, time:0.5, transition:"easeInOutSine"});
                            //right.enabled=true;
                            //left.enabled=true;
                    private function goBack():void
                            // for each cube that was not selected, add the click event listener back
                            for each (var arrayPlane:Object in planeArray)
                                    if (arrayPlane != object)
                                            arrayPlane.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, toggler);
                    private function rotateCube(object:Object):void
                            //object.rotationX = 0;
                            //Tweener.addTween(object, {rotationZ:0, time:0.5, transition:"easeOutSine"});
              private function addEventListeners():void{
        this.addEventListener(Event.ENTER_FRAME, render);
    //Enter Frame Listener function             
    private function render(e:Event):void{ 
                     renderer.renderScene(scene, camera, viewport);
                     camera.x = Math.cos(angleX) * 800;                                                  
                     camera.z = Math.sin(angleX) * 800;
    private function moveRight():void
              dest++;
              Tweener.addTween(this, {angleX:dest*anglePer, time:0.5});
              //goBack();
    private function moveLeft():void
              dest--;
              Tweener.addTween(this, {angleX:dest*anglePer, time:0.5});
              //goBack();
              ]]>
    </mx:Script>
              <mx:Canvas width="1014" height="661">
              <mx:Canvas id="pv3dCanvas" x="503" y="20" width="400" height="204" borderColor="#110101" backgroundColor="#841414" alpha="1.0" backgroundAlpha="0.57"> 
              </mx:Canvas>
              <mx:Button x="804" y="232" label="right" id="right" click="moveRight(),goBack()"/>
              <mx:Button x="582" y="232" label="left"  id="left"  click="moveLeft(),goBack()" />
              </mx:Canvas>
    </mx:Application>

    Your answer may be correct, but I am very much a beginner to actionscript, and I was wondering moreso if it is possible to determine the root/url (i.e. images/resolv2.jpg)? Or even if InteractiveScene3DEvent calls a variable that holds this url? However, specifically, I'm just wondering if the actionscript itself could determine the url in a line of code such as "if object == BitmapFileMaterial("/images/resolv2.jpg"); "? Also, here's a copy of InteractiveScene3DEvent in more detail if you think that will help:
    public class InteractiveScene3DEvent extends Event
                         * Dispatched when a container in the ISM recieves a MouseEvent.CLICK event
                        * @eventType mouseClick
                        public static const OBJECT_CLICK:String = "mouseClick";
                         * Dispatched when a container in the ISM receives an MouseEvent.MOUSE_OVER event
                        * @eventType mouseOver
                        public static const OBJECT_OVER:String = "mouseOver";
                         * Dispatched when a container in the ISM receives an MouseEvent.MOUSE_OUT event
                        * @eventType mouseOut
                        public static const OBJECT_OUT:String = "mouseOut";
                         * Dispatched when a container in the ISM receives a MouseEvent.MOUSE_MOVE event
                        * @eventType mouseMove
                        public static const OBJECT_MOVE:String = "mouseMove";
                         * Dispatched when a container in the ISM receives a MouseEvent.MOUSE_PRESS event
                        * @eventType mousePress
                        public static const OBJECT_PRESS:String = "mousePress";
                         * Dispatched when a container in the ISM receives a MouseEvent.MOUSE_RELEASE event
                        * @eventType mouseRelease
                        public static const OBJECT_RELEASE:String = "mouseRelease";
                         * Dispatched when the main container of the ISM is clicked
                        * @eventType mouseReleaseOutside
                        public static const OBJECT_RELEASE_OUTSIDE:String = "mouseReleaseOutside";
                         * Dispatched when a container is created in the ISM for drawing and mouse interaction purposes
                        * @eventType objectAdded
                        public static const OBJECT_ADDED:String = "objectAdded";
                        public var displayObject3D                                        :DisplayObject3D = null;
                        public var sprite                                                            :Sprite = null;
                        public var face3d                                                            :Triangle3D = null;
                        public var x                                                                      :Number = 0;
                        public var y                                                                      :Number = 0;
                        public var renderHitData:RenderHitData;
                        public function InteractiveScene3DEvent(type:String, container3d:DisplayObject3D=null, sprite:Sprite=null, face3d:Triangle3D=null,x:Number=0, y:Number=0, renderhitData:RenderHitData = null, bubbles:Boolean=false, cancelable:Boolean=false)
                                  super(type, bubbles, cancelable);
                                  this.displayObject3D = container3d;
                                  this.sprite = sprite;
                                  this.face3d = face3d;
                                  this.x = x;
                                  this.y = y;
                                  this.renderHitData = renderhitData;
    Thank you so much!

  • Some questions about the carousel object

    Hello,
    I think it is not possible to configure a non circular carousel, isn't it?, i.e., I want a carousel with 13 cells, but when the user is viewing the cell 13 I don't want the cell 1, cell 2, and so on to be viewed as the next ones.
    If this is not possible, I am thinking this:
    The user can see 5 cells (I am using an horizontal carousel) and the focus is in the 3rd cell. What I want to do is when the focus is in the 3rd cell, the user can't move to the cell in its left. Is this possible? The user only can move to the cells in the right until he reaches the third from last.
    Is this possible?
    Thanks in advance!!

    Hi jkhan!
    Thanks a lot for your reply!
    I'm trying the carousel view as a kind of timeline and the curved effect it provides I can't get it with the gallery view.
    If I could disable the carousel movement in a direction when I reached a cell it would be perfect...

Maybe you are looking for

  • Difference between IN and OUT and Media Start and Media END??  NEED HELP!!!

    As the titles states, what is the difference? I edited my film in preview/jpeg mode and now need to online the project to full quality. So far it hasn't gone to well. For example the media starts at 00:09:45:12. When I do a batch capture I watch the

  • Not able to post messages

    Hello, I am not able to post any message from my office PC neither; 1.Using IE in windows xp 2.Using Firefox in windows xp 3.Using Firefox in RHEL 4 When i click on reply button, message windows comes as usually, but when i click on Post Message butt

  • ATI RADEON HD 4870 Mac

    Cam the ATI RADEON HD 4870 run in the 06 Mac Pro?

  • Create Title from File Name

    Is there a way to automatically transfer the file name to the title of the image? Can it be done with a script in the export cations folder? If it can, does anyone have a script?

  • Just spent $799.00 on Mac Mini Core Duo at 1.66MHz.....

    I bought a Mac Mini 1.66 MHz-Core Duo about 2 weeks back for $799.00 and now for the same price Apple is offerring Mac Mini-1.83MHz Core Duo and mine at $599.00. Can I exchange or get refund?