<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ADD CHILD = AS3 &#187; navigateToURL</title>
	<atom:link href="http://www.addchild.net/tag/navigatetourl/feed" rel="self" type="application/rss+xml" />
	<link>http://www.addchild.net</link>
	<description>初心者がFlsah ActionScript 3.0を勉強して行く軌跡です。</description>
	<lastBuildDate>Tue, 09 Feb 2010 04:10:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ボタンに連動してムービークリップの表示を変える[2-7]</title>
		<link>http://www.addchild.net/as3-beginner/ls2/284.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls2/284.html#comments</comments>
		<pubDate>Thu, 01 Oct 2009 07:44:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson2]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[navigateToURL]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[URLRequest]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=284</guid>
		<description><![CDATA[配列を利用して複数のボタンにリンクを付けてる

ムービークリップのボタンに飛び先となるURLを指定するのに配列を利用します。
配列にあらかじめ飛び先となるURLを格納して、添字を利用してループ処理を行うような感じになりま [...]]]></description>
			<content:encoded><![CDATA[<h3>配列を利用して複数のボタンにリンクを付けてる</h3>
<p>
ムービークリップのボタンに飛び先となるURLを指定するのに配列を利用します。<br />
配列にあらかじめ飛び先となるURLを格納して、添字を利用してループ処理を行うような感じになります。
</p>
<pre class="brush: jscript; auto-links: false;">
//配列
var url:Array = new Array();
url[1] = &quot;http://www.yahoo.co.jp&quot;;
url[2] = &quot;http://www.google.co.jp&quot;;
url[3] = &quot;http://www.addchild.net&quot;;
</pre>
<p>
ここでは添字を1から始めてますが、本来なら配列は0からはじまることが定められてます。<br />
しかしムービークリップのインスタンス名の数字と合わせる為に、このような手法を取っています。
</p>
<p>
配列の準備が出来れば、マウスダウンした時の処理をループさせます。
</p>
<pre class="brush: jscript; auto-links: false;">
for(var i:int = 1; i &lt; 4; i++){
	if(btn == this[&quot;btn_mc&quot;+i]){
		var link:URLRequest = new URLRequest(url[i]);
		var target:String = &quot;_self&quot;;
		navigateToURL(link,target);
	}
}
</pre>
<p>
switchを利用することも出来ますが、今回はforを使ってプログラム処理を簡略化しています。<br />
下記はswitchのプログラムです。
</p>
<p><span id="more-284"></span></p>
<pre class="brush: jscript; auto-links: false;">
switch(btn){
	//1
	case btn_mc1:
	var google:URLRequest = new URLRequest(&quot;http://www.google.co.jp&quot;);
    var target:String = &quot;_self&quot;;
	navigateToURL(google,target);
	break;
	//2
	case btn_mc2:
	var yahoo:URLRequest = new URLRequest(&quot;http://www.yahoo.co.jp&quot;);
    var target:String = &quot;_self&quot;;
	navigateToURL(yahoo,target);
	//3
	case btn_mc3:
	var addchild:URLRequest = new URLRequest(&quot;http://www.addchild.net&quot;);
    var target:String = &quot;_self&quot;;
	navigateToURL(addchild,target);
}
</pre>
<p>
素人感覚でみるとswitchの方が理解しやすいかもしれませんが、プログラムを簡略させる為にforを使いました。
</p>
<p>
これで飛び先となるURLの指定は完了しましたので、[2-6]で使用したアクションスクリプトにマウスダウンの処理を付け加えます。
</p>
<pre class="brush: jscript; auto-links: false;">
//ループを使う
for(var i:int = 1; i &lt; 4; i++){
	//イベントリスナー登録
	this[&quot;btn_mc&quot;+i].addEventListener(MouseEvent.MOUSE_OVER,Over);
	this[&quot;btn_mc&quot;+i].addEventListener(MouseEvent.MOUSE_OUT,Out);
	this[&quot;btn_mc&quot;+i].addEventListener(MouseEvent.MOUSE_DOWN,Down);

	//ボタンモード
	this[&quot;btn_mc&quot;+i].buttonMode = true;
	//イメージムービークリップを非表示
	this[&quot;img_mc&quot;+i].alpha = 0;
}
//初期状態
img_mc1.alpha = 1;

//マウスオーバー
function Over(event:Event):void{
	var btn = event.target;  //ターゲットを置き換える
	btn.alpha = 0.7;
	//条件に合わしてイベントリスナー登録
	for(var i:int = 1; i &lt; 4; i++){
    	if(btn == this[&quot;btn_mc&quot;+i]){
        	this[&quot;img_mc&quot;+i].addEventListener(Event.ENTER_FRAME,imgAlpha);
    	}
	}
}
//アルファプログラム関数
function imgAlpha(event:Event){
	//ムービークリップのチェック
	var img:MovieClip = event.target as MovieClip;
	for(var i:int = 1; i &lt; 4; i++){
		var imgNo:MovieClip = this[&quot;img_mc&quot;+i] as MovieClip;
		imgNo.alpha = 0;
		img.alpha = 1;
		img.removeEventListener(Event.ENTER_FRAME,imgAlpha);
	}
}

//マウスアウト
function Out(event:Event):void{
	var btn = event.target;  //ターゲットを置き換える
	btn.alpha = 1;
	//条件に合わしてイベントリスナー登録
	for(var i:int = 1; i &lt; 4; i++){
    	if(btn == this[&quot;btn_mc&quot;+i]){
        	this[&quot;img_mc&quot;+i].addEventListener(Event.ENTER_FRAME,zero);
    	}
	}
}
//リセットプログラム関数
function zero(event:Event):void{
	var img:MovieClip = event.target as MovieClip;
	img.alpha = 1;
	img.removeEventListener(Event.ENTER_FRAME,imgAlpha);
	img.removeEventListener(Event.ENTER_FRAME,zero);
}

//マウスダウン
function Down(event:Event):void{
	var btn = event.target;  //ターゲットを置き換える
	//配列
	var url:Array = new Array();
	url[1] = &quot;http://www.yahoo.co.jp&quot;;
	url[2] = &quot;http://www.google.co.jp&quot;;
	url[3] = &quot;http://www.addchild.net&quot;;

	for(var i:int = 1; i &lt; 4; i++){
		if(btn == this[&quot;btn_mc&quot;+i]){
			var link:URLRequest = new URLRequest(url[i]);
			var target:String = &quot;_self&quot;;
			navigateToURL(link,target);
		}
	}
}
</pre>
<div id="flash">
配列を利用して複数のボタンにリンクを付けてる
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/2/7-A.swf", "flash", "550", "200", "9.0.0");
</script></p>

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.addchild.net/as3-beginner/ls2/260.html" title="ムービークリップをボタンとして使う[2-4] (2009年9月13日)">ムービークリップをボタンとして使う[2-4]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/263.html" title="ボタンに連動してムービークリップの表示を変える[2-5] (2009年9月17日)">ボタンに連動してムービークリップの表示を変える[2-5]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/202.html" title="ムービークリップをボタンとして使う[2-3] (2009年9月9日)">ムービークリップをボタンとして使う[2-3]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/192.html" title="ムービークリップをボタンとして使う[2-2] (2009年9月8日)">ムービークリップをボタンとして使う[2-2]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/269.html" title="ボタンに連動してムービークリップの表示を変える[2-6] (2009年9月29日)">ボタンに連動してムービークリップの表示を変える[2-6]</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls2/284.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ムービークリップをボタンとして使う[2-4]</title>
		<link>http://www.addchild.net/as3-beginner/ls2/260.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls2/260.html#comments</comments>
		<pubDate>Sun, 13 Sep 2009 08:10:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson2]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[navigateToURL]]></category>
		<category><![CDATA[URLRequest]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=260</guid>
		<description><![CDATA[複数のムービークリップのボタン別にリンクを付ける

[2-3]で使用したアクションスクリプトでは、複数のムービークリップに対して一つのリンク先を付けてましが、今回は押されたムービークリップのボタンごとに、別々のリンク先を [...]]]></description>
			<content:encoded><![CDATA[<h3>複数のムービークリップのボタン別にリンクを付ける</h3>
<p>
[2-3]で使用したアクションスクリプトでは、複数のムービークリップに対して一つのリンク先を付けてましが、今回は押されたムービークリップのボタンごとに、別々のリンク先を用意して、条件分岐でリンク先を変更させます。
</p>
<p>
[2-3]で使用したアクションスクリプトのクリック時、またはマウスダウン時のリスナー関数に条件分岐のプログラムを追加します。<br />
今回使う条件分岐はswitchで、ターゲットのムービークリップごとに振り分けて、別々のリンク先を指定するような感じなります。
</p>
<pre class="brush: jscript; auto-links: false;">
//押されたムービークリップで条件分岐
	switch(btn){
		//1
		case btn_mc1:
		var google:URLRequest = new URLRequest(&quot;http://www.google.co.jp&quot;);
		navigateToURL(google);
		break;
		//2
		case btn_mc2:
		var yahoo:URLRequest = new URLRequest(&quot;http://www.yahoo.co.jp&quot;);
		navigateToURL(yahoo);
	}
</pre>
<p><span id="more-260"></span></p>
<p>
クリック時もしくはマウスダウン時のムービークリップのイベントターゲットがbtn_mc1のやbtn_mc2か、どのケースに該当するか判定させています。<br />
イベントターゲットを変数btnに置き換え、そのbtnのターゲットがそのケースに当てはまるかを条件分岐しています。
</p>
<pre class="brush: jscript; auto-links: false;">
//ループを使い
for(var i:int = 1; i &lt; 3; i++){
	//イベントリスナー登録
	this[&quot;btn_mc&quot;+i].addEventListener(MouseEvent.MOUSE_OVER,Over);
	this[&quot;btn_mc&quot;+i].addEventListener(MouseEvent.MOUSE_DOWN,Down);
	this[&quot;btn_mc&quot;+i].addEventListener(MouseEvent.MOUSE_OUT,Out);

	//ボタンモード
	this[&quot;btn_mc&quot;+i].buttonMode = true;
}
//マウスオーバー
function Over(event:Event):void{
	var btn = event.target;  //ターゲットを置き換える
	btn.alpha = 0.7;
}
//マウスアウト
function Out(event:Event):void{
	var btn = event.target;  //ターゲットを置き換える
	btn.alpha = 1;
}
//マウスダウン
function Down(event:Event):void{
	var btn = event.target;  //ターゲットを置き換える
    var target:String = &quot;_self&quot;;

	//押されたムービークリップで条件分岐
	switch(btn){
		//1
		case btn_mc1:
		var google:URLRequest = new URLRequest(&quot;http://www.google.co.jp&quot;);
		var target:String = &quot;_self&quot;;
		navigateToURL(google,target);
		break;
		//2
		case btn_mc2:
		var yahoo:URLRequest = new URLRequest(&quot;http://www.yahoo.co.jp&quot;);
		var target:String = &quot;_self&quot;;
		navigateToURL(yahoo,target);
	}
}
</pre>
<div id="flash">
複数のムービークリップのボタンに条件分岐でリンクを付ける
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/2/4-A.swf", "flash", "550", "200", "9.0.0");
</script></p>

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.addchild.net/as3-beginner/ls2/284.html" title="ボタンに連動してムービークリップの表示を変える[2-7] (2009年10月1日)">ボタンに連動してムービークリップの表示を変える[2-7]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/202.html" title="ムービークリップをボタンとして使う[2-3] (2009年9月9日)">ムービークリップをボタンとして使う[2-3]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/192.html" title="ムービークリップをボタンとして使う[2-2] (2009年9月8日)">ムービークリップをボタンとして使う[2-2]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/269.html" title="ボタンに連動してムービークリップの表示を変える[2-6] (2009年9月29日)">ボタンに連動してムービークリップの表示を変える[2-6]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/263.html" title="ボタンに連動してムービークリップの表示を変える[2-5] (2009年9月17日)">ボタンに連動してムービークリップの表示を変える[2-5]</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls2/260.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ムービークリップをボタンとして使う[2-3]</title>
		<link>http://www.addchild.net/as3-beginner/ls2/202.html</link>
		<comments>http://www.addchild.net/as3-beginner/ls2/202.html#comments</comments>
		<pubDate>Wed, 09 Sep 2009 06:49:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[lesson2]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[navigateToURL]]></category>
		<category><![CDATA[URLRequest]]></category>

		<guid isPermaLink="false">http://www.addchild.net/?p=202</guid>
		<description><![CDATA[ムービークリップのボタンにリンクを付ける

[2-1]で使用したアクションスクリプトに、マウスがクリックされた時またはマウスがダウンした時のプログラムに指定したURLのリンクを付けます。
URLのリンクを付ける為には、A [...]]]></description>
			<content:encoded><![CDATA[<h3>ムービークリップのボタンにリンクを付ける</h3>
<p>
[2-1]で使用したアクションスクリプトに、マウスがクリックされた時またはマウスがダウンした時のプログラムに指定したURLのリンクを付けます。<br />
URLのリンクを付ける為には、ActionScript 2.0ではgetURLなどを使い外部ページにアクセスが出来ましたが、ActionScript 3.0ではgetURLに変わる方法でプログラムを書かなくてはなりません。<br />
URLRequestクラスでまずURL情報を指定して、navigateToURLクラスにその情報を渡してリンクさせるみたいな感じになります。
</p>
<pre class="brush: jscript; auto-links: false;">
//プログラム関数（マウスダウン）
function Down(event:Event):void{
	//URLRequestの設定
	var Url:URLRequest = new URLRequest(&quot;http://www.addchild.net/&quot;);
	//ターゲット条件を指定
	var target:String = &quot;_self&quot;;
	//指定したURLに飛ばす
	navigateToURL(Url,target);
}
</pre>
<p><span id="more-202"></span></p>
<p>
new演算子しでURLを変数Urlに置き換えて、置き換えてたUrlをnavigateToURLでページに移動となります。<br />
さらに、ターゲットをselfにすることで現在のページで移動となりますが、blankなどで別タブや別ウィンドウで表示させることも可能です。
</p>
<pre class="brush: jscript; auto-links: false;">
//イベントリスナー登録
btn_mc.addEventListener(MouseEvent.ROLL_OVER,Over);
btn_mc.addEventListener(MouseEvent.CLICK,Down);
btn_mc.addEventListener(MouseEvent.ROLL_OUT,Out);

//ボタンモード
btn_mc.buttonMode = true;

//プログラム関数（マウスオーバー）
function Over(event:Event):void{
	btn_mc.alpha = 0.7;
}

//プログラム関数（マウスダウン）
function Down(event:Event):void{
	//URLRequestの設定
	var Url:URLRequest = new URLRequest(&quot;http://www.addchild.net/&quot;);
	//ターゲット条件を指定
	var target:String = &quot;_self&quot;;
	//指定したURLに飛ばす
	navigateToURL(Url,target);
}

//プログラム関数（マウスアウト）
function Out(event:Event):void{
	btn_mc.alpha = 1;
}
</pre>
<div id="flash">
ムービークリップをボタンにリンクを付ける
</div>
<p><script type="text/javascript">
  swfobject.embedSWF("http://www.addchild.net/fl/2/3-A.swf", "flash", "550", "200", "9.0.0");
</script></p>

	<h4>関連する投稿</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.addchild.net/as3-beginner/ls2/260.html" title="ムービークリップをボタンとして使う[2-4] (2009年9月13日)">ムービークリップをボタンとして使う[2-4]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/284.html" title="ボタンに連動してムービークリップの表示を変える[2-7] (2009年10月1日)">ボタンに連動してムービークリップの表示を変える[2-7]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/192.html" title="ムービークリップをボタンとして使う[2-2] (2009年9月8日)">ムービークリップをボタンとして使う[2-2]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls2/184.html" title="ムービークリップをボタンとして使う[2-1] (2009年9月7日)">ムービークリップをボタンとして使う[2-1]</a> (0)</li>
	<li><a href="http://www.addchild.net/as3-beginner/ls1/152.html" title="ムービークリップをボタンでコントロールする［1-7］ (2009年9月2日)">ムービークリップをボタンでコントロールする［1-7］</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.addchild.net/as3-beginner/ls2/202.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
