Results tagged “Flash”

Mar 302005

クロージャの継承とか

thFlash.gifonEnterFrameにおけるクロージャの継承とかちょっと諸々検証中。ということでメモ。

Continue reading クロージャの継承とか.

Mar 232005

sound.id3

thFlash.gif日本語のプロパティが設定してあると文字化けするっぽい。
なにか回避策はないんかな?
このプロパティはSJISとかそういうオチだったらやだなぁ。
とりあえず調査中。

Continue reading sound.id3.

Mar 112005

くぅ

thFlash.gifsoundの"position"はミリ秒。これをうっかり忘れていて、

bt_pause.onRelease = function(){
pauseAt = my_sound.position;
my_sound.stop();
}
bt_play=function(){
my_sound.play(pauseAt);
}

とかやって何故音が出ないのかと延々1時間も悪戦苦闘してしまった・・・。むうー、もったいない。アプリ開発はオーサリング環境で動作できないことが多くて、結局アプリ上で動かすしかないのでtraceもデバッガも利用できない。エラーが起こっても探りようがなくって非常に疲れるニャー。

Mar 012005

ぐはー

thFlash.gif自分で作ったClassにはまるというなんとも情けないことをして時間を浪費してしまった。うううう・・・・。Classとか汎用的に作れば作るほど、応用性がなくなるというか、俊敏じゃなくなる。逆に先鋭化しちゃうと、ちょっとした仕様変更に追従できなくて、二度手間みたいな感じになる。もっともClassを作ることが本来の目的ではないので、そっちにはまる必要無いということは頭では分かっているのだけど、生来の貧乏性がそれを邪魔する。運用も含めたある程度の揺らぎの見極めができてないから、いまいちまだピシッと程よい着地点に落とし込めない。何度も色々な案件で使いまわしているやつとかは大体冷えてきてはいるのだけど、一発でぱしっといけないものかねえ?

Feb 232005

イメージタグの後の半角スペース

thFlash.gif前から気になっていたのだけど、

ref.txHead.htmlText = "<img src='" + tempImgSrc + "' /><b>" + tempGroup + "<br />" + tempTitle + " / " + tempCreator + "</b><br />" + tempDes;

とかした場合に何故かイメージタグの後に半角スペースが入るのですが、アレは仕様ですか?それともなんかミスってるのだろうか?

Feb 192005

???

えーっとスケール1/3で分解してその9ブロック集合体で1:1。それをその中で1/4で再度分解とかいけるかな?とおもったら全然だめだったよ。そりゃ起点が毎回変わっちゃったら切るポイントも変わってくるっちゅうねん。んーー、まいった。スケールアップレベルの馴らしができない。ということはやっぱ3*3*9ではなく、3*3*4でそのあと/4ってな感じかな?
うむう・・頭がこんがらがってきたぞ。どのレベルが気持ちよく使えるレベルなのだ?今日一日朝からずっとそればっか(涙

Feb 152005

projectorのオプション付起動

thFlash.gifFlashのプロジェクター形式のファイルはオプション付けて起動することで変数を引き渡せないのでしょうか?
test_setPramsWithProjecter.exe -flashVars="a=1"
なんかこんな感じで・・・。マクもあるからやっぱ無理?

Feb 022005

TextFormat.url

thFlash.gif未だになじめないのだけど、テキストフィールドのハイパーリンクを定義するのに何故"TextFormat"クラスなのか? 感覚的には"TextField"の方がしっくり来るんですが。

Jan 102005

curveToの憂鬱

thFlash.gifちと仕事で複合曲線を動的に描画する必要があったのだけど、ベジェだとあんまきれいにできなくってちとはまり中。clipをattachしてラグランジェ補間してスプライン描画とかは別にいいんだけど、drawing methodのcurveToっていまいち使いこなせていない。(どーも各頂点から生成した曲線をコントロールポイントとアンカーポイントへ置換するところで鬱になる・・)3次元ベジェにすればきれいになるという話なのだけど頭がついていっておりません。歳だ・・・。
そもそも円を描くのに

function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void {
mc.moveTo(x+r, y);
mc.curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
mc.curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
mc.curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
mc.curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
mc.curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
mc.curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
mc.curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
mc.curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);
}

とかかなり面倒臭いです・・。(まぁ、これぐらいならまだいいんだけどさ)
参考:Introduction to Macromedia Flash MX Drawing Methods
Advanced drawing methods in Macromedia Flash MX

Dec 092004

fujifilm

