【AS】ActionScript技術交換スレ Part4

■ このスレッドは過去ログ倉庫に格納されています
2005/12/22(木) 01:22:31ID:Dj6CR8TB
ムービー内の詳しいASの組み方はもちろん、PerlやJava・PHPを介したCGI連携といった技術や、
XMLSocketを使用したオンラインゲームなど、ムービー以外の用途として活躍するActionScriptの技術交換スレです。
また、AS2.0/3.0の話、Flash Media ServerとかColdFusionやRemoting、コンポーネント等、
他スレでは話題に上がりづらいFLASH周りのコアな技術交換&雑談にもご利用下さい。

前スレ
http://pc8.2ch.net/test/read.cgi/swf/1071929938/

前々スレ
http://pc4.2ch.net/test/read.cgi/swf/1054659810/

前々々スレ
http://pc3.2ch.net/test/read.cgi/swf/1030886688/

※:なおこのスレでは「NowLoadingどうやるの?」みたいな
  初歩的な質問は受け付けませんのであしからず。
  その手の質問やそれに近いレベルの質問は↓でドゾー
ActionScript 誰かが物凄い勢いで解答するスレ 10
http://pc8.2ch.net/test/read.cgi/swf/1134826648/

参考サイトや参考スレは>>2-5以内。
2007/04/01(日) 00:51:58ID:gxKCwBLb
Javaで組めよ
2007/04/01(日) 02:56:37ID:xyY9F82m
まーた人の話を聞く能力ゼロのテキストフォーマット君か
こいつ文章書くだけ書いて、自分についたレス読まない(理解できない)
典型的荒らしになったな。哀れな奴よ
2007/04/01(日) 14:43:30ID:mrdwaexd
君の言うテキストフォーマット君ってJava持ち出してASに文句言う人全般って事?
2007/04/01(日) 20:29:59ID:0vboKa39
っていうか、
Javaと比べると堅牢性と、処理速度犠牲にした分、
OS間の互換性と開発工数の短縮化に特化してるんだから
状況に応じて使い分けようぜ・・・
2007/04/02(月) 22:11:03ID:g5RbCNJs
JAVAコード吐くようなベクターアニメーションツールかswfバイトコード制御できるJAVA用フレームワークでも出れば汎用性高いのかもね
2007/04/03(火) 21:07:35ID:yuPp6gy+
FlashをJAVAでエミュレートすればいいんじゃね?
280Now_loading...774KB
垢版 |
2007/04/07(土) 01:03:00ID:JCOQwNnn
けどASとJavaじゃ全然違うよね。
ASはfunction一つ気軽に書いて気軽に使えるもんね。
ASはクラスなんて自分で定義して使わなくて大丈夫。
継承もインターフェースも何にもしなくて大丈夫。
そんな大規模開発ないからね
2007/04/07(土) 09:52:42ID:QgFQ3eT2
>>280
ところがぎっちょん…
2007/04/07(土) 10:26:28ID:UKcxoJ9r
AS3になってクラス定義して型指定してオブジェクトに関連付けて面倒くせぇ
と思ってたけど、プログラムの世界じゃ普通の事なん?
2007/04/07(土) 10:30:42ID:QgFQ3eT2
最近は結構普通つか主流。
2007/04/07(土) 13:58:39ID:nBKnSNZF
Script言語としては微妙
環境としても言語としても、手軽さはもうJavaScript以下
この際、RubyやPythonとかでも書けるようにしてほしい
2007/04/08(日) 01:55:08ID:dZW8xR81
手軽さ求めるならAS1で書けばいい
2007/04/08(日) 01:59:51ID:xbZNpcaL
>>284
AS3がスクリプト言語としての手軽さを発揮するのってFlashCS3じゃないかな。
287Now_loading...774KB
垢版 |
2007/04/08(日) 02:42:29ID:pu89qxoi
CSだのMXだのヤメテ欲しい。
深度のクラスが
インポート MX あんだかんだってなってたりして
なんだよこのMXっていうパスゎょ!って感じになる
2007/04/08(日) 15:10:44ID:p5jx53Gn
手軽さはどんどん無くなり、処理速度は2世代前。
はっきり言って、終わってます。
今までASで書いてきたコーダーだけが頼みの綱。
このままじゃ2年後には隅に追いやられてるでしょ。
2007/04/08(日) 16:45:41ID:LlM3KmX1
てかAS2よりAS3の方がはるかに手軽だし他言語からも移行しやすいのに
本当に理解して言ってるのか?
2007/04/08(日) 18:17:02ID:p5jx53Gn
他言語から移行しやすいのが手軽だと思ってるところがすでに大きな勘違い。
元々そこは専門的な狭いパイにすぎない。
そこから流れてくる数に期待する考え方が、既にズレている。
しかもそこから流れてくる人の多くは、処理速度の遅さに絶望して2度と触らない。
本当に理解して言ってるの?
2007/04/08(日) 21:21:36ID:LlM3KmX1
多言語から移行しやすいから手軽だなんて事は言ってない。
手軽であり且つ多言語からも移行しやすいと言ってるんだよ。
AS3の良さが分からないならAS1使ってればいいんだってば別に。
2007/04/08(日) 23:47:22ID:9RDQbPxW
>>290
他言語から流れてきた人が処理の遅さに絶望ってさ、
誰が絶望してるんだ?実際に。
ゲームでも作るのなら遅さが気になるということはあるだろうけれどね。
2007/04/09(月) 00:01:56ID:SWrk510T
ほとんどのユーザーのブラウザ上で同じように動き、Flashより高速でスクリプトが走る
実行環境があるなら今すぐでも乗り換えていい。あるなら教えてくれ。
俺はAS自体に思い入れがあるわけじゃないからな。
294Now_loading...774KB
垢版 |
2007/04/09(月) 00:13:27ID:J8IxZ0x9
俺はASしか言語は出来ないけどAS結構好きだよ
いつも締め切りまですげ〜時間ない中でヤバい今週は毎日終電だ!って時でも
ASならプログラム書きながら今後の流れ考えていけるからね。
ストリング型だのナンバー型だの考えずにポンポン変数作れるし
本当に時間のない作業でASはかなりイイね
まぁちょい複雑な数学的要素が絡んだり条件判定が結構多数になるとすると猛烈に処理遅くなったり
ビットマップデータクラスなんか重くてつかいもんになんないのばっかだけどね

