Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS4 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-07-2010, 09:50   #1 (permalink)
Neuer User
 
Benutzerbild von simsalla
 
Registriert seit: Apr 2009
Beiträge: 70
Post Link hinzufügen

Ich hab das wirklich super Karussell der gotoandlearn.com seite ausprobiert und es klappt perfekt!


Jetzt würde ich gerne noch jedem Karussell Icon einen Link auf eine html Seite zuweisen, leider bekomme ich das noch nicht so ganz hin, hat jemand ein Tipp?

Action-Script:
Zitat:
import mx.utils.Delegate;

var numOfItems:Number;
var radiusX:Number = 400;
var radiusY:Number = 75;
var centerX:Number = Stage.width/2;
var centerY:Number = Stage.height/2;
var speed:Number = 0.05;
var perspective:Number = 130;
var home:MovieClip = this;

var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;

var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function()
{
var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
for(var i=0;i<numOfItems;i++)
{
var t = home.attachMovie("item","item"+i,i+1);
t.angle = i * ((Math.PI*2)/numOfItems);
t.onEnterFrame = mover;
t.toolText = nodes[i].attributes.tooltip;
t.icon.inner.loadMovie(nodes[i].attributes.image);
t.ref.inner.loadMovie(nodes[i].attributes.image);
t.icon.onRollOver = over;
t.icon.onRollOut = out;
t.icon.onRelease = released;


}
}

function over()
{
home.tooltip.tipText.text = this._parent.toolText;
home.tooltip._x = this._parent._x;
home.tooltip._y = this._parent._y - this._parent._height/2;
home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
home.tooltip._alpha = 100;
}

function out()
{
delete home.tooltip.onEnterFrame;
home.tooltip._alpha = 0;
}

function released()
{
trace(this._parent.toolText);
_root.getURL("http://www.google.de","_blank")
}

function moveTip()
{
home.tooltip._x = this._parent._x;
home.tooltip._y = this._parent._y - this._parent._height/2;
}



xml.load("icons.xml");

function mover()
{
this._x = Math.cos(this.angle) * radiusX + centerX;
this._y = Math.sin(this.angle) * radiusY + centerY;
var s = (this._y - perspective) / (centerY+radiusY-perspective);
this._xscale = this._yscale = s * 100;
this.angle += this._parent.speed;
this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
speed = (this._xmouse-centerX) /4500;
}


XML:
Zitat:
<icons>

<icon image="icon1.png" tooltip="After Effects" link="print1.html"/>

<icon image="icon2.png" tooltip="Illustrator" />

<icon image="icon3.png" tooltip="Audio" />

<icon image="icon4.png" tooltip="Cinema4d" />

<icon image="icon5.png" tooltip="Contact" />

<icon image="icon6.png" tooltip="Flash" />

<icon image="icon7.png" tooltip="InDesign" />

<icon image="icon8.png" tooltip="Media" />

<icon image="icon9.png" tooltip="Photoshop" />

<icon image="icon10.png" tooltip="RealFlow" />

</icons>
Hab jetzt ja beim ersten xml Tag schon mal so was wie einen Link definiert, ist dass der richtige Ansatz?

So sieht das bis jetzt aus: http://adrianl.bplaced.net/webpage/


Wäre über jede Hilfe dankbar

Geändert von simsalla (22-07-2010 um 09:55 Uhr)
simsalla ist offline   Mit Zitat antworten
Alt 22-07-2010, 12:33   #2 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Ja der Ansatz ist ok.

Den Link gibst Du dann jedem Icon mit:

ActionScript:
  1. // [...]
  2. t.icon.inner.loadMovie(nodes[i].attributes.image);
  3. t.icon.link = nodes[i].attributes.link;
  4. t.icon.onRelease = released;
  5. //
  6. function released()
  7. {
  8. trace("New link is: "+this.link);
  9.  getURL(this.link,"_blank") // _root brauchts da nicht
  10. }

Die Links solltest Du aber besser so anlegen:

PHP-Code:
<icon [...] link="http://www.seite1.de/print1.html"/> 