フジフィルムのサイトがリニューアルされますた。これまで約一年オデがオーサリングしたものがベースで公開されていましたが、今回はテキスト中心のレイアウトに変更されておりました。個人的には前の写真が全面に出ているタイプが好きだったりはしたのですが、データサイズは重いし、インターフェイスが使いにくいということで、変更されたのではないかと思います。前のデザインは写真が変わるのを結構ワクワクしながら見ていたりしたのでちょっとザンネン。

Continue reading fujifilm.

Dec 092004

xmlオブジェクト内のプロパティ

thFlash.gif最近はもっぱらXMLを拡張した独自Classをセットすることが多く、その際に"set","get"でpropertyを設定するわけですが、このpropertyはデバッガで値が常時表示されるわけではないので、数が増えてくるとtraceたくさん書かなくてはいけなくてメンドイです。メモリ的には"get"とかで既存データからプロパティをその瞬間だけ作成するのが負荷は少ないのでしょうけど、今のご時世みんな大量にメモリ積んでいるし、容量的にも大したことないデータのために開発が手間になるのはどうなのかしら?とか・・・。また大量の複合配列とかをpropertyにしたりするのが良いのかどうかは悩ましいところです。(一瞬もたつく気がするときもある。)
ま、結局時間的な制約がある場合はxmlオブジェクトに独自プロパティを静的に追加しちゃって作ってるのですが、これが将来的にビルトインプロパティと被ったりしたらどーなるのか?とか考えると不安で不安で夜も眠れません。
色々検証したいことはあるのだけど、とりあえずメモだけ。

Sep 292004

外部JPEGが2880px以上の場合

thFlash.gif今やっている仕事で高さ6650以上(!)ある外部JPEGを読み込むことになったのですが、これが2880pxで見事にちょん切られますw
元々Flashのワークステージ、および手動で作成するオブジェクトの上限が2880pxってのは知っていたのですが、外部読み込みのJPEGにまで制限が発生するとは予想してなかったw
元のサイズを50%とか、入れ子にして親のサイズを取得とか色々やってみたけど、どーもうまくいかず。ということでとりあえずメモ。

Sep 102004

embedFonts=trueにおけるmaxscroll

thFlash.gifこれは取得できないんでしょうか?おあー?
こまったぞな。

aaa.text = "ABCDEFGHIJKLMNOPQRSTU";
aaa.embedFonts = true;
var temp = new TextFormat();
temp.size = 25;
temp.font = "Arial";
aaa.setTextFormat(temp);
trace(aaa.maxscroll);
こんな感じ。「1」しかかえってこねえよ。なして?

Jul 262004

localConnectionで取扱えるデータ上限

thFlash.gifちょっとlocalConnection系でデータをやり取りしていてはまった罠。どーも40kb以上のデータはやり取りできないらしい。むむむ・・・ちょっと困ったね。

max limit to LocalConnection data?

Jul 182004

忘備メモ:appendChild時におけるparseXMLの適応

thFlash.gif普通に使っているとFlash内でXMLオブジェクトを用いてXMLを生成することはそんなにないのだけど、ちょっと今回はエスケープさせるのにXMLオブジェクトを用いてXML(RDF)生成。で、既存のXMLデータに"appendChild"を用いてノード単位で情報を追加した際にその後自分自身に対して"parseXML"を適応してやらないとXMLのカスタムクラスなどが適応されない。ちょっと激しく嵌まってしまったのでメモ。まぁすでに完成しているXMLに"appendChild"を使っていいのかがよー分からんけど・・。ノード順が制御できないので、本来は一度Objectに変換しArrayに格納、sortで並べ替えて、再び最初からXML生成ってのが推奨される形かな?
いまいち頭が回っていない・・・。後日落ち着いたらキチンと整理するということでメモ。

Jul 092004

XMLおよびXMLNodeの継承

thFlash.gif忘備メモ。
前から疑問に思っていて検証していないことをメモ。
Flashの中で普通にXML定義を行うとXMLNodeクラスもそのまま使うことができます。

myXML= new XML();
myXML.ignoreWhite = 1;
myXML.onLoad = function() {
	trace(this.firstChild);
};
なんだけど、XMLクラスをベースにカスタムクラスを定義するとなんかおかしげ
function tzkXML() {
}
tzkXML.prototype = new XML();
myXML = new tzkXML();
myXML.onLoad =function(){
   trace(this.firstChild);
}
myXML.load("data.xml");
とすると"load"すらできてない。(一応メソッドが"tzkXML"の中に定義されているのは確認できるが動作してないっぽい) ここで止まっているので良くわからないのだけど、カスタムクラスの場合"XML"クラスだけ継承すれば"XMLNode"もスーパークラスとして継承されるのかもよく分からん。一応
intrinsic class XML extends XMLNode
なので問題ないと思うんだけど、それ以前の問題で止まっているのよーわからんちん。とりあえず何で"load"すらできないのか?根本的な何かをミスってるのか?誰か教えて。
Continue reading XMLおよびXMLNodeの継承.