なんだかんだ俺はASで給料もらってるからね
295292
垢版 |
2007/04/09(月) 00:31:04ID:1yki2xW2
突然自己紹介を始めた>>294は誰なのでしょう?

ちなみに>>290には回答は期待してないんで、
どーせいつものry
2007/04/09(月) 08:48:08ID:gX8QmVZo
ところで、遅い遅いいってる奴らは
具体的に何作ろうとして速度が足りてないんだ??

弾幕シューティング? オンラインフォトショップ?
もう普通にSFC程度のゲームなら動くし、個人的には過不足ないんだけど。


2007/04/09(月) 13:38:27ID:Me82vFgT
オンラインフォトショップはFlex/Apollo技術でAdobe本家がやるらしいから、そこで真価が示されるだろうね
全然別の技術で実装してきたら、それはそれで面白いけどw

遅さはあまり感じないけど、デスクトップに乗り出した今後発扱いだからな
導入検討したプログラマが、目立った利点感じられずに首傾げてる段階に感じる

mxmlに関しては、個人的にはメモリやCPU持って行き過ぎに感じる。
反応速度は悪くないから、その点を一概に遅いというつもりはないけど。
俺にとってはSpriteの拡張でやるのが主流になりそうだが、
それだとUI周りの手軽さが失われちゃうので別の不満が生じたり。

期待し過ぎたってだけで、悪くない技術だとは思うんだけどね。
流行るかどうかは決定的な差を示せてないので判らない
2007/04/09(月) 14:01:24ID:GrJR/syf
思うにApolloのウリは、統合実行環境だろうと・・・
PCから携帯、組み込みまで、Apolloをつかればなんでも仕事できる。

ウェブ屋はデスクトップのウィジェット作れて、
アプリ屋もウェブサイト作れる

Javaもそっち目指したけど、機種依存の部分が多くなりすぎた。
そういう意味ではJava Lite的ポジションを狙うものなんじゃね?
2007/04/09(月) 14:07:03ID:Me82vFgT
ああ、ありかもそのポジション
現状ではFlash liteはまだ別物だから、結局弱いところあるけど
Javaはなんでもできる代わりに、フレームワークやライブラリが
無数に存在して混乱招いたり、大掛かりに成りがちな面があるからねぇ

……AS系もそういう状況に向かわん事を祈ろう
2007/04/10(火) 12:47:00ID:TqcNAwXq
手軽じゃなくなったって必死に訴えてる人がいるが、
なくなってしまった「手軽さ」って具体的に何?
型にしてもclassにしなきゃいけないってのも、AS2までやってれば大した事ないし。
2007/04/10(火) 14:49:16ID:QykAah/2
そもそも古いASの仕様と比較してないんじゃね?
ライトウェイトな方面の方が、Script系には面白そうだなとは思う

