現在のページの位置: くろねこスクエア Labs >

くろねこスクエア Labs

ブログパーツを作ってみました

Roonys Paradiseのブログパーツを作ってみました。

Adobe Flex SDKで作ったのですが、サンプル通りに進めると簡単にFlashファイルができあがりました。いわゆるAdobe Flashという(高価で)わかりにくいソフトのことなど全く考えなくていいのですね。ActionScriptを書くだけなので、タイムラインとも無縁。ちなみに、Flex SDKはオープンソースです。

以下はbp_roony_news.mxmlの例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" initialize="init();" width="160" height="240" horizontalScrollPolicy="off" verticalScrollPolicy="off">
    <mx:Style>
        Application
        {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        border-style: solid;
        background-color: #d0c2a8;
        }
        .links{
        textDecoration: underline;
        }
    </mx:Style>
    <!--mx:Panel-->
        <mx:VBox styleName="logo">
        <mx:Image source="bp_01.png" click="openUrl()" buttonMode="true" />
        </mx:VBox>
        <mx:VBox styleName="links">
            <mx:LinkButton id="link0" label="" click="openNews(event)" />
            <mx:LinkButton id="link1" label="" click="openNews(event)" />
            <mx:LinkButton id="link2" label="" click="openNews(event)" />
            <mx:LinkButton id="link3" label="" click="openNews(event)" />
            <mx:LinkButton id="link4" label="" click="openNews(event)" />
        </mx:VBox>
        <mx:Image source="bp_03.png" />
    <!--/mx:Panel-->
    <mx:Script>
    <![CDATA[
        import flash.net.URLLoader;
        import flash.net.URLRequest;
        import flash.net.URLVariables;
            import flash.net.navigateToURL;
        import flash.events.Event;
           
        public var links:Array = new Array();
       
        public function init():void {
            var request:URLRequest = new URLRequest("http://roony.kuroneko-square.net/feed/rss2");
            var loader:URLLoader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, setNews);
            loader.load(request);
        }
        private function setNews(event:Event):void {
            var loader:URLLoader = event.target as URLLoader;
            var xml:XML = XML(loader.data);
            var itemNode:XMLList = xml.child("item");
            link0.label = "◆"+xml.channel.item[0].title;
            link1.label = "◆"+xml.channel.item[1].title;
            link2.label = "◆"+xml.channel.item[2].title;
            link3.label = "◆"+xml.channel.item[3].title;
            link4.label = "◆"+xml.channel.item[4].title;
            for (var i:int = 0; i < 5; i++) {
                links[i] = xml.channel.item[i].link;
            }
        }
        private function openNews(event:Event):void {
            var id:String = event.target.id;
            id = id.replace("link", "");
            navigateToURL(new URLRequest(links[id]));
        }
        private function openUrl():void {
            navigateToURL(new URLRequest("http://roony.kuroneko-square.net/"));
        }
        ]]>
    </mx:Script>
</mx:Application>

むしろ、Flashを表示するための実装がブラウザによってまちまちなので、結局JavaScriptに頼らざるを得ない点が問題だと感じました。

カテゴリー

Feed

メタ情報