flashの最近のブログ記事

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
width="150" height="140"
viewSourceURL="src/StylesSetStyle/index.html"
>
<mx:Script>
<![CDATA[
private function initVBox():void
{
myVBox2.setStyle("paddingTop", 12);
myVBox2.setStyle("paddingBottom", 12);
}

]]>
</mx:Script>

<mx:VBox borderStyle="solid">
<mx:Button label="Submit"/>

</mx:VBox>
<mx:VBox
id="myVBox2" borderStyle="solid"
paddingTop="12" paddingBottom="12"
initialize="initVBox();"
>
<mx:Button label="Submit"/>
</mx:VBox>
</mx:Application>

Adobeより引用・転載メモ
http://www.adobe.com/jp/devnet/flex/quickstart/styling_components/
ActionScript3で、以下の様にクロージャでインスタンスを生成した場合。 メモリリークが起こる(生成されたインスタンスの親をremoveしてもガーベッジコレクションの対象とならない)のか?

public function init():Boolean {

    myObject.addEventListener(MouseEvent.CLICK, onMouseClick(templateName));

    return true;
}

private function onMouseClick(templateName:Class):Function{
    return function(e:MouseEvent):void{

        onClickRemove(null);
        // ClassFactory
        var _classFactory:ClassFactory = new ClassFactory();

        // load template class file
        _classFactory.generator = templateName;

        // addChild
        caLayout.addChild(_classFactory.newInstance() as DisplayObject);

    }
}
private function onClickRemove(e:MouseEvent):void{
    myObject.removeAllChildren();
}

caLayout.addChild(_classFactory.newInstance() as DisplayObject);

のところで、生成されたオブジェクトが消えないのが問題。オブジェクト毎カプセル化?してるらしく動作が渋い。
とりあえずボタンをクリックしまくるとメモリがアレよアレよと言う間に増えていって困った。

IMAJUKさんの所に詳しくエントリされているので見てみること
http://www.imajuk.com/blog/archives/2008/04/post_3.html

いったいぜんたい、mx.controlsパッケージに存在するmx:List、mx:TileList、mx:HorizontalListと、mx.containersパッケージに存在するmx:HBox、mx:VBoxの違いは何なんだ!

なんでmx:VerticalListはないの?
[Bindable]
var hoge:Variable;


propertyChange という PropertyChangeEvent 型のイベントを生成する。
オブジェクトhogeが変更された際、PropertyChangeがイベントリスナに登録することで、関数を呼び出せる。

addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler);
private function propertyChangeHandler(e:PropertyChangeEvent):void {
    // statement
}

参照:川o・-・)<2nd life

これ超重要
flex3
http://livedocs.adobe.com/flex/3_jp/html/help.html?content=databinding_8.html

川o・-・)<2nd life
http://d.hatena.ne.jp/secondlife/20070326/1174904664



flex2
http://livedocs.adobe.com/flex/2_jp/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001653.html

fla8
http://livedocs.adobe.com/flash/8_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00003035.html
Adobe® Flex™ 3 リファレンスガイド

Flexもこれが全てでした。


Flexの特徴

  • x, y, width および height などのプロパティは、スタイルではなく UIComponent クラスのプロパティなので、CSSでスタイルを設定することはできない。
  • CSSはSWCファイルの形式。
  • フォントファミリーや共通のカラーを設定するために使う。
  • mx:Canvasはmx:HDivideBoxなどに入れて、表示させるインスタンス達をまとめるために使う。

mx:Canvasの例はこんなん

        <mx:HDividedBox width="100%" height="100%">

            <mx:Canvas label="Canvas 1" width="100%" height="100%" backgroundColor="#FFFFCC">
                <mx:Label text="Add components here" fontWeight="bold"/>
            </mx:Canvas>

            <mx:Canvas label="Canvas 2" width="100%" height="100%" backgroundColor="#99CCFF">
                <mx:Label text="Add components here" fontWeight="bold"/>
            </mx:Canvas>

        </mx:HDividedBox>

参考・引用:Adobe Flex 3 Component Explorer


以下チラ裏
scaclo.jpgtrick7.com

こういうのって技術もさることながら本当アイデアだなと思う。
GPUのフル活用

Flashの処理はCPUでのみ行っていますが、WPFの場合GPU(グラフィックボード)を使ったハードウエアレンダリングを可能しているため、PCに負荷をかけることなくより美しいグラフィックスを表現することができます。
そのため、今までありがちだった「フルFlashサイトを見ながら、PhotoshopとFlashで制作作業をしていると、PCが重い」といったようなケースが発生しにくくなります。
逆を言えば、WPFのグラフィックレンダリングにはGPUのスペックが重要になってくるため、現状では再生できるPCが限られます。

引用元:MdN Interactive:webテクノロジー研究所「 番外編 WPFとは何か?」

今までFlashはCPUで演算を行ってきましたが、Vista搭載のWPF(Windows Presentation Foundation)という機能によりGPUに処理を分散させることが可能になったらしいです。
正直、Flash MX2004proまでしか使ったことがなかったので、本日はじめて知りました。

この不可分散を施したflashをWinXPなどで読み込んでも従来どおりCPUのみで処理できるらしい(未確認)ので問題はないのかな!?あるのかな!?

3Dプログラミングできます。何でもご相談ください。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちflashカテゴリに属しているものが含まれています。

前のカテゴリはEventです。

次のカテゴリはhtmlです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。