ActionScript 3.0 , AIR , FLEXからCocoa, OpenGL, WPF, Silverlightも。
- [astro] dynamic sound generationやってみたよ。
えっと、ほんとは今日はパラグライダーで空を飛ぶ予定でしたが、天候により中止。
で、代わりにastroのdynamic sound generationやってました。
参考サイトはこちら:
http://www.kaour [...]
- JpgEncoderの非同期版やってみた。(前に)
えっと、実はすごい前に作っていたので今は誰か作っているのかもですが、
adobeのcorelibにある、JpgEncoderの非同期版を作ってみました。
http://www.hi-farm.net/labs/modJPGEncoder.as.zip
ライセンス的に大丈夫だという判断で公開ですが、まずそうでしたらすぐに取り下げますのですみませんが、ご連絡下さい。
使い方は、
1. corelibのJpgEncoder.asを解凍したファイルに差し替えて下さい。
コードではこんな風にして下さい(サンプル:画像保存のAIRアプリ)
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:WindowedApplication xmlns:mx=”http://www.adobe.com/2006/mxml”; layout=”absolute” creationComplete=”initApp()”>
<mx:Script>
<![CDATA[
import com.adobe.images.JPGEncoder;
import flash.events.*;
private var jpg:JPGEncoder;
private function initApp():void
{
btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(e:MouseEvent):void
{
//---
jpg = new JPGEncoder(100);
//--- 処理中のイベント
jpg.addEventListener("progressing", progressHandler);
//--- 処理完了のイベント
jpg.addEventListener("finished", finishedHandler);
var bmpdata:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, false);
bmpdata.draw(stage);
jpg.encodeAsync(bmpdata);
}
private function progressHandler(e:Event):void
{
var percent:String = new int((jpg.cur/jpg.maxCur)*100).toString() + "%";
ti.text = percent;
}
private function finishedHandler(e:Event):void
{
ti.text = "convert finished.";
//-- 終了したら、ファイルに保存する。
var f:File = File.desktopDirectory.resolvePath("out.jpg");
var fs:FileStream = new FileStream();
fs.open(f, FileMode.WRITE);
fs.writeBytes( jpg.ba, 0, jpg.ba.length);
fs.close();
}
]]>
</mx:Script>
<mx:VBox>
<mx:TextInput [...]
- astro練習
取りあえず、flash player10 astroの練習をしてみました。
標準で3Dの機能がついたので、ひとまずちょっとしたサンプルを作成しました.
http://www.hi-farm.net/astro/main.swf
処理がかるくなるのかな?と思ってたのですが、Macのアクティビティモニタで見てみると、
今までの様にPapervision3Dを作った時と、重さがあまりかわらない気がしたんですけど、どうなんでしょう?
ソースはこれ。
main.as—————————————-
package
{
import flash.events.*;
import flash.display.*;
import flash.ui.*;
[SWF(backgroundColor="0x000000", frameRate="50")]
public class main extends MovieClip
{
private var container:Sprite;
private var rect_vc:Vector.<Rect>;
private var len:uint = 6;
private var radius:Number = 100;
private var container_vc:Vector.<Sprite>;
private var innerLen:uint=15;
public function main ()
{
init();
}
private function init():void
{
container_vc = new Vector.<Sprite>();
container = new Sprite();
container.x = 150;
container.y = 10;
addChild(container);
rect_vc = new Vector.<Rect>();
for( var i:uint=0; i < innerLen; i++ )
{
container_vc[i] = genCircle(0, 30*i+10,15*i);
container_vc[i].rotationY [...]
- ほんと久しぶりですが。
記事書くのをほっぽらかしていました。
僕はというと、3月から東京へ引越して、会社員はじめたのですが、そこでは今までやっていた、ASに加えて、WPFとかSilverlightも始めました。
で、会社のことはなかなかかけなか [...]
- 履歴とheader(”Location: —”);
最近(というか昨日)、名古屋ちょい絶発表会 vol.2があり、AIRのHTML使ってみましょー、ってなことをやってたのですが、
その後触ってて、ちょっとメモ。
mx:HTMLのid=”browsing”
とすると、
履歴を取るんだったらこんなんでしょうか?
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:WindowedApplication xmlns:mx=”http://www.adobe.com/2006/mxml”; layout=”absolute”>
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
private function init():void
{
//履歴をtrace()で出力してみる
browsing.addEventListener(Event.LOCATION_CHANGE, function():void{
trace(browsing.location);
});
}
private function changeLoc(e:FlexEvent):void
{
browsing.location = e.target.text;
}
]]>
</mx:Script>
<mx:VBox>
<mx:HBox>
<mx:Button label=”<” click=”browsing.historyBack()” />
<mx:Button label=”>” click=”browsing.historyForward()” />
<mx:Button label=”reload” click=”browsing.reload()” />
<mx:TextInput id=”urls” enter=”changeLoc(event)” />
</mx:HBox>
<mx:HTML id=”browsing” width=”500″ height=”700″ />
</mx:VBox>
</mx:WindowedApplication>
で、僕の経験不足+知識不足なのでしょうけど、ブラウザに履歴を残さずに移動するには、PHPなら、
header(”Location: http://sample.com”;);
とか書いておけばいいってきいたんですけど、AIRで作れば、上の方法で履歴をとれば、headerでも履歴を残せます。
例えば、試しに。
http://www.hi-farm.net/labs/location.php
これは
<?php
header(”Location: http://www.hi-farm.net”;);
?>
ってだけ書いているファイルで、
上にかいたコードを使ってみると、
http://www.hi-farm.net/labs/location.php
http://www.hi-farm.net/
って出力されます!!
これって普通ですか?
2008年2月17日01:01
- MODxのWayfinderとDitto
メモ。
一番上の階層のIDを指定する時に、startIDというのがあるが、
Ditto => startID,
Wayfinder => startId
微妙に大文字小文字が違うようだ。。
統一しようよ。。
[...]
- PearのFile/Archive.phpをMODxで
ちょっと料理名っぽいですが。
MODxをちょい前から使っているのですが、このMODxは動的にサイトを見せることも可能だし、静的HTMLのエクスポートも可能。
で、今回は、MODxはサイトのジェネレータとして使う事を考え、 [...]
- MAMPをセットアップ、PHPMyAdminでつまづく
今月はオフィスを離れて仕事をする事が増えるだろう、ということで、メインマシンである、MacBookで移動中も開発すべく、ローカルにMAMPをインストール。
で、PHPMyAdminの画面を開いても、エラーがでる。
『#2 [...]
- GoogleMap IEで起きたエラーの件
前の記事にも書いたのですが、最近jsをちゃんと触り始めました。
で、Googlemapを使うという仕事があったのですが、IEのみで、『たまに』マップが表示されない事があるという事が起こりました。
エラーを見てみると、
『 [...]
- まずはWcan でmini as 4
土曜日は、名古屋でWcan mini as がありました。
Gainerのお話しやら物理エンジンの話しなど、刺激になることが多くて行ってよかったです。
で、そこで地味に僕も発表しました。
AIRでパラパラマンガっていうテ [...]

