名古屋でホームページ制作とFlash eternity design BLOG

private

もーほんとわからん!
オブジェクト指向が理解できないとか記述の仕方がわからないというのとは違う次元で理解できていない気がする。
まずはサンプル。
・asファイル
class privateTest {
private var msg_flg:Number;
var msg:Number = 10;
public function privateTest() {
msg_flg = 1;
}
}
次にflaファイル。
import privateTest;
var pTest:privateTest = new privateTest();
trace(pTest.msg_flg); // 説明1
trace(pTest.msg); // 説明2
trace(this.pTest.msg_flg); // 以下、説明3
trace(_root.pTest.msg_flg);
んじゃ、説明1から
trace(pTest._init_flg);
こいつはエラーになります。

メンバーがプライベートで、アクセスできません。

だそうです。
これは自分の想定通り。
次に説明2
trace(pTest.msg);
これはmsgがpublicなので、エラーでません。
ちゃんとtrace動きます。
最後に説明3
これが問題で、何か重要なことを自分が理解していないだけなのかよくわかりませんが、privateなはずのmsg_flgが取得できてしまいます。
なんでよ。
Flash OOP的に_rootやthisをそこに使うんじゃねーよ!とかいうのがあるのかどうか知りませんが、もしそうだとしても取得できちゃったらまずいでしょ。
getter/setterとか用意する必要なくなっちゃうじゃん。
ここのところ、自分がプログラマー脳じゃないってことを晒してるエントリーが多くなってるのは気のせいでしょうか。

命名規則

ここのところFLASH OOPを購入してオブジェクト指向プログラミングを勉強しております。
OOPの話はまた別の機会として、ちょいと基本から見直してみようと思ったのか、本を読んでいて気になったのかは忘れましたが、クラス名や変数名の命名の仕方が気になりだして、今後はなるべくAS2.0の命名規則に沿った方法にしようと思ったので、自分のための覚書も含めてメモ。
自分の場合、ASだけでなくPerl、PHPでも、UnderBar記法というものを使用しております。
これは単語間をアンダーバー(_)を使用するものです。
なんでこうなったのかは覚えていないけど。
でもって、AS2.0の命名規則は大体以下の通り。
・変数
先頭は小文字で始め、文字の連結は大文字で。(ex: myFont)
・定数
すべて大文字で指定。文字の連結はアンダーバー(_)。(ex: BASE_URL)
・ブール型
isから始める(ex: isLogin)
・関数とメソッド
変数と同様
・クラスとオブジェクト
先頭は大文字で始め、文字の連結も大文字。()(ex: NewMember)
ASの場合、接尾辞の”_mc”のこととか他にもいろいろあるので、
もうちょい細かいのですが、詳細はここを見ていただくとして、自分のやり方はAS的にはなんか変数と定数が混ざってしまっているような感じでちょっと微妙な気がします。
まずは書き直しから始めて脳に叩き込もう。
しかし、一番の問題は命名に使う単語をどうしようというところだったりします。
なんかローマ字は嫌だし、かといって英単語がスムーズに出てくるわけでもないし、
まともに記述しちゃうと長くなったりして読みにくくなるし、ここを解決する方法はないのか!!

Maxthon 2.0 Beta4 SE

ここのところ特にこのBLOGでの報告はしていなかったのですが、
最近のリリースで完成度が上がってきたので、久しぶりに取り上げてみます。
前バージョンのBeta4からHistory機能も追加され、昨日リリースのBeta4 SEでは遂にVista環境で”正常に”デフォルトブラウザと設定できることが可能に。
maxthon2beta4se.gif
本当にいいブラウザだと思いますので、是非お試しを!

onEnterFrame

