Link in flash naar external url (Opgelost)
17 antwoorden
Gesponsorde links
thatsme1 - 27/02/2010 14:00 (laatste wijziging 27/02/2010 14:18)
Nieuw lid
Bij een gewoone flash menu gebruik ik:
on (press, release) {
getURL("http://www.sitemasters.be/", "_blank");
}
on ( press, release) {
getURL ( "http://www.sitemasters.be/" , "_blank" ) ;
}
miss. heb je er wat aan?
Koen schreef:
Codetags gebruiken aub.
Koen - 27/02/2010 14:18
PHP expert
In ActionScript 2 gebruik je onderstaande code:
getURL("http://www.sitemasters.be", "_blank");
getURL ( "http://www.sitemasters.be" , "_blank" ) ;
getURL()
Bij ActionScript 3 gebruik je dit:
navigateToURL(new URLRequest("http://www.sitemasters.be"), "_blank");
navigateToURL( new URLRequest( "http://www.sitemasters.be" ) , "_blank" ) ;
navigateToURL()
TrueForce - 02/03/2010 19:34 (laatste wijziging 02/03/2010 23:39)
Nieuw lid
Ik ben bang dat ik het verkeerd heb uitgelegd.
Ik heb een carousel met een XML-file gebouwd.
Mijn flash is:
import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;
var numOfItems:Number;
var radiusX:Number = 300;
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;
theText._alpha = 0;
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.r.inner.loadMovie(nodes[i].attributes.image);
t.icon.onRollOver = over;
t.icon.onRollOut = out;
t.icon.onRelease = released;
}
}
function over()
{
//BONUS Section
var sou:Sound = new Sound();
sou.attachSound("sover");
sou.start();
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()
{
home.tooltip._alpha = 0;
for(var i=0;i<numOfItems;i++)
{
var t:MovieClip = home["item"+i];
t.xPos = t._x;
t.yPos = t._y;
t.theScale = t._xscale;
delete t.icon.onRollOver;
delete t.icon.onRollOut;
delete t.icon.onRelease;
delete t.onEnterFrame;
if(t != this._parent)
{
var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
}
else
{
var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
}
}
}
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)/2500;
}
import mx.utils .Delegate ;
import mx.transitions .Tween ;
import mx.transitions .easing .* ;
var numOfItems:Number ;
var radiusX:Number = 300 ;
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 ;
theText._alpha = 0 ;
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.r .inner .loadMovie ( nodes[ i] .attributes .image ) ;
t.icon .onRollOver = over;
t.icon .onRollOut = out;
t.icon .onRelease = released;
}
}
function over( )
{
//BONUS Section
var sou:Sound = new Sound ( ) ;
sou.attachSound ( "sover" ) ;
sou.start ( ) ;
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( )
{
home .tooltip ._alpha = 0 ;
for ( var i=0 ;i< numOfItems;i++)
{
var t:MovieClip = home [ "item" +i] ;
t.xPos = t._x ;
t.yPos = t._y ;
t.theScale = t._xscale ;
delete t.icon .onRollOver ;
delete t.icon .onRollOut ;
delete t.icon .onRelease ;
delete t.onEnterFrame ;
if ( t ! = this ._parent )
{
var tw:Tween = new Tween( t,"_xscale" ,Strong.easeOut ,t._xscale ,0 ,1 ,true ) ;
var tw2:Tween = new Tween( t,"_yscale" ,Strong.easeOut ,t._yscale ,0 ,1 ,true ) ;
var tw3:Tween = new Tween( t,"_alpha" ,Strong.easeOut ,100 ,0 ,1 ,true ) ;
}
else
{
var tw:Tween = new Tween( t,"_xscale" ,Strong.easeOut ,t._xscale ,0 ,1 ,true ) ;
var tw2:Tween = new Tween( t,"_yscale" ,Strong.easeOut ,t._yscale ,0 ,1 ,true ) ;
var tw3:Tween = new Tween( t,"_alpha" ,Strong.easeOut ,100 ,0 ,1 ,true ) ;
}
}
}
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) / 2500 ;
}
En mijn XML-file is:
<icons>
<icon image="artful.jpg" tooltip="Artful" />
<icon image="clover.jpg" tooltip="Lucky Clover" />
<icon image="dahlia.jpg" tooltip="Club Dahlia" />
<icon image="dj.jpg" tooltip="DJ Schema" />
<icon image="spike.jpg" tooltip="Spike Source" />
</icons>
<icons>
<icon image ="artful.jpg" tooltip ="Artful" />
<icon image ="clover.jpg" tooltip ="Lucky Clover" />
<icon image ="dahlia.jpg" tooltip ="Club Dahlia" />
<icon image ="dj.jpg" tooltip ="DJ Schema" />
<icon image ="spike.jpg" tooltip ="Spike Source" />
</icons>
Hopelijk kunnen jullie hier wat mee! In ieder geval, heel erg bedankt voor jullie hulp!
vinTage - 02/03/2010 21:19
Nieuw lid
regel 35, daar roep je een functie aan (3 x raden welke )
en zoals je zelf wel ziet op jouw voorbeeld pagina, gebeurd er niet veel na onRelease, maw, je hebt sowieso ergens een error zitten.
Maar...als je toch naar een andere url moet gaan, dan kan je die functie gewoon vergeten...
Je geeft in je xml een extra attribute is, bv:
<icon image="artful.jpg" tooltip="Artful" goto="http://artful.com" />
<icon image ="artful.jpg" tooltip ="Artful" goto ="http://artful.com" />
Van regel 35 maak je dan dit:
t.icon.onRelease = function()
{
getURL(nodes[i].attributes.goto)
}
t.icon .onRelease = function ( )
{
getURL ( nodes[ i] .attributes .goto )
}
TrueForce - 02/03/2010 22:34
Nieuw lid
Hey vinTage,
Hartstikke bedankt voor je reactie!
De link is toegepast en hij wilt wel naar de link, maar geeft het volgende aan:
"De webpagina kan niet worden weergegeven".
Ik heb http://www.google.nl uitgeprobeerd, geeft ie het hetzelfde aan en zelfs
../index.htm (mijn homepage), maar hij blijft aangeven dat ie de webpagina niet kan openen.
Kan je me bij dit laatste gedeelte helpen, dank je wel!
vinTage - 02/03/2010 23:00
Nieuw lid
ik zie niks dat hij iets -wel/niet- kan openen hoor..?
vinTage - 02/03/2010 23:18 (laatste wijziging 02/03/2010 23:19)
Nieuw lid
zoals op elk ander publiekelijk forum.
TrueForce - 02/03/2010 23:20 (laatste wijziging 02/03/2010 23:21)
Nieuw lid
dit is voor het eerst dat ik forums gebruik (A)
Hij geeft nu trouwens aan dat mijn host de url niet herkent.
Kan je daar wat mee?! Hij opent nu dus een 404-error van mijn host.
ongeacht of ik nou http://www.google.nl erin zet of ../index.htm, hij pakt beide niet.
vinTage - 02/03/2010 23:51
Nieuw lid
zonder te weten waar het (nog) over gaat, zeker van dat je de urls juist invoert, want zo te merken aan je opmerkingen doet de getURL wel zn werk....
TrueForce - 03/03/2010 09:39 (laatste wijziging 03/03/2010 16:34)
Nieuw lid
De getURL doet deels zijn werk, hij werkt nu wel als link / button, maar geeft alleen nu een fout dat ie de pagina niet kan openen, net alsof de website niet bestaat waar ik hem heen link (in XML: goto="http://www.google.nl").
En de rest gekopieerd en geplakt in Flash, dus neem aan dat dat goed moet werken, lijkt wel dat dat goed werkt, want hij ziet nu wel een link, maar kan er om 1 of andere reden niet naartoe.
http://www.trueforce.info/martin
Als je op Artful klikt, wat gebeurd er dan bij jou?! Bij mij komt er in die frame een webpagina 404-foutmelding van de host waarvan ik het huur. (internethost.nl)
Als ik thuis ben zal ik opnieuw mijn actionscript online gooien, kijken of je erachter kan komen. De XML-file staat op http://www.trueforce.info/martin/links/icons.xml .
vinTage - 03/03/2010 16:51
Nieuw lid
over een SEOnvriendelijke site gesproken
Probeer eens dit:
t.icon.onRelease = function()
{
trace(nodes[i].attributes.goto)
getURL(nodes[i].attributes.goto, "_self");
}
t.icon .onRelease = function ( )
{
trace ( nodes[ i] .attributes .goto )
getURL ( nodes[ i] .attributes .goto , "_self" ) ;
}
Gesponsorde links
Dit onderwerp is gesloten .