個人的には、以前のASとの比較ならAS3はラクになったよ。
妙なバッドノウハウ使う必要がなくなったし。
昔は酷かったな、eval頼みな謎挙動重ね合わせだったし……
2007/04/10(火) 15:00:06ID:5I/LL2q7
>>300

そこらはケースバイケースだと思うよ。
コンポーネントやフレームワーク見たいの作って、カッチリ作るなら
AS3は今までより全然楽。

逆に広告系のスペシャルコンテンツみたいに、
遷移やアニメーションが複雑かつ例外の嵐みたいなサイトだと
AS3はかなり地獄。
遷移Aから遷移Bに移行したのに、Aで使ってるパーツが画面上で
エフェクトバリバリ飛び回ってるとか。
っていうかリファレンスの管理とかイベント管理で死ねる。
2007/04/10(火) 16:06:35ID:katNKAsA
今までハッキングノウハウに頼らざるを得ない程使いこなしてた人にはAS3はかなり楽チンなはず。
しばらくAS3使ってればイベント管理がいい加減なAS2の方が厄介だと気付くと思うよ。

304300
垢版 |
2007/04/10(火) 17:27:43ID:Ojt8Bd1a
>>302
なるほど。
でもそういう内容ってむしろFlexに向いてないってだけで、AS3のせいじゃなくない?
FlashCS3待ちというか。

ttp://www.adobe.com/aboutadobe/pressroom/pressmaterials/pdfs/cs3_flash_whatsnew.pdf
見る限り、FlashCS3でそれほど劇的にUIが変わるってわけでもなさそうだし、
まだちょっと様子見だと思うんだ。


>>301
俺もそうなんだけど、自分はJavaラーなので自分の意見はあまり参考にならないと自覚してます。
>>301はJavaやる人?

>>303
そうそうそれそれ。
Strictに解釈してくれるってのは、一見厳しいようだけど、やっぱり最後はユーザフレンドリーなんだと思う。
2007/04/10(火) 19:17:12ID:QykAah/2
> >>301はJavaやる人?
うん、まあ最近はとんとJava案件関わってないけど一応
タイムライン上とかで補助的にAS使ってる人から見た手軽さは判らん
その辺に限定したら、AS3はやりにくくなってんのかな?
2007/04/10(火) 20:16:27ID:5I/LL2q7
>>302
>>304

多分二人の言うことがあってて、
慣れてくればAS3のほうが全然楽なのかもしれない。

けど前にAS3で初めて広告案件やったとき、
1サイトにクラス百個以上作る羽目になって死に掛けた。
なんつーか、作る前にじっくり設計して、フレームワークみたいの作らないと
いけない感じというか・・・

上の都合で演出とか内容が180度転換すると、死ぬというか・・・

AS3でそういう系やる場合って、何で勉強すればいいんかな。
Javaのゲーム系とかそっちになるの?
2007/04/10(火) 20:18:37ID:TgbNMekf
クラス作りすぎるのは最初の頃よくあることだな
FlashOOPとか、Javaのデザインパターンの本を買えばいいんじゃないかな?
そのデザインパターンそのものを使うというよりは、
そういうのを見ているとどうすればいいのかが見えてくるというか。
2007/04/10(火) 20:20:06ID:5I/LL2q7
ちなみに、個人的に死に掛けたのは、状態遷移。

遷移のアニメ中に違う遷移に移動したり、
ボタン押したりされた日には
ヌルポが出るわ出るわだった。

多分、ルートのクラスから再帰的にアニメのキャンセルとか中断の命令投げて、
全部の終了イベントが帰ってきたら、次の処理みたいにしないといけないんだろうが、
例外的なアニメとか、変更を考慮して柔軟にフレーム組もうとするとものすっごい大変だった。

AS2ならフレーム移動して、中身全部すっ飛ばすとかundefined信用して、
オブジェクト片付けないとかできたんだが、今全部管理しないといけないのが
まだ慣れてなくて辛い。
2007/04/10(火) 20:22:03ID:5I/LL2q7
>>307

