ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ActionScript LoungeコミュのFlash Player 6 on PSP

  • mixiチェック
  • このエントリーをはてなブックマークに追加
PSP(R)システムソフトウェア バージョン2.70アップデートに、Flash Player 6が搭載されたそうです。
http://www.jp.playstation.com/psp/update/ud_01.html

もっとも、PCバージョンとは、やはり勝手の違う点が少なくないようです。
[Flashcoders] Flash Player 6 on PSP/John Dowdell:=====
http://chattyfig.figleaf.com/pipermail/flashcoders/2006-April/164652.html
-- available RAM is tight
-- processor is also a bit less than computer-sized
-- we need info on which SWF6 features are not supported in Sony engine
-- there's also the range of webdesign considerations:
http://www.brothercake.com/site/resources/reference/psp/
=====

サポートされない機能も、いろいろあるらしいです。
[Flashcoders] Flash Player 6 on PSP/John Dowdell:=====
http://chattyfig.figleaf.com/pipermail/flashcoders/2006-April/164653.html
I saw a paper document which detailed some of the "not supported" caveats... takeaways I had included: clipboard; video (some? all?); context menu; printing; LiveConnect (FSCommand); FlashComm stuff like HTTP Tunneling and Screen Sharing; XMLSocket; WMODE transparency. They
also advise a top filesize of 1.5M or so, to check on device fonts, differences in mouseOut in some situations.
=====

参考サイト: Flash Devices
http://www.flashdevices.net/

このトピックは、興味のある方同士の情報交換にお役立てください。

コメント(19)

参考サイトのほか、公開の日記にメモやテスト記録を書かれている方は、URLを投稿してください。
#マイミクシィの方々の日記に綴られているのはいくつか存じてますが、
#勝手に私がトピックに張ってしまうのもどうかと思いますので、
#ボランティアでお願いします。

個人的にデバイスもなければ、実はあまり興味もないので(笑)、このトピックはみなさんにお預けします。
ボランティアその2で。スクリプトではありませんが。

●FlashPaperのファイルサイズ制限
FlashPaperの場合、1MB前後でまったく開けなくなります。
500MB前後の場合、開けますが、ページ送りができません。
ページ送りをしたい場合、3ページくらいまでが限界でした。

コンポーネント利用のものはメモリ制限に引っかかりやすい可能性があります。
たいして参考になりませぬが
http://fxb.jp/archives/000051.html

ちょっと検証しただけですがせっかくなので置いておきます。
_global
new Object()
XML.ignoreWhite = true
new XML()
XML.onLoad
XML.load(xmlfile)
function
XMLNode.firstChild
XMLNode.attributes["*"]
XMLNode.childNodes
XMLNode.nodeName
_root
TEXT.text
TEXT.htmlText
new Array()
ARRAY.length
for
attachMovie()
MC._x
MC._y
MC._height
unescape()
void(0)
on
getURL()
this
removeMovieClip()
など使ってますです。
基本的なのばっかです。
そういえば、最初に検証したファイルは7用にパブリッシュしたものでしたが見れていたようです。
誰かの日記で、8でパブリッシュして普通に見れたという報告も上がっていました。

●繰り返し制御(for)を行わない場合のサンプル(写真のスクロール)
http://mixi.jp/view_diary.pl?id=124673900&owner_id=54752

30fps/Flash8製 FlashPlayer6で書き出し/100KB
30fpsは出ていませんが、そこそこ合格な速度だと思います。
つまりAS2とかで書かない&新しい命令つかわなければ見れそうなんですね。
そういえば日記に書かれていたFLVの話、たとえばヘテムルとかにのってるFMS使うとひょっとしてPSPで動画同期コンテンツも出来ちゃったりするんでしょか?
ちょっと勉強してトライしてみようかなあ。
Sound&Keyオブジェクトサンプル
http://mixi.jp/view_diary.pl?id=127310240&owner_id=54752

●パブリッシュについて
表示できるかどうかなら、ほぼ全てのバージョンのswfが表示可能です。
Flash Player8対応で書き出した場合、PC版Flash Player7などでそれを見たときとほぼ同じような不具合が発生します。
・静止テキストが表示されない
・線の含まれるシェイプが表示できない など。

●Keyについて
十字キーの取得が可能です。PCのkeyboardと同じ扱い(Key.getCode()で取得可能)
「□+十字キー」および「×」でKey.getCode()/Key.getAscii()にて27が戻ってきます。
「○」は、マウスのボタン(Windowでいう左)扱いです。
上記に含まれないボタンは取得できない模様。

●Soundオブジェクト
setVolume、loadSound、attachSoundは動作します。
ストリーミング再生も可能。

●Stageオブジェクト
width、heightは動作します

●フレームレートについて
htmlに貼り付けたswfより、swfを直接見た方が、高いフレームレートで再生できます。
シェイプを動かす場合、最大で20fps、ちょっと負荷が多いと8〜10fpsくらいに考えておいたほうが○

●AS2.0の使用
Flash Player6が解釈できる内容であれば、2.0で書いても不具合は出ません
AS2.0/Flash Player8の書き出しでスクリプトだけはまともに動いていました。
>> 8: りささん
> ●パブリッシュについて
> Flash Player8対応で書き出した場合、PC版Flash Player7などでそれを見たときとほぼ同じような不具合が発生します。
> ・静止テキストが表示されない
PC版でも、レンダリングがFlash Player 7以前では対応できないようですね。
F-site「Flash Player 8で書出したSWFの静止テキストが表示されない」
http://f-site.org/articles/2005/09/21230835.html