先日更新した上部のFlashメニューですが、右のAmashと合わせて異常に重い!
メインPCのCore2Duoだとまったく気付かなかったんですが、初代MacBook(CoreDuo)上で見たら気付きました。
これはまずいなということで早速原因の特定と修正を行いました。
おそらく原因は2点。
1、
“HOME”や”Flash Counter”などのコンテンツへのリンクとなるMCですが、
実はステージ外に位置を移動させているだけで常にステージ上には存在していました。
各MCにはonEnterFrameでフィルタや移動などをやらせていたわけですが、必要のない(表示されていない)ものはremoveMovieClipでステージから消してしまい、必要なものだけattachMovieで配置してやることにしました。
最初はこれで軽くなったと思ったんですが、どうも効果は微妙。
2、
ステージ上に存在するMCのonEnterFrameが動きっぱなしでした。
いや、まさかこれでそれほど負荷がかかるとは思ってもいなかったので、ずっと動作させていたわけですが、delete this.onEnterFrameで止めて(消して)、MacBookで確認してみたら明らかに負荷が減ってる。
ということで、動く必要のないときはonEnterFrameを止め、必要なときはthis.onEnterFrame = 関数名;として再び設定してやることに。
これで負荷が激減しました。
他にも効果が微妙な修正を行いましたが、やっぱり非力なPCではフィルタはきつい。
あと、FirefoxのFlash Playerは重いということもわかった。
onEnterFrameは必要ないときは止めてしまいましょう!

Flash Filter

ここのところまったっく触ってなかったFlashですが、先週末ぐらいからちょいと触ってます。
上部のFlashメニューにFilterを利用するように変更しました。
Filterを使うこと自体は初めてではないのですが(Amashとか)、ひとつのMCに2種類以上のFilterを使ったことはなかったなぁと触り始めてから気付きまして、ちょいとしたミスで変な表示になってたりと無意味に時間がかかってしまった。
今回の場合、BlurとGlowを使ってます。
import flash.filters.BlurFilter;
import flash.filters.GlowFilter;
var myBlur:BlurFilter = new BlurFilter(10, 10, 2);
var myGlow:GlowFilter = new GlowFilter(0x4083ff, .5, 10, 10, 5, 3, false, false);
this.filters = [myGlow, myBlur];
こんな感じですね。
リファレンスそのままでわざわざ書く必要もない気もします。
DisplacementMapFilterでもちょいと遊んでいましてこいつがなんだか難しい。
ちゃんと使いこなすことができれば面白いことができるのはわかってるんだけど、
どっかのサンプルスクリプトをただ使うだけでは何も得るものがないしなぁ。
日々精進でございます。

Flash Player問題

前回のエントリーで掲載したYoutubeなどのJavascriptでFlashの有無(またはバージョン)を取得して
表示させているサイトで見れなくなるという問題ですが、原因がLive OneCareかどうかは置いておいて
解決策を見つけたので、ご紹介します。
AdobeのサイトからスタンドアロンのFlash Playerをダウンロードしてインストールしてやるだけです。
これで自分の環境でも見られるようになりました。

現状のVista環境での問題点

現状というか11月に使い始めてからずっとなのですが、
映画やゲームサイトなどのトレイラーで見られないのが多い。
当然WMVのムービーでasxとかで配信されているものなので、コーデックがないなんて考えにくいし、
ダウンロードしたwmvでもコーデックが・・・とかでエラーがでて再生されないものが、また、映像はでるが音が出なかったりと、Movieまわりでいろいろと問題が出てます。
怪しいと思っているのがProdigy7.1 XTのDriverです。
AudiotrakのサイトにはVista Driverがないし、VIAのDriverもインストはされるが認識されないし、
Windows UpdateにEnvy Familyのドライバがあるらしいけど、それもインストできない。
仕方ないのでXPのDriverを使っているのだが、こいつがまたすんなり入ってしまうわけで、
しかもMP3とかの再生にはなんの問題もない。
MacbookのParallels Desktop for MacにVistaいれてみたら普通に再生されるので
Prodigy7.1 XTなのかなぁと思っています。
どなたかProdigy 7.1 XTが普通に使えてる方がいればその方法など是非ご教授願えればありがたいです。
上記以外にJavascriptでFlashのバージョンの取得をして表示させているサイト(Youtubeとか)がいつの間にか見れなくなっている。
どうもJavascriptでバージョンを取得できなくなっているようだ。
最初の頃は見れたので、何かでおかしくなったようだ。
(LiveOneCareが怪しいと思っています。チューンアップで不要なレジストリなどを削除するみたいなのでこいつが怪しいのかなぁと。でもXP環境では今のところ何も起きていない。)

About me

名古屋を中心に、フリーランスでホームページ制作してます。 デザイン・サイト制作・Flash制作と幅広く対応可能です。 案件のご依頼・ご相談はお問い合わせよりご連絡ください。