39 posts tagged “flex2”
DataGridでちょっとはまったのでメモ
たとえば、
<mx:DataGrid id="gridReport"
width="100%" height="100%" >
<mx:columns>
<mx:DataGridColumn dataField="data1" headerText="ランク" width="100"/>
<mx:DataGridColumn dataField="data2" headerText="ページ" />
<mx:DataGridColumn dataField="data3" headerText="PV" />
</mx:columns>
</mx:DataGrid>
こんな感じで通常はDataGridにColumnsを定義するわけだけれども、
動的にcolumnsを変更する場合、動的に変えたいタイミングでcolumnsの定義を作って
DataGrid#columnsに入れたりします
for each ( var config:Object in settings ) {
c = new DataGridColumn();
c.dataField = config.dataField;
c.headerText = config.headerText;
columns.push( c );
}
gridReport.columns = columns;
でも、どうやらこの二つは競合できないみたい
どっちかで統一して書かないとスクロールバーのエラーが出るバイ
最終的に原因がわからんかったのだけど,
mxmlのcolumns定義を消したら治った
突き詰めると大変な手間になりそうだから同時にはできないってことで
覚えておくことにするよ
FlashPlayer9.0.28からサポートされているFullScreen機能を試してみました
試した環境
FlexBuilder2.0.1
FlashPlayer9.0.47
まず、FullScreenの機能を使うためには
・playerglobal.swc(フルスクリーン対応の)
・SWFラッパーHTML(ブラウザでSWFを再生する場合)
フルスクリーン対応の新しいplayerglobal.swcはこちらから取得してください
上記リンクから取得したplayerglobal.swcを
(他にもFLVのフルスクリーンサンプルなどが入ってます)
FlexSDKインストールフォルダ\frameworks\libs\内のplayerglobal.swcと置き換えます
僕の環境だとこれ ↓
C:\Program Files\Adobe\Flex Builder 2 Plug-in\Flex SDK 2\frameworks\libs
HTML内でSWFを再生する場合、<object/><embed/>タグに
allowFullScreen=true
の指定をしてあげる必要があります
AdobeDeveloperCenterのフルスクリーンの記事から
html-templeteファイルがダウンロードできるのでそれを差し替えるの一番早いと思います
ここまででとりあえず設定は終わりです
で、実際にフルスクリーンモードに切り替えるには、
flash.display.StageのdisplayStateを切り替えることで実現します
public function goFullScreen( event:Event ):void {
stage.displayState = StageDisplayState.FULL_SCREEN;
}
public function exitFullScreen( event:Event ):void {
stage.displayState = StageDisplayState.NORMAL;
}
デフォルトのflexframework(playerglobal.swc)にも上記で記述したクラス、クラス変数は入っているので
記述自体はできますが、設定されていない状態で実行すると
#2152 フルスクリーンモードを使用できません。
てなエラーがでます
その場合は、再度設定をみなおしてみてください
スタンドアロンのFlashPlayerで再生しているSWFではそのもの自体がフルスクリーンになりますが
ブラウザ内で再生しているSWFの場合、別画面として起動するみたいです
タブ切替などでもモードが終了してしまうので結構悲しいですね
フルスクリーンのサンプルとしてPapervision3Dのサメを最後に紹介します
http://www.papervision3d.org/
追記:
注意点として、フルスクリーン中は、セキュリティの観点からキーボード操作は全て受け付けないようです。
yui-framework-alpha7がリリースされました(7/28)
変更点は以下の通りです
- Viewのコンテナ内のコンポーネントに自動イベント登録が出来るようになりました。
- View自身にも自動イベント登録が出来るようになりました。
この機能をもって、ようやく通常の開発には適用できるレベルになったかなと思います
yuiが持つ外部サービスフレームワークは、今までどおりのS2Flex2の設定でいけるようです
argments#callee()
http://livedocs.adobe.com/flex/2_jp/langref/arguments.html#callee()
現在実行中の関数への参照を取得できるってことは
再帰的に行う処理で自分自身を呼び出さないやりかたも考えられますです
package {
import flash.display.Sprite;
public class ArgumentsExample extends Sprite {
private var count:int = 1;
public function ArgumentsExample() {
firstFunction(true);
}
public function firstFunction(callSecond:Boolean) {
trace(count + ": firstFunction");
if(callSecond) {
secondFunction(arguments.callee);
}
else {
trace("CALLS STOPPED");
}
}
public function secondFunction(caller:Function) {
trace(count + ": secondFunction\n");
count++;
caller(false);
}
}
}
無名関数とかで参照が取れない場合とかもこんなんできるます
var i:int = 0;
addEventListener(Event.ENTER_FRAME, function(e:Event):void{
trace("hogehoge"+String(i++));
if(i > 100) {
removeEventListener(Event.ENTER_FRAME, arguments.callee);
}
}
素晴らしい
Dolteng-scaffoldに拡張ポイントを差し込む機能がサポートされたようです
http://d.hatena.ne.jp/taichitaichi/20070723/1185178375
結構敷居は高そうですが、強力な機能ですのでやってみる価値はありそうです
FlashでつくったMovieClipをFlexコンポーネントとして使用する
http://weblogs.macromedia.com/akamijo/archives/2007/04/flex_flash_inte.cfm
yui-frameworks alpha 5がreleaseされました。
yuiの機能
yuiは上記の機能を利用し、Flex開発におけるプログラマとデザイナーの分業を実現することを目的としています
yuiでは、実際にView側に手を加えることなく、ViewのLogic制御を後から注入することが出来ます
まだまだ機能として完全ではないので、大規模開発には使えませんがどんなものか雰囲気だけでも
味わっていただけたらと思います
exampleもここからダウンロードできます
なにかございましたら、ぜひご意見、感想などフィードバックをいただければありがたいです
AIR Beta1で追加されたローカルへのDrag and Dropのサンプル
http://coenraets.org/blog/2007/06/salesbuilder-on-air-local-database-data-sync-and-native-drag-and-drop/
http://coenraets.org/blog/2007/06/flex-and-google-gears-sales-force-automation-application-with-offline-capabilities/
つっても、SQLiteとかもつかって全部乗せって感じ、ものすごい。
D&Dは、PrintAPIと同じような感じでBitmapに変換して、バイナリファイルとして生成してる。のかな?
CreationPolicyで遅延生成する方法
http://www.adobe.com/jp/support/flex/ts/documents/45fc6cf2.htm
生成のタイミングを細かくコントロールするときとか使うです。
IDeferredInstance,IOverrideとか使ってmxmlにテンプレートパターンとか