Jul 062004

Compressing XML in transit

thFlash.gifCompressing XML in transit
へぇーなんかすごいこと考えるなーw まだキチンと読んでいないのでアレですが・・・。とりあえずメモ。ま、一番効率いいのはremotingなんだろうけどさ・・。使える環境少ないし。
Flash XML CompressorXMLを圧縮して送信する

Jul 042004

RdfCalendar

ここ数日XMLと格闘中。Flashで作ったカレンダーでどこまで既存のカレンダーシステムと互換を取っていけるか?この場合対象はRFCのiCalendarになるわけですが、実際これを用いるツールをもってないのに互換を考えるってどーなんだ?とかおもいつつやっているわけです。
RDF Calendar WorkspaceRdfCalendarDocumentationこの辺読んでなんとなく見えてきたが、ここのRDFの記述の仕方が見にくいんだよ!うがぁ!
ということでシコシコ今日も勉強中。

Jun 272004

ビルトインメソッドのカスタマイズ

thFlash.gif今ちょっと検証している事項の一つに「ビルトインメソッドをカスタマイズできないのか?」というものがある。たとえばこういうこと

XML.prototype.load = function(arg) {
	var filePath = "hogehoge";
	this.load(filePath+arg);
};

まぁこれだけ見ると「こんなの必要ないじゃん!」とか「loadの引数に書けばいいじゃん!」ってことになるのだけど、ちょっと環境がWEBじゃなくてローカルアプリベースで、しかもプログラムで直接SWFの中を叩いたりしているので、オーサリング環境が実動環境を再現できないという厄介な代物なわけ。つまりオーサリング環境では"load"は通常のビルトインメソッドを使用して動作検証を行い、実動環境で動かす際にはプログラム的にカスタムメソッドをSWFの中に埋め込んでしまって、強制的に実動環境に対応するようにしてしまおうということ。
まぁ単純に上記の書き方だとずっと"load"を参照するので無限ループに入ってしまうわけですが、たとえば

XML.prototype.load2 = function(arg) {
	this.load(arg);
};
XML.prototype.load = function(arg) {
	this.load2(filePath+arg);
};

とか

XML2 = function () {
};
XML2.prototype = new XML();
//--------------------------------
XML.prototype.load = function(arg) {
	this = new XML2();
	var filePath = "hogehoge";
	this.load(filePath+arg);
};

とかして逃がしてみるものの、やっぱ参照しているところは"XML.load()"だからか望むような動きにはならない。うまく状況が説明できないのだけど、簡単な例で言えばオーサリング時には通常の"XML.load()"の機能で動作しデバッグできるのだけど、全体として組み込んだときに

XML.prototype.load = function(arg){
 	trace("load するようーー");
	this.load(arg);
}

という風に動作するようにビルトインを変えたいわけです。
こー書くと「元からカスタムメソッドで書けばいいじゃなぃ!」という話になるのですが、そのカスタムオブジェクトはオーサリング環境では適応できないという非常に特殊な環境なのです。うーんなんというか状況を伝えるのが非常に難しいものだなーー。

Jun 232004

なんか突然クロージャ

thFlash.gifFlash でクロージャ。[torus solutions!]
想像もしなかった解決法。すごい。無記名を使用しないonEnterframeには基本的に引数を付けれないので(一度の発動で停止)泣く泣く初期化を行う関数を別に作り、その中からonEnterframeへの関数の割り当てとか行っていました。これをreturnで置換(?)できるとは恐るべし。コレ使えばclassのconstractorみたいに初期化情報を引渡しして一括で処理も可能。上記のページでは条件一致の際に発動する関数は固定みたいだけど、その辺も引数で渡して"apply"とか使えば色々流用は可能そうです。(AS2のclassだとそのメソッド自体のundefinedの判定で不正処理を停止とかも可能か?むしろinterface?)onEnterFrame以外にもボタンイベント系のセッティングとかにはかなり重宝しそうです。世の中賢いことを考えてくれる人はいるもんです・・。感謝。
補足だが上記のサイトのサンプルでは

mc.onEnterFrame = null;
と記述されているが、これだと"null"としてメモリに残ってしまうので、
delete mc.onEnterFrame

でやったら終了後は綺麗さっぱりな状態になると思われまふ。

[其の他参考]
クロージャ/MLOG
[1.3 クロージャ] /Effecttive JavaScript - Dynamic Scripting

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  

Search and Archives

Tags