> ●AS2.0の使用
> Flash Player6が解釈できる内容であれば、2.0で書いても不具合は出ません
書出されるバイトコードは、1.0と変わらないためでしょう。
「ActionScriptとその基本概念について」
「07 ActionScript 1.0 vs 2.0」
http://www.fumiononaka.com/TechNotes/Flash/FN0506003.html#07
[【高度】Flash Action Script]「ActionScript2.0で作成したPlayer6向けのコンテンツについて」
http://mixi.jp/view_bbs.pl?id=787945&comm_id=105984
ASがどれくらい重いかはかってみました。
http://www.mztm.jp/umhr/psp/06.swf
ソースです(MacOSX版Flash8で制作)。
http://www.mztm.jp/umhr/psp/06.fla.zip

for文を使って、1000回計算した時間をはかっています。
この計測によって見えてきたことをざっくり言うと
・PowerMacG4/1.25GHz Dualと比べて、50〜80分の1くらいの処理スピード
・全般的に遅いが、処理内容による差はPCに比較すると少ない。
・一つのfor文での繰り返しは65534回まで。
という感じ。

スクリプトによる3D表現をしようかと思ったのですが、、、ぐりぐり動かすのは無理そうです。
・画面サイズより小さいswfを直接開いた場合、画面中心に配置されます。
・release,rollOver,rollOut,releaseOutside,dragOver,dragOutも使えます。

■Flash Devices
http://www.flashdevices.net/2006/04/sony-psp-flash-player-6-supported.html
↑こちらにもまとめられています。

■ペグソリティア
http://www.mztm.jp/umhr/psp/08.swf
前にFlash Lite 1.1向けに作ったのを、若干手直しして作りました。
どうも初めまして
僕も色々検証してるのですが

swf直の方が速いとのことでそっちで作りたいのですが
どうしても完全にフィットさせることが出来ません
PSPの解像度どおりに作っても勝手にリサイズして
居るようです
対策法とかないでしょうか?
> 12: そもそもさん
こちらでは思い当たる節は無いのですが、どんな現象でしょうか?
具体的な説明か、ファイルをアップしてもらえると対策とかも考え易いので、よかったらお願いします。
ムービークリップ(mc)を動かす(_x++を繰り返す)際、onClipEvent(enterFrame)とsetIntervalのどちらを使った方が良いか気になっているので、簡単な時間計測をして、比較してみました。

http://www.mztm.jp/umhr/psp/10.swf
http://www.mztm.jp/umhr/psp/10.fla.zip
(右上の計測開始ボタンを押してください。計測には4分半ほどかかります。)

_x =0からはじまり、_x =480まで_x++で加算します。
フレームレートが20なので、横480ピクセルは24秒で到達するはずです。

PSP上での計測の結果です。
A)onClipEvent(enterFrame)を使う→24.8秒
B)_root上からsetIntervalを使う→34秒前後
C)mc内からsetIntervalを使う→31秒前後
三種類の処理を3回、計9回計測しています。


テストのswfでは
onClipEvent(enterFrame)を使うのがが最も理論値に近くなりました。
setIntervalは随分と時間がかかるようです。
setIntervalを書く位置で結果が左右されています。


差が大きいので意外な結果です。
少なくとも、PC上で複数のmcを操作したりの時にはsetIntervalで一括管理の方が軽いと思っていたので、使い分けが必要かもしれないです。
どのへんが使い分けの分かれ道かはさらにテストが必要ですね。

スクリプト上の詳細はソースをご覧下さい。
質問、間違いなどの指摘は歓迎します。
>>13 ウメハラさん

今やってみたところいまいち再現できませんでした
もともとフラッシュの位置自体がずれていたのかもしれません
なのでアップはやめておきます
しかし swf直と html経由 フィット設定では
表示結果が違います
htmlの方には bodyに
leftmargin=0 marginwidth=0 topmargin=0 marginheight=0
を追加で完全にフィットします

これで極細線を比べてみると違いがわかると思います
実は囲碁の棋譜再生を作ってるのですが
碁盤の線を極細線で引いた場合にswf直だとぼやけてしまいます
それで完全にフィットしてないなと気付いたんです
確かに私が作っているサンプルもスケールが変わっています。
fscommandでスケールが変わらないように設定する必要があるかも。

そういえば、ビデオコンテンツをPSPで見るときには縦は解像度ぎりぎりでなく、270pxにしなくてはいけないそうです。swfもそれに当てはまっているのでしょうか…??
スケールが変わるかどうかは確認していませんが、線の表示について試してみました。

http://www.mztm.jp/umhr/psp/11.swf
http://www.mztm.jp/umhr/psp/11.html
http://www.mztm.jp/umhr/psp/11.fla.zip

swfを単体で読み込んだ時のデフォルトの画質が"MEDIUM"になっているのが、線がぼやける原因だと思います。
一方、htmlではquality="high"などの指定のタグが書き込まれているので、指定通り高画質になっているようです。

なので、碁盤の線を極細線できれいに表示するには_quality = "HIGH"のスクリプトを書き込めばいいはずです。
ということは swf単体が速いのは
クオリティが下げてあるからということでしょうか?


_quality = "HIGH"ですか
良い解決法ありがとうござます
16でかなり勘違いな書き込みをしてしまいました。申し訳ないです。
スケールは変化していませんでした。

●Stage.scaleModeについて
Stage.scaleModeはデフォルトで通常のプレイヤーと同じく、showAll
動作も通常のプレイヤーとまったく一緒で、縦横比を保ったまま拡大または縮小されて表示されます。

また、Stage.scaleMode="noScale"でStage.alignでの設定も有効です。

ログインすると、残り1件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

ActionScript Lounge 更新情報

ActionScript Loungeのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。