Geändert von ~pyropete~ (22-07-2010 um 12:37 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 29-07-2010, 18:05   #3 (permalink)
Neuer User
 
Benutzerbild von simsalla
 
Registriert seit: Apr 2009
Beiträge: 70
Post

newpage

Es funktioniert ...fast!

Das Problem ist er sagt mir dann folgendes:


--> "http://adrianl.bplaced.net/webpage/undefined"

hab es jetzt erst mal nur bei dem Indesign Logo (Pink, ID) ausprobiert


Code:
<icons>
<icon image="icon1.png" tooltip="After Effects"/>
<icon image="icon2.png" tooltip="Illustrator"/>
<icon image="icon3.png" tooltip="Audio"/>
<icon image="icon4.png" tooltip="Cinema4d"/>
<icon image="icon5.png" tooltip="Contact"/>
<icon image="icon6.png" tooltip="Flash"/>
<icon image="icon7.png" tooltip="InDesign" link="http://adrianl.bplaced.net/webpage/print2.html"/>
<icon image="icon8.png" tooltip="Media"/>
<icon image="icon9.png" tooltip="Photoshop"/>
<icon image="icon10.png" tooltip="RealFlow"/>
</icons>

so sieht das ganze gerade in der xmldatei aus.

Ne Idee?
simsalla ist offline   Mit Zitat antworten
Alt 29-07-2010, 18:26   #4 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Zeig mal Deinen aktualisierten Code dazu.
Füg für jedes Icon auch schonmal einen link ein ...
~pyropete~ ist offline   Mit Zitat antworten
Alt 30-07-2010, 11:07   #5 (permalink)
Neuer User
 
Benutzerbild von simsalla
 
Registriert seit: Apr 2009
Beiträge: 70
PHP-Code:
import mx.utils.Delegate;

var 
numOfItems:Number;
var 
radiusX:Number 400;
var 
radiusY:Number 75;
var 
centerX:Number Stage.width/2;
var 
centerY:Number Stage.height/2;
var 
speed:Number 0.05;
var 
perspective:Number 130;
var 
home:MovieClip this;

var 
tooltip:MovieClip this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha 0;

var 
xml:XML = new XML();
xml.ignoreWhite true;

xml.onLoad = function()
{
     var 
nodes this.firstChild.childNodes;
     
numOfItems nodes.length;
     for(var 
i=0;i<numOfItems;i++)
    {
        var 
home.attachMovie("item","item"+i,i+1);
        
t.angle * ((Math.PI*2)/numOfItems);
        
t.onEnterFrame mover;
        
t.toolText nodes[i].attributes.tooltip;
        
t.icon.inner.loadMovie(nodes[i].attributes.image);
        
t.ref.inner.loadMovie(nodes[i].attributes.image);
        
t.icon.onRollOver over;
        
t.icon.onRollOut out;
        
t.icon.onRelease released;
        
        
        
        
    }
}

function 
over()
{
       
home.tooltip.tipText.text this._parent.toolText;
       
home.tooltip._x this._parent._x;
       
home.tooltip._y this._parent._y this._parent._height/2;
       
home.tooltip.onEnterFrame Delegate.create(this,moveTip);
       
home.tooltip._alpha 100;
}

function 
out()
{
       
delete home.tooltip.onEnterFrame;
       
home.tooltip._alpha 0;
}

function 
released()
{
       
trace(this._parent.toolText); 
       
_root.getURL("http://www.google.de","_blank")
}

function 
moveTip()
{
       
home.tooltip._x this._parent._x;
       
home.tooltip._y this._parent._y this._parent._height/2;   
}



xml.load("icons.xml");

function 
mover()
{    
    
this._x Math.cos(this.angle) * radiusX centerX;
    
this._y Math.sin(this.angle) * radiusY centerY;
    var 
= (this._y perspective) / (centerY+radiusY-perspective);
    
this._xscale this._yscale 100;
    
this.angle += this._parent.speed;
    
this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
    
speed = (this._xmouse-centerX) /4500;
}

   
   
   
//neu   
   
   
   
t.icon.inner.loadMovie(nodes[i].attributes.image);
   
t.icon.link nodes[i].attributes.link;
   
t.icon.onRelease released;
   function 
released()
   {
   
trace("New link is: "+this.link);
   
getURL(this.link,"_self"// _root brauchts da nicht
   

so ... schaut der jetzt
simsalla ist offline   Mit Zitat antworten
Alt 30-07-2010, 11:40   #6 (permalink)
Neuer User
 
Benutzerbild von simsalla
 
Registriert seit: Apr 2009
Beiträge: 70
Post

hab gerade Spaßeshalber noch mal eben was anderes ausprobiert und zwar: ich hab auf das Realflow Logo den Link von goolge gelegt, trotzdem komm die Meldung --> "http://adrianl.bplaced.net/webpage/undefined", bzw es erscheint oben im Browser. http://adrianl.bplaced.net/webpage/flash.html

Geändert von simsalla (30-07-2010 um 11:54 Uhr)
simsalla ist offline   Mit Zitat antworten
Alt 11-09-2010, 13:31   #7 (permalink)
Neuer User
 
Benutzerbild von simsalla
 
Registriert seit: Apr 2009
Beiträge: 70
Keiner eine Idee?
simsalla ist offline   Mit Zitat antworten
Alt 11-09-2010, 13:43   #8 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Waas spuckt der da " trace("New link is: "+this.link);" aus?
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 01-10-2010, 20:43   #9 (permalink)
Neuer User
 
Benutzerbild von simsalla
 
Registriert seit: Apr 2009
Beiträge: 70
Wo wird Dir das angezeigt?
simsalla ist offline   Mit Zitat antworten
Alt 02-10-2010, 16:19   #10 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Zitat:
Zitat von simsalla Beitrag anzeigen
PHP-Code:
//neu   
   
   
   
t.icon.inner.loadMovie(nodes[i].attributes.image);
   
t.icon.link nodes[i].attributes.link;
   
t.icon.onRelease released;
   function 
released()
   {
   
trace("New link is: "+this.link);
   
getURL(this.link,"_self"// _root brauchts da nicht
   

so ... schaut der jetzt
Naja ... nee. Du musst die alten Zeilen mit dem neuen Code ersetzen und nicht einfach drunterschreiben. So kann das nicht funktionieren.

PHP-Code:
xml.onLoad = function()
{
     var 
nodes this.firstChild.childNodes;
     
numOfItems nodes.length;
     for(var 
i=0;i<numOfItems;i++)
    {
        var 
home.attachMovie("item","item"+i,i+1);
        
t.angle * ((Math.PI*2)/numOfItems);
        
t.onEnterFrame mover;
        
t.toolText nodes[i].attributes.tooltip;
        
t.icon.link nodes[i].attributes.link// <--- HIER!
        
t.icon.inner.loadMovie(nodes[i].attributes.image);
        
t.ref.inner.loadMovie(nodes[i].attributes.image);
        
t.icon.onRollOver over;
        
t.icon.onRollOut out;
        
t.icon.onRelease released
    }
}

function 
released()
{
   
trace("New link is: "+this.link);
   
getURL(this.link,"_self"// _root brauchts da nicht
   //
   
trace(this._parent.toolText);  

Dann funktioniert auch der trace()

Geändert von ~pyropete~ (02-10-2010 um 16:21 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Flash+XML+Bilder mit Link versehen - asfunction:link ?????? chriswiegand Flash CS4 Professional 1 26-10-2009 23:41
Link erst nach einem Klick als Link durch Mauszeiger erkennbar? locoloco Flash Einsteiger 3 21-10-2007 15:06
Symbol hinzufügen? math55 Flash 8 1 17-11-2005 21:06
Url hinzufügen ?!!??!!?!??! Mechi Flash 4 und Flash 5 9 30-12-2003 16:55
Link zu Banner hinzufügen bill Flash 4 und Flash 5 5 14-06-2003 12:53


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele