mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 05:55 Benutzername: Passwort: Auto-Login

Thema: AS3 Pfeilsteuerung eines Flash-Karusells. vom 08.01.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> AS3 Pfeilsteuerung eines Flash-Karusells.
Autor Nachricht
DaJan
Threadersteller

Dabei seit: 28.07.2006
Ort: Hamburg
Alter: 21
Geschlecht: Männlich
Verfasst Do 08.01.2009 22:35
Titel

AS3 Pfeilsteuerung eines Flash-Karusells.

Antworten mit Zitat Zum Seitenanfang

ich habe ein problem, ich brauche ein flash-karussel für ein provates projekt.
weil ich absolut keine ahnung habe, habe ich mir ein template gekauft. Mädchen!

alles super... nur leider funktioniert die navigation nur über die mausposition, dass gefällt mir jetzt im nachhinein nicht wirklich. ich möchte lieber, oldshool über pfeile steuern. habe jetzt schon ne ganze weile rumprobiert und gemacht und getan, aber egal was ich mache, es führt dazu, dass das ding gar nichts mehr macht... Menno!

kann mir vllt. einer einen tipp geben, wie ich am besten an die sache ran gehe, damit cih mein ziel erreiche.

anbei einmal das externe script.
Zitat:

import flash.filters.BlurFilter;
import mx.utils.Delegate;
class oxylus.carousel.Carousel extends MovieClip {
private var node:XMLNode;
private var _vertical:Boolean;
private var _autoMove:Boolean;
private var _speed:Number;
private var _maxSpeed:Number;
private var _radiusx:Number;
private var _radiusy:Number;
private var _stopOnRollover:Boolean;
private var _allButtons:Boolean;
private var _blurScale:Number;
private var _hitW:Number;
private var _hitH:Number;
private var xml:XML;
private var Thumbs:Array;
private var refAngle:Number = 0;
private var angle:Number;
private var baseDepth:Number;
private var once:Boolean = false;
public function Carousel() {
Thumbs = new Array();
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = Delegate.create(this, dataLoaded);
xml.load("carousel.xml");
}
private function dataLoaded(s) {
if (!s) {
trace("Could not load xml ! Check xml (must be carousel.xml)");
return;
}
node = xml.firstChild;
_vertical = node.attributes.vertical == "yes";
_autoMove = node.attributes.autoMove == "yes";
_maxSpeed = _speed=Number(node.attributes.maxSpeed);
_radiusx = Number(node.attributes.radiusX);
_radiusy = Number(node.attributes.radiusY);
_blurScale = Number(node.attributes.blurScale);
_stopOnRollover = node.attributes.stopOnRollover == "yes";
_allButtons = node.attributes.allButtons == "yes";
_hitW = Number(node.attributes.hitAreaWidth)/2;
_hitH = Number(node.attributes.hitAreaHeight)/2;
_radiusx = Number(node.attributes.radiusX);
//
var p:XMLNode = node.firstChild;
var i:Number = 0;
baseDepth = this.getNextHighestDepth();
for (; p != null; p=p.nextSibling, i++) {
var tn:MovieClip = this.attachMovie("Thumbnail", "tn"+i, baseDepth+i);
tn.setData(p, node);
if (_stopOnRollover) {
tn.onMouseOver = Delegate.create(this, Pause);
tn.onMouseOut = Delegate.create(this, Resume);
}
Thumbs.push(tn);
//break;
}
angle = 360/Thumbs.length;
if (!_autoMove) {
spin();
this.onMouseMove = mouseMoveHandler;
} else {
Resume();
}
}
private function Pause() {
delete this.onEnterFrame;
}
private function Resume() {
this.onEnterFrame = spin;
}
private function spin() {
for (var i = 0; i<Thumbs.length; i++) {
var tn:MovieClip = Thumbs[i];
var crtAngle:Number = (refAngle+i*angle)%360;
if (crtAngle<0) {
crtAngle += 360;
}
if (_vertical) {
tn._x = Math.sin((crtAngle)/180*Math.PI)*_radiusy;
tn._y = Math.cos((crtAngle)/180*Math.PI)*_radiusx;
} else {
tn._y = Math.sin((crtAngle)/180*Math.PI)*_radiusy;
tn._x = Math.cos((crtAngle)/180*Math.PI)*_radiusx;
}
//
var tAngle:Number = (crtAngle+90)%360;
if (tAngle>180) {
tAngle = 360-tAngle;
}
var minScale:Number = 50;
var minAlpha:Number = 30;
tn._xscale = tn._yscale=minScale+(100-minScale)*tAngle/180;
var lim:Number = 90;
if (tAngle<=lim) {
tn.filters = blur(_blurScale-_blurScale*tAngle/lim);
tn._alpha = minAlpha+(100-minAlpha)*tAngle/lim;
} else {
tn.filters = blur[0];
tn._alpha = 100;
}
var crtDepth:Number = baseDepth+Math.floor(2*tAngle/angle);
if (tn.getDepth() != crtDepth) {
tn.swapDepths(crtDepth);
}
if (!_allButtons) {
tn.enabled = tAngle>=90;
}
}
refAngle += _speed;
}
private function blur(blur) {
blur = Math.round(blur);
if (blur<1) {
return [];
}
return [new BlurFilter(blur, blur, 2)];
}
private function mouseMoveHandler() {
if (_xmouse<-_hitW || _xmouse>_hitW || _ymouse<-_hitH || _ymouse>_hitH) {
return;
}
if (!once) {
once = true;
Resume();
}
if (!_vertical) {
_speed = _maxSpeed*_xmouse/_hitW;
} else {
_speed = _maxSpeed*_ymouse/_hitH;
}
}
}


vielen dank schonmal!!! Lächel
  View user's profile Private Nachricht senden
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Fr 09.01.2009 14:54
Titel

Antworten mit Zitat Zum Seitenanfang

Kannste das erstmal in ein vernünftiges Format bringen? *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
 
Ähnliche Themen [Flash,Swish] von Flash aus eine bestimmte Scene,Frame Laden
reine Flash-Seite oder lieber nur mit Flash-Elementen
Flash: Welcher Skill-Level für folgende Flash-Datei...
Flash verlinken, aber kein flash mehr drauf
Flash-Animationen OHNE Macromedia Flash-Player abspielen
Gewinnspiel zum Flash Buch - Flash fast forward
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.