Anpassung kostenloses Spiral Karusel

latitude

Mitglied
Hallo,

ich habe mir das kostenlose Spiral Karusel hier herunter geladen: http://www.flash-homepage-animationen.de/

Nun möchte ich gerne die Anzahl der Zeilen auf 5 oder mehr erhöhen. leider kenne ich mich mit PV3D nicht aus, kann mir jemand einen ersten Hinweis geben?

Ich hatte gehofft, dass dort eine Variable gesetzt wurde, die die Anzahl bestimmt.

Nachfolgend der Code:

PHP:
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.BlurFilter;

var container:Sprite = new Sprite();
container.x = 225;
container.y = 270;
addChild(container);

var tooltip:Tooltip = new Tooltip();
tooltip.x = tooltip.y = -1000;
addChild(tooltip);

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

tn_title.text = "";
tn_desc.text = "";
tn_url.text = "";

var p_dict:Dictionary=new Dictionary();
var pc:Plane = new Plane();
pc.visible = false;
cam.target = pc;

var numOfRotations:Number = 3;
var yPos:Number = 0;
var angle:Number = 0;

var filename_list = new Array();
var url_list = new Array();
var url_target_list:Array = new Array();
var title_list = new Array();
var description_list = new Array();
var folder:String = "images/";

var i:Number;
var total:Number;
var images_xml:XML = new XML();
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("images.xml"));
loader.addEventListener(Event.COMPLETE, loadImages);

function loadImages(e:Event):void 
{
	images_xml = XML(e.target.data);
	total = images_xml.image.length();
	var anglePer:Number = ((Math.PI*2) * numOfRotations) / total;
	
	for( i = 0; i < total; i++ )
	{
		url_list.push( images_xml.image[i].@url.toString() );
		url_target_list.push( images_xml.image[i].@target.toString() );
		title_list.push( images_xml.image[i].@title.toString() );
		description_list.push( images_xml.image[i].@description.toString() );
		
		var bfm:BitmapFileMaterial = new BitmapFileMaterial(
		folder + images_xml.image[i].@filename.toString());
		bfm.oneSide = false;
		bfm.smooth = true;
		var p:Plane = new Plane(bfm, 140, 125, 2, 2);
		scene.addChild(p);
		var p_container:Sprite = p.container;
		p_container.name = "image" + i;
		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 );
		
		p.rotationY = (-i*anglePer) * (180/Math.PI) + 90;
		p.x = Math.cos(i * anglePer) * 480;
		p.z = Math.sin(i * anglePer) * 480;
		p.y = yPos;

		if( (i+1) % 20 == 0 )
		{
			 yPos += 130;
		}
	}
}

function p_rollover(me:MouseEvent) 
{
	var sp:Sprite = me.target as Sprite;
	
	var glow:GlowFilter = new GlowFilter(0xFF6600,0.7,5,5,10,2,true,false);
	sp.filters = [glow]

	tooltip.x = stage.stageWidth *0.5;
	tooltip.y = 374;

	
	var s_no:Number = parseInt(sp.name.slice(5,10));
	tn_title.text = title_list[s_no];
	tn_desc.text = description_list[s_no];
	tn_url.text = url_list[s_no];
	tooltip.tipText.text = title_list[s_no];
}
function p_rollout(me:MouseEvent) 
{
	var sp:Sprite = me.target as Sprite;
	
	sp.filters = null;

	tooltip.x = tooltip.y = -1000;
	
	tn_title.text = "";
	tn_desc.text = "";
	tn_url.text = "";
}
function p_click(me:MouseEvent) 
{
	var sp:Sprite = me.target as Sprite;
	var s_no:Number = parseInt(sp.name.slice(5,10));
	navigateToURL(new URLRequest(url_list[s_no]), url_target_list[s_no]);
}

addEventListener(Event.ENTER_FRAME, render);

function render(e:Event):void
{
	var dist2:Number = ((stage.mouseX) - 225) * 0.0001;
	angle += dist2;
	cam.x = - Math.cos(angle) * 50;
	cam.z = Math.sin(angle) * 50;
	var new_zoom = 4.5 - stage.mouseY * 0.008; 
	cam.zoom += ( new_zoom - cam.zoom ) * 0.06;
	scene.renderCamera(cam);
}

Vielen Dank für Eure Hilfe

Dirk
 
Zurück