<?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>ひろぽっぽれす &#187; ActionScript3</title>
	<atom:link href="http://hiropo.co.uk/archives/category/actionscript3/feed" rel="self" type="application/rss+xml" />
	<link>http://hiropo.co.uk</link>
	<description>Web系エンジニアの適当なブログです。どうでも酔いものばかり作ってます。</description>
	<lastBuildDate>Mon, 12 Mar 2012 06:10:01 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>with文の名前領域 &#8211; ActionScript3.0</title>
		<link>http://hiropo.co.uk/archives/453</link>
		<comments>http://hiropo.co.uk/archives/453#comments</comments>
		<pubDate>Fri, 23 Apr 2010 08:55:43 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=453</guid>
		<description><![CDATA[AS3を本気で勉強しようと思い過去に何度入門したかわからないAS3を再び始めました。今回は本気です！（ってみんな言うよね。） とりあえずTextField()から入門してHelloWorld的なことをやろうと思い頑張って &#8230; <a href="http://hiropo.co.uk/archives/453">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>AS3を本気で勉強しようと思い過去に何度入門したかわからないAS3を再び始めました。今回は本気です！（ってみんな言うよね。）<br />
とりあえずTextField()から入門してHelloWorld的なことをやろうと思い頑張っていたら、with文がなかなか厄介でつまづきました。べつに使う必要ないんだけどね。</p>
<p>とりあえず、HelloWorld的な。</p>
<p>[as]<br />
//************************************************************<br />
// HelloWorld &#8211; TextField()<br />
// とりあえず文字を書き出してみる。<br />
//<br />
package {<br />
    import flash.display.*;<br />
    import flash.text.*;<br />
    public class Main extends Sprite {<br />
        //&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
        // Mainコンストラクタ<br />
        //<br />
        public function Main() {</p>
<p>			//h1 TextFormat() を定義<br />
			var tf_h1:TextFormat = new TextFormat();<br />
			tf_h1.color = 0&#215;666666;<br />
			tf_h1.size = 30;<br />
			tf_h1.font = &#8216;Times New Roman&#8217;;<br />
			tf_h1.align = TextFieldAutoSize.CENTER;</p>
<p>			//titleを定義<br />
			var title:TextField = new TextField();<br />
			title.text = &#8216;HelloWorld!! &#8211; TextField()&#8217;;<br />
			title.width = stage.stageWidth;<br />
			title.height = 40;<br />
			title.x = 0;<br />
			title.y = (stage.stageHeight/2);<br />
			title.setTextFormat( tf_h1 );<br />
			title.background = true;<br />
			title.backgroundColor = 0xEEEEEE;</p>
<p>			//stageに要素を追加<br />
			stage.addChild( title );<br />
        }<br />
    }<br />
}<br />
[/as]</p>
<p>▽結果</p>
<div style="text-align:center;width:465px;"><iframe title="hellloWorld - TextField() - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/5okJ" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/c/5okJ" title="hellloWorld - TextField() - wonderfl build flash online">hellloWorld &#8211; TextField() &#8211; wonderfl build flash online</a></div>
<p>インスタンスのプロパティをwith文を使ってまとめてみる。</p>
<p>[as]<br />
//titleを定義<br />
var title:TextField = new TextField();<br />
with( title ){<br />
	text = &#8216;HelloWorld!! &#8211; TextField()&#8217;;<br />
	width = stage.stageWidth;<br />
	height = 40;<br />
	x = 0;<br />
	y = (stage.stageHeight/2);<br />
	setTextFormat( tf_h1 );<br />
	background = true;<br />
	backgroundColor = 0xEEEEEE;<br />
}<br />
[/as]</p>
<p>･･･これがですね、実は思わぬ落とし穴があって動いてくれないんです。</p>
<p>with文の中身というのは、親オブジェクトの名前領域の中にいる状態（表現あってる？）です。ここで問題になっているのは、stageオブジェクトです。&#8221;stage.stageWidth&#8221; の部分。<br />
親が&#8221;title&#8221;オブジェクトなので、with文の中では、&#8221;title.stage.stageWidth&#8221; というように見られてしまいます。もちろん、titleインスタンスにはそんな階層のプロパティをもっていません。<br />
それでもwith文を使いたい場合はこのように書きます。</p>
<p>[as]<br />
//titleを定義<br />
var title:TextField = new TextField();<br />
var stageInstance:Object = stage;<br />
with( title ){<br />
	text = &#8216;HelloWorld!! &#8211; TextField()&#8217;;<br />
	width = stageInstance.stageWidth;<br />
	height = 40;<br />
	x = 0;<br />
	y = (stageInstance.stageHeight/2);<br />
	setTextFormat( tf_h1 );<br />
	background = true;<br />
	backgroundColor = 0xEEEEEE;<br />
}<br />
[/as]</p>
<p>一旦、上のスコープ内でstageを参照するオブジェクト&#8221;stageInstance&#8221; を生成して、&#8221;stageInstance&#8221; を参照しに行きます。この手間を考えると、そこまでしてwith文使う必要ないんじゃない？という気になります。名前領域に気を使うのはめんどくさ過ぎる気がします。</p>
<p>そんなwith文ちゃんでした。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/453/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript3.0でiPhoneアプリ開発がAdobe CS5で実現！？</title>
		<link>http://hiropo.co.uk/archives/308</link>
		<comments>http://hiropo.co.uk/archives/308#comments</comments>
		<pubDate>Thu, 08 Oct 2009 16:43:57 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=308</guid>
		<description><![CDATA[ActionScript3.0、はじまったな・・・。 iPhoneアプリをObjective-CじゃなくてもAS3で開発できちゃうってんなら、かなり敷居が下がりまくりだよね。 Flash Professional CS5 &#8230; <a href="http://hiropo.co.uk/archives/308">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ActionScript3.0、はじまったな・・・。<br />
iPhoneアプリをObjective-CじゃなくてもAS3で開発できちゃうってんなら、かなり敷居が下がりまくりだよね。</p>
<p><a href="http://labs.adobe.com/technologies/flashcs5/" target="_blank">Flash Professional CS5（英語サイト）</a><br />
<a href="http://blogs.adobe.com/akamijo/archives/2009/10/flash_professio_1.html" target="_blank">Flash Professional CS5 のアナウンスと iPhone</a></p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/mpEUNqfk4rw&#038;hl=ja&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/mpEUNqfk4rw&#038;hl=ja&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>こんなことができるらしい。</p>
<ul>
<li>AS 3 のプロジェクトから iPhone, iPod Touch 用アプリケーションの書き出し</li>
<li>Text Layout Framework (TLF) を用いた新規のテキストコントロールによる新しい表現</li>
<li>XML ベースの FLA ファイル （ソース管理システムを使ったバージョン管理が可能に）</li>
<li>コードスニペットパネル （事前に作成済みのコードをプロジェクトでそのまま利用）</li>
<li>Flash Builder の統合 （ActionScript エディタとして使用できる）</li>
<li>ActionScript エディタの改良 （コードヒントや自動補完機能など）</li>
</ul>
<p>これはActionScript3.0の開発者が一気に増えそうな予感がしまくりんぐですよ！</p>
<p>それに比べ、googleのAndroid使ったみましたが、動きはもっさりだし、あいつイマイチっす。やっぱりJavaってとこがあかんじゃないのかなー。重いし、iPhoneに慣れてしまっていると、どうしてもiPhoneと同じような操作しちゃうんだけど、けっこう融通が利かない。ユーザビリティもいまいちでwebブラウジングもイマイチだし、売れても流行らないと思う。結果、売れないと思う。</p>
<p>JavaScriptやってる人は今からActionScript3.0にどっぷりいっちゃって良いと思うよ！（＾ω＾）</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/308/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.asファイルを外部で読み込む</title>
		<link>http://hiropo.co.uk/archives/157</link>
		<comments>http://hiropo.co.uk/archives/157#comments</comments>
		<pubDate>Wed, 10 Jun 2009 09:04:13 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=157</guid>
		<description><![CDATA[FlashのActionScriptエディタがものすごく使いにくいので、EmEditorで編集できるようにする。 方法は簡単。ASで実行したいパーツにinclude文を書くだけ。 [as] include &#8220; &#8230; <a href="http://hiropo.co.uk/archives/157">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>FlashのActionScriptエディタがものすごく使いにくいので、EmEditorで編集できるようにする。<br />
方法は簡単。ASで実行したいパーツにinclude文を書くだけ。</p>
<p>[as]<br />
include &#8220;sample.as&#8221;;<br />
[/as]</p>
<p>パスは相対パスで合わせればおｋ。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/157/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript3を入門してみた。</title>
		<link>http://hiropo.co.uk/archives/139</link>
		<comments>http://hiropo.co.uk/archives/139#comments</comments>
		<pubDate>Wed, 18 Mar 2009 17:00:18 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=139</guid>
		<description><![CDATA[ActionScript3を入門してみた。 [as] /******************************* * * Hello world ActionScript * */ /*============== &#8230; <a href="http://hiropo.co.uk/archives/139">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ActionScript3を入門してみた。</p>
<p>[as]<br />
/*******************************<br />
 *<br />
 *  Hello world ActionScript<br />
 *<br />
 */</p>
<p>/*==============================<br />
 *  型のないCorpオブジェクトの定義<br />
 */<br />
var Corp = {<br />
  //名前を定義<br />
  setName: &#8216;no name&#8217;,</p>
<p>  //setNameプロパティを出力する関数を定義<br />
  traceName: function(){<br />
    trace(this.setName);<br />
  }<br />
}</p>
<p>/*  CorpオブジェクトのtraceNameメソッドを実行すると、<br />
 *  デフォルトで定義されている &quot;no name&quot; が出力される。<br />
 */<br />
Corp.traceName();</p>
<p>/* CorpオブジェクトをfunnyCorpオブジェクトに代入。<br />
 */<br />
var funnyCorp = Corp;</p>
<p>/*  setNameプロパティに &quot;funnythingz&quot; を代入。<br />
 */<br />
funnyCorp.setName = &#8216;funnythingz&#8217;;</p>
<p>/*  funnyCorpオブジェクトのtraceNameメソッドを実行すると、<br />
 *  上記で代入された &quot;funnythingz&quot; が出力される。<br />
 */<br />
funnyCorp.traceName();</p>
<p>/*  ただし、ただの代入のため、CorpオブジェクトのtraceName();を<br />
 *  実行しても同じ結果として、&quot;funnythingz&quot; が出力される。<br />
 */<br />
Corp.traceName();<br />
[/as]</p>
<p>結局、ASっぽいことやってないので、JSと書き方がまったく同じです。<br />
しかも特にクラスベースっぽいことも何もしてない。</p>
<p>これからがんばることにするお！</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/139/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