やっぱその辺なのかぁ。サンクス。
結城さんのOOPとか、Flash OOPとか読んで、
データ管理とかでのOOPの勘所はわかったんだけど、
アニメや状態遷移時のオブジェクトの管理とか、
何見れば書いてあるのかわからなくて。
310Now_loading...774KB
垢版 |
2007/04/10(火) 20:55:10ID:xts+dvFV
ちょうどyossyのとこで状態遷移に特化したフレームワークとか出てたよ
2007/04/10(火) 21:08:13ID:euQj6zW2
>>308
ゲームなんかで広く利用されている
タスクシステムというのが役に立つんじゃないかね。
2007/04/10(火) 21:59:00ID:TgbNMekf
Stateパターンあたりを応用して使うのもいいぞ。

ただ>>308を見る限りそれは本当にAS3で作るべき案件なのかは疑問だな。
アニメやボタンを多用するグラフィカルなUIは
AS2で作ったほうがクライアントのリアルタイム要求を反映させやすいという事実は確かにある。
AS2とAS3はどちらが上ということではなく、両方知っていることで表現の幅が増えると考えるべきじゃないかな。
2007/04/10(火) 22:03:57ID:QykAah/2
フレーム上にMC置いてフレーム数制御したほうが見通しがいいケースがあるって話かな

AS2かAS3かの話じゃなく、Flexが向いてるかFlashが向いてるかって話な気もする。
Flash CS3が出たらASのバージョン問わず同じ事できるんじゃね
2007/04/10(火) 22:32:23ID:katNKAsA
別にAS3でもフレームスクリプトは生きてるしMXMLでもScriptタグ使えるし
ゆるい型指定にも対応してるし別にOOP知らなくても十分書けると思うが。
むしろイベントの効率的な管理の方が重要だと思うよ。



2007/04/12(木) 10:33:24ID:JdJEaK3B
>>AS3でもフレームスクリプト
AS3の文法で、つまりFlaxでもフレームスクリプト書けるってこと?
FlashCS3を使えば、ってこと?

前者なら方法キボンヌ。
2007/04/12(木) 12:52:35ID:8q1634YF
方法なんてAS2と同じ。MC上に書けないってだけ。
現状はSDKで開発してる人が多いからクラスでの解説が多いけどな

2007/04/12(木) 14:19:33ID:ktJSj56X
なんだ、ただのしったか君か。
2007/04/12(木) 14:32:32ID:90P0V9Rw
>>316

Flash9 Public Alphaとか見る限り、
フレーム上でもかけるよ。

Flex2 Builderの方では、触ったかぎりフレームという概念自体がない
2007/04/12(木) 14:58:45ID:koi5NMUt
[Frame()]タグでゴニョゴニョするってのはあるけど、わかりやすい方法ではないね
2007/04/12(木) 15:13:58ID:JdJEaK3B
>>316
「AS2と同じ」と言われてもピンとこないのですが…


Flexスレで、プリローダ作るのに[Frame]メタデータ使ってたんで、
もしやASだけでフレームスクリプトが書けちゃうアンドキュメンテッドな技法があるのかなと思って聞いてみたんですが、
そうでもなさそうな感じですかね。
タイムラインが使いたければFlashを、っていう住み分けになっていくのでしょうか。


スクリプトだけで、もしくはコンパイラの指定なんかで
ごりごりフレームが増やせちゃったりできるといいんだけど。
2007/04/12(木) 15:14:51ID:8q1634YF
FlexじゃなくてFlashの話。
2007/04/12(木) 16:18:29ID:90P0V9Rw
>>320

あぁ・・・そんなメタデータあった・・・ すっかり忘れてた。

Flex使おうってコーダー肌の人なら、
シンプルなタイムラインなら
自力で実装するの難しくないと思うよ。

関数を配列に突っ込んでいって、
onEnterFrameで1づつインデックス動かして、
中の関数を実行すれば擬似Timelineは作れると思う。
2007/04/12(木) 17:01:25ID:JdJEaK3B
>>322
実は、こっちのスレだったかFlexスレだったかで、
addChild/removeChildを繰り返すとPlayerが落ちる
って話しが出てましたから、
空白のキーフレーム追加でばっちり解決っ!ってなことを目論んでました。
「フレームスクリプトが書ける」のならフレームの追加もスクリプトでできるんじゃないかと…

しかしこの話題は海の向こうでも揉めてるようでw
http://www.mail-archive.com/flexcoders@yahoogroups.com/msg59707.html

>>擬似タイムライン
今見つけたんですが、(有名だったらすみません)
http://d.hatena.ne.jp/asahiufo/20061119
とかおもしろそうですね。
2007/04/12(木) 18:34:40ID:kDLRii/9
>addChild/removeChildを繰り返すとPlayerが落ちる
>って話しが出てましたから、
>空白のキーフレーム追加でばっちり解決っ!ってなことを目論んでました。
状況がわかりにくいな
2007/04/13(金) 10:31:07ID:mpAQrj+i
すみません。
ステージ上にMCをいくつか配置した後、
一旦ステージをまっさらにする必要があるのですが、
その際removeChild使ってムービークリップを一つずつ消していくんじゃなくて、
空白のキーフレームを挿入して一発で前部消してしまう、ってことがしたかったのです。
2007/04/13(金) 13:41:22ID:mxneYkC+
AS3でそれをやると、よほど注意しないと
イベントのヌルポとかで死ぬよ
2007/04/13(金) 14:11:43ID:hUfDsHqK
それは階層の設計でどうにでもなるからわざわざフレーム使うのはおかしい。
ShapeかBitmapの書き換えは良く使うけどSpriteはスクリプト制御で足りから
ランタイム中に追加フレームがどうしても必要なケースって想定できないなあ。
ありゃあったで便利だけど。


2007/04/13(金) 14:55:13ID:mxneYkC+
>>325

個人的にはステージにcontainerってスプライト造って、
全部のMCはその中に入れる。
全て消すときはcontainerをremoveChildする、が妥当じゃないかと。
2007/04/13(金) 16:25:37ID:mpAQrj+i
>>327
先のMLでもそういう風に言われてるみたいです。
>>328
らじゃ。その方向でいきます。
2007/04/20(金) 16:14:28ID:8Uhr7SoJ
FlexBuilderって、Flexプロジェクトと、ActionScriptプロジェクトがあるじゃないすか。
Flexプロジェクトって、構造がよく分かんなくて気持ち悪いから、ActionScriptプロジェクトで作ってるんだけど
ActionScriptプロジェクトで制作しつつ、Flexコンポーネント(ColorPickerとか)を使うって出来ないんすか?
2007/04/20(金) 17:13:06ID:TaF8Bl29
>>330

俺それ仕事でやったことあるよ。
ASプロジェクトだと、Flex系のクラスが読み込まれないから
プロジェクト右クリックから、
プロパティ→ビルドパス→ライブラリパス→SWCの追加を選んで、
flex.swcやframework.swf, rpc.swcあたりを追加すると
Flexのクラスが使えるようになる。

ただFlexのデータクラスは使えるけど、ビジュアルコンポーネントは多分無理。

ビジュアルコンポーネント使いたかったら、FlexプロジェクトでMXMLにスクリプトだけで

<mx:Script>
public function init(){
var main:Main = new Main()
main.run()
}
</mx:Script>

みたいなことだけ書いて、applicationのapplicationComplete="init()"で起動すればOKかと。
2007/04/20(金) 19:01:11ID:8Uhr7SoJ
>>331
レスどもっす!
やっぱ、ビジュアルコンポーネントは使えないのかー。一部だけ使いたいのにな…。
データコンポーネントも、ActionScriptからの使い方があんまり詳しく乗ってないすよね。
WebServicesクラス使いたかったんだけど、いまいち分からなかった...orz
MXML上では<operation>要素を追加すればいけるけど、
ASだとoperations:ArrayにAbstractOperationクラスを突っ込むみたいな違いが…。

もうちょい勉強しよ。
2007/04/28(土) 22:16:47ID:E9mvMSLJ
閑散としてるなぁ... (´・ω・`)

最近papervision3Dやっててタノシス。
Papervision3Dの、AS2番ってSVN1から落としてきても
エラーでまくりで、ちゃんと動かなくね? 俺だけかな…。
2007/04/29(日) 00:02:49ID:f0vH5pGP
>>333
なんか日本語環境で表示おかしくなる文字があるから
いっかい何かのテキストエディタで一回全ソース保存し直せばうごくかも。

というか俺はそうした。
335333
垢版 |
2007/04/29(日) 04:34:16ID:VzBrSgkt
うお。ホントだ…。エラーでなくなった。
import のファイル名とか絶対合ってるのに何でなんだぜ?って思ってますた... orz
2007/04/30(月) 20:04:19ID:nKF0ArW1
>>335
ところで、
Papervision3DだったらAS3版のほうが良いと思うぞ。AS2だとあまり速度が出ない。
300ポリゴンを越えたあたりでAthlon64 3200+ で30Fpsの表示が怪しくなってくる。

AS3コンパイル環境もそろえようと思えばすべてタダでそろうし。
337333
垢版 |
2007/05/01(火) 20:05:45ID:1/Iggacb
>>336
やっぱAS2版だと、あんまパフォーマンス良くないんだ…。
AS3版では実際プロトタイプとか作ってみました。

ただ、サイト全体AS3っていう案件は、まだ無いだろうから
Flash Player 8 の案件で、ちょろっと3D効果出すのに使えたらいいなーっと。
2007/05/01(火) 20:30:37ID:p3gzszCx
AS3でサイト構築いいねぇ
重くて使えなかった物理演算グリグリ
2007/05/12(土) 13:07:08ID:16mwY0np
Flexからはじめたものです。

数万単位のSpriteを一度に出したり消したりすると、ガベージコレクションが
間に合わなくて、最終的にタイムアウトを起こしてしまうんですが、
なんとかならないでしょうか?

特に個々のcacheAsBitmapを有効にしていると、キャッシュが破壊されて
デスクトップ全体を巻き込む大惨事に発展するんですが・・・。
2007/05/12(土) 13:39:51ID:pUI/ypHy
数万単位のSpriteを一度に出したり消したりしなくて良いようにする。
2007/05/12(土) 14:03:33ID:aiHBWBeT
>>339

3000個ずつ10フレームにずらすとか、工夫しろ。

あと3万個をcacheAsは無理だろう。
1個10kbだとしても、300Mいくぞwww

342339
垢版 |
2007/05/12(土) 22:15:52ID:16mwY0np
339です。

結局、キャッシュは大元のキャンバスだけに効かせるようにしました。
単純にtransformオブジェクトの操作だけで出来るもの(移動や色の変更など)は、
自分でキャッシュを指定するまでもなく速いようなので。

>3000個ずつ10フレームにずらすとか、工夫しろ。
なるほど、フレームをずらすとタイムアウトが避けられるというわけですね。
Flexからはじめたのでフレームという概念がちと怪しいのですが、
UIComponentでいえば、validateNow()で1フレーム進むと考えていいんでしょうか?

数万単位のSpriteを一度に出したり消したりする、というのは、
ちょうど作っているのがドロー系のソフトウェアに近いものなので
オブジェクトを一度に削除したりする上に、アンドゥにも対応する必要が
あるからです。
せっかくモデル部分だけをアンドゥにスタックするように
作ったのに、削除したSpriteがちっとも開放されてくれないという・・・orz
343339
垢版 |
2007/05/12(土) 22:55:40ID:16mwY0np
あ、サンプル見たらわかりました。
callLater使ってちょぼちょぼ追加するのが健康によさそうですね。
2007/05/13(日) 04:24:32ID:p9qM+rmC
なんでドロー系のソフトでSpriteを数万も使おうとするのか全くわからん。
数万もレイヤーがあるのか
345339
垢版 |
2007/05/14(月) 08:16:39ID:Tplo/ZJ+
>344
ビットマップ転送で1枚のSpriteに直接描くとラクですが、
描いた曲線などのマウスヒット判定が必要なのでボツになりました。


2007/05/14(月) 10:28:04ID:vjPgWV8P
>>345

数万個にhittestは無理じゃない?普通に。
クアッドツリー(四分木)とかそういうの使って、衝突判定しないと。

2007/05/17(木) 14:39:27ID:CpLI7TJQ
Flash8使ってます。長めのノベルゲームを作ってみたいのですが、テキストフィールドにシーン毎にテキストを書くと手間が非常にかかってしまいます。
そこでシナリオファイルを読み込ませて処理させたいのですが、外部からテキストを読み込ませる方法だと外から丸見えになってしまうので困ってしまいます。
こういう時はどういう方法を使うのがベターなんでしょうか?
変数に長い文字列を割り当てて処理させる方法がいいんですかね?
なにか格好が悪いので、もう少しスマートな方法がないものかなと思うのですが……。
あと、あまり長い文字列割り当てるとメモリ消費量は大丈夫なのかなという心配もあります。

var buf:String = "*start"
+ ",[image name='Aくん' pos=left]"
+ ",Aくん「こんぬつは」";

var aScenario:Array = buf.split(",");
trace(aScenario[0]);

こんな感じでやってます。
2007/05/17(木) 15:32:18ID:fSOG1ggW
課金がからむFlashゲームとか見ると
getやらpostで送信されるデータの中身見れなかったりするね。
ああいうの結構特殊なことやってるんだろうなあ。

as3ならばByteArrayを用いれば
やりとりされるデータをぱっとみわからなくすることができそうだけど。
2007/05/17(木) 23:56:09ID:NjF7RrCJ
>>348

素人の盗み見を排除するだけでよければ、
文字コードをいくつかずらして保存したテキストファイルを読み込んで、
逆にずらして復元すればいいんじゃないかと。
350339
垢版 |
2007/05/18(金) 01:05:48ID:pzV8S/bB
>346
結局、Shape内の座標1ドットだけbitmapDataに書き出してヒット判定する
メソッドを作成しますた。

複数のShapeの単純な重ね合わせ処理をsetPixel()使ってドット単位で合成するのは
DisplayObjectContainerの重ねあわせよりも速いですか?
こういった言語はビットマップを直接処理するのは遅いものだと思っていたのですが、
上の処理がわりと速かったので、明日やってみようかと。
2007/05/18(金) 08:19:03ID:bQAitxEI
>>350

もしAS3でやってるんなら、Rasterってライブラリをググッて探すとよい。
ディフォのベクター描画よりもはやい、ビットマップ描画ライブラリがある。

2007/05/18(金) 12:07:09ID:+OU3bNWl
>>348に関連するけど、ゲームのランキングとか
どのぐらい、パッと見で分からなくすればいいのか悩む。
353339
垢版 |
2007/05/19(土) 02:33:26ID:PS4eqgbR
>351
ありがとうございます。
ビットマップ上で直接描画するライブラリを用意する方向は
考慮していなかったので目からウロコです。
これを拡張する方向でやってみます。

スケールとか考えるとまたユウウツですけどね(^^;
2007/05/30(水) 10:25:16ID:dBRfZMi1
なんかできた

AVM1Fixer
http://www.kaikoga.net/m/archives/20

Flash8以前で作ったswfファイルをActionScript3.0でフルアクセスできるように変換するという
必要でない人には本当に役に立たないソフトです。

これはJavaでswfファイルを前もって変換するためのソフトなんですが、
swfファイルを直接バイナリで読み込んで動的に変換する方法がブログの世界では人気みたいです。
ByteArrayの値を書き換えるだけでは
(現時点では)Flash8の無圧縮のswfに限定されるみたいですが。

ただ、ByteArrayに6バイトの値を挿入できればFlash7以前のswfも動的に変換できるし、
ByteArray.uncompress()あたりを振り回せば理論上は圧縮swfも動的に変換できるはずなんです。
まだ誰もやってないだけで。
私はやりません。
2007/05/30(水) 11:32:16ID:YgXOam6i
>>354
ためしてないけど乙
2007/05/30(水) 12:23:53ID:YmQVd23D
こういった改造で以前のバージョンのswfにアクセス可能になるのであれば
公式にサポートしてくれてもよいような気もするが
やはりどこかに何か問題があるのかな。
2007/05/30(水) 18:34:37ID:ZP+IQkWi
フルアクセスってAS2の関数の実行も可能?
とりあえずlcとajaxbridgeで事足りるからいいんだけど。
2007/05/30(水) 20:36:14ID:dBRfZMi1
>>356
改造で読み込んだswfについてまであどべさんはサポートしたくないでしょう。
私もしたくないです。

具体的には、時代を遡るほど使われてるタグが微妙に変化していくので
(タグってのは簡単に言うとswfファイルの中で使われてる言葉のこと)
昔のswfほどFlashPlayerにとって想定外な入力になります。
たとえ問題がなかったとしても、全部の場合についてテストするのは私もしたくないです。

>>357
さすがにAS2.0の関数は全部消えるです。残念ながら。
AS2.0の関数を動かすにはAVM1で動かすしかないので、必然的にLCなどで通信するしかない。

直接MovieClip.gotoAndPlay()が叩けるって意味でした、まぎらわしくてごめんなさい。
2007/05/30(水) 20:38:35ID:dBRfZMi1
あと、ボタンアクションをswfファイルから削除するのが相当めんどくさいのもある。

ただ、Flash9で読み込むと何も起こらないけど
Flash8以前で読み込むと動くAS、みたいなのが作れそうなのはちょっと面白い気がする。
2007/05/30(水) 21:31:48ID:YmQVd23D
>改造で読み込んだswfについてまであどべさんはサポートしたくないでしょう。

ちがーう、
簡単な改造で過去バージョンのswfが読み込めるのであれば
改造せずともサポートしてくれてもよいだろう、と言ったの。

>たとえ問題がなかったとしても、全部の場合についてテストするのは私もしたくないです。

問題がないのであればテストする必要がないだろうが。
あなたの言っていることは前後関係が全部逆。
人の話を単に否定したいだけかい。
2007/05/30(水) 21:45:00ID:YgXOam6i
ふるいversionのswfをサポートするって事は、当然AS2以前のサポートも期待されるわけで、
それが動かないものをサポートしといって叩かれるより、サポートしませんって言ったほうが
良いと判断したとかじゃね。
2007/05/30(水) 21:46:06ID:YgXOam6i
俺、日本語でおk
ようするに面倒くさかったんだろってことだ
2007/05/31(木) 01:41:52ID:1H14ChTK
これは個人的に研究してた。

スゴイ限定された使い方だけど、
swfアニメやスキンを投稿するサイトでは
意味があるかもしれないと思うよ。

まだFlash9が普及してないので、flash8しかない人用の当面の救済措置とか。

あとfla8 to 9 で変換すれば、
スクリプトの使用を強制的に無効化できるわけだし。

FlashPlayerは基本思想として、
解析不能なバイトコードは無視する・・・
って仕様なので、ロード失敗しても最悪空swfとして扱われるだけだと思う。
保障はしたくないけど。
2007/05/31(木) 01:49:43ID:1E97spjB
>>363
Flash9が普及していないならわざわざ変換する意味は無いと思うぜ。
swf投稿サイトでは普通AS3コンテンツからFlash8でコンパイルしたSWFをロードしないぜ?
2007/05/31(木) 02:10:53ID:1H14ChTK
>>364

AS3じゃないと実現できない何かをする投稿サイトがあって、
けどFlash CS3持ってないと投稿できないんじゃアレなので、
Flash8で作ったモノも投稿できるようにしたいケースって意味だよ。
2007/06/04(月) 23:17:29ID:AKrTCQmf
pixlibの日本語解説を読みたいんですが甘いでしょうか。
367Now_loading...774KB
垢版 |
2007/07/20(金) 01:32:55ID:yp5z/ewa
プリローダーがうまく作れません。

★1フレーム目★
onClipEvent (load) {
%9_root.stop();%9//タイムラインの1フレーム目で止めておく
}

onClipEvent (enterFrame) {
%9// すべて読み込んだら3フレーム目へ
%9if (_root._framesloaded==_root._totalframes) {
%9%9_root.gotoAndStop(3);
%9}
}
★2フレーム目★
_root.gotoAndPlay(1);
★3フレーム目★
サムネイルアルバムみたいなやつ。3M程。

どうやってもいきなり『_root._framesloaded==3』となり、3フレーム目にすっとんでしまいます。
誰か助けてください。
環境は、MX、XPSP2です。
368367
垢版 |
2007/07/20(金) 02:05:39ID:yp5z/ewa
スレ違いでした。済みません。
369Now_loading...774KB
垢版 |
2007/07/26(木) 16:37:52ID:zltikblJ
http://www.r-kei.com/labo/
370Now_loading...774KB
垢版 |
2007/08/16(木) 16:14:17ID:L52GkxEf
age
2007/09/03(月) 22:50:58ID:sG4PYBym
AS3のパフォーマンスチューニングのサイトありませんか?
フラットシェーディングの2万ポリゴンを100x100のサイズにDDAベースで
描画するのに2秒ぐらいかかってまして。
2007/09/04(火) 05:10:38ID:Qjx2ixJf
それは何をしようがどうにもならんと思うのだが……。
むしろなぜ2万ポリゴンも表示したいのか。
2007/09/04(火) 08:12:25ID:sSSeypNF
>>372
3になって高速化したと聞いたのでどのくらいなのか調べてました。
数値計算をぶんまわす用途だと、Javaとの比較で一桁、Cで二桁程度は実行速度が
違うという感覚でいいんでしょうか。

Mozillaに寄贈されたASのVMがあるようなので、そっちも調べてみようと思います。
374373
垢版 |
2007/09/14(金) 20:15:32ID:z0XjBaTk
なんとなく分かった。
バイトコードをJITコンパイラでネイティブコードに落としてはいるけどそれだけのようです。
調べた限りでは実行時情報を使った最適化のようなことはしてないし、フロー解析のようなことも
恐らくしてない。

現状で限界までパフォーマンスが要求される用途に使われていないっていうのと
スクリプト言語だっていうのであまりその辺りに重きを置いていないのかも。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況