ActionScript 3.0 とか絶対ムリwww

1Now_loading...774KB
俺は「多少のプログラム知識があるデザイナー」だ。

以後AS3も使えるようにしといて、ってお前・・・


俺はプログラマーじゃねぇよヽ(`Д´)ノウワーン
PGの専門学校とか出てねぇよヽ(`Д´)ノウワーン
デスマーチなんて嫌だヽ(`Д´)ノウワーン
2よこしま ◆GIZenFPPok :2006/07/02(日) 23:12:07 ID:imC80Vua
やった!初の2ゲットだ!!
FLA板初とかそんなんじゃない。すごい。何がすごいってこの奇跡。
/upの公募FLA作ってたら絶対2をゲットすることなんかなかったんだぜ?
すごくね?もしいまだに諦めずにFLASH作ってたらどうなってたと思う?
まったくヒヤヒヤしたぜ!何がヒヤヒヤってこんなくだらないことを長々と書いている間に誰かに2ゲットされたらどうしようってことなんだ!
でも大丈夫!だってFLA板だぜ?一日に5000アクセスもない過疎板で同じ時間に2を狙っている人がいると思うかい?
それでも僕はヒヤヒヤしながら書いているわけだけれども、>>1の書き込み時間は20:40分だ。つまりもう二時間以上たっている。
二時間以上たっているのに2をゲットしないなんてなんて過疎なんだって思うだろ?だがそれはいい。なぜならここはFLA板だからだ。
つまり何が言いたいかって言うと、この2ゲットを手始めにFLA板の有名2ゲッターとして活躍していこうと思うんだ。そう、あの偉大なる肛門様のように!!!
3肛門の臭い ◆QkMYMo90VQ :2006/07/02(日) 23:14:54 ID:iaWuCySr
>>2の発言は俺への挑戦状と見なす!!
4Now_loading...774KB:2006/07/02(日) 23:57:45 ID:T1tm187K
夏だねぇ
5Now_loading...774KB:2006/07/03(月) 00:05:20 ID:X13EHLvU
JavaとかMFCみたいに
1つのクラスから派生するメソッド集
みたいなのになってるんだろう。
Fla8の時からflash.geom.*
みたいな燐辺が見えてたしな~。
6 ◆B2u3d2Sd26 :2006/07/03(月) 00:22:21 ID:No7kRol7
>>1
+激しく同意+
7Now_loading...774KB:2006/07/03(月) 12:33:29 ID:/lDFNiui
AS3どころかAS2も触ったことない俺
だってずっとflash5だぜ?
8Now_loading...774KB:2006/07/03(月) 16:30:00 ID:o+wlwEze
チンチコーレ
9Now_loading...774KB:2006/07/04(火) 01:23:34 ID:3mOWm+03
参考書待ちとしか言えない
10日立製作所 ◆2TENKK.nkY :2006/07/17(月) 00:26:02 ID:juvlK0Xt
誰かFLASH+AS3で組み込みマイコン制御(ARMあたりで)
できるようなミドルウェアつくってくんないかな~~
11Now_loading...774KB:2006/07/21(金) 14:01:18 ID:5+pL24+h
as1.0でいいじゃねーか
もうオブジェクト指向とかやめようぜ
12Now_loading...774KB:2006/07/22(土) 04:42:00 ID:Tj4o3tEi
>>11
Flash5のころからオブジェクト指向で書いてるけど・・・
13Now_loading...774KB:2006/07/23(日) 10:29:02 ID:pyiVtOOv BE:185006276-#
別にAS1.0でも書けるしデザイナが
無理して使う必要は無いんじゃないかな?
14Now_loading...774KB:2006/07/28(金) 12:09:31 ID:bWoIU+0U
http://slashdot.jp/articles/06/07/26/2220208.shtml

>Flashを初めて触る人の入り口とも言えるボタン or シンボルに対しての
>on(event)の記述がActionScript3では使用出来なくなるらしい。
>フレームへの記述方法もActionscript3では異なるようだ。

こりゃ本格的に勉強しなおさないと駄目かもわからんね
15Now_loading...774KB:2006/07/28(金) 12:21:26 ID:iHkbSA1H
違うものだと思えばいいよ。

っていうかそう考えないとムリ
っていうか俺にはムリ
16Now_loading...774KB:2006/07/28(金) 13:53:16 ID:TDXr2N16
AS3になればCやJAVAのプログラマがとっつきやすくなるから分業化が
進むだろうな。
17Now_loading...774KB:2006/08/14(月) 14:12:55 ID:QqRfh0Dr
よし!おれの時代だ!
18Now_loading...774KB:2006/11/15(水) 20:01:30 ID:+DRwFImS

19Now_loading...774KB:2007/01/26(金) 15:40:12 ID:LHLBAlxR
>>14
最近ActionScriptを勉強し始めた者だけど、記述方法どっちにすればいいのって感じ。
これからはタイムラインの最初のフレームに書きましょうっていうのはわかるけど、
売れてる参考書とかほとんど古い記述方法なんだもんな。。。
20Now_loading...774KB:2007/02/17(土) 03:05:46 ID:fwzrAECi
今更だけど
>>2>>3ってすごいな・・
21Now_loading...774KB:2007/04/13(金) 15:46:48 ID:oxNm9j2I
>>19
_rootの1フレーム目に書くだけならそれほど問題ない。
だけど、クラスやらオブジェクト指向がわからないのでAS3にはついていけそうもない
22Now_loading...774KB:2007/04/14(土) 20:46:33 ID:McvuWjP/
クラスやオブジェクト指向な技法使わなければいいだけじゃん
23Now_loading...774KB:2007/04/17(火) 21:40:10 ID:paah0ZiW
>>22
調べてみ、絶望するから
24Now_loading...774KB:2007/04/18(水) 23:07:30 ID:ucMc/ttV
Flexやってるけど、別に継承とかクラス分け意識した設計しなくても書けるじゃん。
まあイベント記述なんかはちょい面倒だけど・・・
なんに絶望したんだ??
25Now_loading...774KB:2007/04/19(木) 16:17:14 ID:GUvd0OXH
フレームアクションしか使ってなかった人達の中には、
コンストラクタやスコープ程度の概念で躓く人もいるからな
26Now_loading...774KB:2007/04/19(木) 23:26:14 ID:eIACzYEl
>>24

Flexでアプリアプリするもん作るなら、いいんだよ。
従来のフルFlashサイト(例えば車系やAU電話端末系)、みたいのをAS3で組むとなると
死ねる。
27Now_loading...774KB:2007/04/20(金) 00:54:46 ID:AYAVfPeP
車載や携帯端末でAS3??

モグリカエレ
AS2でも使えたら感涙だわ
28Now_loading...774KB:2007/04/20(金) 23:41:46 ID:CZmxwFbq
>>27
とりあえず落ち着け
車や携帯端末なんかのプロモーション系のフルFlashサイトのことだと思われ
29Now_loading...774KB:2007/04/21(土) 00:02:56 ID:a9Ohy2wu
>>27

誤解を与えるような表現でスマン、>>28のいうような
バリバリ動く広告系のサイトって意味だ。
30Now_loading...774KB:2007/04/21(土) 00:09:44 ID:5bSEGKj7
>>29
yossyのとこのProgressionけっこうよさげだったよ
まだ、サンプルコードちょっと触った程度の感想だけど
http://progression.libspark.org/
31Now_loading...774KB:2007/04/21(土) 00:26:51 ID:a9Ohy2wu
俺も見た。
↓ぐらいの動きまでなら、なれればprogression使えば
AS3で現実的にいけそうだよね。

ttp://www.au.kddi.com/au_design_project/seihin/talby/
ttp://www.adidas.com/y-3/

個人的には
↓ぐらいのまで実装できると素敵なんだが、

ttp://www.nikon.co.jp/main/jpn/feelnikon/discovery/universcale/index.htm

Progression + Tweenerとかで実現できるのかな。
32Now_loading...774KB:2007/04/21(土) 00:34:51 ID:5bSEGKj7
>>31
実際組んでないから分からないけど
XMLリファレンス眺めた感じだと、XMLで変数渡しとか出来るっぽいから、
その変数を使って条件分岐させれば、nikonも余裕でいけるんじゃないのかな

Tweenerっていうか、CS3のタイムラインXMLと連動できたら最強だよねこれ
ちょっと本格的に触ってみるわ
33Now_loading...774KB:2007/04/21(土) 19:15:29 ID:5bSEGKj7
休日なんで、ちょっと試してみた
なんかバージョンアップしてるっぽかったから、そっちで試したんだけど、これやばいわ
AS3使ったサイト作る場合の標準的なワークフレームになりえるキガス

スクリプト使った作り方はまだ分からないけど、プリセットの機能が充実しすぎで、
フレームアニメで表現できることなら、マジでXMLのみで完結できる

だれかスクリプト使った使い方教えてほすぃ

34Now_loading...774KB:2007/04/21(土) 21:55:41 ID:a9Ohy2wu
>>33

ちゃんとドキュメント読んでみた。
自分独自のアニメーションのセットとかを、
プリセット拡張して増やしてけば作ってけば
結構いけそうだね。

ちょっと俺もまじめに使ってみようかな。
3533:2007/04/24(火) 16:05:07 ID:oW0hespo
>>34
プリセットのコードを調べて、だいたい分かったんだけど、
スクリプトベースのアニメーションさせたいときは、
init()にアニメを開始するコード書いて、完了したときにinitComplete()を実行すればその間は何やってもOKぽ

ただ、ちゃんと作ろうと思うと、ちとXMLがめんどいね
助長になりやすい気がするから、おおまかなパーツだけXMLで配置して、
そのパーツの中に最初から配置しておくのがいいっぽ

36Now_loading...774KB:2007/04/28(土) 14:38:51 ID:CS7Kv1cn

Javaプログラマだけど、ActionScript3.0ってJavaにすげー似てる
簡単に覚えられそうだ
 
37Now_loading...774KB:2007/04/29(日) 00:09:04 ID:sG1k/xmT
似てるってのが結構罠で、逆にちょっとした違いでハマったり
38Now_loading...774KB:2007/05/10(木) 18:36:07 ID:X29D0s5D
大きな違いの方が情報量多くて記憶の索引になりやすいからな
39hoge ◆AXUssWRNqk :2007/05/21(月) 00:26:20 ID:SsU1pubT
こんばんわです。

http://pc11.2ch.net/test/read.cgi/swf/1175683335/

から誘導されてきたんですが、
このスレで、初心者むけAS3講座とかやってもよいでしょうか?

無問題そうならいったん今までの内容をコピペ
その後、講座を再開させていただこうかと。
40Now_loading...774KB:2007/05/21(月) 00:49:36 ID:ERdGRs5/
いいんじゃねーの。過疎ってるしスレ違いでもないし。

と一見さんの俺が言ってみる
41Now_loading...774KB:2007/05/21(月) 01:10:28 ID:X35NpiM5
そういう講座みたいなのやるなら
自分のブログでやったほうがいいんじゃない
42Now_loading...774KB:2007/05/21(月) 01:34:16 ID:O97dNg2K
少なくとも2chでそういうスレ見ないからここで良いと思う。

このスレに住民なんて居ないだろうし。
43hoge ◆AXUssWRNqk :2007/05/21(月) 11:24:35 ID:F/0Q8Wka
http://pc11.2ch.net/test/read.cgi/swf/1175683335/
>>267よりコピペ

スレ立てようとしたら、規制ではじかれちまったよ。
なんで迷惑じゃなきゃしばらくここで書いてOK?

とりあえず AS3 ってなによ!?ってとこから、 データ型の説明についてまで。

■体験版は↓からGET
ttps://www.adobe.com/cfusion/tdrc/index.cfm?product=flash
44hoge ◆AXUssWRNqk :2007/05/21(月) 11:25:21 ID:F/0Q8Wka
■AS3ってなによ!?
 AS2をベースに、文法を厳密にすることで処理速度を大幅にアップしたもの。
 プログラム的にはJavaScriptとJavaの中間っぽくなった。

■AS3で何ができるの?
 今までだったら重すぎる処理(AI、画像解析、3D等)
 バイトコードが直接読める(コードさえ書けばPSDでも、NESでも、DOCでもなんでも読み込める)
 音のスペクトラムが取れるので、itunesのサウンドビジュアライザーみたいのも作れる

■AS3のいいところ
 処理が速い(俺体感で計算処理は100倍、描画はあまり変わらない) 
 コードが厳密なのでバグをみつけやすい。
 Javaに近いので本職のコーダーが多く、よいフリーのライブラリとかが豊富。
 バリバリ動くアプリケーションやゲームを作りやすい

■AS3の悪いところ
 初心者に敷居が高い
 厳密な分コードが長くなりがち
 設計なしにアドリブで作るには、ちょっと慣れが必要
 厳密なAS3を書くと、小さいもの作るには逆に小回りがききにくい場合がある
45hoge ◆AXUssWRNqk :2007/05/21(月) 11:26:07 ID:F/0Q8Wka
■型ってなによ!? その1

まずはAS3の最低限の前提知識として、型の説明


AS2-AS3では、変数に「型(データ型)」というものを指定します。
型はAS2だと任意だけど、AS3だとほぼ必須。

型ってのはこの変数には文字が入りますよー、この変数には数字が入りますよー、
って、変数に入る値のタイプを定義してやること。


■なんで型なんて定義するの?
型を定義すると、
その変数にはそのタイプの値しか入れられなくなる。
その代わり分処理速度が跳ね上がる。
また数字型の変数に文字を入れたりするとエラーが起きるので、バグを見つけやすい。



とりあえず、体験版起動してAS3ドキュメント開いて、
1フレにダイレクトにスクリプトを書いてみる。
AS3でもフレにスクリプトは書けるので。
46hoge ◆AXUssWRNqk :2007/05/21(月) 11:27:12 ID:F/0Q8Wka
■型ってなによ!? その2

AS2でやってた人には退屈かもしれんけど、もうちょっと型の説明。

以下、1フレーム目に書いてみる。

var num : Number = 5
var str : String = "test"
var ar : Array = new Array()

型の指定方法は宣言時に、

var 変数名 : 型

という形で宣言する。

AS2からある一般的な型は

数字 Number
文字 String
配列 Array
オブジェクト Object
日付け Date
ムービークリップ MovieClip
テキストフィールド TextField
ボタン Button

他にも色々あるけど基本、「クラス名=型」という認識でOK(あとで補足するけど)
47hoge ◆AXUssWRNqk :2007/05/21(月) 11:27:54 ID:F/0Q8Wka
■型ってなによ!? その3

まぁ、型は色々あるけど、最重要なのは

・変数には型を宣言する必要がある
・間違った型のデータを渡すとエラーがおきる

この2点。


var btn : Button = 5

とかやるとエラる。

逆を言えば、変数宣言のところで型を調べれば、
どの変数にどんな値が入ってるとか忘れにくくなる。


とりあえず、ちょっと休憩。
質問がなければ、型の高度な説明は後回しにして、
AS3でのMCの操作方法とかに進むよ。
48hoge ◆AXUssWRNqk :2007/05/21(月) 11:29:09 ID:F/0Q8Wka
272 名前:Now_loading...774KB[] 投稿日:2007/05/12(土) 09:30:51 ID:ij2Rps0x
お疲れ様です。とってもわかりやすいと思います。

でも、正直たいがいの人はas1・2で書いたほうが、わかりやすいし、
効率的だと思います。敷居が高すぎるような気がします。

自分は大学の専攻も情報系でjavaやc++なれてるからモジュール性や
エラー発見、なにより速度の面で嬉しすぎるから転向するけど・・・

一般的なflash使いの中では迷惑にしかならないと思う。
なんてゆうか、簡単なことするのにも(as1のonとか)面倒ですよね。
as1もずっと使えるならいいんですが。もしこれからas3強要路線ならflash
は衰退していくような気がします。どうなるんでしょうか。
49hoge ◆AXUssWRNqk :2007/05/21(月) 11:30:49 ID:F/0Q8Wka
273 名前:Now_loading...774KB[sage] 投稿日:2007/05/12(土) 09:42:20 ID:9Iphtgzs
質問ー
一度変数に型を宣言してやったら、以降その変数に型を宣言してやる必要はないの?
それともいちいち全てstr:Stringとかって記述するの?
50hoge ◆AXUssWRNqk :2007/05/21(月) 11:31:41 ID:F/0Q8Wka
>>49 (273)
かく必要ないです。型は一度コンピューターに「この変数はこの型ですよ」って
伝えればいいだけなので。そう最初に伝えることで変数の処理が高速化します。

で、質問があったのに忘れてました。cs3だとユーザー定義クラスの自動補完とか、
メソッドの宣言へのジャンプとかなさげですね。flexにはあるみたいなのですが。
eclipse使った後だとかなりストレスになります・・・何かいい方法があれば教えてい
ただきたいです。
51hoge ◆AXUssWRNqk :2007/05/21(月) 11:36:59 ID:F/0Q8Wka
>>50

代わりに答えてくれてアリガトン

cs3の補完機能はぶっちゃけ微妙だよね。
現状バリバリ書くならFlex2をつかうか、
SEPYみたいな外部エディターのAS3対応待ちなのが現実と思われ。


なんで、ここでもバリバリOOPだぜー!みたいなのは避けて、
もっとカジュアルにAS3書く部分に絞っていこうかなと。

AS1, AS2は、FlashPlayer内に
AVM1(アクションスクリプト・バーチャル・マシーン1)として、存在してるので
AS3とは別に後方互換で存在し続けると思う。
ただ、今後新機能が付いたときに、AS2でその恩威にあずかれるか?
っていうと微妙なんじゃないかと思う。
52hoge ◆AXUssWRNqk :2007/05/21(月) 11:38:32 ID:F/0Q8Wka
とりあえずCS3のコーディングを理解してみて、
アニメーションやMADのちょっとした演出にコード使うだけならAS2
バリバリゲーム作って、FGFとかに作品おくるぜー!ってひとはAS3かも
って感じでいいんじゃないかなと。
53hoge ◆AXUssWRNqk :2007/05/21(月) 11:53:57 ID:F/0Q8Wka
278 名前:Now_loading...774KB[sage] 投稿日:2007/05/12(土) 10:09:56 ID:ij2Rps0x
>>51 (275)
確かにそうですね。
今までのon、attachmovieはどうすれば??ぐらいわかれば、
OOPじゃなくても、as3の恩恵を受けて今までどおりにかけるよう
になれそうですもんね。as2に慣れてるが、javaはやったことない人
向けぐらいがいいと思います。がんばってください。


まあ難点はあるけどas3の超高速化はとても嬉しい。
今まで遅延のせいでどれだけ苦労したことか。。
54hoge ◆AXUssWRNqk :2007/05/21(月) 11:54:38 ID:F/0Q8Wka
■ムービークリップを張ってみる 1

AS2使いにとって最大のビックリは、attachMovieがなくなったことだと思う。
じゃあ、どうアタッチするか?なんで変わったのか!?というお話。

まぁ、とりあえずMC作って、スクリプトから張ってみよう。


・新規シンボルでMovieClipを作って、●を描く。
・ライブラリから作ったMCのリンケージを開く。
・export as actions scriptを選ぶ。

なんかいままでリンケージIDだった部分が、
クラス名と、基底クラスみたいな2つになってると思う。
基底クラスの方は勝手にMovieClipが指定されてると思うので無視。
クラス名のところに "Maru" とか描いておこう。

で、メインのタイムラインの1行目に


var mc : MovieClip = new Maru();
this.addChild( mc );


で、表示されるはず。
55hoge ◆AXUssWRNqk :2007/05/21(月) 11:58:09 ID:F/0Q8Wka
■ムービークリップを張ってみる 2

new Maru()

で、ライブラリのMaruクラスを設計図に、
実際のアイテムを作り出して、

addChild で、ムービーをアタッチしたわけです。


-------------------------------------------------------


今までリンケージだったものが、クラスになったけど概念的にはあまり変わらん感じ。

クラスってのは
変数や関数等を1つにパッケージングしたモノを
作るための「設計図」のことなんだよね。
マックのバリューパックのレシピや、熱海旅行ツアー企画書みたいなもん。

クラス(バリューパックって定義とレシピ)があれば、
あとはそれを元に、何個でもバリューパックを生産できるわけですよ。

で、new Maru()が作るパートで、addChild() で ステージに貼り付けてるわけです。
56hoge ◆AXUssWRNqk :2007/05/21(月) 12:55:48 ID:F/0Q8Wka
■ムービークリップを張ってみる 2

AS2とAS3の最大の違いは、
ムービークリップの作成と、アタッチを
2段階にわけたことだけど、
これによって何がかわるのか。

・作ったからといって、貼る必用はない
 作るだけで、画面に張らないということもできる。
 計算用、画像処理用にダミーに作って、表示しないとかも可能。


・他のMCの子供に移動できる
 attachMovieで一度はったものは削除しかできないが、
 addChildでは、親の変更が可能

 var mc : MovieClip = new Maru();
myMovieClipA.addChild( mc )
myMovieClipB.addChild( mc )

 とかやるとmyMovieClipAに張ってから、やっぱりmyMovieCLipBに張りなおすことが可能。
 3Dやウィンドウみたいに、前後関係が複雑な場合は便利。

・画面から消すけど、削除しないということもできる。
 今までの removeMovieClipで消すとMCは消滅したけど、
 今回の removeChild は、表示から外すだけなので mc自体は存在してる。
 あとで再利用とかできる。

 var mc : MovieClip = new Maru();
addChild( mc )
removeChild ( mc )
trace( mc ) //表示からはずれたけど、MCは存在してる。
57hoge ◆AXUssWRNqk :2007/05/21(月) 13:03:19 ID:F/0Q8Wka
いったん休憩。
質疑応答あったら、ヨロ。
58hoge ◆AXUssWRNqk :2007/05/21(月) 13:04:12 ID:F/0Q8Wka
284 名前:Now_loading...774KB[sage] 投稿日:2007/05/12(土) 12:33:33 ID:2WX8Pht3
質問だす!
attachMovieで言うところの深度は、どうやって設定するんでしょうか?
あと、Click、EnterFrameなどのイベントの種類はAS2的に簡単に設定できますか?
Java的解説でお願いしますだおかだワー
59hoge ◆AXUssWRNqk :2007/05/21(月) 13:05:58 ID:F/0Q8Wka
>>58 (284)

addChildをすると、MovieClipは自動的に最善面に配置される。
あるいは addChildAt というものを使って、深度指定してaddChildできる。


深度変換は、親になってるムービークリップで

setChildIndex( childMC, depth )
swapChildren( child1, child2 )
swapChildrenAt( depth1, depth2 )

とかを使って行う。



as2のdepthとの違いは、
as3のdepthは必ず0から始まって、
途中でdepthの値が抜けることはないこと。
子供が3ついたら、それぞれのインデックスはかならず 0, 1, 2 になる。

この状態で、1番をremoveChildしたら、2番が1つづれて1番になる。
逆に1番の位置に、新しくaddChildAt をした場合、
現在の1, 2番が、2,3番の位置にずれる。


イベント系をAS2的に楽にする方法は、ディフォルトではない。
なので、これからイベントを簡単に登録するクラスを作ろう、みたいな話になる。
60hoge ◆AXUssWRNqk :2007/05/21(月) 13:14:21 ID:F/0Q8Wka
286 名前:15[sage] 投稿日:2007/05/12(土) 13:06:32 ID:HBOvDaOh
質問なんですが
思い切ってJavaからやったほうが
AS3を理解する近道なんですかね?
OOPがいまだにどでかい怪物にしか見えな
61hoge ◆AXUssWRNqk :2007/05/21(月) 13:16:29 ID:F/0Q8Wka
287 名前:Now_loading...774KB[sage] 投稿日:2007/05/12(土) 13:12:08 ID:qgqq2sGS
だからオブジェクト指向だなんだと難しく考えたらだめなんだよ。
AS2もAS3もたいして変わらないよ。
62hoge ◆AXUssWRNqk :2007/05/21(月) 13:26:42 ID:F/0Q8Wka
>>60 (286)

どれくらいできるのか、何をしたいのかによって違ってくると思われ。

個人的にはデザイン肌の人間にとって、
DOS窓で抽象的なスクリプトかくのは地獄だと思われ。
せめてJavaよりも、processingというアート用Java? に触るほうがよいと思う。

http://processing.org/


クラスの作成、extend, implementを理解しているレベルならば、
前述の結城さんのデザインパターン入門を読むのがオススメ、
Javaがわからなくても、ソースみれば何をやってるかは理解できるはず。
それ読んだあとに、FlashOOPでもよめば大丈夫。

完全にわかんねーよ!!って話なら
AS2でOOP先にやったほうが、実務でも役に立つし楽かもしれない。


OOPっていうのは、特定の問題に対処する特定の先方で
将棋の穴熊とか、四間飛車みたいなモン。
単なる戦法、定石だから、どのシチュエーションで必要か暗記して、
そのシチュエーションで使えばとりあえずOK.
63hoge ◆AXUssWRNqk :2007/05/21(月) 13:27:28 ID:F/0Q8Wka
あー、ゴメン。
↑で書いたのはデザパタだった。 寝てないからボケてた・・・

OOPってのはようやくすると、
変数とかダラダラかかないで
ようは整理整頓して、定型処理でやりましょー、みたいな取り決めに過ぎないので、

むずかしく考える必要はなっしんぐ。


実生活でいうと、レシピで料理作ったり、履歴書を同じフォーマットで作ったり、
そういう生き方。アドリブ・一発ネタいくない、みたいな。
64hoge ◆AXUssWRNqk :2007/05/21(月) 13:41:29 ID:F/0Q8Wka
291 名前:15[sage] 投稿日:2007/05/12(土) 13:20:12 ID:HBOvDaOh

>>61 (287)
むしろ僕の場合はオブジェクト指向がんがん使えるようになりたいです
今はonClipEventの乱立で何とかやってますが
これを1フレーム目にズラーっと書いたら
もう見る気もしませんw
ちょうどいい機会なのでこの辺で
得体の知れないかいぶつOOPをやっつけちゃうかなって考えてます
やはりそうすると一度JAVAに遠回りしたほうがいいんでしょうか?
65hoge ◆AXUssWRNqk :2007/05/21(月) 14:36:24 ID:F/0Q8Wka
292 名前:15[sage] 投稿日:2007/05/12(土) 13:30:16 ID:HBOvDaOh
>>62 (288)
解説ありがとうございます

まだどっちつかずのぺーぺーです
3ヶ月前に初めてHTMLに触れてそっから
JAVAscript→PHP→FLASHとわたり歩いてきました
正直『完全にわかんねーよ!』より下のレベルかと・・・
この前アドビで「AS2によるオブジェクト指向プログラム」っての読んだんですが
全然わかりませんでした
66hoge ◆AXUssWRNqk :2007/05/21(月) 14:38:10 ID:F/0Q8Wka
>>65

3言語やってりゃ変数とかfor文とか、基本的なことわわかってそうやね。
このままでもいいんじゃないかな、それじゃあ。

順番的に

・型ってなによ
・ムービークリップを張ってみる ← 今ココ
・とりあえずマウスイベントとかとってみる
・クラスとか作ってみる
・イベントハンドリングの仕組みについて
・簡単にマウスやエンターフレームを使えるクラスを作ろう

みたいな流れでいこうかと思ってる。
そこら辺までくれば、自力で簡単なクラスは作れるようになるかと。
67hoge ◆AXUssWRNqk :2007/05/21(月) 14:40:09 ID:F/0Q8Wka
299 名前:Now_loading...774KB[sage] 投稿日:2007/05/12(土) 15:31:04 ID:7PBp95zp
回答どうもです。
メインのタイムラインにしかスクリプト書けないって聞いたんですが
MCのスクリプトはそのままでOKなんですかね?
使えなくなるのはボタンのon()ぐらいですか?
68hoge ◆AXUssWRNqk :2007/05/21(月) 14:43:05 ID:F/0Q8Wka
>>67 (299

メインじゃなくても、タイムラインに書くのは依然としてOK
on(press) みたいに、MCによくわからん貼り付け方する奴はNG
69Now_loading...774KB:2007/05/21(月) 15:13:10 ID:X35NpiM5
ASはどのバージョンから使ってる人?
2.0から?
70hoge ◆AXUssWRNqk :2007/05/21(月) 15:48:01 ID:F/0Q8Wka
331 名前:Now_loading...774KB[sage] 投稿日:2007/05/16(水) 08:47:57 ID:t4sc8v3k
attachMovieをaddChildで書くってのは分かったけど
複数呼び出した時ってどう見分け付けりゃいいの?
for(i=0;i<10;i++){
var mc_hoge:MovieClip = new hoge();
addChild(mc_hoge);
}
1個1個別々の動きさせたいんだけど。
71hoge ◆AXUssWRNqk :2007/05/21(月) 15:48:56 ID:F/0Q8Wka
>>70 (331)の見て個別に円回転するmcを10個作ろうと思ったがもうだめだ。
どうしていいのかわからなくなってきた。

function moveBall(rot,radius) {
trace(this);
rot = rot + 10;
if (rot > 360) {
rot -= 360;
}
rad = rot * Math.PI / 180;
this.x = Math.cos(rad) * radius;
this.y = Math.sin(rad) * radius;
}
for (var i:Number = 0; i<10; i++) {
this["ballMc"+i] = new ball();
rotInit = 0;
radiusInit = 100;
this["ballMc"+i].x = Math.random()*300;
this["ballMc"+i].y = Math.random()*300;
this["ballMc"+i] = addEventListener(Event.ENTER_FRAME, moveBall(rotInit,radiusInit));
this.addChild(this["ballMc"+i]);
}
72hoge ◆AXUssWRNqk :2007/05/21(月) 15:49:56 ID:F/0Q8Wka
333 名前:Now_loading...774KB[sage] 投稿日:2007/05/16(水) 11:55:34 ID:17JT52mp
>>70 (331)

作ったmc を配列とか、Dictionaryとかに入れて管理するんだ。

var dict : Dictionary = new Dictionary();
dict[ "mc1" ] = mc1
dict[ "mc2" ] = mc2


MovieClip( dict["mc1"] ).x = 100

みたいに管理できる。
73hoge ◆AXUssWRNqk :2007/05/21(月) 15:55:21 ID:F/0Q8Wka
>>71 (332)のやり方は、オーソドックスなAS2スタイルの書き方だよね。

AS3だと、MovieClipを拡張して「回転するムービークリップ」クラスを作って、
それをaddChildして放置、ってのが楽かな。

よくOOPは分かりにくいっていうけど、
あれは技法っていうか考え方なんだと思う。

外部の関数を使って、対象のパラメーターを弄る(手続き指向)か、
対象(この場合はMC)自体が回転の関数とか変数持っている(オブジェクト指向)

って違いじゃないかと。大雑把に。


OOP(オブジェクト・オリエンテッド・プログラミング)ってのは、
1つのオブジェクトに関係する関数やプロパティをまとめることで、
この場合は、MCという(オブジェクト)に
回転する機能や、回転速度等とかを関連付けて(オリエンテッド)
プログラミングしてやることなんだと思う。
74hoge ◆AXUssWRNqk :2007/05/21(月) 15:56:16 ID:F/0Q8Wka
package{
import flash.display.MovieClip
import flash.events.Event

public class KaitenMovieClip extends MovieClip{
public var speed : Number = 5

//new されたらここが呼ばれる
public function KaitenMovieClip()
{
addEventListener(Event.ENTER_FRAME, onEnterFrame); //エンターフレームイベントと、onEnterFrame関数を結びつける
}

// エンターフレームイベントが起きたら、ここ呼ばれる。
public function onEnterFrame( e:Event )
{
//この例では本当に、rotationで回転するだけ。
this.rotation = this.rotation + speed
}
}
}


直接ここに書いてテストしてないけど、
こんな感じでKaitenMovieClip.asとかを作て、swfと同じフォルダに置く。

で、flaでMC作ってクラスのとこに、このKaitenMovieClipを指定。

そうすれば、 new KaitenMovieClip() で、回転するムービークリップ作れる。
それで勝手に動くMC完成
75hoge ◆AXUssWRNqk :2007/05/21(月) 15:57:07 ID:F/0Q8Wka
336 名前:Now_loading...774KB[sage] 投稿日:2007/05/16(水) 13:58:59 ID:ntySUtr/
できたー! >>72-73 (333-334) ありがとう! 凄くわかりやすかった。
なんかオブジェクト思考についていく自信がついた。
下のではじめエラーが出てどうしようかと思ったけど、
MouseEventのimportで動いたし、なんかいろいろやってけそう。
でもこれ外部ファイルだと素っ裸で外歩く気分だね。なんか見られてる気がして落ちつかない。

public function KaitenMovieClip() {
this.x = Math.random()*300;
this.y = Math.random()*300;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(MouseEvent.MOUSE_OVER, onRollOver);
addEventListener(MouseEvent.MOUSE_OUT, onRollOut);
}
public function onEnterFrame(e:Event) {this.rotation = this.rotation + speed;}
public function onRollOver(e:Event) {speed = 20;}
public function onRollOut(e:Event) {speed = 5;}
/////////////
var dict : Dictionary = new Dictionary();
for(var i:Number = 0; i<10; i++){
var mc:MovieClip = new KaitenMovieClip();
dict["mc"+i] = mc;
this.addChild(dict["mc"+i]);
}
76hoge ◆AXUssWRNqk :2007/05/21(月) 19:07:40 ID:F/0Q8Wka
■マウスイベントを拾ってみよう その1

途中脱線したけど、MCを張れるようになったら、
マウスイベントを取れるようにしてみる

AS2使いがよく質問する
on(press) や、 mc.onPress = function ができなくなったって、あたりね。

AS3では基本的にイベントの取得は、
addEventListener というものを使って、
「誰が」発信した「どのイベント」を、「どの関数が」うけとるかを、定義して使う。


発信者.addEventListener( イベントタイプ, 受け取る関数 )


雰囲気的には、従来のStage.addListener とか Key.addListener に近い感じ。


なのでAS3では、例えばマウスイベントを受け取りたい場合、
まずイベントを受け取る関数を用意して、ムービークリップに、
マウスイベントはその関数に渡せって登録してやる必要がある。

それがさっきの

発信者.addEventListener( イベントタイプ, 受け取る関数 )
77hoge ◆AXUssWRNqk :2007/05/21(月) 19:08:23 ID:F/0Q8Wka
■マウスイベントを拾ってみよう その2

なんで、こんな風にかわったのか? っていうと、
従来の onPress 的やり方は、楽な分1つ弱点があったから。

それは、1つのon○○には、1つのfunction しか割り当てられなかったこと。

このせいで機能拡張とかすると、昔のコードを消したり、作り直す必用がでたりした。


addEventListener方式のいいところは、1つのイベントに何個も関数を定義できること。

myMC.addEventListener( MouseEvent.MOUSE_DOWN, onPress1 )
myMC.addEventListener( MouseEvent.MOUSE_DOWN, onPress2 )
myMC.addEventListener( MouseEvent.MOUSE_DOWN, onPress3 )

とかやれば、myMCがクリックされたらonPress1, onPress2, onPress3 の3つが呼び出される。
この方法だと、あとでマウス押したら音もつけなきゃ、とかエフェクトもつけなきゃってときに
前のコードに手をいれなくてもよかったりする。

単体で使う分にはちょっと面倒だけど、拡張するときは楽なんだね。
78hoge ◆AXUssWRNqk :2007/05/21(月) 19:09:34 ID:F/0Q8Wka
■マウスイベントを拾ってみよう その3

で、実際にイベントを使ってマウスをとってみよう。
例によって1フレ目にずらずらと書く。


//まずMouseEventとMovieClipをインポート
import flash.events.MouseEvent
import flash.display.MovieClip

var mc : MovieClip = new ライブラリでリンケージ設定したMC()
addChild( mc ) //MCを貼る

//mcのマウスダウンイベントを onPress に渡すように登録
mc.addEventListener( MouseEvent.MOUSE_DOWN, onPress )

//イベント受け取る関数
//イベントを受け取る関数は、引数で登録したイベントが渡される
function onPress( event : MouseEvent ){
var target : MovieClip = MovieClip( event.currentTarget )
trace( target, "がクリックされました。" )
}

こんな感じ。
マウスイベントの種類は、MouseEventクラスをオンラインドキュメントかなんかでチェックすれば、
ロールオーバーとかアウトとか色々あるのがわかる。

ここで、いったん休憩。
質問あったらどうぞ。
79hoge ◆AXUssWRNqk :2007/05/21(月) 19:10:32 ID:F/0Q8Wka
340 名前:Now_loading...774KB[sage] 投稿日:2007/05/16(水) 17:04:26 ID:ntySUtr/
>>78 (339)
カーソルが変わらないんですが
どこか設定を変えないといけないんでしょうか
80hoge ◆AXUssWRNqk :2007/05/21(月) 20:38:26 ID:F/0Q8Wka
カーソルが自動で変わるのば、ボタン系だけ。
MCでマウスイベントを取ってもかわらない。

myMovieClip.useHandCursor = true で対応する感じ。

ここらを、>>334 でいったような手続き型でやるとメンドイので、
MovieClipButtonみたいなクラスを作って、その初期化で全部設定してやるとよいかと。


このまま次か、次の次の章あたりでその辺はサポートする予定。
81hoge ◆AXUssWRNqk :2007/05/22(火) 12:42:16 ID:h3Ybx4rK
346 名前:Now_loading...774KB[sage] 投稿日:2007/05/16(水) 18:19:36 ID:MpEwQXTq
ストリクトモードだと全くコンパイルできねーッ!
これはストリクトモード外すと何か不具合あるのかな?
82hoge ◆AXUssWRNqk :2007/05/22(火) 12:43:04 ID:h3Ybx4rK
>>81 (346)

バグが見つけにくくなる。
83hoge ◆AXUssWRNqk :2007/05/22(火) 12:43:56 ID:h3Ybx4rK
361 名前:Now_loading...774KB[sage] 投稿日:2007/05/18(金) 14:37:02 ID:KhZiWbep
なんか326あたりから良スレになってきた予感

結構ためになる。特にムービーやボタンに直接AS書いていた俺にとっては。
結局addEventListener方式に慣れるしかない・・・のは仕方がないけど、やっぱやりずらい、というか理解するの難しい。
俺はビジュアルデザインメインだからアレだけど、逆にプログラマー的にはやりやすいのかな?やっぱ?
それでもムリしてこの時期AS3.0に移行すべきかね?AS2.0のほうがやりやすいんだけど、ここでふんぎり付けないと乗り遅れますか?
あと、やっぱ3.0のこういうイベント系でもここまできたら、外部.asでまとめ書きするのに慣れた方がよいかな?
クラス(?)ファイルをライブラリ(flaのじゃなくて自分のね)に持っておいて使うとか。そういう方向が正規の方向なのかとか考えてしまう。
クラスへの代入処理一つとってみても、コンストラクタ関数挟んでインスタンス作成したりとか、なんとなく回りくどく感じて何のための便宜性なのかとか理解できないし。
コンストラクタ関数って絶対にクラスファイル名と同じ名前付けなきゃいけないんだよね?逆に同じ名前を付けることによって自動的にコンストラクタ関数になるってこと?
こういう初歩的なことから勉強し直さなきゃならない気がしてきた、それでもやるべきか、2.0でマターリするべきか・・・どうよ?
84hoge ◆AXUssWRNqk :2007/05/22(火) 12:44:40 ID:h3Ybx4rK
>>83 (361)

バナーとか、スプラッシュアニメとかそういうのならば、AS2で全然問題ないと思う。
というか時代の流れ的に、flash11か12ぐらいでjavascriptが動くようになると思うし。

ただ今後しっかりしたサイト作るときに、
SE,コーダー系がAS3にいっちゃった場合のことを考えると、
最低限はわかったほうがいいんじゃないかと。

スキンやデザイン作る場合でも、まったくAS3わからないと
コーダーと連携ができなくて仕事支障がでる可能性はあると思う。


ビジュアルデザイン専門の場合は、
ムービークリップ数百個動かせるぜ!!
とかエフェクトバリバリだぜ!!
みたいな利点はあるんで、
そこら辺とマウス・エンターフレーム・ロード周りだけ抑えておけばいいんじゃね。
85hoge ◆AXUssWRNqk :2007/05/22(火) 12:46:17 ID:h3Ybx4rK
■クラスを作ってみよう その3

また微妙に間違えたよ俺・・・ ゴメンナサイゴメンナサイ。

package{
  import 使う.クラスは.ここで.インポート

  public class クラス名
  {
    public var 変数名 : 型
    public var 変数名 : 型

    public function クラス名と同じ名前の関数()
    {
      newすると最初にここが実行される。
    }    

    //値を返さない関数
    public function 関数名( 引数 : 型 ):Void
    {
     ここに関数処理
    }

    //値を返す関数
    public function 関数名( 引数 : 型 ) : 帰る値の型
    {
     ここに関数処理
      return 値
    }
  }  
}
86hoge ◆AXUssWRNqk :2007/05/22(火) 12:46:59 ID:h3Ybx4rK
■クラスを作ってみよう その2

まず上から意味をざっと説明すると。

・一番外側は package { } で囲む。
 意味はまだわからなくてOK。そういうもんだと思って。

・次に使うクラスをインポート。
 クラス内でMovieClip使うなら、flash.display.MovieClip みたいに指定してインポ

・クラス宣言 public class クラス名 {} で囲む。
 public とかはまだ意味わからなくてOK。

・変数宣言
 頭にpublicつけるのと型指定を忘れずに。public の意味は、今は気にしないでOK。

・クラス名と同じ名前の関数
 newで作成するとまずコレが呼ばれます。初期化処理はココ。専門用語でコンストラクタ。

・関数
 頭に public 、引数にもちゃんと型指定、
 戻り値があるなら最後に戻り値の型、なければvoid をつける。


だいたい基本作法はそんなとこ。
まぁ、こまかいとこは追々サンプルつくりつつサポート。
87hoge ◆AXUssWRNqk :2007/05/22(火) 12:51:18 ID:h3Ybx4rK
■クラスを作ってみよう その3

で、OOPってなんだっけをまずちょっと復習。
産業で説明すると

オブジェクト指向は、
関連する機能と値を1つにまとめて
クラスというものにする。

そんだけ。それ以上でもそれ以下でもない。

考え方的には
関連する絵とアニメーションとフレームスクリプトをまとめて
ライブラリにシンボルとして登録するのとあまり変わらない。
88hoge ◆AXUssWRNqk :2007/05/22(火) 12:51:59 ID:h3Ybx4rK
■クラスを作ってみよう その4

たとえば、ゲームで使うスコア計算用のクラスとかを作ってみよう。
つまり、スコア計算に関連する関数、プロパティをまとめあげて1つにするってことね。

一度作ったら、一生使いまわせるつもりで考える。

仕様的にはとりあえず。

・スコアの記録、保存
・ハイスコアの記録
・カンスト(スコア上限値)設定
・表示用に0000300みたいなテキストを出力可能

こんな感じでいってみよう。
89hoge ◆AXUssWRNqk :2007/05/22(火) 12:52:42 ID:h3Ybx4rK
■クラスを作ってみよう その5

まず↑の仕様から、変数と関数を決める

変数
・現在のスコア
・ハイスコア
・スコアの上限値

関数
・現在のスコアをセット
・現在のスコアをゲット
・ハイスコアをゲット
・テキストとして出力

こんな感じかな
90hoge ◆AXUssWRNqk :2007/05/22(火) 12:53:25 ID:h3Ybx4rK
package{
  public class Score{
    //protected変数は、クラスの外からアクセスできません(内部処理用)。
    protected var _score : Number =0 //スコア
    protected var _hightScore : Number = 0 //ハイスコア
    protected var _maxScore : Number = 99999 //上限

    //初期化
    public function Score( maxScore : Number)
    {
     _maxScore = maxScore
    }

    //スコア取得
    public function getScore():Number
    {
     return _score
    }

    //ハイスコア取得
    public function highScore():Number
    {
     return _highScore
    }

    //スコア設定
    public function setScore( value : Number ):void
    {
      これから書きます!
    }
  }
}
91hoge ◆AXUssWRNqk :2007/05/22(火) 12:54:14 ID:h3Ybx4rK
■クラスを作ってみよう その6

ざっと大枠を書くと↑のようになる。

使うときは

var score : Score = new Score(99999)
score.setScore(3200)
score.setScore(155)

trace( score.getScore() )
trace( score.getHighSocre() )

みたいにして使う。
一度るくれば、
これでもうハイスコアやカウントストップの計算は一生書かなくて済むようになる。

OOPメンドクサって言う人もいるけど、こういう一生使うメンドイ処理はクラスにして、
普通にオーサリングする部分はアンチOOPでダーティに書くとか
そういう組み合わせもありだと思うよ。


うえのコードを軽く説明したら、本命のsetScore関数と、
0003000みたいに表示する部分を作る。
92hoge ◆AXUssWRNqk :2007/05/22(火) 19:17:29 ID:h3Ybx4rK
■クラスを作ってみよう その7

まず気になるのは変数の宣言のところにある、protected

これなによ!?っていう感じだけど、
protectedってのは、「クラスの外部からアクセスできませんよ!!」て意味。
myClass._score とかやってもエラーになる。

クラスの内部でつかう内部処理用の変数や関数には、protected って書いておくわけ。
よくでてくる public ってやつは、誰でも外からも中からもアクセスできる関数・変数。

でスコアの定義や取得は、関数getScore, setScore を使ってやらせる。

なんで変数を直接いじっちゃダメなの!?
っていう疑問があるけど、それは

・ハイスコア直接いじられると困る。
・スコアセットしたら、自動でハイスコア計算させたい。

そんな理由からです。
OOPでは、「やっちゃいけないことはできなくする」という原則があるので、
ハイスコア勝手に操作できないように、highScoreって変数も作らないし、
setHighScoreもないわけです。

「やっちゃいけないことはできなくする」ってことは、
使うときに致命的なミスをしないですむって利点があるの。

東海原発で排水汲み上げにバケツ使ったとかは、
やっちゃいけないのにできちゃったのいい例ね。
メルトダウンするとこだよ。
93hoge ◆AXUssWRNqk :2007/05/22(火) 19:34:45 ID:h3Ybx4rK
■クラスを作ってみよう その8

で、いよいよ本命の関数 setScore を書いてみる。

public function setScore( value : Number ):void
{
  if( value > _maxScore ){
   value = _maxScore // 限界値以上だったらカンスト
  }

  _score = value // 現在のスコアに設定

  if( _score > _highScore ){
   _highScore = _score //ハイスコアだったら更新  
  }
}


こんな感じ、超楽チン。

スコアのセットは、setScoreしか手段がないから、
かならずスコア更新、上限チェック、ハイスコアチェックはセットで行われるですよ。
変数がprotectedだから、スコアだけ更新とかハイスコアハックとかはできないのです。
バグさらば

これがOOPのちょっといいところ。
94hoge ◆AXUssWRNqk :2007/05/22(火) 19:36:25 ID:h3Ybx4rK
■クラスを作ってみよう その9

で、一応00003000みたいのも表示できるようにする。

//スコアを文字化
public function getText( keta:Number ):String
{
  var str : String = ""
  
  //桁数だけ0をくっつける。
  //たとえば5桁なら00000
  for(var i:Number = 0; i<keta; i++){
    str = str + "0"
  }

  str = str + _score //スコアを足す。000003450とかになる。

  //後ろから桁数分だけ切り抜く0000「03450」
  str = str.subStr( str.length - keta, keta );

  return str
}


こんな感じ。
とりあえず、
ハイスコアも文字化したいとか、
桁数は指定するより、最大値から自動で計算するほうが楽じゃね?
とか改良の余地はあるけど、とりあえず完成!!

もうちょっと続くけど、いったん休憩で
質問コーナーです。
95hoge ◆AXUssWRNqk :2007/05/22(火) 19:39:13 ID:h3Ybx4rK
408 名前:Now_loading...774KB[sage] 投稿日:2007/05/20(日) 09:45:35 ID:5xVzA+4L
>一度作ったら、一生使いまわせるつもりで考える。
とかってちょっと考え方が古くね?
96hoge ◆AXUssWRNqk :2007/05/22(火) 19:42:04 ID:h3Ybx4rK
>>95 (408)
まぁOOPのコンセプトわかりやすくする為に
タテマエは一応言っといたほうがわかりやすいかなとwwwwwww
97hoge ◆AXUssWRNqk :2007/05/22(火) 19:47:26 ID:h3Ybx4rK
410 名前:Now_loading...774KB[sage] 投稿日:2007/05/20(日) 10:43:09 ID:d9we2VE3
>>94 (402)の_highScore宣言のところで初期値99999が無意味じゃね?
明示的に指定しなくてもいいように、コンストラクタのデフォルト引数に設定した方がいいよ。

98hoge ◆AXUssWRNqk :2007/05/22(火) 20:47:50 ID:h3Ybx4rK
411 名前:Now_loading...774KB[sage] 投稿日:2007/05/20(日) 10:43:57 ID:d9we2VE3
_highScoreじゃなくて_maxScoreだったorz
99hoge ◆AXUssWRNqk :2007/05/22(火) 21:03:39 ID:h3Ybx4rK
>>98 (410)

続きで初期値 と setter / getter をやろうとしてたんで、
突っ込みナイス。
100hoge ◆AXUssWRNqk :2007/05/22(火) 21:04:42 ID:h3Ybx4rK
422 名前:Now_loading...774KB[sage] 投稿日:2007/05/20(日) 16:12:34 ID:vpcHcJeq
>>87 (399)
>オブジェクト指向は、
>関連する機能と値を1つにまとめて
>クラスというものにする。
>
>そんだけ。それ以上でもそれ以下でもない。

いくらなんでもこりゃねえだろ
101hoge ◆AXUssWRNqk :2007/05/22(火) 21:05:26 ID:h3Ybx4rK
423 名前:Now_loading...774KB[sage] 投稿日:2007/05/20(日) 16:37:12 ID:BGM0L3t0
最初はそれでいい
文系OOP厨のせいで小難しく思われがちだから
それぐらいで丁度いい
慣れたらより有効な使い方を見れるようになればいい
102hoge ◆AXUssWRNqk :2007/05/22(火) 21:07:37 ID:h3Ybx4rK
スマン・・・ 書いてる人だけどそれダメだった????

>オブジェクト指向は、
>関連する機能と値を1つにまとめて
>クラスというものにする。

まずそういう基本思想があって、
機能や特性を分析してくと、
物事はグルーピングや階層構造で分類ができて、
抽象化とかポリモーフィズムとか来るんだと思ってたんだが・・・

俺も別にOOPマスターじゃないんで、
間違ってたら気軽にツッコミ頼む。
103Now_loading...774KB:2007/05/22(火) 21:19:30 ID:HhAS5Q9D
>>77
1つのイベントに何個も~ってあるけど
ツギハギしすぎたら重くなる?
104hoge ◆AXUssWRNqk :2007/05/22(火) 22:05:26 ID:h3Ybx4rK
>>103

1個よりは重くなるけど、数千個とかない限り気になるレベルじゃあないと思う。
105Now_loading...774KB:2007/05/22(火) 22:25:28 ID:HhAS5Q9D
トンクス。あんまり神経質になる必要は無いわけか。
106hoge ◆AXUssWRNqk :2007/05/23(水) 12:34:11 ID:Gt3lIkF5
■クラスを作ってみよう 10  setter/getter ディフォルト値

さて、ようやっとできたScoreクラスだけど。
何気に使いにくい部分があるよね。

var score : Score = new Score( 9999 )

みたいに毎回上限決めなきゃなんないとことか、
スコアの更新時に

score.setScore( score.getScore()+300 )

みたいに書かなきゃいけないところとか・・・
なんか、毎回単純にプロパティ弄るほうが楽だったんじゃ・・・
って気もしてくる。


そんなときには、setter / getter や、
ディフォルト値ってものを使えば、
クラスで関数にアクセスしたり初期化するときの手間を一気に軽減できたりするよ。
107hoge ◆AXUssWRNqk :2007/05/23(水) 12:43:22 ID:Gt3lIkF5
■クラスを作ってみよう 11 ディフォルト値

ディフォルト値ってのは、
関数を呼び出すときに引数を省略できる仕組み、
省略した場合に、代わりにディフォルトの値を渡してやる仕組みのこと。

例えばScoreクラスは初期化の関数Scoreで
毎回スコアの上限を決めていたけど、
ディフォルト値を書いてしまえば、
もうクラス作成時に毎回上限を決めなくても済むようになる

public function Score( maxScore : Number = 9999)

関数( 引数名 : 型 = ディフォルト値 )

という風に、引数宣言の後ろにイコール初期値を書いてしまえば、
省略時にはその値で引数が渡されることになる。


また↓みたいに、複数の引数にディフォルト値を渡すことも可能。

myFunction( hoge1:Number = 9999, hoge2 : Number = 1300)

1つだけ注意しなければならないのは、
1つの関数にディフォルト値のある引数と、
ディフォルト値のない引数が混在する場合。
この場合、ディフォルト値のない引数が、必ず手前にこなければならない。 

hoge:Number, hoge2:Number = 999

みたいに。
108hoge ◆AXUssWRNqk :2007/05/23(水) 12:50:42 ID:Gt3lIkF5
■クラスを作ってみよう 11 getter と setter

クラスを使いやすくする、もう1つの便利機能はgetter と setter
getter/setter は「プロパティのフリ」をした関数を作る機能。

public function set score( value:Number ):void
{
setScore(value)
}

public function get score():Number
{
return getScore(value)
}

みたいに、 set, get ってのがついた関数scoreを宣言すると、

var myScore : Score = new Score();
myScore.score = myScore.score + 1

みたいに、関数scoreがプロパティとして使えるようになる!
値を設定するときにはset, 値を取得するときには get のほうが呼ばれることになる。

これで、普通に値が設定できるのに、
自動でハイスコアの判定もしてくれるプロパティが作れるよ。


setter / getter の詳しい説明は次レスで。
109hoge ◆AXUssWRNqk :2007/05/23(水) 13:00:19 ID:Gt3lIkF5
■クラスを作ってみよう 12 getter と setter

さてプロパティへの値の読み書きを、関数に転送してくれる
setter/getterの書き方は以下の通り。

public function set プロパティ名( 値 : 型) : void
public function get プロパティ名() : 型

setter / getter 両方用意するのが基本だけど、
片方だけしか作らなければ、読み込み専用、書き込み専用のプロパティが作れる。
totalFramesとか、bytesLoadedとかがちょうどそんな感じだよね。

いい忘れてたけど、最後についてる型は、値を返す場合に帰ってくる値の型を書く場所。
setの方は、値を返さないのでvoid
getの方には、返す値の型を書いてやる。


・プロパティの変更と同時に、色々な処理が行える。
値が変わった瞬間に表示をアップデートとか、イベントを発行とか、
いままで値を変える→update()みたいのを呼ぶ、
みたいにやってたことが一発でできるようになる。
必ずセットで実行されれば、呼び忘れもなくなるし便利。

・読み込み専用、書き込み専用の変数が作れる。
上に書いたように、書き込み専用、読み込み専用の変数が作れるといいことがある。
それは事故が減るってこと。


プロパティに、特殊な処理を連動させたいとき(この場合ハイスコア計算)をしたいときは、
setter / getter を使えばOKって感じ。
ほんとは細かいことも色々あるけど、まぁ大まかそんな感じ。
質疑応答なければ、次に進むよ。
110Now_loading...774KB:2007/05/23(水) 14:29:06 ID:e5OYUP44
今さっきこれを見つけて追いついたw
すごい分かりやすくて、ちょっと感動
111Now_loading...774KB:2007/05/24(木) 03:19:01 ID:CBc0mAs6
>>109
ステージサイズとかフレームレートとかも
クラスで定義すればいいのかい?
112hoge ◆AXUssWRNqk :2007/05/24(木) 15:45:20 ID:+N4x72mx
>>111

クラスでやっても問題ない。
多分一般的にはタイムラインと関連づけるルートのクラスの頭で初期化するか、
StageInitializeみたいなクラス作って関数一発で初期化できるようにするんじゃないかな。
113Now_loading...774KB:2007/05/24(木) 18:28:01 ID:5FI198Hh
すごく勉強になります!
質問です。
>>107
引数のところでデフォルトの値を設定できるのですが、これって
public function Score():void{
  var maxScore : Number = 9999
と書くのと違いがあるのでしょうか?
前から不思議に思ってまして、、、
114hoge ◆AXUssWRNqk :2007/05/24(木) 18:54:20 ID:+N4x72mx
>>113

省略しなかった場合の動作と比べるばメリットは色々あるよ。

function fillColor( col : Number = 0, a : Number = 1 ){
 this.graphics.beginFill( col, a)
 this.graphics.drawRect(0,0,100,100)
 this.graphics.endFill();
}

例えば↑みたいな関数だったら、
関数呼ぶときに、引数渡さなければ自動で黒い四角を描いてくれる。
値があればその色で描いてくれる。

両方できるってのと、Flex2とかでオートコンプリートで引数のガイドがでるのが利点かな。
あとディフォルト値用に、変数一個作らなくてすむし、
引数の有無も毎回チェックしなくてすむ。
115Now_loading...774KB:2007/05/24(木) 20:43:49 ID:5FI198Hh
>>114
省略した場合のみ有効になるんですね、、、
無条件で値を設定するのかと思ってました。
ちゃんと書いてましたね、、、大変失礼しました。
とぼけた質問に回答ありがとうございました!
116Now_loading...774KB:2007/05/24(木) 22:32:57 ID:phJz6z81
>>107
これってAS2.0でも可能なの?
それとも3.0からの書式なのかすらん。
117Now_loading...774KB:2007/05/24(木) 23:35:52 ID:ExlGMHYB
Processingどうやって勉強した?
何かオススメの資料ある?(Nature of code以外で)
今月末にFriends of edからProcessingの800ページ
の本でるよ、ビジュアル表現のアルゴリズム考えるの
不得意だから、そういうのでサンプルコード沢山みたら
結構いけるようになるかなとか最近思ってるんだけど
118hoge ◆AXUssWRNqk :2007/05/25(金) 00:01:42 ID:LcVDUixJ
>>117

基本 nature of code が神だよね。

それなりにコードや数学のことがわかるのなら
Galerry of Computationがオススメ。

http://www.complexification.net/gallery/

Friends of EDで出る本は多分、ケイシー・リアスの奴だから
買っておいて損はないと思う。
あとは built with processing でググルとかかな。

processingをやる場合は日本語の資料には頼らないで、英語の文献をあたるか
ソースコードから勉強するのが一番いい。
関数も少ないし、基本1ファイルだからそのほうが力つくし、効率いいと思う。
119Now_loading...774KB:2007/05/25(金) 01:30:08 ID:r17iX9Tf
>>118
なるほど、参考になります。
数学は苦手意識強いんで、そこらへんも合わせて
Nature of codeであげられてる参考文献などあたって
みようかな、などと考えてます。ありがとうございます。
120Now_loading...774KB:2007/05/25(金) 11:53:35 ID:J7NxuIFv
package {
import flash.display.Stage;
public class stagesize {
public function get sizeW() {
return Stage.stageWidth;
}
public function get sizeH() {
return Stage.stageHeight;
}
}
}

trace(stagesize.sizeW+":"+stagesize.sizeH);

クラスの中でステージのサイズ我必要なのですがどうやって取得するんでしょうか。
思いつく限りでやってみたのですがエラーが出てしまいます。

1119: Access of possibly undefined property stageWidth through a reference with static type Class.
121hoge ◆AXUssWRNqk :2007/05/25(金) 12:33:22 ID:CyaN59Ds
>>120

Stageはもうstaticでアクセスするものじゃなくなっちゃったんだ。

画面にaddChildしたMovieClipやSpriteとかの
myMovieClip.stage で取得できます。

addChildするまではstageプロパティはnullを返すのがやっかいなところ。

なんで、StageReferenceクラスとかを作って、
swf実行時の一番頭でStageReference.stage とかにステージを渡してやる。

で非MovieClip系のクラスからは、StageReference.stageとかを読みに行くようにするんじゃないかな。
他の人はどうやってるか知らないけど、自分はそうやってる。

122hoge ◆AXUssWRNqk :2007/05/25(金) 13:56:04 ID:CyaN59Ds
■AS3でonPressを実装する その1

さて、いよいよAS3でonPressやonEnterFrameを実装しようではないかというお話。
とりあえずコード書いてみた。


package{
 public class OldStyleMC extends MovieClip{

  //ユーザーが定義できる関数は変数として宣言
  public var onEnterFrame : Function
  public var onPress : Function
  
  public function OldStyleMC()
  {
   addEventListener( Event.ENTER_FRAME, __onEnterFrame, false, 0, true);
   addEventListener( MouseEvent.MOUSE_DOWN, __onPress, false, 0, true);
  }
  
  protected function __onEnterFrame( e:Event ) : void{
   if(onEnterFrame != null){
    onEnterFrame()
   }
  }

  protected function __onPress( e:MouseEvent ) : void{
   if(onPress != null){
    onPress()
   }
  }
 }
}
123hoge ◆AXUssWRNqk :2007/05/25(金) 14:00:02 ID:CyaN59Ds
このクラスをMovieClipの代わりに使うと、

var myMC : MovieClip = new OldStyleMC()
myMC.onEnterFrame = function():void{ trace("this") }


とか


myMC.onEnterFrame = hoge

function hoge()
{
 trace("hoge");
}


といったように、AS2っぽくイベントハンドリングができて、
ちょっと幸せな気分になれる。

以下、どう動作するか解説。
124hoge ◆AXUssWRNqk :2007/05/25(金) 14:04:53 ID:CyaN59Ds
■AS3でonPressを実装する その2 継承のお話

まず気になるのが、1行目のクラス宣言の部分。

public class OldStyleMC extends MovieClip

「extends MovieClip」の部分。 
extends ってなんですか!?ってお話。

extend は日本語では「継承」と呼ばれていて、
あるクラスをベースに、新しいクラスを作ること。
これをやると、元のクラスの機能に新しい機能を追加できる。

ザクⅡにブースターつけて、
ザクⅡ改や高機動ザクを作るような感じだ。

今回はMovieClipをパワーアップさせて、
OldSytleMCってクラスを作りますって宣言なわけ。

125hoge ◆AXUssWRNqk :2007/05/25(金) 14:10:24 ID:CyaN59Ds
■AS3でonPressを実装する その3 継承のお話

継承元になるオリジナルを親、または先祖。
新しく作ったほうを子、または子孫と呼ぶ。

オブジェクト指向初心者は、どっちが親で子かってので混乱しがちだけど、
これは(拡張した)子の方が高機能で、親の方が低機能なことが
原因なんだと思う。
直感的には親のほうが偉いし、強そうだからね。

だから親子の理解がゴッチャになったら、「子孫は先祖より進化してる!」
って考えるとわかりやすい。


あと憶えておいて欲しいのは、「型」について。
子は親の型の変数にも値を代入できる。

var mc : MovieClip = new OldStyleMC()

とかが大丈夫ってこと。
子は親の拡張だから、親の変数、関数を全て持ってる。
だから親の型に入れても大丈夫なわけ。

ほかにも細かいことはいっぱいあるけど、今は割愛。
今つっこんでやりたい人だけ super とか override とかの概念を調べるといいと思う。
126hoge ◆AXUssWRNqk :2007/05/25(金) 14:14:21 ID:CyaN59Ds
■AS3でonPressを実装する その3 関数も変数として扱えるよ

次にくるのは

public var onEnterFrame : Function
public var onPress : Function

という部分。
何故か、「関数」を「変数」として定義してる。
これは関数も、実はFunction型の変数として扱えるから。

なんで変数にしてるか!?っていうと、

myOldStyleMovieClip.onEnterFrame = ...

みたいに、AS2的に関数を定義したいから。
関数が変数なら(ややこしい)、代入できるので、
普通の関数宣言を使わずにこういう風にしてるってわけ。
127hoge ◆AXUssWRNqk :2007/05/25(金) 14:16:35 ID:CyaN59Ds
■AS3でonPressを実装する その4 省略

コンストラクタ(初期化部分)の説明は、もう割愛してもいいよね。
関数__onEnterFrameと、__onPressを、イベントに登録してるだけ。
128hoge ◆AXUssWRNqk :2007/05/25(金) 14:22:19 ID:CyaN59Ds
さて、いよいよこのクラスのキモの部分、
__on~の部分。

protected function __onEnterFrame( e:Event ) : void{
 if(onEnterFrame != null){
  onEnterFrame()
 }
}

onEnterFrameイベントを受信して、呼び出されるわけだけど。
ここでさっき定義した変数 onEnterFrame の中身が空っぽかをチェックしてる。

で、中身が入ってたら・・・

そう変数onEnterFrameは、function型の変数だから
中身には関数が入ってるよね。
なんで、それ(変数内の関数)を onEnterFrame() で実行してやる。

これでめでたく

myMC : OldStyleMC = new OldStyleMC()
myMC.onEnterFrame = function(){ trace("test") }

みたいに、関数をわたしてやれば
AS2ちっくに関数が実行されるわけです。
これで大分MovieClipの操作が楽になった。
129hoge ◆AXUssWRNqk :2007/05/25(金) 14:23:10 ID:CyaN59Ds
■AS3でonPressを実装する その6 省略


とりあえず、そんな感じで質疑応答。
なければ進みます。
130Now_loading...774KB:2007/05/25(金) 14:29:58 ID:nqykcNLw
onEnterFrameとかはas2みたいに予約語なわけ?それともただの変数名?
131hoge ◆AXUssWRNqk :2007/05/25(金) 14:54:28 ID:CyaN59Ds
>>130

ただの変数名
onEnterFrameってfunction型の変数を作ってるだけ。

名前をAS2と一緒にしたのは、使いやすくすr為。
132Now_loading...774KB:2007/05/25(金) 15:28:51 ID:SqXpGzhk
ためになる。ありがとう。

思いつきだけど

private var __onEnterFrame:Function;

public function set onEnterFrame( f:Function ):void {

  removeEventListener(Event.ENTER_FRAME, __onEnterFrame); // 重複登録はナシ

  if(f != null) {
    __onEnterFrame = f; // 確かAS3.0は自動でクロージャされるよね?(^^;
    addEventListener( Event.ENTER_FRAME, __onEnterFrame, false, 0, true);
  }
}

こんな感じで__onEnterFrameの空回りを防げたりする?
AS3の環境がないので未チェックでごめんなさい。。
133Now_loading...774KB:2007/05/25(金) 15:38:06 ID:SqXpGzhk
> // 確かAS3.0は自動でクロージャされるよね?(^^;

読み返しててなんか日本語が違う気がする。
クロージャがデリゲートされるっていうか、元のthis参照を保ったまま渡されるというか。
適切な表現がわからん、ごめんなさい。
134hoge ◆AXUssWRNqk :2007/05/25(金) 15:56:16 ID:CyaN59Ds
>>132

うん、それがもっと正しい書き方だと思う。
ただ、その場合__onEnterFrameを直接イベントに登録しないで、
間にもう1つ関数挟ましたほうがいいかも。

そのままだと
__onEnterFrameに渡すクロージャには、 
function(e : Event ){} みたいにイベントを引数にしなきゃならないからメンドイ。


AS3の関数はthisスコープが保存されるって認識はあってるよ。
ここはAS2との大きな違いだよね。

参照までAS2チックにするには、
関数実行をapplyで行うようにすればいいんじゃないかな。
クラスのプロパティで参照先を自身にするか、
オリジナルにするか、クロージャにするか設定できるようにしてもいいかもしれないと思った。
135Now_loading...774KB:2007/05/25(金) 18:24:37 ID:sERybIQ1
AS3ではバインドメソッドとメソッドクロージャの挙動はぜんぜん違うよ。
バインドメソッドのthisはapplyで他のスコープを設定しても常に元のスコープ
を参照するはず。
レキシカル環境への参照はどちらも保持するけどね。
136Now_loading...774KB:2007/05/25(金) 18:28:47 ID:sERybIQ1
ttp://www.fumiononaka.com/TechNotes/Flash/FN0608004.html
参考・予習用におなじことやってるサイトのアドレス。
137Now_loading...774KB:2007/05/25(金) 19:02:27 ID:J7NxuIFv
>>132からいきなり難しくなってまいりました。
138hoge ◆AXUssWRNqk :2007/05/25(金) 19:16:11 ID:CyaN59Ds
>>135
あ、ここら辺は知らなかった。
こんど色々調べてみる。サンクス。

>>137
ここはまぁ、質疑応答だし。
そこそこアドバンスドな内容だから気にしなくていいと思う。
139Now_loading...774KB:2007/05/27(日) 14:47:42 ID:RJXXdxDO
>>78
onpressつかうなら
addEventListener ( 'mouseDown', callback_handler).
で定義してください

とかいうエラーが出るんですが

mc.addEventListener( MouseEvent.MOUSE_DOWN, onPress )
これが定義ですよね?
140hoge ◆AXUssWRNqk :2007/05/27(日) 19:13:02 ID:1gn5MzMq
>>139

あぁ、そうか普段Flex2だから忘れてた。

AS3で従来のonPressがなくなったせいで、
onPressって名前の関数作ると警告がでる
Flash CS3のいらん親切機能。

たんなる警告でエラーじゃないから無視してOK.


あと問題になってる部分は

public var onPress : Function

のほうかな。
ここで、FlashCS3は「onPressはねぇから、マウスおしてもなにもおきねぇぞ」って警告してくる。
↑のコードはちゃんと、addEventListenerで登録して、それをonPressに転送してるだけだから無問題。
141Now_loading...774KB:2007/05/27(日) 23:31:06 ID:RJXXdxDO
そうだったんですか

addEventListener( MouseEvent.MOUSE_DOWN, onPress )

これだと警告が出なかったので
どういった訳で警告が出るのかよく分かりませんでした
でも問題無く使えるんですね
ありがとう
142132:2007/05/28(月) 00:00:26 ID:0sij7C04
>>134

イベントが引数にいるのか。じゃあ
__onEnterFrame = f;

__onEnterFrame = function(e:Event):void { f(); }
もしくは別にメソッドを定義しておいてfを代入とか。
よくわからなくなってきたので、とりあえずapplyとメソッドとFunction型プロパティと無名関数の挙動について調べ直してくる。
143hoge ◆AXUssWRNqk :2007/05/28(月) 12:55:23 ID:F8FuyS4N
>>142

そうそう、アプローチ的にはそんな感じに1枚かませる。
ただクロージャーをイベントリスナに登録すると
removeEventListenerできないから要注意。

AS3は以外と参照消し忘れでエラることが多い。
144hoge ◆AXUssWRNqk :2007/05/28(月) 14:20:42 ID:F8FuyS4N
とりあえず、AS3何ぞや~onPressやonEnterFrameを実装する
まで一通り終わったわけだけど。
こんな感じで、わかりやすかったんだろうか?

他に知りたいとことかあったら適当に頼む。
なかったら一旦終わりってことで。
145Now_loading...774KB:2007/05/28(月) 15:25:30 ID:ZLJ9I53E
>>144
FLEXメインの人にとっては盲点かもだけど、Flashオーサリング環境で
ステージに置いたオブジェクトは、従来の方法に似たターゲットパスを
つかってもアクセスできるのでその辺もあっても良いかも。
スクリプト派でない人は、addChildするより手で置くことが多いだろうし。

スクリプトで設置した場合はmc.addChild(child);のあとにmc.child=child;
しないとだめだけどね。
146hoge ◆AXUssWRNqk :2007/05/28(月) 16:42:31 ID:F8FuyS4N
>>145

あぁ、あるねその仕様。
Flash CS3でディフォルトの設定だと、ステージに myMC って名前のMCをおいた場合、
パブリッシュ時に自動的に、

public var myMC : MovieClip = 置いたMC

って宣言を追加して処理してくれるらしい。


ここら辺あまり使い込んでないので、詳しいことはいえないんだけど
MovieClipを拡張したMCをリンケージでライブラリと結びつけるとき、
リンケージ先のMCにそうやって置いた子MCがあった場合、
宣言のしかたにウンチャラかんちゃらみたいな、挙動があったはず。

俺はそこら辺メンドかったので、オフにしてた。
147Now_loading...774KB:2007/05/29(火) 11:42:18 ID:D9Bt/+28
asファイルのクラス内でEnterFrameの処理を書いて、
ステージでaddChildすると自動的に動くMCを作った場合、
EnterFrameの中の条件で自身をremoveChildさせたかったのですが、

ArgumentError: Error #2025: 指定した DisplayObject は呼び出し元の子でなければなりません。

とエラーが出てしまいました。
よくわからんのですがaddChildしたステージからでしか消せないのでしょうか。
また、removeChildしても表示されていないだけで動き続けてるのでしょうか。
148hoge ◆AXUssWRNqk :2007/05/29(火) 12:28:04 ID:lw2lHtX5
>>147

removeChildとremoveMovieClipの違いで、間違えやすいところだね。

as2のremoveMovieClipは自分を消してた。
as3のremoveChildは「自分の子供」を消す。

なので、 this.parent.removeChild( this )
みたいになるんじゃないかな。

あと今回はremoveChildしても表示リストから消えるだけなので、
どっかの変数内にMCを保存しておくと残るし、動作しつづける。

ちゃんと消したい場合は、
・イベントリスナを全部外す
・変数に自分が保持されてたらnullを代入
・removeChildで表示リストから外す

って処理が必要。
kill とか endとか言う関数作って、そこでまとめてやっちゃうといいと思う。
149Now_loading...774KB:2007/05/29(火) 13:36:52 ID:D9Bt/+28
>>148
public function killed() {
this.removeEventListener(Event.ENTER_FRAME,onEnter);
this.parent.removeChild(this);
}
ありがとうございます!これでいけました。
150Now_loading...774KB:2007/05/30(水) 13:10:23 ID:jVP9JWql
不思議なことが起きた。
for (var i:Number = 0; i<20; i++) {
var mc:MovieClip = new Untitled(400,300);
this.addChild(mc);
}
これで20個のmcができた。
cs3って名前が重複してても作成されるの?
もしくは、おれなんか勘違いしてる?
151Now_loading...774KB:2007/05/30(水) 13:20:46 ID:gVWo9UdZ
・・・
152hoge ◆AXUssWRNqk :2007/05/30(水) 13:23:53 ID:OtWtrmhk
>>150

マジレスするとそれは正しい挙動。
AS2でも同じように動く。

var mc = ~は
ローカル変数mcに一時的に 新しい Untitledインスタンスを代入してるだけ。
new Untitle は、 new Date とかと同じように何個でも作れる。
153Now_loading...774KB:2007/05/30(水) 14:39:26 ID:jVP9JWql
>>152
いや釣りじゃなかったんだけど、
おれ今までずっと勘違いしてた。というか知らなかった。
var mc:MovieClip = new Untitled(400,300);
this.addChild(mc);
var mc:MovieClip = new Untitled(400,300);
this.addChild(mc);
....
こういうことが行われてた訳じゃなくて、
for1回ごとに異なるローカル変数mcをステージのどっかに作成し続けてたんだ。
勉強になった。
154hoge ◆AXUssWRNqk :2007/05/30(水) 15:34:14 ID:OtWtrmhk
>>153

うーんというか、そのコードでもちゃんと2つ生成されるよ。
as3のaddChildの概念が分かりにくいのかもしれない。

まず変数 mc と 親の表示リスト(children)があるわけね。

1: var mc に Untitled を作って放り込む。
mc = myUntitled 1


2: mc に入ってるUntitled を addChild する。
mc = myUntitled1
parent.表示リスト = [ myUNtitled1 ]


ここまでは予想通りだと思う。

3: var mc を初期化しなおして Untitled をまた作って代入。
ここで変数mcの中は新しい Untitled の方に入れ替わる。
けど古いUntitledは、既に表示リストの中に存在してる。
mc = myUntitled2
parent.表示リスト = [myUntitled1]

4;でまたmcをaddChildする
mc = myUntitled2
parent.表示リスト = [myUntitled1, myUntitled2]

となる。
155Now_loading...774KB:2007/05/30(水) 15:52:11 ID:rRoPXUvP
参照と実体を混同してる
mcの宣言位置が気持ち悪いが、
1つの参照に20個の異なる実体を一時的に入れてるだけ
addChildの問題じゃない
156Now_loading...774KB:2007/05/30(水) 19:52:08 ID:Vpl52PDv
なんとなくわかった。というかたぶん理解したと思う。
今はこのままなんとなくで誤魔化して色々書いてみてゆっくり完璧に理解することにする
157Now_loading...774KB:2007/05/30(水) 20:04:04 ID:gVWo9UdZ
158Now_loading...774KB:2007/05/31(木) 10:31:45 ID:FOYZ5GGG
なんだよこれalphaが0から1に変わってんじゃねーか。
2日も無駄に悩んじゃった
159Now_loading...774KB:2007/05/31(木) 22:45:42 ID:Qw+V9xmK
それFlexのActionScriptマニュアルに注意しろって
はっきり書いてあった気がするが
160Now_loading...774KB:2007/06/01(金) 12:36:26 ID:VkLSITkH
//asファイル
package {
public class tracer {
public function tracer() {
trace(parent.num);
}
}
}
//SWFファイル
var num:Number;
var hoge:???? = new tracer;
for (var i:Number = 0; i<50; i++) {
num++;
addChild(hoge);
}

クラスからswfの(ステージの?)変数を見たいクラスがあったとして
こういう場合swfにはどういうスクリプトを書けばいいのでしょうか。
上記の場合tracerをインスタンス化?して、
for内で実行しなければいけないのは解るんですが、
tracerを入れる型も解らず、また実行させる方法も思いつきません。
グラフィックやMCを表示させる訳じゃないんですがaddChildであってますでしょうか?
というか、それ以前にクラス内のtrace(parent.num)で
1119: Access of possibly undefined property parent through a reference with static type tracer.
161Now_loading...774KB:2007/06/01(金) 12:40:40 ID:VkLSITkH
>>160の続き(書く前に送信しちゃいました)

とエラーが出てしまいます。
クラスからステージの、もしくは他のクラスの変数を見ることはできないんでしょうか。

質問多くてすいません。よろしくお願いします。
162hoge ◆AXUssWRNqk :2007/06/01(金) 12:45:16 ID:WWPp5LNs
>>161
ちょっと今リアルが忙しいので昼すぎか夕方ぐらいに書く。

163hoge ◆AXUssWRNqk :2007/06/01(金) 15:58:18 ID:WWPp5LNs
まず最初に答えだけ書くと、こんな感じかな。
ちょっと動作テストできてなくて申し訳ないが、
多少文法ミスはあれど動くとは思う。


package{
 import flash.display.MovieClip
 public class Tracer(){
  public function Tracer( ){
  }

  public function trace( mc : MovieClip ){
   trace( mc.num )
  }
 }
}



var num : Number
var tracer : Tracer = new Tracer()
tracer.trace( mc )


たとえばこれで、Tracerクラスはtrace( mc ) で、 mcのnumを出力するようになる。
164hoge ◆AXUssWRNqk :2007/06/01(金) 16:04:13 ID:WWPp5LNs
クラスから外部を見るときには、外部のデータを渡してあげる必用がある。
↑の例では、Tracerクラスの関数traceでMCを渡すと、そのMCの変数numを出力するようにしてる。

・クラス名は頭を大文字に

・型はクラスメイト同じ( 厳密には違うけど今はこれでOK )

・new ってのは、設計図(クラス)を組み立てるって動作なので、
newするだけでは普通は何もおきない。

・new クラス名() って、括弧をつける。

・で設計図(クラス)から、実物(インスタンス)を作ったら、そのインスタンスを操作する。
この例では、hoge.traceって、クラスに作った関数を呼んでる。

・クラスは自分の外を知らない。だから必用ならパラメーターで渡して教えてやる必用がある。

・addChildは表示用の命令で、MovieClipやSpriteなんかにしか使えない。

そんなとこかな。
ここら辺は一問一答したほうがわかりやすいので、わからないとこ随時質問して。
165Now_loading...774KB:2007/06/01(金) 17:01:50 ID:VkLSITkH
とてもよくわかりました。とりあえず型はクラス名と同じにしておいて、
クラスの中のクラス名と同じ関数ってのは、
クラスをインスタンス化したときの初期化処理みたいなもので、
何度も実行するものじゃない。mc大量作成とかは除いて。
都度実行したいものがあるときはクラス内の関数なんですね。
で、クラス内の関数に必要な変数やMCなどの情報を渡す。
(だいたいあってますよね?)
本当にありがとうございました。これで計算するだけのクラスも作れそうです。
166Now_loading...774KB:2007/06/04(月) 21:22:21 ID:RGcVSr0Z
フォーカスが一番ややこしい気がしてきたぜ・・・
167Now_loading...774KB:2007/08/19(日) 02:48:02 ID:ZjJdcd8p
あげ
168Now_loading...774KB:2007/08/19(日) 03:03:57 ID:tPCuLUWk
さげ
169Now_loading...774KB:2007/08/20(月) 23:46:47 ID:hvC6Nz0n
Key.isDown(keyCode) と同様のものをAS3で書くにはどうしたらいい?
170hoge ◆AXUssWRNqk :2007/08/21(火) 12:01:59 ID:warR0VdX
>>169

単純にキーイベントを取得したい場合は、
stageにaddEventListenerで、KeybordEventを登録する。

stage.addEventListener(KeyboardEvent.KEY_DOWN, trapKeys);

private function trapKeys(e:KeyboardEvent) {
trace( String(e.charCode) + "/" + String(e.keyCode));
}


isDownに該当するものはないみたいだから、KeyDownとKeyUpを両方登録して、
自分でフラグ立てて管理するのがいいんじゃないかな。
171Now_loading...774KB:2007/08/24(金) 18:04:29 ID:ZvlHqLOz
>>170
ありがとう。
やはりそれしかないのね
172Now_loading...774KB:2007/08/25(土) 04:48:55 ID:dfkQI4Rc
isDownはセキュリティー上の問題があって削除されたっぽいね。
フォーカスが無くても取れたりするから危険だった。
173Now_loading...774KB:2007/08/30(木) 16:14:42 ID:ljrzh0lg
質問スレで回答いただいた話なのですが、
解らないことがあり質問スレで長々と解説を頼むのも気が引けますので
こちらで教えてください。

ActionScript 誰かが物凄い勢いで解答するスレ 17
http://pc11.2ch.net/test/read.cgi/swf/1187394529/143-151

上記のスレの143-151の質問者なのですが、
なんでこれだけの追加で動くんでしょうか。
クラスからみると
stage textfield
となっているが、ステージからクラスでステージのチェックをすると、
stageーtextfield
となってstageが認識できるってことですか?
いまいちわからないです。
174hoge ◆AXUssWRNqk :2007/08/30(木) 23:59:00 ID:0B4wXH89
AS3の特徴としてMovieClipやSpriteは、addChildで実際に表示するまで、
stage に乗っかっていない状態 = そいつのstageプロパティはnullなの。

だから一旦addChildした後で、 stage にキーイベントを追加すればOK。
ちょうど149がやってるところだね。

stageの仕様変更は、AS3の鬼門の1つだと思うのに、
どこにも説明ない話だからわかりにくいよね。


ちなみに何で最初はステージが空かっていうと、
AIRとかではマルチウィンドウとかもありえるので、ステージが1つとは限らないからです。多分。
175Now_loading...774KB:2007/08/31(金) 00:07:08 ID:PdJcADqq
すまん、日本語1.0でおk
176173:2007/08/31(金) 12:44:04 ID:hscyW3hW
>>174
ああ、意味が分かりました。
ステージでaddChildする前にすでにクラスの読み込みというか準備が終わってるから
クラスのstageはnullってことでエラーが出ると。
そのためにaddChild後にキーイベントを追加して対処ってことですか。
やっと解りました。ありがとうございます。
177Now_loading...774KB:2007/09/01(土) 02:22:26 ID:1RFdUzBf
AS3の本って売ってます?ソフト買ったけど、付いてないじゃん。どうやって覚えればいいの?
178Now_loading...774KB:2007/09/01(土) 12:07:38 ID:dc3RONPP
>>177
AS3に詳しい人達がセミナーとかやってるからお布施する
179Now_loading...774KB:2007/09/01(土) 14:05:43 ID:D9wE3O+u
>>177
AS3の本は既に売ってますよ。

ただ、AS3は言語を学ぶ事より、
クラス構造を憶える方が大変なので、
ヘルプを活用する方が手っ取り早いと思う。
180Now_loading...774KB:2007/09/01(土) 14:23:41 ID:dc3RONPP
>>179
どの本もヘルプ並のことしか書いてないんだよね
181hoge ◆AXUssWRNqk :2007/09/01(土) 15:51:19 ID:3eomNBW+
高校卒業程度の英語力があるなら、

Foundation ActionScript Animation: Making Things Move!
ActionScript3 CookBook
Object Oriented Actionscript 3.0
Essential ActionScript3か、 という洋書をとりあえずオススメします。

とりあえず入門なら Object Oriented Actionscript 3.0
ゲームとか作るなら Foundation ActionScript Animation: Making Things Move!
OOPやるなら Essential ActionScript3 か、 Object Oriented Actionscript 3.0


Foundation ActionScript Animation: Making Things Move! は現在、ボーンデジタルという会社で
日本語版を作成中らしいので、来年まで待てるならコレがオススメ。
182Now_loading...774KB:2007/09/02(日) 00:37:25 ID:gzDiuDol
しょうがないので8を覚えます。そのうちCS3も覚えれたら覚え・・ないだろな。
せっかく直前に買ってうpグレ版も手に入れたからCS3覚えようと思ったのにな。
183Now_loading...774KB:2007/09/02(日) 01:32:20 ID:U6wUWuWA
AS3はそういう安易な気持ちで挑戦していいもんじゃないぜ
184Now_loading...774KB:2007/09/02(日) 11:56:07 ID:+ICqfRbi
安易に挑戦も何も、詳しい本も付いてないもん、どうしようもねーじゃん。
185Now_loading...774KB:2007/09/02(日) 17:34:33 ID:Jo5TDnJh
AS1/2から始めなさい。

STEP1. AS1 or 2で、とりあえずスクリプトを書く場所と書き方を憶える
STEP2. AS2で、外部asクラスの作成方法を憶える
STEP3. 上で作ったモノをAS3に置き換える

言語は変われど、Flash上での扱い方は同じなので、
AS1/2からやりましょう。
186Now_loading...774KB:2007/09/02(日) 19:51:37 ID:WqsIKQdm
学生とかではじめるなら AS3 からでいいんでね?
仕事でやるなら、AS1/2 もしばらく必要かもしらんが。。。
あと >>181 のオススメ本は、英語力よりプログラムの知識のほうが重要と思ふ
難しい本は買って満足しちゃうヤツも多いから
最初は「ActionScript 3.0 入門ノート」の方がいいと思うがなぁ
187Now_loading...774KB:2007/09/02(日) 22:26:58 ID:U6wUWuWA
>>186
その本は、ある程度プログラミングを知っている人向けだよね。>>177
どの程度の技量を持っているか次第だけど、AS2から入った方いいよ。
188Now_loading...774KB:2007/09/02(日) 22:32:38 ID:1X67OMGy
addEventListenerに慣れたら1,2書きたくない
189hoge ◆AXUssWRNqk :2007/09/02(日) 22:58:18 ID:UPBLxSJy
>>186

そう思います。
もし、>>177がまったくプログラムがわからない場合は、
下みたいな順路がいいんじゃないかと思う。


教えてアクションスクリプト

なんかFlashでゲーム作る本適当に

Essential ActionScript2 日本語版

結城さんのJAVAのOOPの本

AS3


すでにAS2できるなら

説明いっぱいあるの平気なら「ActionScript 3.0 入門ノート」、
とりあえずサンプルとコードで覚える派なら、タイトル忘れたけどAS3でゲーム作る本がいいと思う。

190Now_loading...774KB:2007/09/02(日) 23:22:29 ID:Jo5TDnJh
FlashLiteも暫くはPlayer7系列だし、
AS1/2で「Flashでのプログラミング手法」を学ぶのもいいと思うんだが。

ラフに作りながらのトライ&エラーがしやすいので、
初心者でも挫折しにくいと思うしさ。
191Now_loading...774KB:2007/09/02(日) 23:28:05 ID:fvN+nxjI
>>189
> タイトル忘れたけどAS3でゲーム作る本
って↓のこと?
ActionScript 3.0 ゲームプログラミングブック
ttp://book.mycom.co.jp/book/4-8399-2193-8/4-8399-2193-8.shtml

↑の本の著者のサイトのActionScript 3.0メモ
ttp://www.saturn.dti.ne.jp/~npaka/flash/as30/index.html
を見れば基本的なことは分かるんじゃないかと思う。
192Now_loading...774KB:2007/09/03(月) 12:57:57 ID:TzhDnQq0
177です。実は全くの初心者です。色々ありがとうございます。参考にさせて頂きます。
そんなにAS2とAS3って変わってるんですか?とりあえずAS2から気合入れて覚えていこう
という気になってますけど、いずれAS3が標準になるんだったらAS3も覚えないといけないですね。
193Now_loading...774KB:2007/09/03(月) 22:11:07 ID:xQtJM32N
比較的初心者向けとして、gihyo.jpにこんな連載があります。

「ActionScript 3.0で始めるオブジェクト指向スクリプティング」
ttp://gihyo.jp/dev/serial/01/as3
194Now_loading...774KB:2007/09/04(火) 00:07:00 ID:hEoupq0w
>>181の「Making Things Move!」はAS2版のもあるので、
AS2覚えてからAS3に移行したい人は、この本のAS2版から
始めるのもいいのでは?
ただし、この本は英語以上に数学(三角関数とか)の知識が
必要だと思う。
195Now_loading...774KB:2007/09/04(火) 19:33:10 ID:+nnLZpuq
そもそも、AS3でやりたい事があるのかい?

趣味の為に憶えたいのであれば、
AS1/2から入る方が楽で理解しやすいと思うのだが。
AS3じゃ携帯用FLASH作れないし。
196Now_loading...774KB:2007/09/06(木) 01:24:55 ID:v1x5Mbqp
バイナリが扱える
おかげで画像の保存が楽になった~
197Now_loading...774KB:2007/09/10(月) 01:46:21 ID:3N5P+Dxs
AS3で、読み込んだ外部swfの中のムービークリップをいじる場合、どう記述したら良いのでしょうか?

Loaderで読み込んで、外部swfを表示するとこまでは出来たのですが、
大元のswfに、読み込んだswfの中のムービークリップをコントロールするボタンを配置して、
読み込んだswfの中のムービークリップをいじりたいのですが、pathもどうなっているのかよく判らない始末ですorz

例えば
大元のswfに配置したボタンが push_btn
読み込んだswfの中のrootに置いてあるムービークリップが a_mc
だった場合
push_btn.addEventListener(MouseEvent.CLICK, push);
function push(event:MouseEvent):void {
//ここにどう書けば良いのでしょうか?
}

もしくは、きちんとしたアクセス方法をご存じの方ヒントだけでも教えていただけないでしょうか。
198197:2007/09/10(月) 11:14:09 ID:3N5P+Dxs
自己解決しました。
addChild(loader);として読み込んだ場合、loader.content.a_mc.gotoAndPlay("start");等と
Loader.contentプロパティというのを付けることでアクセス可能になりました。
199Now_loading...774KB:2007/09/11(火) 16:26:35 ID:0YZcPph5
TextInputやTextAreaのプロパティでTextFieldがあるんですけど、
こいつに文字色設定とかしても、色変わってくれません。
どうすれば内部テキストの文字色かえられたりするか教えてください。
200Now_loading...774KB:2007/09/11(火) 19:41:00 ID:0YZcPph5
199です。追加でこれも。

あるムービークリップをつくりそこにTextInputを置きました。
外部asでクラス定義してそのムービークリップにリンケージします。
で、newで生成します。
ここで問題が発生しました。コンストラクタ内でTextInputに文字を
設定しても表示されません。

これはどうしてなんでしょうか?仕様でしょうか。
あとScrollPaneとかも同様です。

もしかして静的配置したコンポーネントってコンストラクタの段階では
まだアクセスが不能?
201Now_loading...774KB:2007/09/11(火) 22:58:41 ID:aHZEoTsL
>>199
tiはTextInputインスタンス

var tf:TextFormat = new TextFormat();
tf.color = 0xff9900;
ti.text = "test";
ti.setStyle("textFormat",tf);
202Now_loading...774KB:2007/09/12(水) 01:04:47 ID:HAXb3ALb
ちょい質問があります。

//メインタイムライン フレーム1
bullet1-1 = new Bullet1(ang,myX,myY);
addChild(bullet1-1);

//クラス Bullet1
(コンストラクタでENTER_FRAMEリスナーonEnterを登録。life = 60)
function onEnter(event:Event)
{
life --;
if(life == 0)
{
die();
}
}
function die()
{
removeEventListener(Event.ENTER_FRAME,onEnter);
this.parent.removeChild(this);
}


この状態で、dieが呼ばれたその後に絶対
----------------
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at Bullet1/::onEnter()
----------------
このエラーが1回だけ出るんだが、リスナー関係で馬鹿やってるのかな・・・?
ちゃんとリスナー消してからremoveChildしてるはずなんだけどなぁ・・・

誰か助けてください><
203Now_loading...774KB:2007/09/12(水) 05:20:26 ID:HAXb3ALb
if(life == 0)
{
die();
return;
}

すいません、これで表示されなくなりました。
お騒がせしました・・・。
204Now_loading...774KB:2007/09/13(木) 21:38:11 ID:JOD8mkpb
何故か質問スレになってる不思議
205Now_loading...774KB:2007/09/14(金) 12:02:16 ID:oG8owT9S
CD-ROMでのプロジェクタ案件があった。
画像処理がメインだったので、Playerバージョン関係ないから初のAS3.0でやろうとしていたが、
途中で訳分からなくなったのでやめちった。

206Now_loading...774KB:2007/09/24(月) 15:33:00 ID:ErrWPt0u
FlexSDKでflパッケージ使いたいのですが、うまく使えないです。
適当なスレ見つからなかったのでここで質問します。
やったこと書きます。

・Flex2SDKインストールしました。
・日本語パックいれました。
・frameworks/libs/Fl_cpackage.swc を入れました。
・実行環境は Flash9,0,47,0(デバッグできるやつ)

コンパイルは通ります。
実行時エラーになります。
--- Error #1009: null のオブジェクト参照のプロパティま…

package{
  import fl.controls.TextArea;
  import flash.display.Sprite;
  public class Test01 extends Sprite{
    public var ta:TextArea;
    public function Test01() {
      ta = new TextArea();
      ta.text = "kore ha test"
      addChild(ta);
}}}

TextAreaの代わりにTextInputにすると実行時エラーは出ないが何も表示されない。。。
TextAreaの代わりにTextFieldにするとうまく表示できる。。。

全部スクリプトで書くとダメなんでしょうか。
だ、だれか助け
207Now_loading...774KB:2007/09/25(火) 00:51:28 ID:5e/Z7DqB
みんなAS3.0の開発環境ってどうしてるべ?

今俺はアニメーションを入れたいからFlash9で書き出しているけど
Flashのエディタは酷いから、FDT3を入れて使ってみようとしている。
だけど、FDT3だとmxパッケージもflパッケージも使えないっぽいんだけど
どうしたもんかな、という感じ。
208Now_loading...774KB:2007/09/28(金) 15:21:29 ID:KELkIc6t
meadowとかxyzzyでゴリゴリ記述
209Now_loading...774KB:2007/10/05(金) 14:59:37 ID:60k1tV/c
良書「Foundation ActionScript 3 Animation: Making Things Move!」
の日本語訳の本思ったより早く出るみたいだね
http://www.gogo3d.com/products/actionscript3/index.html

ボーンデジタルならではの超特価になっていますがw
210Now_loading...774KB:2007/10/05(金) 19:39:48 ID:n7i51Oiq
>>209
高すぎるwwwww凄く欲しいけど…
211Now_loading...774KB:2007/10/14(日) 13:49:19 ID:KjTTguqh
>>207
エディタか、FlexBuilderじゃね?
212Now_loading...774KB:2007/10/14(日) 20:41:07 ID:ZfJ/pRtz
>>209
> Chapter 17 陰面消去と3D照明

↑ここらへん、ちょっと興味深い
213Now_loading...774KB:2007/10/15(月) 22:02:32 ID:tfL4/3lB
Actionscript 3.0 Cookbook の邦訳はまだか?
214Now_loading...774KB:2007/10/15(月) 22:11:20 ID:cXR/JMwr
>>212
えぇぇぇ、そんなのは1980年~90年代の技術ではないか。
215Now_loading...774KB:2007/10/15(月) 22:36:07 ID:vN0kcqxQ
>>214 大学の頃ONYXでプログラミングしてたな。
216Now_loading...774KB:2007/10/19(金) 21:06:18 ID:rVzNGLak
FLASHから離れて2年位経つんだけど久々にみたらなんだこれ
変えるにも程があるだろ
だからあどべとくっ付くのはいやだったんだよ
まあ覚えりゃいいんだけどめんどくせーっつうの
217Now_loading...774KB:2007/10/19(金) 23:31:22 ID:EXfWcKY4
しかしまぁ、FLASH単体じゃなくてCreativeSuiteとして買うと
便利だとは思うんで、Adobeと合体したのはよかったかもしれん。
218Now_loading...774KB:2007/10/20(土) 03:53:11 ID:6Fgbw5Ji
フォトショ や イラレ との連携が楽
オレも合体したのには賛成
219Now_loading...774KB:2007/10/20(土) 05:48:50 ID:YdI9/dkF
あんたと合体してあげてもいいんだから感謝しなさい!!
220Now_loading...774KB:2007/10/20(土) 08:38:06 ID:rVkpVsmX
一万年と~二千年前からあ~いして~る~♪
221Now_loading...774KB:2007/10/20(土) 18:06:42 ID:0e4UTFqc
でもAS3はとっつきにくいからAS2のまま連携できてくれればよかった
覚える時間がもったいない
222Now_loading...774KB:2007/10/21(日) 18:42:46 ID:MZ6bCI92
AS3もはやほとんどJavaじゃん
223Now_loading...774KB:2007/10/21(日) 18:51:17 ID:mIJHy5W4
>>221はAS2すら理解できてないに3000ウォン。
224Now_loading...774KB:2007/10/22(月) 14:51:42 ID:J3FeIoLe
AS2もままならない新規参入者はAS3からはじめるべき?
225Now_loading...774KB:2007/10/22(月) 16:54:36 ID:r+t8WtHw
作りたいものによる。
音楽にアニメのせるぐらいなら AS1 か AS2で十分。
バリバリ動くゲームやサイト作りたければ、将来的にはAS3やっといたほうがいいと思う。

ただプログラム初心者がAS3やると死亡すると思うので、AS2でいいんじゃないかな?
226Now_loading...774KB:2007/10/22(月) 17:29:08 ID:vBvRvJHb
でも面倒は多いけどAS3のほうが難しいってわけでもないと思うんだ。
Wiiやらケータイやらをターゲットに入れるんならAS3じゃ駄目だけど。
227Now_loading...774KB:2007/10/22(月) 17:37:37 ID:7W+AbyFN
flashLite3.0はAS2だからな
228Now_loading...774KB:2007/10/22(月) 21:34:03 ID:oRc7eLNP
面倒がイヤだからFLASH始めたのにな
229Now_loading...774KB:2007/10/22(月) 22:45:33 ID:vBvRvJHb
面倒がいやなら創作なんてやめたほうが幸せ
230Now_loading...774KB:2007/10/23(火) 00:35:00 ID:WIulec7w
商用で長期メンテが求められるような開発とか、
大人数での連携が必要な開発では、AS3のメリットは大きいね。

それ以外ではAS1/2のラフさ、簡単さ、単純さのメリットの方が大きいと思うんだ。
231224:2007/10/25(木) 00:45:05 ID:KgbHXGW/
今大学一年の学生で将来的にWeb業界を志望してるんだけど、
最近のFlash周辺の技術の高度化にしり込みしてしまってる。

この先AS3とAS2とで住み分けができる訳もないだろうし。
>>230の言うように最終的にはAS3で製作することを求められるんだろうけど、
現段階でAS3というのはとっつきが悪くて手が出ない感じ。

AS2である程度勉強してAS3へってのを考えてるけど
正直ある程度ってどの程度よって話。

どうなんだろう?
今のうちに無理してでもAS3に入るべき?
それともAS2である程度勉強してAS3へってのでいいの?
もしくはそれ以外の進行方法があればどうか教えてください。

長文スマソ
232Now_loading...774KB:2007/10/25(木) 01:03:13 ID:F73hvbMP
>>231 プログラムの基本が分かってりゃ違いなんてたいしたことないし、
ASができればJava、Javascript、PHPなら改造くらい出来るようになる。
PerlやASPでも基本文法を確認すれば考え方は同じだからこれも普通に使える。

大学1年ってことなら、4年後のASのバージョンなんてどうなってるかわからないし、
大穴で silverlightがシェアとってるかもしれないし。

用は基本。C/C++をマスターすれば何でも出来る。
233Now_loading...774KB:2007/10/25(木) 01:43:53 ID:SN5ZQWTW
>>231
毎日が勉強三昧の業界に行くのに
習得する言語を1つだけ選んでる時点でカス。
全部やれ
234Now_loading...774KB:2007/10/25(木) 02:37:58 ID:6yVvSMIH
オレはFlashとかが好きでやってるから、覚えることは苦にならないな
むしろ、分からない事があると調べずにはいられない
どれから手をつければいいとか下らない質問してる暇があったら、気になるとこから手をつければいいのに
235Now_loading...774KB:2007/10/25(木) 04:08:06 ID:/pmPIcGE
俺が言えることはただひとつ
「Web業界なんてやめとけ」
236Now_loading...774KB:2007/10/25(木) 04:52:16 ID:okiGzzI4
>とっつきが悪くて手が出ない

とっつきが悪いくらいで知らない技術に手が出ない時点でヘタレ
ドラゴンボールでたとえればヤムチャ
ピッコロとかフリーザの相手にまるでならないのがオチ
237231:2007/10/25(木) 10:43:33 ID:7B7qaW8b
>>232>>233>>234>>236
了解。
考えなおす。

AS3、JAVAあたりから手をつけていくってことで。


>>235
これよく言われるけど具体的にどうして?
238231:2007/10/25(木) 10:44:12 ID:7B7qaW8b
sage忘れたスマソ。
239Now_loading...774KB:2007/10/25(木) 13:48:47 ID:CmVGTFcM
上の人らはAS2もAS3もどっちもやれって言ってるんじゃないの?
240Now_loading...774KB:2007/10/25(木) 17:00:20 ID:KAUMNhBw
質問させて下さい。
テキストエフェクトを選ぶと変数名を指定する事が出来ないのですが、
変数にして、テキストエフェクトする方法ってありますか?
241Now_loading...774KB:2007/10/25(木) 17:03:23 ID:KAUMNhBw
240です。場所間違えたみたいです。失礼しました。
242Now_loading...774KB:2007/10/25(木) 19:35:42 ID:1HggB3QW
>>239
ん~そうなのか?
AS2とAS3を両方同時に学習していくメリットってある?
243Now_loading...774KB:2007/10/25(木) 20:58:10 ID:whJwIs1L
>242
どっちもヤレって言ってる人は、
書式が違う部分は知っておけって事を言ってるんでしょ
結局、そのときの案件で使ってるほうを
一時的に得意になるだけじゃん
考え方は、JAVAでもAS2でも3でも学べるし
244Now_loading...774KB:2007/10/25(木) 21:14:27 ID:U5cLI07c
RIA開発系をやりたいなら「FlexBuilder2 + AS3」
デザイン系や携帯系をやりたいなら「FlashCS3 + AS2」を学んでから、AS3をやれ。
とにかく最新技術触りたいギークは「自分で考えろ」

現状でもFlash7以下の仕事は腐るほどある。
245231=242:2007/10/25(木) 22:06:33 ID:1HggB3QW
>>243>>244
なるほど、、、。
ということはAS2が完全に淘汰されるのはかなり先、
もしくはそんなことはないのか?

ほぼ間違いなくデザイン系だからCS3でAS2&3だな。

場所にも寄るだろうけど、
新卒のデザイナーでWeb系の制作会社入る場合、
最低限求められるスキル、レベルってだいたいどんな感じなんでしょ?
246Now_loading...774KB:2007/10/25(木) 22:22:37 ID:/pmPIcGE
>>245
新人に必要なスキル
言われたことを文句言わずにやる。
毎日夜遅くまで仕事でも泣かない。
Flashをさわったことがある。
247Now_loading...774KB:2007/10/25(木) 22:28:49 ID:lO/7lvVR
>>246
人とコミュニケーションが取れる。
社会性がある。
一般的な常識を持っている。
248Now_loading...774KB:2007/10/25(木) 22:30:14 ID:F73hvbMP
大学3年生の頃にWebが登場した俺には理解できない話だな。
249Now_loading...774KB:2007/10/25(木) 22:44:44 ID:FGlMJXFQ
>>245
いま大学一年生なんでしょ?だったら勉強する時間はいっぱいあるんだから
さっさと自分が作りたいものを作り始めなよ。
自分のために使える時間が山ほどあるのにうだうだ迷ってるだけじゃ、
もったいないぞ。
250Now_loading...774KB:2007/10/25(木) 23:02:17 ID:whJwIs1L
>245
1年ならweb系じゃなくて生粋のデザイン事務所目指せ
webに限定すると損するよ
上流工程にいるデザはweb限定なんてしない
電通いけ電通w
251Now_loading...774KB:2007/10/26(金) 02:01:16 ID:EPldB6Xz
デザイナーなら博のがいいんじゃね
252245:2007/10/26(金) 02:28:58 ID:xLGTS7+W
>>246>>247
あ、技術的なことは二の次なんすね。
その辺のスキルも磨きます。

>>249
一応今まではAS2を勉強してて
ちょっと最近の動向みて迷ったんで質問してみた。
おっしゃるとおりです。

>>250>>251
教授に相談したら同じような事言われた。
yugop世代なのでやはりWebがやりたいってのがある。
広告系の学校なので学校で広告、デザインを、
で、独学でWebを勉強してる。

Webに絞る事によるデメリットってなんでしょ?
当然目標として電博は視野に入れてます。
253Now_loading...774KB:2007/10/26(金) 02:53:31 ID:ZZOKQYYB
Web系の仕事なんて最底辺ですよ。
なんかカッコイイ仕事とか夢見てるんなら醒めるチャンスだ。
まぁ最底辺からトップを目指すのも人生かもな。
254Now_loading...774KB:2007/10/26(金) 03:02:29 ID:zrPSOXsc
AS2やってるんならそれで自分なりに満足できるレベルのものを
作れるようになるまでやった方がいいと思うけどね。

AS3覚えたからって突然すごいことができるようにはならないし、
AS2のクラスベースでしっかりコーディングできるようになっていれば
移行は比較的簡単にできる。
255Now_loading...774KB:2007/10/26(金) 04:11:27 ID:E29fmVGk
>>245

確実にいいとこ滑り込みたいなら、
FlashなりASなりの勉強ブログを書くことをオススメする。
Web系はブログがそのままポートフォリオになるし、
勉強のモチベーションが保てるし。

AS3でコーディングできるデザを目指すなら、
processingとか経由で勉強するのもいいと思う。

256Now_loading...774KB:2007/10/26(金) 19:50:18 ID:w0bxAUjJ
現状RIA系以外でAS3を実用しているのって、かなり希少だぜ?
(メリットより生産性の低下&開発コストUPのデメリットが大きすぎる)

今後AS2との置き換えが進むかどうかは、
FlashPlayer側の進化にかかってるんじゃなかろうか?

少なくともFlashPlayer9程度の機能差なら、
AS2で十分だし、携帯系も暫くはAS2が主流だろう。

一部のAS職人が色々実験して、未来を走っているけど、
別に「習得必須科目」でも無いので、惑わされないようにね。


地道にFlash+AS1/2の勉強をして置く方が、
デザイナとしての未来はあるかと思いますよ。
257Now_loading...774KB:2007/10/26(金) 20:27:27 ID:BZWolAF1
確かに商用の場合、現状で仕様が9対応ってことはほとんどないからな。
258Now_loading...774KB:2007/10/27(土) 01:16:32 ID:jNqamwk7
マジか
AS3のが書きやすいんだけど
259Now_loading...774KB:2007/10/27(土) 01:38:02 ID:7RhKx9wu
AS3向きの案件か、慣れてるだけだろ
260245:2007/10/27(土) 03:54:37 ID:AkEHsuxh
>>253
そんなヒドイんすか?
チラホラこんな話を聞くけどどこの業界でも言われてるような範囲のことじゃないの?
クリエイティブ系の仕事は少なからずそういう面はあると思ってんだけどWebは特にって事?

>>255
勉強ブログはよさそう。
早速はじめてみる。

やっぱりProcessingは触ってみるべき?
難易度的にどうなんでしょ?
AS3 > Processing > AS2な感じ?

>>256
実際P3DとかByteArrayとかのサンプル見て萎えてた。
たしかに習得必須科目ではないと考えると少し冷静になれた。

やっぱり>>254のおっしゃるとおり段階を追って徐々にAS3へって方がいいかも。



なんかこんな具体的に相談乗ってもらえると思ってなかったので感激してます。
261Now_loading...774KB:2007/10/27(土) 09:27:10 ID:3Up1fNus
横から補足説明させてもらうと、この業界は変化が早い。
そりゃいまはFLASHでAS2だけれど、来年末にはMSのSilverLightが
主流になっているかもしれない。なので、
今すぐ短期間で身につける もしくは 共通項となる事を中心に勉強
するのがいいと思う。
262Now_loading...774KB:2007/10/27(土) 09:48:28 ID:A1SFbem2
>>261
SilverLightは無いだろww
263Now_loading...774KB:2007/10/27(土) 13:14:52 ID:/RvQty7p
SilverLightは当分ないwwwww

けどAS2でもAS3でも、クラスとかOOPの概念はある程度勉強したほうがいいと思う。
そこら辺理解すれば言語仕様覚えるだけで他の言語への引越しできるし。

>>260 はプログラミング言語覚えるっていよりも、
コードでキレイなビジュアルや気持ちいい動きを作ることに集中したほうがいいんじゃないかな。

processingは起動して1分でビジュアル部分に着手できるのがオススメ。
AS3は思うような絵を描くまでにスゴイ時間かかるから、
デザ系が一番最初にAS3に突入するとまず死ぬんじゃないかな。
264Now_loading...774KB:2007/10/27(土) 16:00:57 ID:LyIvPnPI
>>263
激しく同意

AS3はまだ駆け出しだから情報も少ないし、Java辺りから手をつけたほうがいいかも
AS2はオブジェクト指向が中途半端だから暗黒面に陥ると危ない
265Now_loading...774KB:2007/10/27(土) 19:55:09 ID:XSMuSSJK
>>264
AS2が仕様の暗黒面なら、AS3は実装の暗黒面だぜ

AS2を使いこなすにはベースとなるAS1も理解しなければならない
AS3を使いこなすにはメモリ管理やタイムラインの挙動を把握しなければならない
俺の感覚だとどっちもどっちだ

まあプログラミングの基本を覚える程度ならどっちでもいいんじゃね
どっちみちWeb系に進むならいずれはAjaxというダークマターの塊を通るだろうし
266Now_loading...774KB:2007/10/27(土) 21:34:56 ID:62c1uvTA
AS2.0ってオーサリング以外にAS1.0となんの違いがあるの?
267Now_loading...774KB:2007/10/27(土) 22:06:47 ID:V0zGtuGT
なんにしろ学生のうちにFlexBuilderを無料でゲットしておくといいと思うよ

http://www.itmedia.co.jp/news/articles/0710/25/news016.html

268Now_loading...774KB:2007/10/28(日) 18:27:00 ID:pAQ6NP+x
Flash CS3 を使ってActionScript3.0 を書いているんですが、外部クラス(*.as)を作る際、flash.events.MouseEventが急に呼び出せなくなりました。
原因がわかる方、教えていだければ非常に助かります。
269Now_loading...774KB:2007/10/29(月) 00:36:08 ID:FBOJuiif
>268
import文が入っていないとか
270Now_loading...774KB:2007/10/29(月) 01:23:41 ID:OevnwT0u
>>265
ダークマターの表現にワロタ
>>266
ぐぐった方が早いじぇ
271Now_loading...774KB:2007/11/16(金) 10:32:14 ID:pdBbk3nW
アンダーバーってださくね?
272Now_loading...774KB:2007/11/17(土) 00:54:54 ID:VzM+PIDd
プレステの方がおもしれーよなー!!
273Now_loading...774KB:2007/11/17(土) 01:09:23 ID:FaZY5Ynw
ドリキャスwww
274Now_loading...774KB:2007/11/18(日) 14:22:06 ID:0ruxM8N/
perlプログラマだけどAS3ってクラス設計(アクセサ作製)意識しながらやるperlに激似なので
親和性高ス。

おもろいんだけど
デザインの基本がわかんにゃいというダークサイドから誰かきますたよっと。
275274:2007/11/18(日) 14:31:33 ID:0ruxM8N/
ごめん誇大表現すぐるな。
だからといってみんなperlに走っちゃだめだよ。
考え方ナ。考え方。
276Now_loading...774KB:2007/11/18(日) 14:41:17 ID:e7LIzpYf
てことは、perlプログラマはjavaもできるのか?
277Now_loading...774KB:2007/11/18(日) 15:12:28 ID:oJn1j/J1
ダイナミッククラスはperlっぽい気もする。
JavaScriptっぽいというか。

Flexだとほとんどstrictクラスで扱うから
どうしてもJavaっぽくなるかな。
278Now_loading...774KB:2007/11/18(日) 15:26:58 ID:0ruxM8N/
>>276
やっぱすみわけがあるからみんなってわけじゃないと思うが
基本perl使ってるやつは多言語使いの経歴が多いし
(Lisp使いや、特にOO志向とされる、ruby使いはもっとだと思うが)
名前空間やデータ構造を常に意識してるのでJavaもいけるんじゃね?

Perl6に移行するともっと、OO志向になるっぽいし。


Lisp使いがJavaとか果てしなく嫌うと思うけどwww。
あんま想像できないな。LisperがJavaとか。
一体どうしたんだYO!!!。と声を掛けたくなる。

すれ違いスマソ。
279Now_loading...774KB:2007/11/18(日) 15:37:14 ID:e7LIzpYf
>>278
なるほど、ありがと
280Now_loading...774KB:2007/11/18(日) 16:45:20 ID:sbAGbjHQ
基本が分かってりゃ、リファレンス目を通せばどんな言語でも修正くらいならすぐ出来るよ。
281Now_loading...774KB:2007/11/20(火) 14:56:16 ID:qtP2RpJF
>>274

デザインはそれなりに学問として体系化してるから、
ロジックを学べば、アーティスティックなものはともかく普通にカッコイイものは作れるよ。

むしろプログラマとデザインは親和性が高いと思う今日この頃。
282Now_loading...774KB:2007/11/30(金) 09:44:26 ID:6naYsN7Y
AS3楽しい~Javaあがりの自分にはぴったしです。
ゲーム作って遊んでます。

でも、普通にFlashをAS1~2環境で作ってた人が
これを身に着けるって至難の業だわ。
スクリプトとは名ばかりのプログラミング言語だし。
283Now_loading...774KB:2007/11/30(金) 09:59:00 ID:snqgOkEV
AS2上がりだけどAS3は感動したよ
オブジェクト指向にもいろいろ技法があって名前までついてるなんてw
格闘ゲーのコンボつくってるみたいで楽しい
でも難しいね・・・
284Now_loading...774KB:2007/12/02(日) 23:27:52 ID:4PQ3HTaU
今までAS毛嫌いして参考書買ったまま放置してたんだ。
でも、学校でC,JAVAと習ってから参考書見直したらすらすら頭に入ってきたの。
これは面白そう。
AS3始めてみるかな。

@情報系学生

285Now_loading...774KB:2007/12/02(日) 23:29:13 ID:irHzaUce
JAVA続けたほうが金になるんじゃん
286Now_loading...774KB:2007/12/02(日) 23:49:57 ID:AurF++hG
>>285
最近はそうでもなくなってきてないか?
287Now_loading...774KB:2007/12/03(月) 18:12:33 ID:zI364SjY
金よりか楽しめればいいと思ってます
288Now_loading...774KB:2007/12/05(水) 21:42:19 ID:vRmPqJEB
AS3.0って、ガリガリにロジカルに組まなくても、既存のAS2とトウィーンで組まれたサイトを
3.0に組み直すだけでも速度改善するかな?

289Now_loading...774KB:2007/12/05(水) 21:47:16 ID:yMWXi5/r
>>288
AS2が原因で遅くなってたところはな。
290Now_loading...774KB:2007/12/05(水) 22:18:59 ID:vRmPqJEB
>>289
たといば?
291Now_loading...774KB:2007/12/05(水) 22:59:58 ID:yMWXi5/r
>>290
逆にいまなにが遅いと感じられているんだい?
292Now_loading...774KB:2007/12/22(土) 20:47:56 ID:FQzdTXdi
3.0を始めたばかりですがFLASHCS3等持ってなく、今の所flex2SDK&FlashDevelopでなんとか3.0を扱う環境はできました
そしてPapervision3Dを入れてみようと思いPapervision3D_1_5.zipは手に入れたのですが・・・
このファイルをどう扱えば良いのでしょうか、ご存知の方おられましたらご教授下さい
293Now_loading...774KB:2007/12/22(土) 21:30:37 ID:s5PO/nXE
>>292
以下、FlashDevelop3 beta5の場合。

メニューのToolsから、Global Classpathsを選択。
AS2の所をAS3にして、Add Classpathをクリック。
Papervision3Dのzipを解凍して出来たフォルダ内のsrcフォルダを選択する。
これでOK。
294Now_loading...774KB:2007/12/22(土) 21:40:00 ID:FQzdTXdi
>>293
レスありがとうございました!ググッてもFlashdevelopでの実装解説は見つからなかったのでとても助かります
まだ導入はしてみてませんがこれからやってみます!
295292:2007/12/23(日) 20:04:41 ID:AXf1R8aT
>>293
すみません292で質問させてもらった者ですが、GlobalClasspathsでsrcフォルダを指定しましたが読み込んでくれない?ようです
ttp://feb19.jp/blog/archives/000119.php
こちらのソースを参考にさせて頂いてBasicDocument.asという形でコンパイルしたのですが

col: 21 Error: 型が見つからないか、コンパイル時定数ではありません : Scene3D。
private var scene:Scene3D;
col: 24 Error: 型が見つからないか、コンパイル時定数ではありません : Viewport3D。
private var viewport:Viewport3D;
col: 22 Error: 型が見つからないか、コンパイル時定数ではありません : Camera3D。
private var camera:Camera3D;
col: 24 Error: 型が見つからないか、コンパイル時定数ではありません : BasicRenderEngine。

こういったエラーがズラッと表示されました、使用しているのはbeta5です、このエラーの原因等わかりませんでしょうか・・・

296293:2007/12/23(日) 20:53:24 ID:3RNxmbOB
>>295
参考にしてるソースはPapervision3Dのバージョン2,0のようですね。
297Now_loading...774KB:2007/12/23(日) 21:17:34 ID:AXf1R8aT
>>296
無知ですみませんでした;
ttp://www.nilab.info/zurazure2/000610.html
こちらの3.0仕様の方を参考にやってみたところ
col 45 Error: 型が見つからないか、コンパイル時定数ではありません : DisplayObject3D。
private function createWireframePlane():DisplayObject3D {
col: 41 Error: 型が見つからないか、コンパイル時定数ではありません : DisplayObject3D。
private function createColorPlane():DisplayObject3D {

とDisplayObject3Dの7箇所だけの指摘で収まり、srcのasは読み込まれた?ようでした
298293:2007/12/23(日) 21:56:40 ID:3RNxmbOB
>>297
きちんとコンパイルできますよ?

もしかしてメニューのFileからAS3 Documentを作成してますか?
メニューのProjectからNew Projectを選択して、ActionScript3のDefault Projectを作成する。
ウィンドウの右側にあるProjectタブからMain.asをHelloWorld3D.asにrenameした後に開いて、
ソースコードをコピペすれば(F5キーで)コンパイルできますよ。
299Now_loading...774KB:2008/01/02(水) 19:36:40 ID:ghbdIQ41
うーんわからねえ…
AS3ではAS2の _target に相当するプロパティってないの?
複雑な階層のムービークリップのターゲットを調べる時困るお…
先生教えて
300Now_loading...774KB:2008/01/02(水) 19:49:52 ID:AWotsnYW
301正月休みで覚える夫:2008/01/02(水) 20:56:35 ID:ghbdIQ41
ありがとう先生 (つД`) がんがって覚える
302Now_loading...774KB:2008/01/07(月) 16:50:27 ID:ztDfzXik
ちょっとこの二、三日力を入れてみたんだが
なんつううか、プログラミングというよりブロックに近くね?

予約語?の半端なさ! たとえば
addEventListener drawRec
TextFieldAutoSizeとかとかとか。

なんというか、プログラミングというよりフラッシュの構造に詳しくないとだめかもわからん。
303Now_loading...774KB:2008/01/07(月) 23:40:30 ID:iVc7fjcy
それがオブジェクト指向プログラミングというものだよ。

ていうか、それらは予約語じゃない。
継承ぐらい理解せい。
304Now_loading...774KB:2008/01/08(火) 00:18:11 ID:2KUzK7MD
やりたい事>
サウンド(wav等)の入った数種類のMCをランダムで再生。その際各サウンドMCが重なって再生されるのを防ぎたい

AS2の場合はメインタイムラインにフラグを設定し 再生時にフラグtrue trueの間はすべてのサウンドMCの再生不可
各サウンドMCのラストフレームに_parent._parent~flg=false; で解除って感じでした
AS3の場合はどうするのがベストなんですか先生おしえて!
305Now_loading...774KB:2008/01/08(火) 00:26:09 ID:emNfmgpi
ようはサウンドの終了を検知したいってことか?
soundCompleteイベント使えばいいんじゃない

リファレンスか、このへん見ておくといいよ
ttp://hakuhin.hp.infoseek.co.jp/main/as3/sound.html
306Now_loading...774KB:2008/01/08(火) 00:48:49 ID:2KUzK7MD
先生どうもです!
なるほどsoundCompleteでイベントリスナー登録ですか 一つ利口になりました

ところでサウンドファイル(BGM、効果音、音声等)が 例えば100個ある場合も同じ方法でやります?
オブジェクトを配列にしてfor~で登録 って考え方でいいんですよね?
307Now_loading...774KB:2008/01/08(火) 01:19:16 ID:emNfmgpi
イベントリスナの登録をforとかで100個登録するってことだよな?
それでOK。
308Now_loading...774KB:2008/01/08(火) 01:28:09 ID:16zcGgGO
って、自分で言っておいてあれだけど、やっぱりよくない
再生するときにそのサウンドにsoundCompleteのイベントハンドラをaddEventListenerして
soundComplete発生したらイベントハンドラはremoveEventListerしたほうがよい
どうさサウンドは1曲しか再生しないのだし
309Now_loading...774KB:2008/01/08(火) 15:35:23 ID:2KUzK7MD
昨日の続き
「ラベルは単純な識別子でなければなりません」 というエラーが出ました 配列での登録は
無理なのでしょうかOTZ 教えて先生っ

var hSound :Array = new Array();
hSound[ 1 ] :Sound = new MySound01();//エラー
hSound[ 2 ] :Sound = new MySound02();//エラー
hSound[ 3 ] :Sound = new MySound03();//エラー
hSound[ 4 ] :Sound = new MySound04();//エラー
hSound[ 5 ] :Sound = new MySound05();//エラー

var channel :Array = new Array();
for ( var i=1; i<=5; i++ ){
channel[ i ] : SoundChannel = hSound[ i ].play();
channel[ i ].addEventListener( Event.SOUND_COMPLETE, SoundCompFunc );
}
310Now_loading...774KB:2008/01/08(火) 15:39:09 ID:2KUzK7MD
>>308 >removeEventListerしたほうがよい
ヘルプのサンプルにもremoveメソッドが定義されてましたが これはremoveしないと
使用メモリが増えて処理が遅くなるという認識でおk?
311Now_loading...774KB:2008/01/08(火) 16:36:27 ID:SQaTgvWc
>>309
配列の要素にいちいち型を指定してやる必要はない
hSound[1] = new MySound01();
でいい
あと、わざとかもしれないけど、配列の最初は0だから、普通は
for ( var i:int=0; i<5; i++ ){
channel[ i ] = hSound[ i ].play();
channel[ i ].addEventListener( Event.SOUND_COMPLETE, SoundCompFunc );
}
って書くと思う

>>310
オレもそんなに詳しくはないけど、そういう認識でいいと思う
312Now_loading...774KB:2008/01/08(火) 17:54:43 ID:2KUzK7MD
先生どもです サウンドの重複再生阻止でこのように完成しました 
サウンドの終了を検知するために 再生時にチャンネルとリスナーをセットで実行してます
この場合でもremoveEventListenerは必要なんでしょうか?

function HsoundPro() :void{//サウンド処理 ※何回も頻繁に呼び出される
if ( soundFlg ) return;//実行中ならキャンセル
soundFlg=true;//サウンドフラグ 
var r :int = Math.floor( Math.random()*5 )+1;
var channel :SoundChannel = hSound[ r ].play();//サウンド再生
channel.addEventListener( Event.SOUND_COMPLETE, soundCompFunc );//リスナー登録
}

function soundCompFunc( event :Event ){//サウンド終了時処理
soundFlg=false;//フラグ 解除
}
313Now_loading...774KB:2008/01/08(火) 18:04:43 ID:FALIfB8c
一応それでも動くと思うけど、removeしたほうがメモリ的にいいと思う
soudCmpFunc内に
SoundChannel(currentTarget).removeEventListener(Event.SOUND_COMPLETE, soundCompFunc);
を付け足せばよいのだし
314Now_loading...774KB:2008/01/08(火) 23:06:22 ID:2KUzK7MD
了解っす!
315Now_loading...774KB:2008/01/09(水) 01:45:40 ID:s65kpaLe
お前ら頭いいな
使いこなせなくて2.0で諦めたよ。
316Now_loading...774KB:2008/01/09(水) 09:44:37 ID:xG6P1AaB
RPGだと思ってがんばるんだ
1日10時間とか平気でゲームしちゃうだろ?
317Now_loading...774KB:2008/01/09(水) 13:58:33 ID:qt9rvrfw
予備知識が必要なRPGなんて誰もやりませんよ…
面白いと思えればいいのに
318Now_loading...774KB:2008/01/09(水) 16:47:56 ID:xG6P1AaB
ネガ思考ワロス
319Now_loading...774KB:2008/01/09(水) 17:29:54 ID:92PM27GR
助けて先生! スタートボタン作ろうとしてるんだけどnewしただけでエラーでたorz
ヘルプのサンプルコピペしてもエラー出る なんで?

var startB :Button = new Button();
320Now_loading...774KB:2008/01/09(水) 17:45:32 ID:GSvEk6LO
AS3にButtonクラスはない。SimpleButtonクラスならあるが。
自分でそういうクラス作ったとかなら、importし忘れとか。
321Now_loading...774KB:2008/01/09(水) 17:46:18 ID:fKdv9Am4
>>319
FlashCS3ならライブラリにButtonコンポーネント入って無いんじゃない?
ステージ上にいったんドラッグ&ドロップして[Delete]で消せばおk
322Now_loading...774KB:2008/01/09(水) 18:19:50 ID:92PM27GR
ButtonクラスてのはAS3のコンポーネント? コンポーネント用の何かを用意しておかなきゃダメって事か…
SimpleButtonクラス 試してみましたがさっぱりわかりません ステージに btnMC を配置後
以下の全部エラー

var btnMC:SimpleButton = new SimpleButton();
btnMC:SimpleButton = new SimpleButton();
startB:SimpleButton = new SimpleButton( btnMC );

だいたいヘルプがクソすぎる! なんでサンプルが動的作成のしか載ってないんだ
なんでボタン1個作るのにこんなに大変なんだ アフォか!
323Now_loading...774KB:2008/01/09(水) 18:34:48 ID:qsPUvwUU
>>322
FlashのCS3でタイムラインに書いてる?
だったら既にステージ上に「btnMC」って名前のインスタンスがあるならそれはもう
既にnewしてaddChildしてnameを設定しているって事。いきなりボタンとして使えるよ。
そのまんまイベント処理とか書けばおk

324Now_loading...774KB:2008/01/09(水) 18:35:37 ID:92PM27GR
失礼! 配置したら直接addEventListenerで登録できた

しかしこれ覚えるのに骨がおれるぜ。。。
325Now_loading...774KB:2008/01/09(水) 18:37:59 ID:qsPUvwUU
動的作成したいなら、
1.ステージになんか書く
2.[F8]でシンボル化→ボタン
3.ステージからそれ消す
4.ライブラリでリンケージ設定→クラス名「HogeButton」とか
5.newしてaddchildしてaddEventListener

var btn:SimpleButton = new HogeButton();//ここは自分で付けたクラス名
btn.addEventListener(MouseEvent.CLICK,clickFunc);
function clickFunc(e:MouseEvent) {trace(e.target.name + "が押されました");}
addChild(btn);

こんな
326Now_loading...774KB:2008/01/09(水) 18:49:33 ID:92PM27GR
>>325
先生どうもです オレ的AS3マニュアルtxtにバッチリコピペさせていただきました
327Now_loading...774KB:2008/01/09(水) 23:43:47 ID:M5UThB/t
それにしても、今回のAS3としてのモーションコピー機能は凄いな…

はっきり言ってこれだけに金払ってでもオツリくるくらいだよな…

モーションの再利用がここまで簡単に出来るとは…

328Now_loading...774KB:2008/01/10(木) 00:36:12 ID:ELazuCYm
>>327
kwsk
329Now_loading...774KB:2008/01/10(木) 02:28:41 ID:scRENnna
FlashCS3の話だけど、トゥイーンをAS3に変換して、
任意のMCやSpriteにAS3変換した時に設定したインスタンス名付けるだけで、
即座に同じモーションを付ける事が出来る

330Now_loading...774KB:2008/01/10(木) 15:25:21 ID:CHoVRpxs
ステージに手で配置したオブジェクトの参照を ’関数内’で定義してあるのに オブジェクトを
同フレーム、もしくはそれ以前に配置してないとコンパイルエラーが出るのが納得できません
何ですなおにundefinedを返さないんだ… 回避する方法なないのでしょうか? おしえて先生っ
331Now_loading...774KB:2008/01/10(木) 15:41:48 ID:CHoVRpxs
すいません ’同フレームに配置しないとコンパイルエラー’というのは勘違いでした
説明が難しいんですが… 1回だけ TypeError: Error #1009: null が出るのです
サイトにうpした場合 別ウィンドウで警告が出てとてもカッコ悪いっす

メインタイムラインの構成は
1f~9f 変数、関数等を定義
10f スタート画面
20f ゲーム(プレイ)画面
30f ゲームエンド画面
こんな感じでして 主なオブジェクトは20fに配置しております
で 10fから20fへの移行時に一瞬だけオブジェクトの参照できないらしいのです
…続く
332Now_loading...774KB:2008/01/10(木) 15:48:41 ID:CHoVRpxs
…続き  メイン処理は10fで エンターフレームで監視
function mainPro( event :Event ):void{//メイン処理
var Mcf :int = this.currentFrame;//メインタイムラインのフレーム検出
switch( Mcf ){
case 10://スタート画面処理
//スタートボタン押したら this.gotoAndStop( 20 );
break;
case 20://ゲーム処理
//各オブジェクト参照 オブジェクトは20fに配置
break;
}
}
再生ヘッドが20fに行ってからオブジェクトの参照をしているのに
なぜエラーが出るんでしょう?
333Now_loading...774KB:2008/01/10(木) 17:18:03 ID:scRENnna
関数定義した時点で関数内にあるオブジェクトが
ステージになければ参照できないのは当たり前じゃないの?
無いものねだりなんだから。

ひょっとして、質問の内容と違うかもしれないけど。

それと情報を小分けに出して質問するのはやめたほうがいいよ、意味が通じにくい
334Now_loading...774KB:2008/01/16(水) 14:12:52 ID:0dKyfXHc
あらかじめ画面に配置したテキストフィールドを認識させる方法を教えてくださいまし
package{
import flash.utils.getTimer;
import flash.text.TextField;
public class FPSpro extends TextField {//FPS計測クラス
private static var count :int;
private static var old_timer :int;
public function FPSpro(){// コンストラクターを定義
count=0;
oldTtimer=0;
}
public function counting() :void{//カウントメソッド
count += 1;// 描画回数カウント
if ( getTimer() - oldTimer >= 1000 ) {// 1秒経過していれば
fpsText.text= count+"fps";
oldTimer = getTimer();
count = 0;
fpsText.text= count+"fps";//エラー 変数 fpsText は定義されていません。
}
}
}
}
335Now_loading...774KB:2008/01/16(水) 15:06:06 ID:0dKyfXHc
続き
メインタイムラインで var fps :FPSpro = new FPSpro();
毎フレーム毎に fps.counting();//メソッド実行

サンプルコード探してますが見つかりません ヘルプのはすべて動的に作成したテキストフィールドによる例です
336Now_loading...774KB:2008/01/16(水) 17:49:41 ID:0dKyfXHc
package{//ヘルプに載ってるサンプル
import flash.display.Sprite;
import flash.text.*;
class TextWithImage {
private var myTextBox:TextField = new TextField();
private var myText:String = "Hello World";
public function TextWithImage(){
addChild( myTextBox );//エラー1180: 未定義である可能性が高いメソッド addChild の呼び出しです。
myTextBox.text = myText;
}
}
}
var tx :TextWithImage = new TextWithImage();//メインタイムラインに記述

な ん で エ ラ ー で る の ?
337Now_loading...774KB:2008/01/16(水) 18:04:16 ID:2UerF5Xo
>>336
addChildでこけるんなら
class TextWithImage extends Splite
なんじゃね?
338Now_loading...774KB:2008/01/16(水) 18:06:25 ID:2UerF5Xo
ああ、SpliteでなくSpriteだ。すまんすまん
339Now_loading...774KB:2008/01/16(水) 18:24:07 ID:0dKyfXHc
>>337
ありがとうございますできました!
画面内に配置したダイナミックテキストへのアクセスの仕方を教えて下さい
今日はそれができたら。。。寝ます
340Now_loading...774KB:2008/01/16(水) 18:33:23 ID:2UerF5Xo
>>339
ドキュメントクラスなら、ステージのインスタンスを自動宣言してれば
そのままインスタンス名でアクセスできんじゃね?
自動宣言切ってあるならvar テキストフィールド名で

ドキュメントクラスじゃないなら、よくわからんけど
addChildしたあとにroot.テキストフィールド名でいけんじゃね?
341Now_loading...774KB:2008/01/16(水) 19:16:11 ID:0dKyfXHc
ありがとうございます ドキュメントクラスではないです
色々試しましたがすべてだめでした
メインタイムラインにインスタンス名 txt というダイナミックテキスト配置
package{
import flash.display.Sprite;
import flash.text.*;
public class TextWithImage extends Sprite {
public function TextWithImage(){
addChild( txt );//エラー
addChild( stage.txt );//エラー
addChild( root.txt );//エラー
addChild( stage.root.txt );//エラー
addChild( stage.txt.root );//エラー
txt.text="test";
}
}
}
メインタイムラインで
var tx :TextWithImage = new TextWithImage();
addChild( tx );
342Now_loading...774KB:2008/01/16(水) 19:32:30 ID:0dKyfXHc
できました! txtを引数で渡し コンストラクタでTextFieldとして受け
アクセス可能になりました 色々ありがとうございました
var tx :TextWithImage = new TextWithImage( txt );
343Now_loading...774KB:2008/01/19(土) 12:01:28 ID:DLbcRtxq
だめだ! わからねえ…
下のサンプルはヘルプのStageクラスのなんだけどドキュメントクラスでは動作するのに
newで呼び出したら stageが未定義になっちまう newで動作させる方法を教えて先生っ
package{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
public class StageExample extends Sprite {
public function StageExample() {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.ACTIVATE, activateHandler);
stage.addEventListener(Event.RESIZE, resizeHandler);
}
private function activateHandler(event:Event):void {
trace("activateHandler: " + event);
}
private function resizeHandler(event:Event):void {
trace("resizeHandler: " + event);
trace("stageWidth: " + stage.stageWidth + " stageHeight: " + stage.stageHeight);
}
}
}
344Now_loading...774KB:2008/01/19(土) 12:18:29 ID:TQC/oaYc
>>343
stageプロパティは、表示リストに追加されるまではnullだから動かないんじゃね?
public function StageExample(_stage) {
_stage.scaleMode = StageScaleMode.NO_SCALE;
みたいにして、ドキュメントクラスかタイムラインから
new StageExample(stage)
とかでいけんじゃね?
345Now_loading...774KB:2008/01/19(土) 14:14:27 ID:DLbcRtxq
できましたあああ! ありが㌧先生!

メインタイムラインの this[object MainTimeline](AS2の_root) と
stage[object Stage] の違いがわからんす…
stageはオブジェクトの表示用だとすると thisはただの階層を表してるって解釈なのかな?
346Now_loading...774KB:2008/01/19(土) 14:30:33 ID:DlZxWVFk
>>345
たぶん表示リストの仕組みで混乱してるんじゃね?

表示リストの最上位がstage(Stageクラスのインスタンス)で、
その下にFlashCS3で、ドキュメントクラスを使わない場合ならroot1(MainTimelineクラスのインスタンス)、
ドキュメントクラスを使ってるならドキュメントクラスが繋がってる。
root1ってのが、いわゆる「メインのタイムライン」

つまり、なんもせんでも、コンパイルすれば
stage-root1 か stage-ドキュメントクラスのインスタンス
という表示リストができる。

stgaeとroot1(もしくはドキュメントクラスのインスタンス)は別のものね。
で、thisは何かっていうと、root1でthisと書けばroot1を指す。
stageプロパティは表示リストの先頭のStageクラスのインスタンスを指す。
347Now_loading...774KB:2008/01/19(土) 14:40:37 ID:DlZxWVFk
あとrootは_rootと意味がちょっと違うので注意。ヘルプ読んで。

thisもAS3.0だとあんま使う意味無いから、忘れた方がいいかも。
AS2.0だとイベントハンドラがらみでthisつかわないとイベントをハンドルしたボタンとかの参照
掴めなかったんだけど、AS3.0だったらイベントオブジェクトでできるし、逆にthisだとできない場合もある。

これは関数のスコープって奴が「バインドメソッド」っつー仕組みで固定されるからなんだけど、
そこを最初にちゃんと意識しておかないと、AS2.0からの移行組の人はわけわからんくなるんじゃないかな。
こんな感じ。AS2.0風というか、関数型言語風にthis使いたい場合は、関数の作り方自体をちょっと変えないとうまくない。

function f1() { trace(name,this.name);} //静的関数はthis固定
var f2 = function(){trace(name,this.name);}; //匿名関数を捕まえておいたものはthisはまあ変えられるっちゃ変えられる
var o = {name:"hoge"};
f1.call(o);
f2.call(o);
348Now_loading...774KB:2008/01/20(日) 22:40:16 ID:8zb19eof
>>346
俺もステージとルートの構造がよくわからなかったんだが
スポンジが水を吸うように理解できた。
ActionScript 3.0 入門ノートよりぜんぜんわかりやすい解説乙
349Now_loading...774KB:2008/01/22(火) 01:23:02 ID:yglFctA9
こんばんは、質問させてください。

以下のようにTextFieldクラスを作成してサイズを変更してステージに登録しています。
TextTest = new TextField();
TextTest.text = "";
TextTest.setTextFormat( _TextFormat ); // Size=24
stage.addChild( TextTest );

この処理でステージに表示する時は問題無いのですが
この後このテキストに
TextTest.text = "ABC";
というようにテキストを設定すると
何故かテキストのフォーマットがデフォルト(Size:12)に戻ってしまいます。

ステージに追加した後にテキストを変える時は
フォーマットを維持するように何かプロパティ等設定する必要があるのでしょうか?
350Now_loading...774KB:2008/01/22(火) 01:42:45 ID:F2nn7vIE
>>349
つdefaultTextFormat
351349:2008/01/22(火) 19:23:41 ID:yglFctA9
>>350
ありがとうございました。
setTextFormatと混同していましたorz
352Now_loading...774KB:2008/01/23(水) 00:42:55 ID:uM2tpvtX
【インタビュー】「ActionScript 3はさらに進化する」 - ActionScriptマスター コリン・ムック氏
http://journal.mycom.co.jp/articles/2008/01/22/adobeinterview/index.html
353Now_loading...774KB:2008/01/23(水) 21:30:41 ID:ee5qdp7H
コリン・ムックってけっこうなイケメンなのな。
ピザデブのおっさんかと思ってた。
354Now_loading...774KB:2008/01/24(木) 01:12:32 ID:NFQbxhRU
コリン・ムックもそうだけど、
グラント・スキナーが超イケメンだぜ。
355Now_loading...774KB:2008/01/30(水) 21:31:12 ID:XfdON3JJ
今2.0を勉強中で後々3.0も勉強を始める予定ですが
現在2.0で勉強しているのがclassについてで、3.0ではclassは構造の基礎のような扱いのように見えましたが
このまま2.0でclassの扱いの知識を深めた方が3.0でも役に立ちますか?
それとも3.0やるんだったらさっさと3.0の書籍でも買ってそっちに向いた方が良いのでしょうか・・・?

356Now_loading...774KB:2008/01/30(水) 22:43:50 ID:ZMPs+jUL
>>355

クラスとイベントディスパッチャーを理解してるなら、AS3に移行してOK
357Now_loading...774KB:2008/01/30(水) 22:48:17 ID:3/jXJ98D
>>355
無駄になる知識なんてそうそう無いけど
3.0 のために 2.0 を勉強する必要はないと思うよ
やりたい方を勉強したらいいがな
358Now_loading...774KB:2008/01/30(水) 23:11:29 ID:XfdON3JJ
>>356
レスありがとうございます
イベントディスパッチャーについては初耳でした、調べてみます
クラスについてはまだ本当に弄り出した程度で、
スクリプトをほぼ全てタイムライン上に書き、その中の簡単な処理(アルファ増減、MCの移動等)の部分を
処理対象MCや必要な変数を引数としてクラスに送り処理している程度です

やはり理想としてはOOP?と言うのかネットのソースで見た様な
タイムライン側ASにはメインのクラスを呼び出すだけ、後のスクリプト処理の流れはメインクラス内で各種処理クラスを呼ぶ形でクラス内で全て完結させる
くらいにまで使いこなせる位になった方がいいでしょうか
359Now_loading...774KB:2008/01/30(水) 23:16:41 ID:PUCTdNly
>>355
個人的にはとりあえずキリのいい所で3.0に移行をオススメ

自分も前に>>355とほぼ同じようなアプローチを考えて2.0やってたんだけど、
3.0の基礎を覚えて、それから2.0で書かれたサンプルなんかを自分で3.0に書き直したりして、
2.0と3.0の違いみたいを考えながら3.0を学んでいった方が
結局自分にとっては2.0と3.0の深い理解に繋がった気がした、参考までに…
360Now_loading...774KB:2008/01/30(水) 23:19:23 ID:PUCTdNly
「Essential Actionscript 3.0」の
日本訳書が今年の春~夏に出るそうじゃないか!
361355:2008/01/30(水) 23:29:15 ID:XfdON3JJ
>>357
3.0でしかできないコレをしたい!というものはまだ無くネットのサンプル等見ながら漠然とした興味がある程度で
後々使いこなせるようになればいいなと考えています

>>359
自分も2.0始めた時には完成されたソースの単語をリファレンス本等で調べて覚えて行ったという流れなので
比較しながら覚えて行くというのはやり易いかもしれません、参考にさせて頂きます
362Now_loading...774KB:2008/01/30(水) 23:57:58 ID:XfdON3JJ
AC対戦動画で死闘を繰り広げる拳士達を横目に
技でねぇレバー入れ通常技暴発でコンボもまともに決められないこの力量こそ
俺が正真正銘のモヒカンたる所以なのか

ヒャッハーミスだー
363Now_loading...774KB:2008/01/31(木) 00:03:17 ID:aYsAZqc4
>>362
すみません、誤爆です
364Now_loading...774KB:2008/01/31(木) 01:11:23 ID:WfqL9CH5
ヒャッハー
365Now_loading...774KB:2008/01/31(木) 02:27:54 ID:wF6R0W/2
>>360
> 「Essential Actionscript 3.0」の
> 日本訳書が今年の春~夏に出るそうじゃないか!
>
マジですか!?
先週買っちゃったよ・・・。まぁ、いいけどさ。
366Now_loading...774KB:2008/01/31(木) 10:57:05 ID:SyljwhJn
Essential Actionscript 3.0 ってそんなにいいのか
どんな所がいいの?
367Now_loading...774KB:2008/01/31(木) 12:03:03 ID:VMTu9ZNY
Essential ActionScript3.0読んだけど、APIの概要と使い方がきちんと載ってたのが良かったよ。
文法的なところはJavaなどを使用した経験がある人には簡単だし、マニュアルにも書いてあるけど
APIの事を体系的に述べた本って他にあんまりない気がする。でもAPIリファレンスみながら色々作って
れば、こ~使うんだなって大体分かってくるからどの言語も、どうしても読まなきゃいけないものとか
そういう事はないだろうけど。
368Now_loading...774KB:2008/01/31(木) 12:28:56 ID:3jtleRib
これからAS3を勉強しようと思います。AS2も8ではモーショントゥイーンアニメ中心で、まだ初心者でした。
機材はFLASH8しか持っておらず、Free Flex 2 SDKを入れました。
関連書籍を探してみて、各種ブログの評判を見て
「Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート」
の購入を考えているのですが、これはCS3を持っていないと扱えないタイプなのでしょうか。

FLASH8でも主に、ツール描画や画像を読み込んでムービークリップを用意して、必要な時簡単なASをちょこちょこと書いていた程度なので、
ムービークリップ用意&配置とかの全ての作業を、完全にASで作っていく方法にはかなり不安も感じていますが。
369Now_loading...774KB:2008/01/31(木) 12:35:32 ID:ij4seAx6
>>366
良いというか、日本語の本がウンコしか無い
370Now_loading...774KB:2008/01/31(木) 12:37:56 ID:ij4seAx6
>>368
あれはFlashCS3限定で、しかもAS2.0を知っていないと辛い。
差分本と言った感じ。それでもあれしか無いのがウンコ。

flexで1からやるなら、少し方向が偏るけど「ActionScript3.0アニメーション」
あたりを読んだ方が整理がつくかもしれない。ただ高い。
371Now_loading...774KB:2008/01/31(木) 13:01:55 ID:3jtleRib
>>370
他の関連書籍も見て価格的にもいいかなと思っていましたが、厳しそうですね。
今私が持っている8書籍のような、最初にツールで矩形を描いて&絵を置いて、
必要な素材を配置&設定してから、押した処理とか移動させるAS3を書き込んで…といった感じでしょうか
今の所はまずmcを貼り付けるとか、2.0をしっかり勉強した方が良さそうですね。
372Now_loading...774KB:2008/01/31(木) 13:02:16 ID:ij4seAx6
>>368
それからタイムライン使ったスタイルに慣れてるんだったら、
「FlashCS3ゲーム制作ガイド」というのもある。モアイ回しというゲーム作った人の本。
ただこれも問題点が2つあって、まず、CS3が無いと試すことはできない。
もうひとつは、このスタイルで開発している人は結構いるんだけど、web上であまり情報が無い。

このスタイルだと、flexとか使ってる人と話が通じにくいというのも難点。
373Now_loading...774KB:2008/01/31(木) 13:07:48 ID:ij4seAx6
>>371
知ってると良い評価になるんだと思う。個人的には悪くないと思ってた。
ただ、1から始めるには少しバラバラな書き方なのが難。
俺も初心者のツレに良かれと思って紹介したら、突き返された。

Flashで2.0から3.0に移行するときには、
>必要な素材を配置&設定してから
という操作が、AS3.0だと、どういう意味になるのかというのを意識さえできれば、
あとはそんなには問題ないと思う。

ただ、そこが問題。
374Now_loading...774KB:2008/01/31(木) 22:07:41 ID:k9UuGTrS
>>371
自分も最近AS2.0から引っ越してきた口です。
素人意見ですが、イベント定義の方法とか今までのattachMovieがaddChildになった事
extends MovieClipしちゃえば今までのMCの中の処理と大差ない事
AS2.0でこうやってたのはAS3.0ではこうなんだ、あたりから理解していくと良かったよ。


感覚としては今まであんまり意識してなかった型とかスコープを
しっかり意識するようになるだけかなと
375Now_loading...774KB:2008/01/31(木) 23:37:05 ID:z8jK1ViW
自分はむしろ3.0でスコープを明確に分けやすくなって意識することが減ったけどなぁ
376Now_loading...774KB:2008/02/01(金) 00:15:04 ID:qxA/Awh2
最近、C++やJavaをいじってることが多くて、ようやくAS2からAS3への移行を開始しました。

抽象クラスがなかったり、オーバーロードがなかったり、
せっかく仕様を一新した割りに、微妙に糞仕様が残ってますね。
377Now_loading...774KB:2008/02/01(金) 05:53:51 ID:02BxRTRK
抽象クラスないけどインタフェースあるから、そっち使うんじゃない。
オーバーロードは method(string:String=null)みたいにして呼び出して
if (string) {
trace(string);
}
みたいにして対処すればいいんじゃない

378Now_loading...774KB:2008/02/01(金) 08:59:48 ID:qxA/Awh2
>>377
いや、それは分かるけど、標準仕様として実装されてるのとは全然違うでしょ。

わざわざ実装しなかったということは、
もしかして、ECMAScriptの言語仕様がそうなってるのかな?

ぶっちゃけJavaに近づいたらしいから、覚えるの楽だわ~と余裕ぶっこいてたら、
予想以上にJavaと違う仕様もわんさか組み込まれてて、びびった。
379Now_loading...774KB:2008/02/01(金) 09:47:18 ID:vJBZrURj
Javaに近づいたなどはただのギャグですよ。
380Now_loading...774KB:2008/02/01(金) 10:06:48 ID:iFiHXrS1
管理しやすい構造のサイト作るなら確実AS3.0だろね。

いやがおうにもそういう仕組みになっちゃうし。

手軽さはないけど、スクリプトの一元管理という意味では精神衛生上良いよね。

日本語の本ではActionScript3.0アニメーションという本がオススメ

スクリプトによるアニメーションを限定的に扱ってる本だけど、
とりあえずAS3で書けるようになりたい人には日本語の本ではベストだと思う。
訳もこなれて読みやすいし。
ただ7000円以上という高額な上に分厚くデカいのがネック。

スクリプトによる3Dや物理運動を初心者レベルから学びたい人にはこの上ない良書。
ただ、他の本見てサンプル書いてパラメーターいじったこあるとか、
真似ごとでも書いたことあるって人でないとキツいかもしれない。

アニメーションに関することしか書いてないのであしからず。

381Now_loading...774KB:2008/02/01(金) 11:03:17 ID:qxA/Awh2
>>379
JavaプログラマをAS3に流し込みたい、みたいな構想を聞いた事があったので、
てっきりその流れかと。
382Now_loading...774KB:2008/02/01(金) 14:34:21 ID:yrKR8cB8
>>381
名前:名無しさん@八周年[sage] 投稿日:2008/01/31(木) 09:15:37 ID:eKOvigkJ0
                               /;:;:;:;:;:;:/:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:l
                                /;:;:;:;:;:;:/:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:l
                             /、;:;:;:;:;:/:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:l
                            ,ィ{;:;:\;:;:/;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;l
                           .i;/\;:;:;X、_________j
     ,....、    ____              リ (ミ、ヾL;:__;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:l
     /   ヽ..._/二二二ト、 r‐ュ        /_,, `´ .: r=`、` '' ‐r―--==〈
    / r┴┴‐┼──‐弋三三マヽ     / トュミy   `~´  ,ノ::::::::::::::::::::ノ
  j   ̄>──┴─ 、:.:.:.|─‐9|<7|l    ,' ``ラ, ,ィエ二丶、^ヾミ:::::::::::::ィヘ
  f'  7´ ´¨`ヽ`ヽヽ:::::::__ヽ|}}─ j|^:|Yl     !  ,.. / .: 'ヾヒi≧ァミ ,}::::::::::ノクノ
 j  、l::;′   Y:::::l:::l::::{ ヾ!|!ュ:.:.:l|:::V     ゙l,/ (;' ,rぅ、、     ,':::::r'"(.イ
 l  l:::|     ||:::::|:::|::ハ  \_:.:.:ト、::ト__,,.ィ'l ヘ`ニ"´ ヽ  _,. ,':::ク>-ヘ-ゝ、、
 l  `ヽヽ __ノ/.::/::/:::::/ヽ    ̄ヽr‐'´ /l'! lトミ三=ァィ` ,:" , ,ルイ /:.:.:.::/ リ ``t、ー-
  '  / マ=∠∠∠∠ -'"        ∨   {i,ヽ丶-‐ '"ノ ,/,/:::://:.:.:.:.:/ /    ヽ:::
  '     ハ::::「 -r 、               ∨  ヾ.丶.,__,, -‐'"  /ノ:.:._//     }::
   }   ハ::::∨  ヽ           ヽ、  ゝミミ三ニ=≦,,ムニ彡'"      ノ::
  /    ヽ:::ヽ  ヽ           \'"::::::::::::::::l::::::::::::::::::::::丶、__,,r ''":::::::
383Now_loading...774KB:2008/02/01(金) 18:19:12 ID:02BxRTRK
http://jp.youtube.com/watch?v=QHnTpFyLGdk

とりあえず、自分のお気に入りのエディタでAS3書いてるところ。
ちょっと前に撮ったのだから、今もっとコマンド追加してるけど。
384Now_loading...774KB:2008/02/01(金) 19:17:26 ID:GwRslxUI
>>383
何が とりあえず なのかワカランのだが・・・
プログラミングしてる自分に酔うより
人を楽しませる作品をがんがん作る事で
自己顕示欲を満たして欲しい

と 俺なんかは思ってしまうんだけど
こーゆー動画って 案外 初心者の参考になったりするのかね
385Now_loading...774KB:2008/02/01(金) 19:55:47 ID:02BxRTRK
>>384
ごめん、俺もの作る才能ないわ。
プログラム楽しいから続けてるけど
386Now_loading...774KB:2008/02/01(金) 22:02:56 ID:GwRslxUI
>>385
うるせーぼけ いわれんでも作ってるわい
くらい言って欲しいがな

楽しいだけで済ませてたまるかつーの
才能ないくせに作っては 泣いたり笑ったりの俺はナンなんだっつーの

てか これは余計なお世話なので むしろすんませんですはい
387Now_loading...774KB:2008/02/02(土) 12:40:21 ID:AJloPdDe
ActionScript3アニメーションの後半に出てくる式結構難しいね。
数学苦手だから、原理まで理解しようとするとかなり辛い
388Now_loading...774KB:2008/02/02(土) 20:37:38 ID:0/g8e78S
著者の意見としては、解らなかったら、
そういうもんだと思って考えるなって書いてあったね。

俺もとりあえず、一通り読んでから二回目じっくり読もうと思うよ。

わからないこと理解しようと止まってると、
面白く無くなってくるからね。

でも原理を理解しないと応用利かないもんな…
389Now_loading...774KB:2008/02/04(月) 12:55:44 ID:kOvlkYmb
カーソルキーの↑と→とかのキーの同時押し検出がわからねえ

↓KEY_DOWNでキーコードを判定する方法だと無理?
stage.addEventListener ( KeyboardEvent.KEY_DOWN, メソッド );

↓キーを個別にリスナー登録できないのか?
stage.addEventListener ( KeyboardEvent.Keyboard.RIGHT, メソッド );
390Now_loading...774KB:2008/02/04(月) 13:47:09 ID:7CXsj2JR
>>389
それなー。
俺は、isDown使えなくなったから、別に4方向のフラグ用意して、その値で判断するようにした。

stage.addEventListener(KeyboardEvent.KEY_DOWN, moveMe);
stage.addEventListener(KeyboardEvent.KEY_UP, moveMe);
//押してる方向用のフラグ
var moveFlg:uint=0;
//方向に対応したフラグ用の値を用意してる(1:0001 2:0010 3:0100 4:1000)
var keyList:Array = [];
keyList[Keyboard.LEFT]=1;
keyList[Keyboard.RIGHT]=2;
keyList[Keyboard.UP]=4;
keyList[Keyboard.DOWN]=8;

//長いので次に続く
391Now_loading...774KB:2008/02/04(月) 13:48:50 ID:7CXsj2JR
function moveMe(e){
//用意してた値だったらフラグ変更。イベントのtype調べて、keyDowならOR演算、keyUpだったらXOR演算
if(keyList[e.keyCode]){
moveFlg = (e.type==KeyboardEvent.KEY_DOWN) ? moveFlg |= keyList[e.keyCode] :moveFlg ^= keyList[e.keyCode];
}
//値を判定
switch(moveFlg){
case 1 + 0 + 0 + 0:trace("左");break;case 1 + 0 + 4 + 0:trace("左上");break;
case 1 + 0 + 0 + 8:trace("左下");break;case 0 + 2 + 0 + 0:trace("右");break;
case 0 + 2 + 4 + 0:trace("右上");break;case 0 + 2 + 0 + 8:trace("右下");break;
case 0 + 0 + 4 + 0:trace("上");break;case 0 + 0 + 0 + 8:trace("下");break;
}
}

行数対策で汚くなってるがすまん。自動フォーマットとかして見てくれ。
392Now_loading...774KB:2008/02/04(月) 13:56:04 ID:7CXsj2JR
でもあまり綺麗ではないんだよなー。
みんなどうしてんだろなこれ。
393389:2008/02/04(月) 15:32:32 ID:N0X6ZIMk
>>390
先生どうもっす! フラグ使ってなんとかできました

フレームアニメについても教えて下さい!
AS1,2では問題無く動いたのにAS3では動かないっす
症状: 毎フレームgotoAndStopをさせたら 指定先のMC内のフレームが動かない(歩行アニメしない)

//tg というMCの中に 各方向を向いた人間キャラがいて ラベルによって分けている
//例:"1a"上を向いて静止  "3b"右を向いて歩行(歩行アニメ)
if ( キー入力取得 ){//入力あったら
var lv :String =Ho+"b";//ラベル名(歩行アニメ)
tg.gotoAndStop( lv );//各ラベルへ(キーを押し続けると毎フレーム処理される)
}

1      5      10      15     20     25      30
-------------------------------------------------------
○1a    ○1b    ○2a    ○2b    ○3a    ○3b //ラベル名
●静止mc ●歩行mc ●静止mc ●歩行mc ●静止mc ●歩行mc

この説明でわかるかな…orz
394389:2008/02/04(月) 15:43:45 ID:N0X6ZIMk
あー AS3の仕様だと割り切るしかないのか
変数で1回受けて毎フレーム処理させない方法でトライしてみるす
395Now_loading...774KB:2008/02/04(月) 15:45:16 ID:7noFYcEi
>>390
それが普通にベターなやり方だと思う。

個人的にちょっと気になった点は、keyUpは素直にANDとNOTを使って
moveFlg &= ~keyList[e.keyCode]; にした方がいいかも。
例えば、リスナ登録処理時にキー押しっぱ状態のままだったりするとその後、
キーを離してフラグセット、キーを押すとフラグクリアになってしまう可能性アリ。

あと判定もswitchじゃなくてif-elseの方がいい気がする。
const RU:uint = keyList[Keyboard.RIGHT] & keyList[Keyboard.UP];//変数名は適当
if((moveFlg & RU) == RU){trace("右上");}else… みたいな感じで。
>>391だと、キーが3つ以上同時に押されている状態になると反応しなくなってしまう。

何か間違ってたらスマソ。
396Now_loading...774KB:2008/02/04(月) 17:16:49 ID:7CXsj2JR
>>395
>リスナ登録処理時にキー押しっぱ
あー、それあるね。治した方がいいなこれは

>キーが3つ以上同時に押されている状態
ありえるかどうか、許可するかどうかは別として、if-elseのメリットがちょっとわからない。
これは分岐増やせばどっちでもいいんじゃね?
4キーに4ビットだからどうにでもできるし。
判定用の定数使った方が読みやすいってのはわかった。
397Now_loading...774KB:2008/02/04(月) 18:57:23 ID:ORqtseW9
Flex2を今勉強中なんだけど、あまりクラス使わないで、関数をばっかり書く感じでいいの?
398Now_loading...774KB:2008/02/04(月) 20:16:46 ID:NPROsH6g
AS3って、removeEventListener()でリスナー解除したイベントは
ガベージコレクションから解放されてるの?

399Now_loading...774KB:2008/02/04(月) 21:36:50 ID:bfNp6xG4
>>390
AS2のようなisDownがほしいなら次のようにすればいい。

private var keyArray:Array = new Array(256);

private function keyDown(e:KeyboardEvent):void{ keyArray[e.keyCode] = true; }
private function keyUp(e:KeyboardEvent):void{ keyArray[e.keyCode] = false; }
public function isDown(keyCode:uint):Boolean { return keyArray[keyCode]; }

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);

こうしておけば、カーソルキーだけじゃなく他のキーコードすべてにも対応できる。
400Now_loading...774KB:2008/02/04(月) 23:18:34 ID:Is9rN0nL
>>396
さっき始めて知ったんだけど、ASのcaseのラベルって定数式に限らず任意の式が書けるんだね。
switchはある程度単純な条件判定に制限されてしまうから~とか言いたかったんだけど、
ASではif-elseでもswitchでもそれぞれの好み次第でどっちも使えるね。

でも、組み合わせが少ないとはいえ、余計な分岐を増やしたりするくらいなら
if-elseで普通に書いた方がいい気もするけど…。
401Now_loading...774KB:2008/02/05(火) 02:17:56 ID:qOWuHBO+
>>399
フォーカスが無いときのアップ/ダウンイベントの取得が出来ないので、
isDownのエミュレートとしては不完全程遠い。
402399:2008/02/05(火) 22:12:26 ID:SZWMV0lb
>>401
なるほど。そこまでは考えてなかったです。
改善策を考えてみました。

private function keysClear(e:Event):void { keyArray = new Array(256); }
stage.addEventListener(Event.DEACTIVATE, keysClear);

でもこの方法だと、
HTMLでwmodeをopaqueかtransparentにしてブラウザで読み込むと、deactivateイベントが発生しない……。
403s:2008/02/07(木) 07:48:25 ID:dDgLt1l9
どうーーーしても addChildしたMCをremoveChildする時点で
指定した DisplayObject は呼び出し元の子でなければなりません。
のエラーが消えません。

hitTestPoint内での条件分岐
if(btnA.hitTestPoint(mouseX,mouseY,true)){addChild(btnB);}else {removeChild(btnB);}

は、根本的に使い方が間違ってるのでしょうか?
ここのスレ>147とか、AS3でのStageについての仕様の変更についてのサイトとか探しまくってるんですけど、根本的にこういう使い方する事自体が間違ってるのでしょうか?
404Now_loading...774KB:2008/02/07(木) 08:45:56 ID:I2q9+WvJ
>>403

addChildしそこねてる状態でremoveChildしたか、
addChildしてないMCでremoveChildしてるんじゃない?

removeChildの直線で、 btnB.parent をトレースして親を確認してみるといいと思う
405Now_loading...774KB:2008/02/07(木) 09:09:33 ID:kDq4+Zan
if(contains(btnB))
removeChild(btnB);
406s:2008/02/07(木) 14:28:47 ID:dDgLt1l9
できた。。。。。
if(contains(btnB))
removeChild(btnB);

で、できた。。。。。感動。。。。
ありがとうございました!!!
407Now_loading...774KB:2008/02/07(木) 23:35:46 ID:uMwB6Uuo
そういえばまっつん問題で俺が最悪板に突撃かましたときも
必死になって涙眼でまっつんを守ろうと必死になっていたよな。昔の最悪アンチ住人達は。
っていうかコイツはスタッフじゃありませんw 。(´^ω^`)

昔の最悪板は狂っていた。皆洗脳状態だった。
「もし仮にスタッフであるのならば、スタッフが利用している
スタッフ用のスペースにて堂々と発言をお願いします。」って思うようになったきっかけだな。今思えば。
408Now_loading...774KB:2008/02/08(金) 18:25:10 ID:HYU+crDf
先生わかりません!!
「 サウンドが再生中なら停止 」の処理をやりたいのでつ!

// channelE はSoundChannelオブジェクト
trace( channelE.position );//再生ヘッドを調べようとしたらエラー
channelE.stop();//ストップさせようとしたらエラー

なんでnullだとエラーになるんだ! なんでundefined返さないんだああああ

if ( オブジェクトが存在しているならtrue ){//←この条件はどうやって書くの?
channelE.stop();
}
409Now_loading...774KB:2008/02/08(金) 18:41:17 ID:IlPNr77C
>>408
if (channelE){
channelE.stop();
}
410408:2008/02/08(金) 18:51:53 ID:HYU+crDf
できました! さすが先生でつ ㌧でつ~!

こんな単純な事だったとは… しかし意味わからんなw
traceして出るこれ [object SoundChannel]は trueて意味なのか??

for...inで中身調べようとしても何も出てこなかったし…
for(var i in channelE ) {
trace( i+" : "+channelE[ i ] );
}
まだまだわからない事だらけだぜHAHAHA
411Now_loading...774KB:2008/02/09(土) 00:54:45 ID:R8U8eMPd
>>408
全部まとめてcatchしとけば?
412Now_loading...774KB:2008/02/09(土) 13:54:32 ID:9HZrlWE5
先生! 昨日のサウンド関係の続きでわからない事があるので教えて下さい!
やりたい事「 サウンドが鳴っている途中で音量を変えたい 」

↓はヘルプのメソッド引用でサウンドplay直後に呼び出して初期設定しています
しかしその後はcannelE(SoundChannelオブジェクト)がすぐにnullになってしまい
サウンドが再生中にもかかわらず音量の変更ができません

public function setVolume( volume:Number ) :void {//ボリューム設定
var transform:SoundTransform = channelE.soundTransform;
transform.volume = volume;
channelE.soundTransform = transform;
}
どうすれば再生中に音量を変える事ができるのでしょうか??
413Now_loading...774KB:2008/02/09(土) 15:19:53 ID:9HZrlWE5
だいたいさあ AS3のサウンド関係にバグがあるよ
AS2以前ではサウンドファイルをMC内に配置して(2f以降に埋め込んで1fにはthis.stop();)
メインタイムラインのステージ外に配置し 必要に応じてMCをPlay()させてたんだ
それがAS3だとメインタイムラインをprevFrame();させたら ステージ外に配置していたMC内の
サウンドが一斉に鳴りやがる フレームが動いてないのにだお!
これは絶対バグだろw
414Now_loading...774KB:2008/02/09(土) 16:15:20 ID:rMp9UUfE
>>413

AS3はフレーム移動すると、ステージに置いたインスタンスの挙動が不安定になるよね。
それが怖くて、もうフレーム移動は殆ど使わなくなった。
415412:2008/02/09(土) 16:35:17 ID:9HZrlWE5
大変申し訳ありません! こちらの凡ミスですた…
Newしたサウンドインスタンスが複数存在してましたorz 自作サウンドクラス内の
各オブジェクトをstaticにしたらうまくいきました

>>414
Adobeに報告してもダメなんですかい…?
416Now_loading...774KB:2008/02/09(土) 18:10:18 ID:JnsgUYWW
>>413
フレームのプロパティの同期設定でも状況が変わる
417Now_loading...774KB:2008/02/10(日) 05:27:20 ID:Stg9JeAX
ActionScript3の概要は大体把握しましたが
正直、色々試してみるには面倒なので
Processingの世界に旅立ちました。
418Now_loading...774KB:2008/02/10(日) 09:01:16 ID:sJiEpBGu
さようなら
419Now_loading...774KB:2008/02/10(日) 13:33:06 ID:5kaFFEaw
processingはアルゴリズムをもとにビジュアルをつくることがスマートにできるけど、
ブラウザでの実行速度は使い物にならないし..
420Now_loading...774KB:2008/02/10(日) 15:28:55 ID:omr7v3ir
どうも! 昨日のAS3の不具合をAdobeに報告しようと思ってるんだけど
こんなんでわかってもらえるかな?

******不具合報告******
不具合の内容:
FlashCS3 AS3でのパブリッシュ時 メインタイムライン移動時における配置MCの誤作動

問題の再現方法:
1.サウンドファイル(wav,MP3等)をMC内に配置(2f以降に埋め込んで1fにはthis.stop();)
2.ステージに配置(1f)
3.メインタイムライン2f以上移動後でprevFrame(); もしくは gotoAndPlay();でフレームをさかのぼる

結果:
MC内に配置したサウンドが勝手に鳴る(MC内の再生ヘッドは動いていない)

期待した結果:
MC内に配置したサウンドが鳴らない(鳴っては困る、しかも無限ループで鳴り続ける)


この症状が改善されないと非常に困る ADV形式の作品が作れない(非常に作りづらい)
MC内に声とか効果音とか入れて編集するし アニメの口パクだって音に合わせて作るし
421Now_loading...774KB:2008/02/10(日) 18:10:46 ID:AFQnkT5z
>>420
よくわからんので簡単なサンプルうpって
422Now_loading...774KB:2008/02/10(日) 18:17:30 ID:s4EM0v3y
>>420

それで大体把握できると思う。
日本のアドビでもちゃんとUSにバグ報告してくれるから大丈夫だよ。


サウンドは外に出せばいいじゃん、って思ったけどリップシンクなら大変だね・・・
とりあえず回避策。

ガイドレイヤーにWAVをドロップして、リップシンクを作る。
2フレーム目に

var sound = new MySound()
sound.play()

って感じで、リンケージからサウンドクラスを作って再生すれば
とりあえず回避できるんじゃないかな。
423Now_loading...774KB:2008/02/10(日) 19:07:21 ID:sJiEpBGu
>>420
手元で確認した限りだとサウンドは別に鳴らないんだよね
こっちが問題を認識しきれてないのかも、だけど。

Flash Player9 のバージョンは最新? 曖昧だけど初期のバージョンでは
gotAndPlay() で飛んだ先のMC の第一フレームに書いたスクリプトが無視される、
ちゅーバグがあったような気がする
424420:2008/02/11(月) 00:20:58 ID:w7F4V8Gd
どうも! サンプルFlaファイルうpしたのでお暇でしたら検証願いまつ
ttp://s3.voka.jp/up/64KB/count.cgi?up0079.lzh

Flaプレイヤーのバージョンは 9.0.45.0 と出ました
425Now_loading...774KB:2008/02/11(月) 01:03:33 ID:uJzlOa1f
んーわからん
426Now_loading...774KB:2008/02/11(月) 01:15:14 ID:lCOymOsR
>>424
試したけど やはりサウンドが鳴る事はないよ

最新ではないようだけど そのバージョンなら問題ないはず。たぶん。
ところで それはブラウザのプレーヤ?
パブリッシュしてブラウザで見てもサウンドが鳴るのかな?

オーサリングツールで使うスタンドアロンのプレーヤが
古いままでバグ持ちなんじゃないかなぁという気がする。
てかアップデートで勝手に最新になりそうだからわからんけど。
427Now_loading...774KB:2008/02/11(月) 09:59:08 ID:24lc2YGi
MCに色を塗るコマンドを教えてください。
428420:2008/02/11(月) 12:40:22 ID:w7F4V8Gd
報告でつ
Flaプレイヤー(&スタンドアロ-ン)を 9.0.45.0 から 9.0.115.0 にアップデートしたら改善されました!

お騒がせしました… アドバイスくれたみなさんありがとう
Adobeさんも不具合報告送っちゃってゴメン
429Now_loading...774KB:2008/02/11(月) 14:11:34 ID:lCOymOsR
>>428
問題ないはず、とか適当な事いってスマンw

まぁとにかく 解決おめ
430420:2008/02/11(月) 19:10:13 ID:w7F4V8Gd
どうも! 再三にわたり申し訳ないっす
やはり特定の条件が揃うと勝手に鳴りまつ(MC内に埋め込んだサウンド)
今度のサンプルはみんなの環境でも勝手に鳴るでしょう!
ttp://s3.voka.jp/up/64KB/count.cgi?up0080.lzh

特殊な条件でしか鳴らないならいいじゃん と思われるかもしれませんが
MCが人間型構造(入れ子多用) でキャラのリップシンクがある場合
非常に困るのでつ…orz
431Now_loading...774KB:2008/02/11(月) 20:19:18 ID:lCOymOsR
>>430
鳴ったw バグっぽいな

検討を祈る(`・ω・´)
432Now_loading...774KB:2008/02/13(水) 10:16:47 ID:o87CUX9P
CS3のドキュメンテーションの関数クロージャの項目に書いてあるコード(以下)についてです
fooを代入したmyProduct関数を呼び出す時に引数を渡していますが
fooでは引数を定義されておらず、引数を定義しているrectAreaに渡されてるようですが
いまいちこの仕組みが分かりません

例えばfoo(4)で呼び出した場合、fooでは引数が定義されていないのでエラーが返ってきますが
通常fooから参照されるrectAreaへの参照を外部に渡し、myProduct(4)で呼び出される場合
クロージャが利用されるので、親の関数で引数を定義されていなくても
(クロージャはネストされた関数の情報も全て含む?)ネストされた関数で定義されていれば
引数を保持するって事でいいんでしょうか?


function foo():Function
{
    var x:int = 40;
    function rectArea(y:int):int // 定義された関数クロージャ
    {
        return x * y
    }
    return rectArea;
}
function bar():void
{
    var x:int = 2;
    var y:int = 4;
    var myProduct:Function = foo();
    trace(myProduct(4)); // 呼び出された関数クロージャ
}
bar(); // 160


433Now_loading...774KB:2008/02/13(水) 11:19:43 ID:npkyuimy
もし、foo()を実行したいのなら、
var myProduct:Function = foo;
trace(foo());
となる。

今回は、var myProcudt:Function = foo();なので、
foo()の戻り値、rectArea(y:int):intがmyProductに渡されている。

まあ、ソースが難解になるから、こんな機能使わないほうがいいんじゃない。

434Now_loading...774KB:2008/02/13(水) 13:44:04 ID:0H4sPw5m
>>432
引数を保持しているんじゃなくて、変数のスコープ(いわゆるアクティベーションオブジェクト)を保持してる。
クロージャってのは、関数をオブジェクトとして渡すと、その時の変数のスコープもひとまとめにして渡される感じ。
まず引数関係ない例で確認してみるといいんじゃない?
下の例で行くと、makeCounterを実行するたびに、変数countと匿名関数がワンパックになって渡されてる。

function makeCounter(){
var count:int = 0;
return function(){trace(++count);}
}
var func1 = makeCounter();
var func2 = makeCounter();
func1(); //1
func2(); //1
func1(); //2
func2(); //2
435Now_loading...774KB:2008/02/13(水) 13:50:46 ID:0H4sPw5m
それをふまえてマニュアルの例を見てみると、

function foo():Function{
    var x:int = 40;
    function rectArea(y:int):int{return x * y; }
    return rectArea;
}
function bar():void{
    var myProduct:Function = foo();
    trace(myProduct(4));
}
bar(); // 160

ちょっと整理してこんな。関数rectAreaを"クロージャとして返す関数"のfooを実行すると、
変数xと、引数を一つ持つ関数関数rectAreaがセットで帰ってくる。
それに引数を付けて実行するんだけど、その際に、もともとセットになってた変数xを使う事もできるわけ。
436Now_loading...774KB:2008/02/13(水) 13:51:10 ID:o87CUX9P
>>433
ありがとうございます
myProductにはfooが渡されてるのもだと思ってました・・・
冷静に見れば分かりそうなものなのに・・・馬鹿ですね;
437Now_loading...774KB:2008/02/13(水) 13:52:34 ID:0H4sPw5m
で、マニュアルのにはなんでbarの中でx,yを宣言してるかっていると、
クロージャの場合は、スコープが違ってるという事を説明したかったんじゃないのかな?

function bar(){

}
438Now_loading...774KB:2008/02/13(水) 13:57:57 ID:0H4sPw5m
投稿ミスすまん。>>437最後の関数のはコピペミス。
クロージャは、あんな特徴があるから、変数と処理をひとまとめにしたいんだけど、
クラス作るのめんどくせーって時によく使われる。
439Now_loading...774KB:2008/02/13(水) 15:15:27 ID:o87CUX9P
>>0H4sPw5mさん
ありがとうございます
>>foo()の戻り値、rectArea(y:int):intがmyProductに渡されている。
と言う事を完全に見落としていました・・・

バインドメソッドと関数クロージャのthis参照についても調べているのですが
ややこしいですね
440Now_loading...774KB:2008/02/14(木) 21:31:54 ID:iPlwv46c
AS3のasを使ったキャストについて質問です

var str:String = "2008";
var i:int = 55;
i = str as int;
trace(i);

文字列2008をint型にして扱う筈が、このトレース結果は0でした
as比較で一致しなければnullが返って来ると聞いてましたが、なぜ結果が0と出るのかも分かりません
解説をどうかお願いします
441Now_loading...774KB:2008/02/14(木) 21:52:07 ID:s6FDX1Qe
>>440
as は型変換の演算子ではないよ
int 型に null を代入するとデフォルト値 0 が割り当てられる

var i:int = int(str);
でいいんじゃないの
442Now_loading...774KB:2008/02/14(木) 22:22:30 ID:eBGgPNG+
>>440
intはnullを格納できない。
それだけ。

NumberだとNaNが格納できるのでisNaNが使える。
443Now_loading...774KB:2008/02/14(木) 23:53:58 ID:iPlwv46c
>>441
>>442
ありがとうございました、どうも勘違いしていたようです、int(str)でできました
444Now_loading...774KB:2008/02/14(木) 23:56:42 ID:iPlwv46c
0になる謎も解けました、ありがとうございました
443を途中で送信してしまいました、失礼しました
445Now_loading...774KB:2008/02/15(金) 01:50:44 ID:H7ArfUgy
っ parseInt()
446Now_loading...774KB:2008/02/15(金) 11:19:58 ID:aC6DVNdU
数字のみを含む String は int(), uint(), Number(),で変換出来ると
リファレンスにも書いてあるんだからいいんでない?
447Now_loading...774KB:2008/02/16(土) 14:50:27 ID:u/jdk59h
ねえねえActionScript3で実際に大規模なSLGとかTRPGとかって作れるの?
448Now_loading...774KB:2008/02/16(土) 15:39:48 ID:pL9yI1Lm
>>447
TRPGってことはニューロデッキや運命カード交換機能付チャットシステムですか?
449Now_loading...774KB:2008/02/16(土) 21:55:43 ID:6QmHGn5H
>>447
AS3でもAS2でも作ろうと思えば作れる土台はある。

が、多人数で連携して作業できるような開発環境が揃って無いので、
世に出てくるのは、もう少し先になるんじゃないかね。
450Now_loading...774KB:2008/02/17(日) 15:09:58 ID:nzXr0uzz
FLASH CS3を買ってみて色々触ってみました。
処理速度が10倍になったという事でAS2.0で作っていたシューティングを
ある程度移植して動作してみました。

・敵弾等はFLA編集画面で作成したシンボル:ムービークリップを
 ムービークリップクラスとして登録してaddChild( new Mc() );という感じに追加
・当たり判定、画面外判定はAS2.0のまま

当たり判定、画面外判定を加えるまでは変化無いな~と感じたんですが
判定加えても動作が重くならないという点で凄く「早くなった!!」と感じます。

描画するデータの扱い方は未熟ですが今後の勉強方針のために少し教えて欲しいのですが
10倍の速さというのはグラフィックに関してはあまり関係無い事だったりしますか?
451Now_loading...774KB:2008/02/17(日) 15:12:40 ID:FDtduGUp
そうだよ
452Now_loading...774KB:2008/02/18(月) 18:01:03 ID:97Wef6vO
疑似3Dマップのアクションゲーでの深度管理がうまくいきません
キャラのみの場合はY座標をそのままインデックス位置に当てればいいのですが
間に障害物(柱や壁)を入れるとうまくいきません 何かいい方法はないでしょうか?
みなさんどう対処してるのでしょうか?

柱のY座標150の場合(インデックス150)
下からキャラが30人 上へ向かって移動すると 柱のインデックス位置は180に変る
実際の表示位置は150なので表示がおかしくなる(キャラが柱に埋まってしまう)

キャラはY座標が変更になった時のみ setChildIndex で自身のインデックス位置を書き換えてます
453Now_loading...774KB:2008/02/18(月) 18:38:51 ID:EKcL8rnc
柱もY座標でインデックス設定しときゃいいんじゃね?
454Now_loading...774KB:2008/02/18(月) 18:49:28 ID:PW0ge8Ja
>>452
453の通り、動く動かない関係なく出現オブジェクトは同等に扱うといい
壁や床も含め全て同じように考えるのもアリ
455Now_loading...774KB:2008/02/18(月) 19:20:38 ID:97Wef6vO
レスどうもです
柱や壁なども毎フレームsetChildIndex でインデックス位置を指定し直すという事でしょうか?
40~50個程度なら 毎フレーム指定しても処理速度が遅くなるって事はないですかね?
ともかくやってみます
456Now_loading...774KB:2008/02/18(月) 20:11:40 ID:PW0ge8Ja
>>455
処理速度を気にするなら、画面内全体のオブジェクトではなく限定的に処理するのもアリ
キャラはy方向でdepthが変化するわけだから、画面内を横にエリア分割し
キャラの移動にあわせてエリアにオブジェクトを関連づける

キャラと同エリアに所属するオブジェクトのみをチェックする
キャラと柱が重なる条件を満たすならキャラと柱のみdepthを変更
457Now_loading...774KB:2008/02/20(水) 04:58:55 ID:gqgO3XkV
>> 450
> 10倍の速さというのはグラフィックに関してはあまり関係無い事だったりしますか?

Gihyo.jp「Flash Player 9とActionScript 3.0」>「ActionScrtipt 3.0で何が変わるのか」
ttp://gihyo.jp/dev/serial/01/as3/0001?page=2
458Now_loading...774KB:2008/02/20(水) 09:09:35 ID:tI2MuJEC
>>455

setChildIndexでやるって認識で悪くないんだけど1つ注意点。
setChildIndexは意外と重いから、y座標でソートしてから
1枚のビットマップにdrawしちゃったほうがいいと思う。
459Now_loading...774KB:2008/02/20(水) 21:41:36 ID:dZqDG4Zx
Tweenerを使おうと思ってるんだけど import にどうやったら追加できるのか教えてください.

具体的には

import caurina.transitions.*;ってのが使いたいんだけど

C:\Program Files\Adobe\Flex Builder 2\Flex SDK 2\frameworks\Developer\SDKs\Tweener\caurina\transitions
にソースを展開して

flex-config.xmlに
<source-path>
<path-element>/Developer/SDKs/Tweener</path-element>
</source-path>

って展開したところを付け足しても

F:\editor\fuji\caurina\transitions\Tweener.as: エラー: source-path のファイルには、外部から可視的な定義が必要です。ファイル内の定義が外部から可視的であることを意図している場合は、パッケージ内に定義を配置してください。

ってなってしまうんだぜ。orz

460Now_loading...774KB:2008/02/21(木) 02:09:44 ID:XP1NGMhn
AS2→AS3移行のお奨め書籍ありますかね?
461Now_loading...774KB:2008/02/21(木) 02:29:42 ID:J76TrmfS
livedoc
462Now_loading...774KB:2008/02/21(木) 11:29:22 ID:g4yHtz7F
>>460
っ amazon
463Now_loading...774KB:2008/02/21(木) 16:05:19 ID:CgMbpi7O
464Now_loading...774KB:2008/02/23(土) 10:43:51 ID:rdG9pW+d
先生 addChildで追加したMCへの操作の仕方がわかりません!

//メンバ変数
tg:MovieClip = rootMC.mainMC.charAreaMC;//キャラ表示先ターゲット

//メソッドA内での処理
tg.addChild( charMC );//表示先にキャラMC表示(きちんと表示されてる)

//メソッドB内での処理
trace( tg );//[object MovieClip]と出る
trace( tg.charMC );//undefinedが出る
if ( tg.charMC != null ){//MCが存在してるならplay
tg.charMC.play();//キャラMCにアクセスしてplay()させたい
}
465Now_loading...774KB:2008/02/23(土) 11:06:01 ID:nlhNToke
メソッドAでcharMC見えてるなら普通にcharMC.play()とかでいんじゃねーの
466464:2008/02/23(土) 11:57:38 ID:rdG9pW+d
先生レスどうもでつ!
普通にcharMC.play()でできました  ちなみに他のクラスからアクセスする場合は
どうするんでしょうか?

同じようにメンバ変数にターゲットを設定してtrace( tg.charMC );するとundefinedが出まつorz
addChildをしたクラス内のみでしかアクセスできないのでしょうか?
他のクラスからメインタイムラインからターゲットを設定してではどうすればいいんでしょう
467Now_loading...774KB:2008/02/23(土) 11:59:18 ID:0itrKGlh
>>464
charMCはメソッドAで作成したインスタンスなんだろ?
だったらcharMCへの参照はメソッドAが持ってる
traceの中で見てるのはtgのメンバー変数charMCになるから
その方法で見るならメソッドAでtg.charMC = charMCって参照渡さないといけない
468464:2008/02/23(土) 12:16:35 ID:rdG9pW+d
なるほど… AS2以前のルートからターゲットを伝ってどこからでもアクセスできる
ってのは無理なんですね 精進しまつ 先生どうもでつ
469只今精進中!:2008/02/23(土) 17:31:46 ID:rdG9pW+d
表示コンテナ内に特定のMCが存在するか判定する方法がわかりません!

if ( ??? ){//コンテナ内にcharMCが存在してるなら
tg.removeChild( charMC );//消す
}
インスタンスをnullにして判定する以外の方法を教えて先生
470只今精進中!:2008/02/23(土) 18:12:47 ID:rdG9pW+d
おお!? getChildByNameてのを使ったらエラー無しでいけました!

charMC.name = "tinko";//コンストラクタで名前設定

var target:DisplayObject = tg.getChildByName("tinko");
if ( target != null ){//存在してるなら
tg.removeChild ( charMC );//消す
}

しかしこれ名前を設定するのマンドクサいなあ インスタンスがむちゃたくさんあるのに…
他にいい方法はありませんかね…
471hoge ◆AXUssWRNqk :2008/02/23(土) 18:51:44 ID:+h1ahhb7
>>470

逆に考えるんだ

if( charMC.parent )
charMC.parent.removeChild(charMC);

こうすれば、親が誰でも消したい奴があれば確実に消せる。
472Now_loading...774KB:2008/02/24(日) 23:55:08 ID:BoGKjLTg
3.0を勉強始めたのですが、色々とflashを作らなくてはいけない事情があり
2.0での作業している所です、そこで後々3.0に以降という事を意識した2.0の扱い方なんて方法はありますでしょうか?
やはり3.0はSpriteが中心になる以上、2.0での時の様な手作業でMCやtextfield等を生成配置→その動作用にスクリプトを打つ
といった形を止めて、MC(Sprite)、textfield等の生成配置、トゥイーン等を出来る限りスクリプトで処理をするといた事等でしょうか?
あとはclassでの構築、データ型の指定をしっかり設定していくとか
473Now_loading...774KB:2008/02/25(月) 01:47:05 ID:UtQQfgtD
>>472
AS2で移行を望むのなら、
クラスを使わなければ問題外とまでは言わないが、将来的にはネットや本などの情報源は当たり前のように増えつつある。
クラスで書くのに慣れておいて損はない。意地でもtimeline派というならもうどうでもいいけど。
あと、attachMovieしたやつはMCを消したら参照も消すような手間もかけてみるといい。
初心者なら省略で動く指示子や型もしっかり書いた方がいいはず。
474Now_loading...774KB:2008/02/25(月) 01:50:39 ID:TzJjkrdh
>3.0はSpriteが中心になる
別にそんなことはないと思うけど
処理速度を気にするもの(ゲームとか)ならそうかもしれないけどね

スクリプトから生成~はあくまでスタイルの一つ
そうするとメリットはでかいのは確かだけど、別にそうしないとダメってものでもない
そこらへんは学びながら自分の好みのスタイルを見つけていけばいいと思う
とりあえず、2.0でやってるなら特に意識しなくても移行はスムーズにいくから
そんな気にしなくても大丈夫
475Now_loading...774KB:2008/02/25(月) 07:21:33 ID:hhSGYGUs
使えない奴に限って原理主義みたいな事言うんだよなw
476Now_loading...774KB:2008/02/25(月) 09:56:39 ID:Uf70m8As
>>473-475
レスありがとうございます
まだオブジェクトを手作業で作ったり、スクリプトのタイムライン書きに慣れてる感じですが、
今後を見据えてclassの扱いにももっと慣れて行こうと思います
構築はSpriteのみ等といった考え方はもっとちゃんと3.0扱えるようになってからの方がいいですね

それと>attachMovieしたやつはMCを消したら参照も消す
はどういった方法なのでしょうか?
3.0では
container.addChild(spr);
-----途中処理-----
container.removechild(spr);
spr = null; の様な事ですか?
2.0ではどのような処理なのか・・・上手く掴めません
477Now_loading...774KB:2008/02/25(月) 10:04:36 ID:gyUcZ9ak
removechildは表示リストから除外するだけ
478Now_loading...774KB:2008/02/25(月) 11:08:28 ID:UtQQfgtD
>>476
mc.removeMovieClip();
delete mc;
479Now_loading...774KB:2008/02/25(月) 11:17:14 ID:hhSGYGUs
3.0意識させるならdelete勧めんなよw
480Now_loading...774KB:2008/02/25(月) 11:22:36 ID:hhSGYGUs
って原理主義君じゃないかw しっかりしろよ原理主義者ならww
mc = null な
ダイナミッククラスで全部作る気か?原理主義者なのにwww
481Now_loading...774KB:2008/02/25(月) 12:24:53 ID:SH/EbPuN
>>480
横レスだがあくまで「参照を消す」って観点で書いてんだろ
AS2.0なら普通deleteで消すだろ。

nullにしたら存在判定が「mc == undefined || mc == null )」
に置き換えないといけないからかなりめんどいぞ
あくまで参照を消すって事が大事なだけでnullを使わないといけない事はないと思う
482Now_loading...774KB:2008/02/25(月) 12:47:19 ID:hhSGYGUs
3.0じゃコンパイル通らないんだよ
わかんないなら無理しなくていいよw
483Now_loading...774KB:2008/02/25(月) 13:18:44 ID:gyUcZ9ak
参照を無くすのはnullにすりゃいいんだけど、
そのインスタンスが保持しているアクティブなオブジェクトは生きてるから
それをきちんと非活性化してからnullにするのが正しいやり方

例えばあるクラスでsetIntervalしてた場合そのクラスにnullすれば、
確かにGC対象にはなるが、setIntervalはGCが起こるまで継続して実行される

なので、clearIntervalしてからnullするのがいい

本の引用だけど、nullする前に
当該インスタンスのイベントリスナーの削除
タイマーやsetIntervalの非活性化
タイムラインが実行されてたら、ちゃんとstop()
その他見えなくなるようなものがあるかをチェック
などをやるのがネットワークリソースやCPUパワーの無駄をなくすのに良いそうだ
484Now_loading...774KB:2008/02/25(月) 16:37:54 ID:UtQQfgtD
>>480
そもそも2.0での話をしたまで。
AS2でのdeleteとnullの実行の違いは理解して発言してるわけ?マニュアル人間君
485Now_loading...774KB:2008/02/25(月) 16:49:44 ID:hhSGYGUs
質問してる奴は3.0を見据えた書き方聞いてんのに、なんで3.0でエラーになる
書き方を自慢げに書いちゃってるのかって事だよwww 他に書き方あるのにww
鳥でも3レス離れてねー場所の事忘れねーぞww

しかも
>AS2で移行を望むのなら、
>クラスを使わなければ問題外とまでは言わないが、

あなたですよね?こんな事おっしゃってたのww
それとも3レス離れるとやっぱ駄目かwww
3.0使った事あるんすか?
マニュアル以前の問題なんすけどwwww
486Now_loading...774KB:2008/02/25(月) 16:50:58 ID:hhSGYGUs
ああ、それとご自慢のdeleteとnullの違いは
プロパティを削除するか、プロパティにnullポインタへの参照をかますかの違いですよね先生
だから何って話だけどwww
487Now_loading...774KB:2008/02/25(月) 16:54:34 ID:/+BOaDY/
deleteかnullくらいで喧嘩すんなよ・・・ここはundefined代入だろアホ共
488Now_loading...774KB:2008/02/25(月) 16:56:56 ID:hhSGYGUs
先生以外の人に説明すると、
var hoge;
delete hoge;
これ3.0だとエラーになるわけよ。移行考えてる人は気を付けてな。
489Now_loading...774KB:2008/02/25(月) 16:57:36 ID:hhSGYGUs
>>487
そう。代入するならいいんだよ。deleteはできないんだ。
3.0の常識。
490Now_loading...774KB:2008/02/25(月) 17:03:50 ID:EyzUPbsM
AS1からの移行組みなんだけど うまくゲームが作れなくて困っている
なんというか… 基本的なクラス間のデータのやり取りがうまくいかない

メインクラス: メインタイムラインの操作 グローバル変数管理 全体のメイン処理
自分クラス: プレイヤーが操作するキャラの操作 動作管理
敵クラス: 敵の動作管理
マップクラス: 自分と敵が戦うマップの作成、削除

はじめはメインクラスに他のクラスをnewしてたんだけど クラス間のデータのやり取りが大変すぎる
マップクラスに自分と敵をnewして さらにメインでマップをnewするというツリー構造の方がいいのだろうか
自分、敵、マップの境界線、障害物を判定させる場合はマップクラスで一元管理した方がいいんだよね?
その辺の基本的な構造がわからん… みんなどうしてるの?
491Now_loading...774KB:2008/02/25(月) 17:24:35 ID:GKLMEU5y
>>489
アナルにnullでも挿入してろバカ
492Now_loading...774KB:2008/02/25(月) 17:37:18 ID:/+BOaDY/
いやん汚い言葉。
直ちにdeleteしなさい。
493Now_loading...774KB:2008/02/25(月) 18:55:15 ID:L29HxR1R
>>490
最初のやり方(メインクラス内で全部new)のほうがシンプルで良さそうだけどな。
データのやりとりする時はオブジェクト丸ごと渡してしまえばいいんじゃない?
こんな感じで。
//メインクラス
public class MainClass
{
  var jibun:JibunClass = new JibunClass();
  var teki:TekiClass = new TekiClass();
  var map:MapClass = new MapClass();
  //当たり判定メソッド
  public function hitTest():bool
  {
    //マップと自分の判定
    if (map.mapHitTest(jibun) == true) return true;
    return false;
  }
}
//マップクラス側
public class MapClass
{
  public function mapHitTest(j:JikiClass):bool{
    ……
  }
}
494Now_loading...774KB:2008/02/25(月) 20:43:33 ID:SH/EbPuN
>>482
そっくりそのままお返しするわ
attchMovie前提の2.0でnull使うなんて手間の増加だろ
3.0しか知らないなら喋らないでいいよ
495Now_loading...774KB:2008/02/25(月) 21:12:34 ID:tYjKURMe
ID:hhSGYGUsは多少言い方は乱暴だが
言ってること自体はID:hhSGYGUsの方が100%正しいな
496Now_loading...774KB:2008/02/26(火) 09:48:51 ID:FNUjDV19
2.0しか知らない奴が3.0語る
3.0しか知らない奴が2.0語る
両方知ってる大部分の人はやりとりを笑ってみてるw
497Now_loading...774KB:2008/02/26(火) 11:57:29 ID:sf6f8TZn
勉強になりますた。 特に>>483
498Now_loading...774KB:2008/02/26(火) 12:14:51 ID:8P8psTU+
>>496
俺には2.0と3.0の切り分けができず話してる意味無し討論に感じた
3.0じゃdeleteは使えないとか2.0じゃnullは扱いづらいとか
触りだしたら当たり前に分かる事をさも勘違いしたままだと不味いかのような言い方をしてるのか不思議だ
499Now_loading...774KB:2008/02/26(火) 12:38:56 ID:rRZ+YiRz
3.0への移行を意識するなら2.0でもnullを使うべきだってのと
2.0と3.0の違いを認識するためにも2.0ではdelete使うべきだっていう
ポリシーの違いに見える
500Now_loading...774KB:2008/02/26(火) 12:41:09 ID:gkbTQ+GC
>>472は3.0を意識した書き方を聞いてるんだから
いくら2.0ではベストプラクティスだからといって、3.0で使えないやり方を教えるのはおかしいでしょ
基本的に3.0関連のスレでもあるし、2.0ではどうかなんて争点になってない訳で
それでも頑なに主張するなら3.0ではどうするのかも合わせて教えるべき

あとnullが扱いづらいとか言ってるけど
undefined === null //false
undefined == null //true
なんだから、そんなにめんどいなら mc == null で済ませても問題ないし、
厳密に判定したい・する必要があるなら、そもそもめんどくさがるなって話じゃないの?
501Now_loading...774KB:2008/02/26(火) 12:54:54 ID:1bz7bTJv
上から目線で見たいだけなんだよ。ほっとけ。
分かる奴はちゃんと分かってるから。
502Now_loading...774KB:2008/02/27(水) 17:14:14 ID:rtaCsHSl
AS2と3の話題が出ているので便乗して質問します。
上の階層を参照したいのですが

public class Hoge extends MovieClip {
function Hoge() {
trace(this.parent);
hogehoge()
}
public function hogehoge():void {
trace(this.parent);
}

上記の場合ですと、parentの値はnullが返ってきます。
しかしながら、フレームからhogehoge()を実行した場合にはきちんと値が返ってきます。

//フレーム側の記述
var hoge_mc:MovieClip = new hogeMC();//クラス化したシンボルを生成
addChild(hoge_mc);
hoge_mc.hogehoge();


AS2の場合は同じ値が返って来ると思うのですが、
何故AS3ではこのように返ってくる値が異なるのか理由が解りません。

宜しくお願いします。
503Now_loading...774KB:2008/02/27(水) 17:25:15 ID:IgHSPT9I
addChildしないとコンテナに配置された事にならないからさあ
クラス内で(コンテナを引数で渡して)addChildすれば値が返るお
504Now_loading...774KB:2008/02/27(水) 17:47:55 ID:rtaCsHSl
>>503
ああ、そうか。確かにそうですね。
配置されてないのに上の階層も何も無いですね。

有難うございます。
505Now_loading...774KB:2008/03/01(土) 11:58:06 ID:SmEMMKMN
ちょっとしたエフェクトを作成しています。
半径25~50くらいの白円をSpirteに描画して
それを毎フレーム少しずつ「小さく+透明に」という事で
alpha -= 0.02;
scaleX -= 0.02;
scaleY -= 0.02;
という処理を加えました。
考えた通りのエフェクトはできたのですが、このSpriteが
一点に多く集まると突如ガクガクと処理落ちを起こしてしまいます。
重なった場合は下にある方を高速で透明化する等工夫したのですがあまり改善になっていません。

scaleとalphaは同時に操作すると負荷が大きいとか
透明度を扱う時はこのプロパティを設定するとか
先輩方に改善策をご存知の方はいませんでしょうか?
506アホか氏ね!!!!!!!:2008/03/01(土) 18:03:32 ID:BSUf4hLs
CS3の自動フォーマット作ったヤツぶん殴ってやりてえ…

function なんたら{
   if ( 判定 ) 処理なんたらかんたら;//補足コメント
}
フォーマット後↓
function なんたら{
   if ( 判定 ){
      処理なんたらかんたら;
   //} 補足コメント ←ここでおかしくなる
}

この他にも色々不具合発見したぞ…
// {  ←これにも反応しやがる

エラー出たんなら内容変更すんなよ!!
直せよこの使えねえ自動フォーマット!!
このソフト ユーザーからいくら金取ってんのか自覚してんだろな?
507Now_loading...774KB:2008/03/01(土) 18:05:12 ID:Z/djZl9u
うまくインデントしないこともあるしな
508Now_loading...774KB:2008/03/01(土) 19:26:32 ID:L8i/GqY4
確かに・・
509Now_loading...774KB:2008/03/02(日) 07:29:40 ID:3W+i+eNq
>>505
alpha処理は負荷の高い処理だから、それがいくつも重なると処理落ちになる
alpha使わないでやってみるとよくわかると思う
510Now_loading...774KB:2008/03/02(日) 11:01:06 ID:GwE6DgLk
>>509
解答ありがとうございます。
そうすると「alphaを使わない工夫」というものが必要という事ですね。
スケール調整や背景色との組み合わせでそれっぽく調整してみようと思います。
ありがとうございました。
511Now_loading...774KB:2008/03/12(水) 17:43:21 ID:rZP9WDHo
width・height共に10ずつ加算するように記述しているのですが、
rotationの値を変えると意図したとおり加算されません。

何故このような現象が起こるのか教えて頂けないでしょうか。

var hoge:Sprite = new Sprite()
addChild(hoge)
hoge.graphics.beginFill(0x000000)
hoge.graphics.drawRect(-80, -50, 160, 100)
hoge.graphics.endFill()

hoge.rotation += 90;

this.addEventListener(Event.ENTER_FRAME, hogehoge);
function hogehoge(event:Event):void {
hoge.width += 10;
hoge.height += 10;
}
512Now_loading...774KB:2008/03/13(木) 02:24:43 ID:6yp6Q2SX
>>511
function hogehoge(event:Event):void {
hoge.width += 10;
trace(hoge.scaleX, hoge.scaleY, hoge.width, hoge.height);
hoge.height += 10;
trace(hoge.scaleX, hoge.scaleY, hoge.width, hoge.height);
}

[出力(3フレーム分)]
1.1 1 100 176
1 1.1625 116.2 160

1.262 1 100 201.9
1 1.324375 132.4 160

1.4240000000000002 1 100 227.8
1 1.48625 148.6 160

とりあえずtraceしてみたが、これはいったいどんな風に計算されてるんだ??
513Now_loading...774KB:2008/03/13(木) 12:09:04 ID:xMOdewd9
はじめまして一つご質問があるので書き込みをさせていただきます
ただ今アクションスクリプト3.0 つまりCS3でフラッシュを制作しています


フラッシュの中にメニューボタンとして
他のページにリンクする様に設定しましたが
次のような表記で行うと新しいウィンドウがどうしても開かれてリンク先のページが表示されてしまいます
■■■■■
English.addEventListener(MouseEvent.CLICK,gotoURL1);


function gotoURL1(event:MouseEvent):void{
var theURL1:URLRequest = new URLRequest("http://yahoo.co.jp/");
navigateToURL(theURL1);
}
■■■■■

別のウィンドウが開かれることなく
表示しているページ内で新しいページにジャンプするにはどうしたらよろしいでしょうか?

すみませんがご質問の解答よろしくお願いいたします(ー人ー)
514Now_loading...774KB:2008/03/13(木) 12:28:41 ID:aMuRSGqa
>>513
困った時はまず公式リファレンスを調べるクセをつけると良いですよ
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/

ちなみに質問の答えは↓のnavigateToURL()関数を参照
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/net/package.html
515Now_loading...774KB:2008/03/13(木) 12:32:38 ID:Ey5T6ogp
>>511
rotationによってwidth,heightがどう変化するか試してみればいんじゃね
>>513
とりあえず、敬語の使い方を勉強汁w
navigateToURLの第2引数とかヘルプで見れ
516Now_loading...774KB:2008/03/13(木) 13:57:25 ID:wRwe6t9z
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません

どのタイミングでnullになるのかトレースで追おうとしてもエラーでキャンセルされるし
デバッガだと特定の変数ウォッチできないし… だめだこりゃ 使いづれえ~…
みんなどうやってデバッグしてんの?
517Now_loading...774KB:2008/03/13(木) 14:07:48 ID:Ey5T6ogp
>>516
ちゃんとエラーメッセージ出てるじゃん
ソース100回嫁
518Now_loading...774KB:2008/03/13(木) 14:26:23 ID:ddl/Hg53
>>516
やっぱtraceとデバッガかな。他ないしw
null参照に出くわすのは、イベントがらみが多い感じ。
インスタンス消す時なんかは、きちんと関連イベントをremoveEventListenerして回らないと、
1回だけnull参照が起きるとか結構出くわすよ。
519Now_loading...774KB:2008/03/13(木) 14:31:44 ID:Ey5T6ogp
>>518
>インスタンス消す時なんかは、きちんと関連イベントをremoveEventListenerして回らないと、
それ当たり前なw
520Now_loading...774KB:2008/03/13(木) 14:32:23 ID:ddl/Hg53
>>511
本当だ。なんか変な動きになるね。原因はわからん。

回転とか、サイズ変更とか、移動とかの動きを副作用なくやりたい場合には、
サイズ変更→回転→移動の順番でやるといいそうな。そのコードで言うと、
一旦回転角度を保留しておいて、サイズ変更後に戻すとかかな?

function hogehoge(event:Event):void {
var r:Number = hoge.rotation;
hoge.rotation = 0;
hoge.width += 10;
hoge.height += 10;
hoge.rotation = r;
}
521Now_loading...774KB:2008/03/13(木) 14:44:50 ID:ddl/Hg53
>>516
あと、try..catchでエラートラップして、そこでtraceしてみるとかもやってみるといいよ
522Now_loading...774KB:2008/03/13(木) 14:58:28 ID:aMuRSGqa
>>511
その問題の原因はわからないけど、
一応width,heightは間接的にscaleX,scaleYを変更するようなプロパティだから
↓のようにやれば多分意図した通りの変化にはなると思うよ。

function hogehoge(event:Event):void {
hoge.scaleX += 10 / 160;
hoge.scaleY += 10 / 100;
}
523Now_loading...774KB:2008/03/13(木) 15:07:24 ID:xMOdewd9
524Now_loading...774KB:2008/03/13(木) 15:21:16 ID:xMOdewd9
>>514
ご親切にありがとうございます。
公式リファレンスがあることも知らなかったので
今度からそちらを参考にします。
>>515
解答と敬語のご指摘ありがとうございます。
すいません勉強不足で・・・勉強汁ます
525Now_loading...774KB:2008/03/13(木) 16:07:46 ID:VV7JJd7d
>>520
>>522
有難うございます。
お二人の方法を合わせる形で記述したいと思います。
単に拡大縮小だけならscaleXとscaleYでいいのですが、
回転に表示位置の制限などが絡んでいる為、
scaleだと端数の関係でちょっと問題があったので助かりました。

ちなみにrotationが90の時に下記のように記述すると縦・横共に加算されました。
function hogehoge(event:Event):void {
hoge.width += 10
hoge.width += 10
trace(hoge.width, hoge.height)
}

[出力(3フレーム分)]
110 110
120 120
130 130

理由は全く解りませんが縦と横の概念に何かあるんでしょうね。
526Now_loading...774KB:2008/03/13(木) 16:15:23 ID:Ey5T6ogp
hoge.width += 10
hoge.width += 10
なんじゃそれw
527Now_loading...774KB:2008/03/13(木) 16:47:58 ID:yfSL2wOS
よく勘違いされるけど、MCのwidthとheightは動的に変化するんだぜ?

あるMC_Aの中にMC_Bがあって、MC_Bが横移動したらMC_Aのwidthは本来の
MC_Aのwidthよりも大きくなる。
528Now_loading...774KB:2008/03/14(金) 00:17:08 ID:m2FJDY1w
>>525
Flexだとmatrixとかで
解決しそうな。
529Now_loading...774KB:2008/03/14(金) 02:03:20 ID:Ze0jv45x
widthとheightは角度変換後の結果に対して適応されるから
scaleみたいにローカル座標系で変化させたいなら
一度角度を0にしてからwidthとheightを設定してまた角度を戻すといいよ
530Now_loading...774KB:2008/03/14(金) 17:21:57 ID:rpPwXlWR
質問というか… AS3で変な挙動が起きたので報告に
以下のforで girl.length を指定するとフリーズしましたw
スクリプト制限時間をこえても何も反応無し 型指定の関係なのか?
girlはArray 中身はObject

for (var k :int=1; k<=girl.length; k++) {//CS3自体がフリーズ
//色々処理 
}

var g:int = girl.length;
for (var k :int=1; k<=g; k++) {//一回変数で受けると正常に動作
//色々処理
}
531Now_loading...774KB:2008/03/14(金) 17:51:15 ID:ojysyGOv
いろいろ処理が気になる。配列こわしてるんじゃまいか?
532Now_loading...774KB:2008/03/14(金) 18:00:23 ID:od61SplC
ホントだ。フリーズするわ。

var girl : Array = [new Object()];
for (var k :int=1; k<=girl.length; k++) {
girl.push(new Object());
}
533530:2008/03/14(金) 18:05:29 ID:rpPwXlWR
あー なるほど
処理の中で girl[ 変数 ]=null; てのがありました
原因はこれかな? 申し訳ない…orz
にしてもフリーズしなくてもw
534Now_loading...774KB:2008/03/14(金) 18:21:27 ID:rqxv1rjU
そら無限踏むわな
535Now_loading...774KB:2008/03/14(金) 19:58:40 ID:gyOA95mA
>>532
だ、大丈夫かw
536Now_loading...774KB:2008/03/14(金) 20:32:19 ID:od61SplC
>>533
ちなみに、配列なら変数名は"girls"か"girlList"にした方がいいよ。

そしたら、他の人や自分が後から読んでも、変数名でなんとなく配列っぽいって分かるでしょ。
537Now_loading...774KB:2008/03/14(金) 21:42:37 ID:gyOA95mA
それだったらAdobeが出している命名規則に従った方がいいと思う。
ついでにいうと、xxxx_arrayにしておけばコードヒント出るし。
538Now_loading...774KB:2008/03/15(土) 11:08:11 ID:mmkXeeF2
ナ・ゲーヨ
539Now_loading...774KB:2008/03/15(土) 11:53:42 ID:v3+m7u9P
ちゃんとした変数名をつけておけばバグが減る。

コピペすれば長さなんて関係ない。変数名をコピペせずに打つヤツは
つまんないバグで悩まされる苦労を知るべし。
540Now_loading...774KB:2008/03/15(土) 13:18:19 ID:anbQEIyK
>>539
ていうか、コード補完のついたエディタを使えってことだよね

アドビの出してる命名規則って、ちゃんと統一されてる?
イベントハンドラなんか、onEnterFrameとかある割に
FlexだとXXXHandlerとか使ってたりするよね
541Now_loading...774KB:2008/03/15(土) 17:57:46 ID:Tb52vgEV
onEnterFrameはLingoの名残だろうなぁ
542Now_loading...774KB:2008/03/16(日) 02:44:32 ID:j4W6N6Ge
Flex SDK coding conventions and best practices
http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions

> Don't use the old ActionScript 1 convention of concatenating abbreviated type suffixes such as _mc to indicate type

なんでよ???

こんなんだからAS3は使いたくない。
543Now_loading...774KB:2008/03/16(日) 08:49:59 ID:9oh25etq
>>542
そのコーディング規則って8割がた一見マトモだけど残りの2割がツッコミ所満載だからな
変数宣言は使う直前にしろ(関数の先頭にまとめてはいけない)とか、
3重forループとか2重for-inループしたい時のループ変数名が足りないとか、
switch文の中身の書き方とか・・・
544Now_loading...774KB:2008/03/16(日) 09:31:41 ID:Jr6dp306
変数宣言は使う直前にするってのは、最近の言語では割とポピュラー。
使う場所と宣言する場所が離れてると、かえって読みにくいから。
その代わり、内部的には変数の宣言は、そのfunctionの先頭に自動的に移動してるっていう仕組みがある。
ホイストだったかな?そんな奴。

他は知らん。それで手が止まるとか腹が立つなら好きに書け。
545Now_loading...774KB:2008/03/16(日) 16:06:17 ID:tqBEHBxl
でもJavascriptやASで関数先頭で宣言するのは、ブロック単位のスコープがないからでしょ。
AS3もブロック単位じゃなくて関数単位じゃなかったっけ?
546sage:2008/03/16(日) 23:42:04 ID:Pi69iFVC
as3最高だ。
今Flash買ってきて触ってるけどas2より習得簡単そう。
Processingにそっくりでjavaにも似てる。
俺美大生だけどこれならプログラマーじゃなくても習得できるんじゃないか?
547Now_loading...774KB:2008/03/17(月) 00:57:50 ID:euqglyrg
そうね、それだけの技量があったら.netでWindowsアプリも作れるから
Web業界よりもいい仕事に就けると思うよ。
548Now_loading...774KB:2008/03/17(月) 02:38:00 ID:GzMBPPgu
他の言語だと上には上がいるから
Web業界のほうが、もてはやされていいんじゃない。
549Now_loading...774KB:2008/03/19(水) 00:05:54 ID:/B8AeCR3
>>546

processing使えて、as3できてビジュアルも強ければ、
ウェブならトップレベルの制作会社いけるよ、おめでとう。
550Now_loading...774KB:2008/03/19(水) 00:20:17 ID:ewLg86/L
俺中卒童貞ニートだけどこれならプログラマーじゃなくても習得できるんじゃないか?
551Now_loading...774KB:2008/03/19(水) 00:40:37 ID:foG4wZNY
中卒プログラマ ← めずらしくない
童貞プログラマ ←プログラマの9割が該当
ニートプログラマ ← ニートの定義が間違ってる
552Now_loading...774KB:2008/03/19(水) 01:12:27 ID:ewLg86/L
>>551
実は、在日極右ネオナチ売国奴だけどAS3に自信が持てた。ありがとう。
553Now_loading...774KB:2008/03/19(水) 01:12:53 ID:0e65C5Oj
最近AS2.0から3.0に移りました。CS3で作成しています。
ゼビウスのようなシューティングゲームを作っています。

初期:stageに全てのデータ(Player,PlayerShot,Enemy,EnemyShot等)をaddChild
改良:stageにPlayerStage,PlayerShotStageというように新しいSpriteを作成してaddChild
各データはそこにaddChildで追加

改良によって表示順を制御して敵の弾が敵で見えなくなったりという問題を解決したのですが
結果初期と同じゲーム内容にも関わらず以前より処理落ちしてしまうようになりました
以前:平均25fps(30fpsで再生) 現在:20fps

個人的なイメージとしては各ステージを追加する事によって絵でいうレイヤが増え
毎回5枚(Player,PlayerShot,Enemy,EnemyShot,Field)分描画するようになったから
処理落ちの度合が強くなったのかと予想しました。

改善方法を検索したりゲームサンプルFLAファイル等探してみましたが
目ぼしい改善方法が見つかりません。

描画している量は同じなので何とかできないかと考えているのですが
初心者にありがちな
「stageへのSprite等の追加時」の設定や
描画速度を気にするなら設定した方が良いプロパティ等はありませんでしょうか?
参考サイトだけでも良いので教えて頂きたいです。
よろしくお願いします。
554Now_loading...774KB:2008/03/19(水) 02:10:18 ID:foG4wZNY
プロファイルっぽいものは提供されてないんだっけ?
こういうのはMSの方が開発の歴史が長い分、強いよな。

どこが重いかはプログラムをみてみないことにはわからないけど
FLAをうpする気はないでしょ?
というわけで、まずどこで速度低下が発生しているのか=どこが
最も負荷が高いのかを調べることから始めるのが一般的な手段。
関数単位で関数呼び出しの前と後での時間差を測定する、とかだね。
555Now_loading...774KB:2008/03/19(水) 03:06:44 ID:E1r6mWf+
シューティングゲームだったら負荷のほとんどは当たり判定のような気がする
556Now_loading...774KB:2008/03/19(水) 04:12:48 ID:bVVz80P6
AS3で弾幕シューやってるひとはそこそこいるからそのへん参考にするといいよ
ちゃんとやれば60FPSでもそれなりに動く
処理が重くなるのは、描画>>>当たり判定>インスタンス生成なので、
描画だけでもなんとかすれば30FPSは十分出せるはず

描画処理はBitmapData+copyPixelsを使うと大幅に軽くなる
ついでにBitmapDataを当たり判定にも使うとさらに軽くなる

ただし、copyPixelsなので回転処理とかは使えないから
回転拡大させたいものだけSprite、弾とか単純なものはBitmapDataに描画とするか、
予め回転させたBitmapDataをつくっておくといい

実装例とか
ttp://d.hatena.ne.jp/nemu90kWw/20051103/p1
557Now_loading...774KB:2008/03/19(水) 04:32:45 ID:GXewqEiP
>>553
とりあえず
100fps以上で再生させるとかは試してみた?
もしそれでfpsが改善するのであれば、
そもそも処理落ちが原因じゃないってことになるし。
558Now_loading...774KB:2008/03/19(水) 08:47:21 ID:ZOBoxCmw
基本的に画面描画が一番負荷の高い処理
なので画面上のキャラを一回り小さくするだけでもけっこうサクサク動いたりする
あと、alpha演算とか無意味に使うとそれだけで負荷がけっこう大きい
再描画領域の表示とかしてみてなるべく小さい領域の変更になるようにするのが吉
559553:2008/03/19(水) 12:34:34 ID:0e65C5Oj
たくさんのレスありがとうございます。どの解答も大変参考になります。

>>554
どこが重いかというとやはり描画処理になるのでしょうか
EnterFrameで実行している関数は一つで
その関数内はメイン関数が4つだけ
各関数の前後にgetTimerを置いて時間を取ってみましたが
合計でも10msを超える事はほぼありませんでした。
処理落ちが発生する場所でも同様なので
作成したスクリプト以外?の所が高負荷になるのではないかと思っています。

>>555
自機への当たり判定を消してみましたが、改善しませんでした。
>>554へのレスでもあるように記述部分での高負荷はないと思っています。

>>556
参考サイト拝見させて頂きました。
正直実際に組み込んでみないとわからないのですが
既存のMC生成からBITMAPでの明確な描画にシフトするという認識で大丈夫でしょうか
MCを生成する考えはAS2から変わっていなかったので挑戦してみようと思います。
560553:2008/03/19(水) 12:35:11 ID:0e65C5Oj
続き

>>557
100はゲーム自体がまともに動作しないので60fpsにしてみました。
処理落ちが50%を超えてしまいました。

>>558
単体での整備ですね。
素材レベルではあまり意識してませんでしたがちょっと不要な部分を削ったり
縮小してみようと思います。
alphaは使うとガクガクでゲームにならなかったので触らないポリシーで開発してました。

ひとまず>>556さんのサイトのBMP処理を試してみようと思います。
沢山の解答感謝します。ありがとうございました。
561Now_loading...774KB:2008/03/19(水) 14:18:22 ID:5bx8kCij
背景を透明化せずにパブリッシュされたflashのfpsの設定を、あえて200くらいの高い値にすると、
実際のfpsが65前後で安定するのですが、これは自分の環境だけなんでしょうか?
他の環境の人もそうなのか意見を頂きたいです。

http://swfup.info/view.php/8480.swf
右上のステッパーで10~200の範囲で「fpsの設定(stage.frameRate)」を変更、
右下のfpsが「実際のfps」です。
562Now_loading...774KB:2008/03/20(木) 15:00:39 ID:ZNSC7PVC
>>561
1000以下くらいでは65fpsでほぼ安定してた
563561:2008/03/20(木) 22:58:10 ID:26c6hpY5
>>562
レスありがとうございます!


http://d.hatena.ne.jp/ono36/20071213/p1
↑のブログやそのリンク先で指摘されているような
ブラウザ上で再生するflashの、実際のfpsが遅くなる問題ってのがありますけど、
もしstage.frameRateをわざと高く設定するだけで、多くの環境で安定して60fps前後が出るのであれば
現状、高fpsで再生させる作品(ゲームなど)を公開するときに有益な方法ではないのかな?と思ってるんですが…
564Now_loading...774KB:2008/03/21(金) 01:25:09 ID:sxoh7fZM
やればわかると思うけど、どれだけ高く設定しても限界はある
処理がたくさんあったらできないものはできない
どういう処理してるか知らないけど、たかだか1000個で重くなるようじゃ
高負荷のゲームで安定するわけがない

ちなみに、IEやFFだと65くらいで安定したけど
OperaとかローカルのFlashプレイヤーだと普通に限界突破する(プレイヤーの差)
565Now_loading...774KB:2008/03/22(土) 14:25:32 ID:KU678e+k
糞プログラマばっかだなw
566Now_loading...774KB:2008/03/24(月) 14:14:35 ID:XfGaRNxR
attachMovie が addChild に変ったなら
duplicateMovieClip は何になるの?
同じ絵のMCを複製してたくさん貼りたいんでつ
567Now_loading...774KB:2008/03/24(月) 15:22:20 ID:4eV9Qi+E
>>566
消えたんじゃない?
それにaddChildで問題ないでしょ。
568Now_loading...774KB:2008/03/24(月) 15:34:01 ID:rsUqAB0a
addChildは複製にはならんでしょ。Javaのcloneメソッド的なものがどっかにあると思う
569Now_loading...774KB:2008/03/24(月) 15:40:45 ID:rsUqAB0a
ごめん無いみたい。newするしかないのかな。
570Now_loading...774KB:2008/03/24(月) 16:38:01 ID:XfGaRNxR
レスどうもでつ
インスタンスを配列にし複製してみました みんなもこの手法だよね?
571Now_loading...774KB:2008/04/20(日) 19:56:38 ID:5ln2DVDr
http://www.getbloom.com/

このhaxeをコンパイラに使ってProcessing風のコードを
ActionScriptで実現するプロジェクトキースピーターズの
ブログで紹介されてたよ。
まだまだ機能的には少ないけど、面白い事になってきた。
572Now_loading...774KB:2008/04/20(日) 20:52:29 ID:gOLxrXz7
つまり どういう事ができるん?
573Now_loading...774KB:2008/04/21(月) 14:31:52 ID:Q6lBhv4a
ちょっとききたいんだけど、hogeって名前のパッケージを作ろうとして

<hoge.as>
package hoge{
class fuga{
function fuga(){//コンストラクタ
}
}
}
ってやって、それを同じフォルダのtest.flaで
import hoge.*
myFuga=new fuga();

ってやればいいだろうと思ってそう書いたけど、hogeが見つからないと
エラーになってしまう。
パッケージを読み込むときって、どう記述すればええのん?
574Now_loading...774KB:2008/04/21(月) 14:52:14 ID:qHEB2SJS
同じフォルダは同じパッケージに属してないとダメなんじゃね。
トップレベルの無名パッケージから読み込みたいなら
その下の階層にhogeフォルダを作ってhogeパッケージの中身
おかないと。そんな感じじゃない?
575573:2008/04/21(月) 15:23:40 ID:Q6lBhv4a
>>574
今それやってみて、読み込みはできたんだけど、これって
AS2.0とおんなじだから、package{class{メンバ}}の意味なくね?
パッケージとその中身を、ひとつのasファイルに書くための
方法だと思ったんだけど。
576Now_loading...774KB:2008/04/21(月) 16:27:34 ID:+kdu69Dw
利点がどっかのサイトに書いてたと思うな
577Now_loading...774KB:2008/04/22(火) 00:35:16 ID:mQw92g++
>>575
internal classとか使わないの?
便利なのに。
578Now_loading...774KB:2008/04/22(火) 08:39:59 ID:6pCiMt80
パッケージは名前空間の衝突を防ぐ事が主目的じゃないかな。
579Now_loading...774KB:2008/04/22(火) 20:09:19 ID:MUc1EaHn
質問です。windows版FlashCS3です。

オーサリングで作成した複数のMCに、ひとつのクラスを割り当て(いわゆるリンケージ)ようとしています。
通常の方法ではできないというので、
ttp://f-site.org/articles/2008/01/17053315.html
を参考に、こうしてみました。

・SlideText.as
package myPackage{
import flash.display.*;
import flash.utils.*;
public class SlideText extends MovieClip{
//メンバの記述
}
}

・myMovie.fla
ライブラリ名「moji1」を、クラス名「moji1」、基底クラス名「myPackage.SlideText」
とし、ステージに「moji1_mc」の名称で配置。
以下、「moji5」まで同様に設定、配置する。

これでパブリッシュすると、このようなエラーが出ます

場所:SlideText.as 行1
内容:5000:クラス'myPackage.SlideText'は'flash.display.MovieClip'をサブクラスとする必要があります。同じ型のライブラリシンボルにリンクしているためです。

このエラーが5個出てきます。エラーメッセージが言わんとしていることがさっぱり分かりません。
どなたか対策をご教授お願いします。
580Now_loading...774KB:2008/04/22(火) 22:00:50 ID:ujspvXZM
>>579
パス通ってなんじゃね?
SlideText.asは、myPackageってフォルダの中に保存してる?
581Now_loading...774KB:2008/04/23(水) 00:25:36 ID:ty9Xt/1n
>>578
パッケージの目的はそうだけど、
パッケージ構成と同じようにフォルダを作らなければいけないのは、
Javaの仕様をそのまま踏襲しただけだじゃないかな。

その仕様も昔は意味があったのかもしれないけど、今はあまり意味がないと思う。
582579:2008/04/23(水) 00:39:22 ID:ahTGSbOM
>>580
ライブラリのリンケージパネルで、クラスのチェックマークをクリックしたところ
「クラスを見つけました」的なメッセージは出てくるので、パスは通っていると思われます。
もちろん、myPackageフォルダの中にSlideText.asを配置しています。
583Now_loading...774KB:2008/04/23(水) 01:06:22 ID:QaBYM9AU
>>581
ていうか、クラス名と同じファイル名という制限があるために
同じフォルダに違うパッケージで同じ名前のクラスを置けないわけで、
どうころんでも、完全に自由には配置できないのでは。

それにビルドファイル構成するのにすべてのファイルについて
フルパス書くの面倒だと思う。
584579:2008/04/23(水) 13:00:19 ID:oyq9PHsm
自己解決しました。原因は
「SlideTextクラスのコンストラクタがpublicになっていなかった」
ということでした。

as3はコンストラクタにもいちいちpublic等をつけないとならないのですね。
(しかし、privateのコンストラクタなんてあるんだろうか)
585Now_loading...774KB:2008/04/23(水) 13:15:24 ID:8Fl4XluL
つSingleton
586Now_loading...774KB:2008/04/23(水) 14:31:19 ID:RhjI27CK
>>584
as3のコンストラクタはデフォルトでpublicじゃなかったっけ?
たしかpublic以外にできなかった気がする

だからprivateにしてSingletonにするのも無理だったと思う
587Now_loading...774KB:2008/04/23(水) 14:40:56 ID:oUNQxn9y
CS3/Windowsです。
今まではメインタイムラインのフレーム上にスクリプト書いてたんですが
APIのサンプルなんかはドキュメントクラスを使った例が多いことから
クラスを使った記述に書き換えてみたんですが、階層化したクラスを行ったり来たりする感じの記述で

結果としてタイムライン直書きしてたときよりも処理速度が遅くなってしまいました。
これは記述方法が良くないのでしょうか、それともプログラム規模によっては
そういう事も起こりうるものなのでしょうか・・・
588Now_loading...774KB:2008/04/23(水) 14:55:59 ID:ujGDFkNZ
>>584
privateのコンストラクタあるよ、Mathクラスとか。
staticでアクセスするだけだからだろうね。
589Now_loading...774KB:2008/04/23(水) 15:22:35 ID:RhjI27CK
>>588
ちょっと調べてみたけどやっぱりコンストラクタはpublicだけでprivateはできないみたいだよ
singletonは独自実装しなきゃいけないみたい

ソース
http://www.fumiononaka.com/TechNotes/Flash/FN0609001.html
590Now_loading...774KB:2008/04/23(水) 16:20:33 ID:ujGDFkNZ
>>589
そうだったか、失敬。
何か他の言語とムードンコ。
591Now_loading...774KB:2008/04/23(水) 18:22:58 ID:oyq9PHsm
>>584ですが、別件で詰まってしまった場所がありましたので、
質問させてください。

ビットマップをSpriteに描画し、それにアルファチャンネルのグラデーション塗りを施そうとしています。
(つまり、ビットマップの端をだんだんと透けさせたい)
Spriteに描画するまでは上手くいったのですが、「アルファチャンネルの塗り」を
施す方法がわかりません。

//myLoader:Loaderに、ビットマップ画像をロードしてきた後の処理です
mySprite:Sprite = new Sprite();
var myBitmapData:BitmapData = new BitmapData(myLoader.width, myLoader.height);
myBitmapData.draw(myLoader);
var myBitmap:Bitmap = new Bitmap(myBitmapData);
mySprite.addChild(myBitmap);

このmyBitmap(あるいはmyBitmapData)に、だんだんと透ける(できなければ、だんだんと特定の色にする)
効果を与えたいのですが、どうすればいいでしょうか。

※あらかじめグラデーション塗りのMCを作っておいて、アルファマスクとして使うこともも考えたのですが、
 myLoaderで読み込む画像のサイズが不定なので、あきらめました。
592Now_loading...774KB:2008/04/23(水) 20:51:54 ID:SXKfLjk3
myBitmapDataを直接いじればいいんじゃないの?
同じ大きさのグラデーション塗りBitmapDataを生成してmargeするとか
もっといい方法ある気もするけど。
593Now_loading...774KB:2008/04/23(水) 22:11:05 ID:Hp96hPqF
>>591
Sprite⇒BitmapDataしかやったことないが
createGradientBoxとか
beginGradientFillとかでなんとかならね?
594Now_loading...774KB:2008/04/24(木) 02:09:01 ID:7cyXgkKo
>>591
いうとおり、グラデーションかけたShapeをつかってマスクするのが結局楽かと。
画像の大きさが不定でも、getRect()とかでなんとかなる。
同じSpriteにaddChildして、BlendMode指定でオK
595591:2008/04/24(木) 18:31:41 ID:SVPOxGTW
お答えいただきありがとうございます。

>>592-593の方法でやってもなかなかうまくいかなかったので、
>>594の方法を試してみたところ、なんとかグラデーションマスクが
掛かるようになりました。
(getRectが上手くできなかったので、マスクをかけたいLoaderの
 widthとheightをそのままマスクMCにあてはめ、cacheAsBitmapで
 ビットマップにし、mask属性を与えました)
ありがとうございました。

>グラデーションかけたShapeをつかってマスクするのが結局楽かと。

これはつまり、自前で長方形と塗りを描画するということでしょうか。
私は面倒がってMCに長方形を描いて、それをaddChildしましたが、
Shapeを使うほうが一般的なのでしょうか?
596Now_loading...774KB:2008/05/07(水) 08:38:13 ID:FC1ykx4K
質問です。
Flex Builder3を使ってmxmlアプリケーションを書いています。
traceで文字列をコンソールに出力したいのですが、なぜか出力されてくれません…
どこがおかしいのか教えてください(><)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="onInit()">
<mx:Script>
<![CDATA[
private function onInit():void{
trace("(・∀・)");
}
]]>
</mx:Script>
</mx:Application>
597Now_loading...774KB:2008/05/07(水) 09:40:57 ID:IlH+UcwJ
>>596
デバッグモードで実行してる?
598Now_loading...774KB:2008/05/07(水) 20:46:44 ID:FC1ykx4K
>>597
デバッグモードで実行したら出力されました。
本当にありがとうございました。
599Now_loading...774KB:2008/05/08(木) 00:47:55 ID:R74MY3xc
XMLを読み込んでデータを取り出すクラスの作成を行おうとして、以下を作成しました

--XMLLoad.as-----------------------------------------
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;

public class XMLLoad extends MovieClip {
public var XMLdata:XML;
public function XMLLoad() {
const IMAGE_LIST_XML_URL = "data.xml";
var request:URLRequest = new URLRequest(IMAGE_LIST_XML_URL);
var xmlloader:URLLoader = new URLLoader();
xmlloader.addEventListener(Event.COMPLETE, completeHandler);
xmlloader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
xmlloader.load(request);

function completeHandler(event:Event):void {

XMLdata= new XML(xmlloader.data);
// 読み込んだXMLデータを書き出す
trace("\n 読み込んだXML");
trace(XMLdata);
}
function ioErrorHandler(event:Event):void {
trace("ioErrorHandler: " + event);
}
}
}
}
600Now_loading...774KB:2008/05/08(木) 01:01:17 ID:R74MY3xc
続き
flaの_rootに 下記を記述して、同一フォルダにdata.xmlファイルを置いて
プロパティのドキュメントクラスにXMLLoadを指定してプレビューします

--- _root ------------------------------
var test:XMLLoad = new XMLLoad()
//取り出したXMLデータを書き出す
trace("\n取り出したXML");
trace(test.XMLdata);
--------------------------------------

すると、下記のように出力されるのですが、これは・・・クラスの作り方が悪いのでしょうか?
それとも、読み込んだXMLはcompletehandler内で処理するしかないのでしょうか
(読み込みが終わってから、処理するから?処理順を考えないといけない?)

すいませんが御教授願えませんでしょうか、よろしくお願いします。

------出力結果------------------------
Error: Error #2136: SWF ファイル ・・”swfファイルパス”・・には無効なデータが含まれています。
at XMLLoad/::frame1()
◆読み込んだXML
”ここには読み込んだxmlが表示される”
--------------------------------------
601Now_loading...774KB:2008/05/08(木) 02:27:42 ID:W7Jsr2lT
>>600
data.xmlには何て書いてるの?
602599:2008/05/08(木) 06:21:29 ID:R74MY3xc
data.xmlは以下です
・・と貼り付けようとしたんですが、掲示板だと表示されないようですので

参照したサイト  このページにあるdata.xmlと同様です
ttp://www.project-nya.jp/modules/weblog/details.php?blog_id=405
(もともとxmlを使ってみようかなと、このサイトと同じようなメニューを作ってみようと思ったのが発端です)

600の結果ではエラーを出力したのちに、宣言部<?xml ver・・・ を除いたものが出力されます。

指摘をいただいて、そういえば宣言部があるとAS3はだめとかどっかでみたような?
と、思い消して実行もしてみましたが結果は変わらずでした

よろしくおねがいします
603Now_loading...774KB:2008/05/08(木) 22:01:23 ID:ZE2Ujxdn
>>602
>>プロパティのドキュメントクラスにXMLLoadを指定して
これを外してみて?

あと、_rootの
trace(test.XMLdata);
は、ロードが完了しない内にアクセスしてると思う。
604Now_loading...774KB:2008/05/10(土) 18:57:54 ID:0mbTTmKs
windowsXP、CS3を使用しています
百枚程度の画像を縮小し、xy座標をrandomで指定して画面上に散りばめ、マウスオーバーしたら
setChildIndexのnumChildren-1指定で最善面に来るようにしているのですが
画像の大きさを故意にバラバラに縮小している為、大きめの画像の下に小さく縮小された画像が隠れてしまった時
小さくなった画像のロールオーバーができなってしまいます
これを解消する方法などありませんでしょうか、アドバイス等お願いします
605Now_loading...774KB:2008/05/10(土) 21:16:53 ID:CY5+YrYx
>>604
各画像のMOUSE_OVERイベントじゃなくて
マウスのMOUSE_MOVEイベントで各画像にhitTestPointループさせて判定するのはどう?
606Now_loading...774KB:2008/05/10(土) 22:59:21 ID:LRau4nc+
>> 604:
「大きめの画像」は、ロールオーバーのイベントを受取らなくてよいということですか?それでしたら、そのインスタンスのmouseEnabledプロパティをfalseに設定します。
ttp://www.fumiononaka.com/Sample/F-site/FF071110.html#03
607599:2008/05/11(日) 00:44:57 ID:4yO+ZRQ1
>602
回答ありがとうございます
プロパティのドキュメントクラスのXMLLoadを外したところ、出力結果が以下になりました
(ドキュメントクラスを指定する、しないがあるんですね ありがとうございます
 ttp://www.adobe.com/jp/devnet/flash/quickstart/external_files_as3/

------出力結果------------------------
取り出したXML
null
◆読み込んだXML
”ここには読み込んだxmlが表示される”
--------------------------------------

nullと出てるということはご指摘の通り、ロードが完了しないうちにアクセスしてそうです
試しに、timerを使って3秒後に表示させた場合は意図したとおりに表示されました

・・・結局XMLを読み込んだ判定がいる。
となると結局当初のリスナー内で読み込み判定したあとにXMLを利用するのが本道か?

そもそも、自分のソースの書き方がオブジェクト指向を分かってないような気がしてきました・・
ちょいと考え直そうと思います

ありがとうございました
608599:2008/05/11(日) 00:45:45 ID:4yO+ZRQ1
アンカミス >603 です失礼しました orz
609Now_loading...774KB:2008/05/11(日) 18:42:44 ID:aIm7qcGR
>>605
>>606
返信ありがとうございます
ENTER_FRAMEを指定して、指定先関数で
hitBoolean = 画像スプライト.hitTestPoint(stage.mouseX, stage.mouseY, true);
if(hitBoolean) {
setChildIndexのnumChildren-1処理
}
という形で、隠れていた小さい画像の上にマウスを置いた時、一瞬前に出るようになりました
かなりあやふやな感じで打ってみたので、もっと構造を色々と調べてみます
610Now_loading...774KB:2008/05/17(土) 18:28:24 ID:E6skk/uD
不要なオブジェクトはnullで参照を切るという事ですが
int型などnullを格納できない物なのはどうやって参照を切るのでしょうか?
そもそもプリミティブ値はそういった事は必要ないのですか?
611Now_loading...774KB:2008/05/17(土) 21:08:42 ID:4oxvjGKp
>>610
スコープが小さければ問題ないんじゃない?
612Now_loading...774KB:2008/05/17(土) 23:14:58 ID:374el+U8
クラスの中で用いてるint型などのプリミティブなデータ型は
インスタンスの参照が無くなってガーベジコレクトされる
時に一緒にメモリ上から削除されるから、インスタンスの
参照のようにプログラムの側から参照を切る必要性って
ないんじゃない。
613Now_loading...774KB:2008/05/18(日) 07:09:14 ID:BJuwXLCM
たしか関数脱出時に勝手に削除されるんでしょ。
614610:2008/05/18(日) 18:21:13 ID:Anzodhzb
みなさんありがとうございます
プリミティブ値を含むインスタンスの参照を切れば良いみたいですね
615Now_loading...774KB:2008/05/19(月) 23:44:02 ID:11Q74b6F
nullやremoveChildの使い方なのですが

・クラスの中で
function aaa():void {
for(var i:int=0; i<100; i++) {
var s:Sprite = new Sprite();
s.graphics.beginFill(0x000000);
s.graphics.drawRect(i * 20,0,10,10);
s.graphics.endFill();
container.addChild(s); //containerはコンストラクタの引数からタイムラインのthisを参照
}
bbb();
}
function bbb():void {
あれこれ処理
ccc();
}
function ccc():void {
aaaのSpriteが必要無くなり全部消したい
}

cccでaaaで生成したSpriteを消したい場合です
以前上記と似たような処理をした時は、flashの内容上配置したSprite郡は最後まで表示(放置)だったので
実際今消そうとするとどうすれば良いのかが思いつきません。。。
616Now_loading...774KB:2008/05/19(月) 23:57:46 ID:SUYFfsMq
>>615
それ、CCCで消したら、表示される前に消しちゃうんじゃない。
617615:2008/05/20(火) 00:21:13 ID:c86SWJ1P
>>616
すみません、ちょっと変えてみます
function bbb():void {
あれこれ処理
container.addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(e:MouseEvent):void {
ccc();
}

function ccc():void {
aaaのSpriteが必要無くなり全部消したい
}
こんな場合(マウスクリックした時にaaaの100個のSpriteを全部消したい)です
618Now_loading...774KB:2008/05/20(火) 05:37:28 ID:6+qO90Xx
自分なら
containerに入っているのがsのSpriteだけならcontainer内の子を
全てremoveChildする

containerに他に消したくないのもあるなら、配列にsへの参照を保存
しておいて、cccでremoveChildするかな
619Now_loading...774KB:2008/05/20(火) 08:19:08 ID:kxiQkhd+
removeChildだけじゃ非表示になるだけなんじゃね?
配列で管理するのはいいと思う
620615:2008/05/20(火) 19:27:31 ID:c86SWJ1P
実際に615&617の一部を下記のように修正して打ってみました

function aaa():void {
for(var i:int=0; i<100; i++) {
var s:Sprite = new Sprite();
array[i] = s;
s.graphics.beginFill(0x000000);

function ccc():void {
for(var i:int=0; i<100; i++) {
container.removeChild(array[i]);
array[i] = null;
}
}

これでクリックした所Spriteの表示が消えました、
removeChildとnull渡しも成功?でこれでメモリからも削除という事なんでしょうかね
621Silver:R:2008/05/25(日) 19:20:22 ID:HWVlUG6Y
VBAで基本をちょっとだけ学んでAS 3.0に挑戦しようと
してる俺は無茶な厨房ですかね。
まぁ厨房なわけですがorz...
622Now_loading...774KB:2008/05/25(日) 19:24:32 ID:yCiKA5Mc
>>621
直接ASに入れよ
623Now_loading...774KB:2008/05/25(日) 19:44:14 ID:eTP35ilJ
>>621
VBAなんかやらんでよろしw
624Now_loading...774KB:2008/05/25(日) 22:04:38 ID:N+ywbIxO
どうせやるならC言語がいいよ。
625Now_loading...774KB:2008/05/26(月) 14:53:10 ID:ZmOncFbN
タイムラインループで trace("hoge"); を繰り返し実行させるムービークリップシンボル(MC)を
ステージにaddChildすると、当然"hoge"が延々と出力させるわけですが、
そのあとremoveChild(mc); mc=null;にしても
mcは消えているのにtrace("hoge")が止まりません。何がいけないのでしょう?
626Now_loading...774KB:2008/05/26(月) 15:01:24 ID:gGCeC1PM
>>625

removeChild(mc)としても表示リストから消すだけ
mc=nullとしても参照がなくなるだけ
traceが実行されているムービークリップはガベージコレクタによって回収されるまで存在する

タイムラインループならstop()させるとか
enterFrameならremoveEventListenerとして登録解除させるとかして
ムービークリップの中の実行を止めないといけない
627Now_loading...774KB:2008/05/26(月) 15:12:51 ID:ZmOncFbN
迅速にして的確なご回答、ありがとうございます!
なるほど、stop();しなきゃいけなかったんですね。
どうも基本がわかっていなかったようです。
628Now_loading...774KB:2008/05/29(木) 22:02:22 ID:XV6MUz2f
CS3でAS3を触りはじめたのですが、
ムービープレビュー時のデバッグ->変数のリストアップがバージョン情報以外何も出力されません。
AS2では関数や変数など出力されるみたいなのですが…
何か変わったのでしょうか?
629Now_loading...774KB:2008/05/29(木) 23:32:15 ID:b3/Q+ZqQ
var s1:Sprite = new Sprite();
s1.graphics.beginFill(0x000000);
s1.graphics.drawRect(0, 0, 300, 300);
s1.graphics.endFill();
addChild(s1);
var s2:Sprite = new Sprite();
s2.name = "ss"
s2.graphics.beginFill(0x666666);
s2.graphics.drawRect(0, 0, 180, 180);
s2.graphics.endFill();
s1.addChild(s2);
var s3:Sprite = new Sprite();
s3.name = "sss"
s3.graphics.beginFill(0x999999);
s3.graphics.drawRect(0, 0, 50, 50);
s3.graphics.endFill();
s2.addChild(s3);
こんな多重構造でs1を起点にs3のname"sss"を参照してs3に対して処理する、という事はできませんでしょうか?

s1.getChildByName("ss").getChildByName("sss").visible = false;
このようにしても「説明:未定義である可能性のあるメゾットgetChildByNameを、静的型flash.display:DisplayObjectの参照を使用して呼び出しました」
というエラーが出てしまいます
630Now_loading...774KB:2008/05/29(木) 23:46:40 ID:UlGsFgPL
Spriteにキャストすればおk
631Now_loading...774KB:2008/05/30(金) 00:54:04 ID:bJ+oeW++
>>630
ありがとうございます
ただ
s1.Sprite(getChildByName("ss")).Sprite(getChildByName("sss")).visible = false;
等とやってみたりしてみましたが、似たエラーが出てしまいます
「説明:未定義である可能性のあるメゾットSpriteを、静的型flash.display:Spriteの参照を使用して呼び出しました」
すみません、キャストのやり方が違うのでしょうか
632Now_loading...774KB:2008/05/30(金) 02:08:19 ID:d8XfGeQa
>>631
無理に1行に書かずに一つ一つ書いて試したほうがいいと思うよ。
633Now_loading...774KB:2008/05/30(金) 21:18:05 ID:eRj9+P/X
>>631
試してないけど、キャストの仕方まちがってね?

Sprite(s1.getChildByName("ss")).getChildByName("sss").visible = false;
634Now_loading...774KB:2008/05/30(金) 21:23:25 ID:F8J4uEfn
ゲームを製作中なんですが、画像とMP3ファイルを直に見られないように簡単な偽装をしたいと思っています。
画像に関しては、LoaderクラスにByteArrayから読み込むloadBytesメソッドがあるのでこれを使えばよさそうなんですが、SoundクラスにはByteArrayから読み込むメソッドがありません。
MP3ファイルを偽装するにはどうすればいいでしょうか?
635Now_loading...774KB:2008/05/31(土) 00:20:40 ID:lmiirBK0
ゲーム制作で行き詰っています
画像を沢山使いたいのですがソースが繰り返しで大量になってしまします。

例)
[Embed(source='***001')]
private var ***001:Class;...略(***002~***100)

private var selectImg:Array=new Array(100);

何か良い方法ありませんか?
636Now_loading...774KB:2008/05/31(土) 01:19:38 ID:Nmb0XFcm
遅くなるかもしれんが、getDefinitionByName使うとか。
まあ、ソース大量になるのはあきらめて、自分でスクリプト組むなり自動生成するのがいいと思うよ。
637Now_loading...774KB:2008/05/31(土) 08:29:42 ID:CtHn4GeL
一つのクラスから派生クラスを10コくらい作りたいんだけど
やっぱファイル分けないとダメ?
Java の無名クラスみたいにちょっとだけ多態させたいだけなんだけど
こういう時はダイナミッククラス使えって事かな
638Now_loading...774KB:2008/05/31(土) 12:35:59 ID:lmiirBK0
>>636

調べてみます><
639Now_loading...774KB:2008/05/31(土) 16:58:31 ID:O5QFJYdB
ご教授ください。

ドキュメントクラスに設定したクラスから、

STAGEの幅と高さを取得したいのですが、アクセスできません。

package{
import flash.display.*;

public class aaa extends MovieClip{
function aaa ():void{

var inix:int = this.stage.StageWidth/2;
var iniy:int = this.stage.stageHeight/2;


まだ、表示階層がよく理解できてないようです。。
解決法をご教授ください。

640Now_loading...774KB:2008/05/31(土) 17:19:35 ID:0b8fVaGc
>>639

それでできない?
エラー内容とか教えてくれるとありがたい

>var inix:int = this.stage.StageWidth/2;
stageのsが大文字になってるけどそれは関係ない?
641Now_loading...774KB:2008/05/31(土) 20:48:08 ID:DRA0997y
addChildしてないとstageにアクセスできないのはよくあること
642Now_loading...774KB:2008/05/31(土) 21:36:05 ID:QgWQJ5sL
>>640さん

ありがとうございました!

まさにStageのSが大文字になってました。。超凡ミスです。はい。



643Now_loading...774KB:2008/06/01(日) 18:27:19 ID:9AYxkNTv
System.totalMemoryで表示されるバイト数で、軽い~重いの判断するにはどのくらいの数値を目安にすればいいのでしょうか?
FLASHCS3のみを起動した状態でファイル→新規→Flash3.0ファイルを開き、タイムラインでtrace(System.totalMemory)した結果は 5619712 でした。
今作っているフラッシュの処理の最後止まった所でtrace(System.totalMemory)した結果は 10924032 でした。
これって通常の結果では軽いのか重いのかが・・・一応自分のPC上ではそれほど見た目カクカクしたり等はしていないようですが。
644Now_loading...774KB:2008/06/03(火) 00:58:16 ID:rf5dxUVI
業務系のITから、FLASH業界に転職したいなぁと思ってるのだけど、

この業界って需要とか給料とかどんな感じざましょ??
645Now_loading...774KB:2008/06/03(火) 01:26:00 ID:HW498WYG
冒険と開拓
646Now_loading...774KB:2008/06/03(火) 01:50:13 ID:ymtXlknv
>>644
底辺、やめとけ。上級SEにでも進んだほうがいいよ。
647Now_loading...774KB:2008/06/03(火) 04:14:38 ID:hrFFy1tB
Flash業界なんてものが、そもそも無い。
IT系のサブカテゴリ的存在で、単体で稼ぐのは至難。

センスと、技術と、努力と、忍耐と、コネでも無い限り華やかな舞台には立てないし、薄給で終わるよ。
Flashも使える業務系IT屋なら、多少需要はあるかもだけど。
648Now_loading...774KB:2008/06/03(火) 19:31:11 ID:CZnuMvjQ
「需要も多いし給料もいい。待遇も言うことない」
なんて話は怪しいところ意外では聞かないな。
自分のがんばり次第だよ、どこの業界も
649644:2008/06/03(火) 22:38:19 ID:9OPSRkTD
プログラム好きなのに、滅多にプログラミングさせてもらえないのよ。
たまにPL・SQLとか書かせてもらって楽しい。

ACTIONSCRIPTで食っていけたらなぁと思うけど、
とんがったスキルないと厳しそうね。

中村勇ごととか、かこよすぐる。
あんな仕事にかかわりたい、センスないけど。

とりあえず帰って、チクチク作っていこう。
650Now_loading...774KB:2008/06/04(水) 00:59:39 ID:f81W1JtR
yugopはやばい
651Now_loading...774KB:2008/06/05(木) 04:31:28 ID:iADxX887
yugopはたまたまFlashで有名になっただけで、
あの人のスキルとセンスなら、何でもやってける気がする。
652Now_loading...774KB:2008/06/05(木) 11:02:17 ID:GBlcw6zi
おっと、中村勇ごの悪口はそこまでだ。
653Now_loading...774KB:2008/06/05(木) 16:53:50 ID:NN3Z+Kn1
>652
お前は中村勇のなんなんだ?
654Now_loading...774KB:2008/06/05(木) 20:26:40 ID:NN3Z+Kn1
>>653
ナカムラ イサム になってんぞ。
655Now_loading...774KB:2008/06/05(木) 20:40:54 ID:zhHjmeRA
何という自演
656Now_loading...774KB:2008/06/05(木) 22:24:34 ID:VTRdIcNk
>>654
アイディ オナジ になってんぞ。
657Now_loading...774KB:2008/06/06(金) 00:19:07 ID:Kq2U4mlY
中村勇語は俺の嫁。
658Now_loading...774KB:2008/06/06(金) 21:42:28 ID:FYqI4yqT
デベロッパの狭い価値感から抜けせば蛙男の方が普通にすごいと思うよ
659Now_loading...774KB:2008/06/08(日) 15:35:17 ID:74cgkP5k
なんなんだろうね。最近2chのあちこちにスパムしてる
このなんたらってのは。
660Now_loading...774KB:2008/06/12(木) 13:03:05 ID:1kdaTOML
外部画像を読み込んで、その画像をリサイズして、部分部分を別の転写するといった事をしてみたいのですが
転写した画像の大きさは拡大されておらず、読み込んだ時の元の画像サイズのままで転写されてしまいました
//Event.COMPLETE後
var loadBitmap:Bitmap = Bitmap(loader.content);
loadBitmap.width = 600; //リサイズ
loadBitmap.height = 600; //リサイズ
bmp.bitmapData.copyPixels(loadBitmap.bitmapData, rect, new Point(0, 0));

テストでリサイズ後にloadBitmapからBitmapを生成してaddChildすると、リサイズされた大きさで表示されたのですが
bmp2:Bitmap = new Bitmap(loadBitmap);
addChild(bmp2);
どういった訂正が必要なのでしょうか
661Now_loading...774KB:2008/06/12(木) 13:58:54 ID:R9sHCFPV
ようわからんけどMatrixで倍率計算してdrawすればいいんじゃね?

var matrix:Matrix = new Matrix()
matrix.scale(600/loadBitmap.width, loadBitmap.height)
bmp.bitmapData.draw(loadBitmap.bitmapData,matrix)
662660:2008/06/12(木) 18:03:18 ID:1kdaTOML
>>661
ありがとうございます、自分でも色々調べてみましたが縮小拡大や回転等の操作はdrawでないと無理っぽいですね・・・
draw処理は結構重いという話を聞き、copyPixelsを使用してみましたがまた考えてみます

続けての質問ですみません
自分の想定していた処理が、>>660のように1枚目の画像を読み込み転写して
その後時間を置いて2枚目の画像を読み込み、1枚目を転写したbitmapDataにdispose()でメモリ開放し、2枚目の画像をそのbitmapDataに転写、3枚目の画像を・・・
という流れでやりたかったのですが、2枚目を転写する所でPCがフリーズ寸前のような重さになってしまいます
PV3Dと併用(静止したPlaneの中にあるBitmap.bitmapDataに転写している)のも原因かと思いますが、転写→開放→転写という処理は
これくらい重くなって当然なのでしょうか、それとも的確な処理をすればもっとスムーズな処理ができるものでしょうか?
663Now_loading...774KB:2008/06/12(木) 20:11:30 ID:/SRGZa9P
>>662
>1枚目を転写したbitmapDataにdispose()でメモリ開放し
ここの意味が俺には理解できないが、たぶんdispose()の使い方が間違ってると思う
dispose()削除したら普通に動く?
664660:2008/06/12(木) 21:05:12 ID:1kdaTOML
>>663
すみません、フリーズ並の遅い動作中にエラーがでていました、disposeを指定している行を消してみた所
それ程重くもなく想定した動きができました、ありがとうございます!
ただこの流れで数枚画像を読み込んだ辺りで、やはり処理が重くなってしまいます(先に転写した画像が後に転写した画像の下に重なって表示されています)
この先に転写した画像を消すなどして動作を軽くする方法などはありませんでしょうか
665Now_loading...774KB:2008/06/15(日) 21:17:29 ID:M3e3zO4G
as3のソース公開してるサイトないですか?
ここのas3版みたいなとこ。
http://www.levitated.net/daily/index.html
666Now_loading...774KB:2008/06/16(月) 00:08:20 ID:uEfsHHW/
ググればある
667Now_loading...774KB:2008/06/21(土) 01:15:06 ID:mueZVzoY
助けてくださいませ。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Label x="129" y="193" text="ラベル"/>
<mx:Script>
<![CDATA[
var telll:XML=new XML();
telll=       ★★★
<a>
<b>
<c>a</c>
</b>

</a>
trace(telll.b.c);

]]>
</mx:Script>
</mx:Application>


★行で「未定義のプロパティtelllへのアクセスです」とエラーになります。
一行上で宣言してるのに。。。!!!!
668Now_loading...774KB:2008/06/21(土) 01:24:54 ID:mueZVzoY
すいません、インデントおかしいのでもう一度

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Label x="129" y="193" text="ラベル"/>
<mx:Script>
  <![CDATA[
   var telll:XML=new XML();
   telll=
     <a>
       <b>
         <c>a</c>
       </b>

     </a>
  trace(telll.b.c);

  ] ]>
</mx:Script>
</mx:Applicati
669Now_loading...774KB:2008/06/21(土) 02:07:44 ID:L6ACRwit
あれ、FlexBuilder持ってないからCS3でやったけど普通に通ったよ

あえて言うならセミコロンのつけ忘れ位か
670Now_loading...774KB:2008/06/21(土) 10:00:40 ID:KPoFT/QH
>>669
単純な下のコード
var aaa:String="oo";
trace(aaa);

でも「未定義のプロパティ・・」とか
でるみたいで。。なんかぶっこわれているのかもです。。
再インスコします。

ありがとうございました。
671Now_loading...774KB:2008/06/21(土) 12:14:56 ID:ZVHMBAr4
>>670
ファイルのエンコーディングが間違ってるときも未定義のプロパティ云々って言われたりするので注意。
672Now_loading...774KB:2008/06/22(日) 21:45:26 ID:wQ5YXPSb
3.0でeval関数やセットプロパティ関数みたいに、ストリングを渡してやると、オブジェクトの参照が返ったりオブジェクトを宣言出来る関数かクラスってありますか?
ない場合はどんな感じで作ればいいですか?
673Now_loading...774KB:2008/06/22(日) 22:02:57 ID:1kbDoDYA
>>672

getDefinitionByName ()
674Now_loading...774KB:2008/06/25(水) 13:59:39 ID:jhM59jD5
>>673
遅くなりましたが、試してみました。

それだとclassの名前しか取得出来ないです。

var suji:int=1234;
trace(getDefinitionByName("suji"));

だと、sujiは未定義ですって出力されます。

trace(getDefinitionByName("ar"+"ray"));
だとclass arrayと出力されます。

もう他にはないっぽいですか?
675Now_loading...774KB:2008/06/25(水) 14:08:38 ID:+LzwOZkD
var suji:int=1234;
trace(this["suji"]);

俺は、あまりこういう書き方しないけどね。
配列に入れちゃうかな。
676Now_loading...774KB:2008/06/25(水) 14:52:29 ID:Fu/OHRir
オブジェクトというか、表示リストの子だったら、getChildByNameってのがなかったかな?
あとは>>675さんのように配列アクセス演算子使っちゃうかかな?
677Now_loading...774KB:2008/06/29(日) 15:34:34 ID:YC+bZKQ+
>>675、676
this[]で宣言も出来たんですが、データ型は指定できないですね。

var mc1:MovieClip=new MovieClip();
var mc2:MovieClip=new MovieClip();
var mc3:MovieClip=new MovieClip();

     )
var mc99:MovieClip=new MovieClip();
var mc100:MovieClip=new MovieClip();

見たいな宣言をfor文で効率よくやりたかったんです。
宣言さえしてしまえばあとからアクセスするのは配列で出来るのですけど、
宣言時にもっとスマートに書きたかったんです。

for(i=1;i<=100;i++){
var "mc"+i:MovieClip=new MovieClip();
}

といった感じに。

for(i=1;i<=100;i++){
this["mc"+i]=new MovieClip();
}
一応これで通ったんですけど、なんとも重くなりそうで。
678Now_loading...774KB:2008/06/29(日) 17:41:34 ID:3z543rM5
>>677
ちょっと説明不足だったかもしれないけど、
>>675みたいな一文が出てきたら可読性を上げるために、俺だったら配列にしちゃう、
という事が言いたかった。

つまり、俺だったら、以下のように書く。

var mcs : Array = new Array();
for ( var i : uint = 0; i <= 100; i++) {
mcs[i] = new MovieClip();
}

AS3の配列はデータ型指定できないけど、
使うときに以下のように取り出せば、MovieClip型で使える。

for (var i : unit = 0; i <= 100; i++) {
var mc : MovieClip = mcs[i] as MovieClip;
}
679Now_loading...774KB:2008/06/29(日) 23:06:15 ID:d0ZHUrEN
ばかでもわかる
Flash CS3
ActionScriptの入門書ってないの?

どれも難しそうで...

ちなみに、デザイナーがメインなので、それほど複雑なことはしませんが、
680Now_loading...774KB:2008/06/30(月) 00:01:13 ID:TFg4XozY
>>679
今のところタカヒロウ氏の著書が一番簡単そうだよ。
681Now_loading...774KB:2008/06/30(月) 01:53:43 ID:HNKe+IE7
>>679
来月にデザイナー向け入門書
「Learning ActionScript 3.0: A Beginner's Guide」
の日本語訳本がでるらしいよ
http://www.bk1.jp/product/03019010

全くの初心者やばかにとってわかりやすいかは別として
デザイナー系の初心者なら持ってて損にはならないかもね
682Now_loading...774KB:2008/06/30(月) 09:43:05 ID:SXu9vQT1
エッセンシャルAS3の日本語版はどうなったんだろか
683Now_loading...774KB:2008/06/30(月) 10:48:56 ID:K6XuUVu0
>>682
プログラマなら英語版読め
684Now_loading...774KB:2008/06/30(月) 13:41:17 ID:iTNlqReW
>>677

AS3ならDictionary使おうぜ

var dic = new Dictionary();

for(var i:int=0; i<100; i++)
{
dic["mc"+i]=new MovieClip();
}

trace( dic["mc100"] );

これでOK
685Now_loading...774KB:2008/06/30(月) 15:56:49 ID:K6XuUVu0
>>684
それだったらkeyがString型だから、別にDictionary使う必要ないんじゃね?
686Now_loading...774KB:2008/07/02(水) 12:05:28 ID:zCCxQPp3
わかんねえ! nullでない時処理させるってどーやんの?

if ( ins != null ){//この時点でinsがnullだとエラー出やがる
ins.removeListenerOn();//リスナー削除作業処理
ins = null;
}
687686:2008/07/02(水) 12:21:20 ID:zCCxQPp3
すまん //この時点でinsがnullだとエラー てのは勘違いだった

やりたい事は 現在登録されてるイベントリスナーを全部調べて
一括removeさせたいって事なんだけど なんかいい手はないの?

willTrigger () とかEventDispatcher () とか hasEventListener () を使えばいいのか??
ヘルプのEventDispatcherExample.asイマイチわからん
688Now_loading...774KB:2008/07/02(水) 13:37:41 ID:hdSDsTfL
定義してるremoveListenerOnメソッドに
登録される可能性のあるリスナーの削除を
全部書き下していく方法だと何かまずいことでもあるの?
689Now_loading...774KB:2008/07/04(金) 10:43:33 ID:aFFX4npi
AS2で特定のMCの最後のフレームに↓こう書いて
_parent.gotoAndStop( 1 );
自動的に親MCの1fに戻る処理を AS3でやるにはどうすりゃいいの?

親MCの構造は1~30fくらいまで各子MCがあり 各子MC内のアニメが終了したら
自動的に親MCの1fに戻る という構造でつ

子MCがたくさんあるので1個づつ全部currentFrameで監視するのは大変でつ
何かいい方法はないのかい
690Now_loading...774KB:2008/07/04(金) 11:31:46 ID:PcJ8FktF
>>689
(parent as MovieClip).gotoAndStop(1);
ってことかな?
691Now_loading...774KB:2008/07/04(金) 17:10:07 ID:9uJJAsbN
beginGradientFillでグラデーション塗りをしたシェイプを多数貼り付けたいのですが
大きな一個のグラデーションがあり、それを配置したシェイプがくりぬいているような感じになってしまいます
ちょっと画像にしてみました
http://uploaders.ddo.jp/upload/1mb/src/1up4656.jpg
下の画像のように個々のシェイプの中心を始点にグラデーションを描画というのはできないのでしょうか?
692Now_loading...774KB:2008/07/04(金) 18:11:35 ID:OnadS2UH
できますね
693691:2008/07/04(金) 18:30:21 ID:9uJJAsbN
>>692
beginGradientFill(この中の引数)の調整でできるのでしょうか
すみませんがご教授願えませんでしょうか、お願いします
694Now_loading...774KB:2008/07/04(金) 22:37:00 ID:pUKiWaag
>>693
http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001897.html

これを読んで自力で頑張れ。
他人に書いてもらったコードは、身につかない。
695Now_loading...774KB:2008/07/05(土) 03:31:56 ID:RAg+p3Z1
Actionscript 2.0を独学で学んで少し使えるWebデザイナーです。
時代の流れから、なんとか3.0も勉強していきたいと思いますが「Flexを導入」したほうがいいでしょうか(個人的な意見でも参考になります)
また、「Actionscript3.0関連の本」も読み漁ったほうがいいのでしょうか(2.0の本は誤字が多い気がしました)

現在はEclipseにActionscript2.0用のプラグインを入れて時間がある時に、本やブログを参考に仕事以外で開発(勉強)をしています。
696Now_loading...774KB:2008/07/05(土) 03:44:21 ID:RAg+p3Z1
連投、重複レス、スイマセン
Actionscriptに力を入れるクリエイターはデザインにも常に力を入れていますか?
「インタラクションデザイン」という点ではFlashは可能性の広い素晴らしいアプリだと思いますが、
「人の生活に身近で豊かにするデザイン」という目的で考えると、Actionscriptだけ力を入れていくことに疑問を感じているのです。

697Now_loading...774KB:2008/07/05(土) 08:19:03 ID:N1MFzsXS
釣れるといいな
698Now_loading...774KB:2008/07/05(土) 12:37:52 ID:OFoWeQeX
何が言いたいんだ?
黙って仕事しろ。
699Now_loading...774KB:2008/07/05(土) 13:26:53 ID:/Cqo576L
なんだか良くわからんが、プログラマの仕事はプログラマに任せてデザインに専念しろって言われたよ
700Now_loading...774KB:2008/07/06(日) 12:06:48 ID:opFww43X
私はデザイナーです。
デザインを勉強した方がいいのでしょうか?
デザイナーはデザインに常に力を入れていますか?
デザインだけ力を入れていくことに疑問を感じているのです。
701Now_loading...774KB:2008/07/06(日) 12:45:05 ID:xzS+UXTX
タイポグラファーみたいにデザインに絞らないと到達できない分野もあれば、
フレームワーク作れる人みたいに、コードに絞らないと到達できない分野もある。
yugopみたいに、両方バランスがとれてないと到達できない分野もある。

進みたい方向にあわせて比率を変えればいいんじゃね?
702Now_loading...774KB:2008/07/06(日) 13:54:42 ID:fG9H3r92
デザインセンス云々、プログラムセンス云々覚えるより、ホームページって、実際何をするかを上手に考えれる方が金になるよね…。
703Now_loading...774KB:2008/07/06(日) 13:54:44 ID:jriGfmeg
進みたい方向のほかに重要なものとして、進める方向というのもある。
704Now_loading...774KB:2008/07/06(日) 20:45:09 ID:7TXvDNma
yugoは「インタラクション」であって「デザイナーとしてセンスがあるか」とはまた別次元だと思う
705Now_loading...774KB:2008/07/08(火) 18:32:23 ID:N/dX+0QR
オブジェクトごとセーブするのがわからん 教えて先生
soと hostNamuはコンストラクタで設定
public function dataSave( sData :Object ){//セーブ処理
so = SharedObject.getLocal( hostName );
var obj :Object = so.data;
obj = sData;
so.flush();
so.close();
}
706Now_loading...774KB:2008/07/08(火) 19:10:38 ID:N/dX+0QR
おお 適当にやったら出来たっぽい!
もっとスマートな手法があったら教えて先生
public function dataSave( sData :Object ){//セーブ処理
so = SharedObject.getLocal( hostName );
for ( var i in sData){
so.data[ i ] = sData[ i ];
}
so.flush();
so.close();
}
707Now_loading...774KB:2008/07/09(水) 11:27:11 ID:iMrkQFqk
public function dataSave( sData :Object ){//セーブ処理
so = SharedObject.getLocal( hostName );
so.data = sData;
so.flush();
so.close();
}

でいいんじゃね?
>>705
var obj :Object = so.data;
obj = sData;
が変。
708706:2008/07/09(水) 15:35:19 ID:gKTb9IMG
so.data = sData;
↑これができないから困ってんだ
1059: プロパティは読み取り専用です。 て出るんだ
709Now_loading...774KB:2008/07/09(水) 16:49:22 ID:EohbFdDO
so.data.data = sData;
710Now_loading...774KB:2008/07/11(金) 14:18:18 ID:IoviFMgV
1つのフォルダに数千のテキストファイルが入ってて
そこからURLLoaderであるテキストファイルを読込もうとしています。

1つのフォルダ内のファイル数が多いと
読み込むのに時間がかかるのでしょうか?

ActionScript3の問題ではないかもしれませんが
何かご存知でしたらご教授ください。
711Now_loading...774KB:2008/07/11(金) 14:55:33 ID:1ItmHA5h
>>710
時間かかるよ。
電話かける事を想像してみればいい。ひとつひとつは小さくても、そこまでに繋いだり切ったりする手間が数千回分かかるわけだから。
同じ情報量のテキストを、ひとつのファイルにまとめた物を読み込む処理に比べたら、そこだけで数千倍時間がかかる。
712710:2008/07/11(金) 15:08:27 ID:IoviFMgV
>>711
あー、ごめんなさい!
読み込む必要があるのは数千のうち1つだけの場合なんです。
713Now_loading...774KB:2008/07/11(金) 15:25:23 ID:1ItmHA5h
>>712
お、そうだったのか
サーバ側のディレクトリ情報のデータの持ち方を詳しく知ってるわけじゃないから正確なところは分からんや
Flashに限った事でもなさそうだから、web制作辺りで聞いてみるのがいいんじゃね?
714710:2008/07/11(金) 16:21:19 ID:IoviFMgV
>>713
お手数おかけしました。ありがとうございました。
715Now_loading...774KB:2008/07/25(金) 06:18:48 ID:lfkHTf9n
ひとつの変数に、いろいろな関数を代入して実行したいのですが
何か方法はありますでしょうか?

a = myFunc1;
a(); // 実行

a = myFunc2;
a(); // 実行
716Now_loading...774KB:2008/07/25(金) 06:37:53 ID:8MUagUhH
>>715
それでいいんじゃね?何か問題でも?
717Now_loading...774KB:2008/07/25(金) 09:52:43 ID:EScmzF1o
あ、これでいいのか。
ありがとうございます。
718Now_loading...774KB:2008/07/26(土) 12:18:59 ID:g+aYGL9P
変数に関数が入るとは知らなかった・・・。収穫。
719Now_loading...774KB:2008/07/28(月) 11:16:44 ID:H2uW8Uw8
内部に addEventListener を設定したMCが、
いずれタイムラインから消える場合は
removeEventListener しなくても良いですか?
(対応イベントもMC内の関数)
720Now_loading...774KB:2008/07/28(月) 21:17:24 ID:famK2dYp
>>719
MCを表示リストから消しても、Event処理は実行し続けてるよ
721Now_loading...774KB:2008/07/29(火) 00:14:36 ID:DTHwob5l
>>720
わ、本当だ!
気持ち悪い!
どうも有難うございました。
722Now_loading...774KB:2008/07/30(水) 00:33:35 ID:Ub7vyUTd
みんな日本語でおK?
さっぱりわからん・・・
コンポーネントのTextAreaって外部txtファイル呼び込めないの?
もう田舎に帰りたい・・・
723Now_loading...774KB:2008/07/30(水) 10:13:27 ID:iQEcWVZ1
>>722
はよ帰ってけ。
トマト、食け?
724Now_loading...774KB:2008/07/30(水) 22:33:34 ID:1w5crLoZ
俺・・・彼女が出来たら田舎に帰って結婚するんだ。
そんで花屋とか開いてさ・・・
帰り道の女子高生とかに「こんにちわ~♪」なんて言いながら・・・
子供は3人くらい欲しいかな・・・
725Now_loading...774KB:2008/07/30(水) 23:33:20 ID:lhwu9vv5
>>724
立てちまったな・・・
726Now_loading...774KB:2008/07/31(木) 10:28:46 ID:bpWNcave
みんな疲れてんのな・・・
727Now_loading...774KB:2008/07/31(木) 22:59:10 ID:SbrV6GFc
俺も田舎かえりてぇよ

都会なんか行くんじゃなかった 大学時代のあの子と結婚しとくんだった・・
728Now_loading...774KB:2008/07/31(木) 23:45:40 ID:JuIwkzpd
>>727
君は全く立っていない安心しろ
729Now_loading...774KB:2008/08/01(金) 04:34:55 ID:uJdaQd80
配列に型がないってマジ?
job[JobData.Yuusya].Job("勇者", 300, 100);を
jobYuusya.Job("勇者", 300, 100);とかとやらなきゃいかんのか。
730Now_loading...774KB:2008/08/01(金) 05:07:34 ID:fG+sjuBC
jobって関数はいったいどっからでてきたんだ
731Now_loading...774KB:2008/08/01(金) 10:22:05 ID:uJdaQd80
すまそ、それはユーザー関数(クラス)ね。
多次元配列は使えるみたいだからそれで代用するか。
732Now_loading...774KB:2008/08/01(金) 14:54:20 ID:KSLLEOkz
job[JobData.Yuusya] = new Job("勇者", 300, 100);
こういうことかな?
733Now_loading...774KB:2008/08/01(金) 16:44:46 ID:POKoazwl
http://www.1art.jp/shop/n19.htm
AS3を謎なソフト覚えられるらしいけど、これどうなんでしょう。試してみる人とかいないかな。
734Now_loading...774KB:2008/08/02(土) 05:27:25 ID:3c6QSklB
お前さんはAS3の前にまず日本語を学んでくることをオススメする
735Now_loading...774KB:2008/08/02(土) 18:42:31 ID:OyCkoUHl
>>732
初期化は荒い(Array)書き方だが、配列で直接書き込んでしまう。
アクセスするときは、Job.abi[Job.Yuusya][Job.Hp]とかする。

public static const abi:Array =
[
 ["勇者" , 300, 50, 150, 150, 150, 100],
 ["戦士" , 350, 0, 150, 150, 50, 0],
];

>>733
質素なホームページだな。
スクショも体験版もない?から試しようがない。
736Now_loading...774KB:2008/08/03(日) 00:41:32 ID:kh4P+oKw
>>733
安いし買ってみれば?
というか、Livedocで十分
737Now_loading...774KB:2008/08/03(日) 08:38:25 ID:1Tnm+fz+
>>733
同じサイトの
ttp://www.1art.jp/flash9/
と内容と同じなのかな?
738Now_loading...774KB:2008/08/03(日) 08:38:55 ID:1Tnm+fz+
×内容と
○内容
739Now_loading...774KB:2008/08/03(日) 13:27:33 ID:Tf1D/DVT
>>735
データはクラスのフィールドにしてJob.abi[Job.Yuusya].hpとかで
アクセスできるようにしたほうが効率いいんじゃないかな
740Now_loading...774KB:2008/08/04(月) 01:27:50 ID:L0k8HLNj
>>739
フィールドと、メンバ変数とかの違いがいまだに分からん・・

それとどうやって初期化するん?↓とかは思いつくけど。
private static var job0:JOB_ABI_CLASS;
private static var job1:JOB_ABI_CLASS;
...
public static var job:Array = [job0, job1, ...];

後、能力値の方(2元目)も配列にすると、
for(j = 0; j < JOB_SUU; j++)for(a = 0; a < JOB_ABI_SUU; a++)
とかやって、表示するときやセーブするときなどに使いやすいかなと思った。
741Now_loading...774KB:2008/08/04(月) 04:13:55 ID:rl7rCF0o
>>740
オブジェクト指向をちょっと学ぶか、そのまま独自の道を突っ走ればいいと思うよ。
742Now_loading...774KB:2008/08/04(月) 11:39:19 ID:L0k8HLNj
>>741
AS3は解説サイトみたいなのが少なく、C#も勉強しているがさっぱり。
ゲーム自体は完成させられそうなので、ひとまずは独自の道をつっぱしるか。
743Now_loading...774KB:2008/08/05(火) 13:00:37 ID:rLBqUfi0
>>742
AS3の教本はMaking Things Moveという本の日本語版を買うといいよ。
糞高いけどおすすめ。
744Now_loading...774KB:2008/08/05(火) 13:11:48 ID:MrEpdcAo
俺はJAVAの入門書でオブジェクト指向勉強した。
AS3似てるし本とかネット情報も豊富
745Now_loading...774KB:2008/08/05(火) 21:47:43 ID:nH79XJLV
>>743
「Making Things Move」の続編というか、より高度な内容の
本がアメリカで今年末に出るみたいだよ。
ttp://www.friendsofed.com/book.html?isbn=9781430216087
746Now_loading...774KB:2008/08/08(金) 12:30:57 ID:tz0wz5QH
papervision3Dの質問はどこで受け付けてますか。
FLASH板、Web制作板では見当たらなかったもので…。
747Now_loading...774KB:2008/08/08(金) 12:35:00 ID:HPaUECg/
>>746
ここで受け付けます
748Now_loading...774KB:2008/08/08(金) 13:01:34 ID:tz0wz5QH
>>747
ありがとうございます。
PV3D_1_7での質問です。

private var scene: Scene3D;
private var cube: DisplayObject3D;

上記で
scene.addChild(cube) した際にcube側でADDEDのイベントを発生させたいのですが、
当然のように
import flash.events.*;しただけでは動作しないようです。
このあたりかと思い
import org.papervision3d.events.InteractiveScene3DEvent
も追記しましたがやはりイベントが発生してないようです。

上記について、お助け願います。


749Now_loading...774KB:2008/08/08(金) 13:50:44 ID:0gVXy4Fm
750Now_loading...774KB:2008/08/08(金) 22:42:00 ID:IRvoSCx8
>>749
何がすごいって軽さだよなw
3Dライブラリを自作して使ってるみたい
751Now_loading...774KB:2008/08/08(金) 22:54:26 ID:L6f7p4IN
はいはい、エコだエコだ
752Now_loading...774KB:2008/08/08(金) 23:04:41 ID:Ii2ueEen
>>749-750
それ以上はこちらで。

3D系 FLASH その3
http://pc11.2ch.net/test/read.cgi/swf/1143463345/
753Now_loading...774KB:2008/08/10(日) 19:18:56 ID:JrQ/cQa5
Flex2で、ボタンイベントを作成しております。
これをクリック以外のタイミングで意図的に起動したいのですが。

hButton.addEventListener(MouseEvent.CLICK, oppai);

public function oppai(ev:MouseEvent):void{
trace("おっぱい");
}
ってな具合で、

oppai(new MouseEvent());

とやると「引数の数が正しくありません。正しくは 1 です。」
と怒られちまいます。なんとかおっぱい見たいのですが、
教えて下さい。
754Now_loading...774KB:2008/08/10(日) 19:34:28 ID:hyUFJeOQ
>>753

MouseEvent() が間違い
引数が必要

おれもおっぱい見たいです
755Now_loading...774KB:2008/08/11(月) 03:26:06 ID:2rysZIiS
MouseEventのイベントを直接呼び出したければ
public function oppai(ev:MouseEvent=null):void{
ってやればいいんじゃない?
756753:2008/08/11(月) 10:45:28 ID:nXt/q0lM
>>754-755

御二方ありがとうございました!
どちらのやり方でもおっぱいを拝むことが出来ました。
757Now_loading...774KB:2008/08/13(水) 01:06:14 ID:8O89K7F6
>>360 の続報を探してたんだけど見つからなくて、代わりにこれが見つかったんだけど、
プログラミング言語が全くの素人には良いかな? 原書読んだ人いれば教えてください

初めてのActionScript 3.0 ― ―Flashユーザーのためのステップアップガイド
http://www.oreilly.co.jp/books/9784873113715/
758Now_loading...774KB:2008/08/16(土) 09:27:53 ID:NBN7YRP+
BitmapDataからJPEG画像作成のために変換するJPEGEncoder.asなんて
コードがありますが、これと同じように複数のBitmapDataから
動画ファイルを作成するありがたいコードってどこかにないでしょうか?
動画ファイルの形式はなんでもOK(要はYouTubeにアップしたい)
759Now_loading...774KB:2008/08/16(土) 10:16:03 ID:nS0N/yXA
ねーよそんなもんw
エンコードにどんだけ細かい種類と設定あると思ってんだw
単体のライブラリでどうこうできるもんじゃねーよw
760758:2008/08/16(土) 15:37:08 ID:NBN7YRP+
あ、いや、「どれも」じゃなくて
例えばAVI1つでもいいから作成できんかな、と
761Now_loading...774KB:2008/08/16(土) 15:48:04 ID:hFeGF9f7
無圧縮AVIでいいなら自分で仕様見て作った方がはやいよ
AVIの作り方なんて腐るほど解説がある
762Now_loading...774KB:2008/08/19(火) 03:12:31 ID:gqp6u6F+
ECMA4が標準化から外れた。
MS/Yahooが主導する3.1がメインストリームになり、4の賛同企業だった企業も3.1に向かうっぽい
ECMA4準拠を標榜してきたAS3には激震なニュースな予感なのでage

ttp://weblogs.macromedia.com/akamijo/archives/2008/08/ecmascript_harm.html
763Now_loading...774KB:2008/08/19(火) 04:45:04 ID:wAaqCYQJ
ECMA4なんてさっぱり意識してなかったヘタレだけど 大事そうですね

なんか、シカトされてるようだやだなぁ・・
764Now_loading...774KB:2008/08/19(火) 10:24:08 ID:2DIee3s3
この際、Javaに近づけてくれ
765Now_loading...774KB:2008/08/19(火) 12:58:07 ID:/X504A9m
ECMAとかよく分かってないんだが
独自路線で行くのか、3.1に準拠するかで
大きく変わりそうだな
766Now_loading...774KB:2008/08/19(火) 13:01:13 ID:6lZt+MbE
3.1と4の違いがわからない俺には、痛くもかゆくもないぜ。
767Now_loading...774KB:2008/08/19(火) 13:34:42 ID:Tu77xjM1
誰か3.1と4の違いおせーて
768Now_loading...774KB:2008/08/19(火) 16:02:23 ID:mUrhKZAq
他の言語から入ってくる人に優しいか辛いかの話だろ?
俺的には独自路線でも別に問題ないな。
769Now_loading...774KB:2008/08/19(火) 16:51:35 ID:gqp6u6F+
そのブログで語られているとおり、ECMA4に含まれるはずだった
名前空間(パッケージ)、静的な型宣言、継承などが3.1では無い(もしくは未定)なのよ

Adobeにとっては、AS3のECMA4準拠をベースに、Tamarin
770Now_loading...774KB:2008/08/19(火) 16:54:18 ID:gqp6u6F+
途中で送信しちゃった

Tamarinを流行らせ、さらにはAdobe AIRなどでこの業界のデファクトスタンダードになるつもりが
その最初の一歩であるActionScript 3.0で躓くことになるかもしれないと思う

MSのSilverlight(C#)がECMA3.1準拠で作られているかどうかは知らないけど・・
771Now_loading...774KB:2008/08/19(火) 17:02:09 ID:gqp6u6F+
調べてみたらちゃんと現行のECMA3.0準拠で、3.0からの正当な進化っぽい3.1にはそのまま移行できそうだね>C#
逆に4.0は3.1との互換性が完全に全くなくなりそうだから、ASはこのまま独自路線を突っ走るか、中途半端にECMAに似せるか
まぁ今はAdobeが何かしら発表するのを待つしか無いのかな
772Now_loading...774KB:2008/08/19(火) 17:19:27 ID:gqp6u6F+
JavaScript 2.0はECMAScript 3.1ベースに、ECMAScript 4は譲歩 | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/news/2008/08/18/027/
773Now_loading...774KB:2008/08/19(火) 17:57:35 ID:EwQimXic
http://d.hatena.ne.jp/nitoyon/20080819/freeze_es_harmony

このECMAScript3.1との比較が分かりやすかったよ。
現状のECMA3ベースを僅かに拡張しただけで、
速度よりも互換性が優先されてるみたい。
でも、このぐらいなら言語仕様になくても
ライブラリとか書いて何とかする人出てくるよね多分
774Now_loading...774KB:2008/08/19(火) 20:13:17 ID:zmpIqdOS
>>762のリンク先にも書いてあるけど、これはECMAScript準拠をやめるいい機会でしょう
>private コンストラクタや関数オーバーロード機能の実装など
みたいな、より便利な機能が実装される方がこのまま準拠続けるより遥かにいい
775Now_loading...774KB:2008/08/19(火) 20:34:43 ID:EwQimXic
まあクロージャ使えば現状のECMAScriptでも、
クラスベースの言語に出来るような事は大概できるんだけど
どちらかというと、コンパイラによる最適化やチェックが
きくところがActionScriptのメリットになっていきそうだね
776Now_loading...774KB:2008/08/19(火) 21:04:56 ID:wAaqCYQJ
よく分からんが、CS3買った自分が
涙目になるほどでは無いってことでOKなんでしょうか?
777Now_loading...774KB:2008/08/19(火) 23:04:29 ID:gqp6u6F+
うん今すぐどうこうなる事じゃないよ
でもこれが長期的に見た場合のターニングポイントにはなるだろうね
778Now_loading...774KB:2008/08/19(火) 23:10:42 ID:KXeP3b1W
俺はいやだー!
779Now_loading...774KB:2008/08/19(火) 23:16:16 ID:wAaqCYQJ
>>777
どうもです
namespaceとか使いこなしてない(勉強中)なんで、どうしたものやらw
780Now_loading...774KB:2008/08/27(水) 01:35:07 ID:VYWbW4WU
こらっ、そこの怪しい奴!!
ちょっと事務室まで来い。
781Now_loading...774KB:2008/08/28(木) 00:28:56 ID:AThC+jKr
質問させてください。
Loaderから読み込んだ画像を縮小したくて、Loader.widthで
小さくしようとしているのですが、
Loader.widthを設定(★箇所)すると、画像が見えなくなってしまいます。
★箇所をコメントアウトすると、画像が見えます。
アドバイスよろしくお願いします。


package {
public class test02 extends MovieClip {
public function test02(){
            //Sprite
var sprite:Sprite=new Sprite();
sprite.graphics.lineStyle(2,0x000000);
sprite.graphics.beginFill(0xBBBB);
sprite.graphics.drawRect(80,50,200,300);
sprite.graphics.endFill();
sprite.x=30;


this.addChild(sprite);

            //loader
                var url:URLRequest= new URLRequest("img/image07.jpg");
var Loader01:Loader =new Loader();
Loader01.load(url);
sprite.addChild(Loader01);

★★ Loader01.width=15;  
782Now_loading...774KB:2008/08/28(木) 06:01:48 ID:cV/uMyqI
>>781
読込が終わっていないのかも
読み込み終了のイベント拾ってから処理するのでは
783Now_loading...774KB:2008/08/29(金) 23:29:37 ID:rntiqFXO
>>782san

まさにその通りでした。
ありがとうございました!
784Now_loading...774KB:2008/08/30(土) 12:41:26 ID:e+6fsfrl
var hoge:Object = new Object();
var hoge:Object = new Object();
こう書くと変数名が重複とエラーがでるのに

for (var i:int = 0; i < 10; i++ ){
var hoge:Object = new Object();
}
こう書いたらエラーがでない

なぜなんでしょうか
785Now_loading...774KB:2008/08/30(土) 14:09:48 ID:ge15wlEm
>>784

for文を一回行うごとに宣言してはスコープ範囲外になって消えてるんじゃないか
推測だけど
786Now_loading...774KB:2008/08/30(土) 18:20:12 ID:E6cjdY/e
>>784
AS3では関数中の変数宣言はコンパイル時によって関数の最上位に移動される。

つまり後者は
var hoge:Object;
for (var i:int = 0; i < 10; i++ ){
  hoge = new Object();
}
と同等。よって変数の定義は重複していない。

>>785
AS3にブロックスコープはありません
787Now_loading...774KB:2008/08/31(日) 21:09:54 ID:3LhJ0Cg+
function test():void{
function do():void{
trace("test");
}
}
do(); を呼び出したいのだけど
どうしたらいいんですか?
788Now_loading...774KB:2008/09/01(月) 06:28:01 ID:++d9Jzhb
>>787
おれならこうする

public var function_do:Function;

function test():void{
function_do=do;
function do():void{
trace("test");
}
}

としておけば呼び出したいところからfunction_do();でいけんじゃね?
789Now_loading...774KB:2008/09/01(月) 16:22:43 ID:PrURlSni
>>788
thank you so much!
790Now_loading...774KB:2008/09/01(月) 19:59:40 ID:PrURlSni
var bgm0:Sound = new BGM0();
var channel0:SoundChannel = new SoundChannel;
function SoundPlay(_channel:SoundChannel,bgm:Sound){
_channel = bgm.play();
}
function SoundStop(_channel:SoundChannel):void{
_channel.stop();
}
SoundPlay(channel0,bgm0);
SoundStop(channel0);

とやると、
サウンドがなって、すぐとまるようにしたいのですが、
サウンドがなりっぱなしになってしまいます。。。
どうしてかわかりますか?
791Now_loading...774KB:2008/09/02(火) 02:19:56 ID:gh2ur3XO
>>790

これがなぜか
SoundPlayを呼んだあとでも、channel0は最初にnewした部分を指しているんだな。
SoundPlay内のsoundchannnelオブジェクトとは別物。

だから
function SoundPlay(_channel:SoundChannel,bgm:Sound):SoundChannel{
return bgm.play();
}

と定義してそれをchannel0に代入ってしないと動かないのよ。

なぜかはわからん。

えらいひと教えてください。
792Now_loading...774KB:2008/09/02(火) 21:32:52 ID:+41L8YXa
>>790
処理はフレーム上に書いてる? 同じフレーム内の処理は一気に処理されるから、SoundStopしてもchannel0はオブジェクト化されていないとみなされてるんじゃないかな

例えば10フレーム後にSoundStop(channel0);を書けば有効だと思ふ
フレーム上じゃなくASファイルに処理書いてるんだったらTweenerとかで何秒後にSoundStopする、とか制御すればいんじゃない
793Now_loading...774KB:2008/09/02(火) 22:10:27 ID:gHsCpm3C
>>791
サンクス

>>792
>処理はフレーム上に書いてる?
かいてます。
ボタンから呼び出してもできないんで、
処理の順序の問題じゃないかなと思います。
794Now_loading...774KB:2008/09/03(水) 00:05:33 ID:de4oH6NR
_channelはchannel0の参照を格納しているが変数自身を指しているわけじゃない。
あとは分かるな。
795Now_loading...774KB:2008/09/03(水) 03:15:29 ID:X49I0Hv7
soundchannel1 = new SoundChannel();

soundchannel2 = soundchannel1;

soundchannel2 = sound.play();

結局、soundchannel1は最初にnewしたところをさしていると・・・
796Now_loading...774KB:2008/09/03(水) 14:07:39 ID:Ls/U6nt3
>>795
それはそうですね。

>>794
変数自身を指すにはどうしたらよいですか?

1週間前からAS2からAS3に移行してて全体的に無知でスミマセン。。。
797Now_loading...774KB:2008/09/03(水) 18:11:26 ID:de4oH6NR
>>796
アバウトなコントロールでいいなら、これでいいんじゃない?
参照理解の問題でAS3特有の問題じゃないから分かってないとAS2でもダメなはず。

var bgm0:Sound = new BGM0();
var channels:Dictionary = new Dictionary();

function soundPlay( bgm:Sound ):void {
channels[bgm] = bgm.play();
}

function soundStop( bgm:Sound ):void {
if ( channels[bgm] ) {
channels[bgm].stop();
}
}

soundPlay( bgm0 );
soundStop( bgm0 );
798Now_loading...774KB:2008/09/03(水) 19:06:44 ID:TVgsVYlV
ブラウザにswfを直で表示させた場合、フラッシュが拡大されて(引き伸ばされて)
表示されるのですが、swfは引き伸ばさずに、ブラウザの大きさに合わせて
stage.stageWidth(とstageHeight)を動的に広げる事はできますでしょうか?
799Now_loading...774KB:2008/09/03(水) 19:30:06 ID:Ls/U6nt3
>>797
参照についてちょっくら勉強してきます。
ありがとうございます。
800sage:2008/09/04(木) 05:15:01 ID:xsUB424G
>>798
stage.scaleMode = StageScaleMode.NO_SCALE;
にすればのびないんじゃね?
801Now_loading...774KB:2008/09/04(木) 13:24:28 ID:rdzgV72P
>>800
をををを!なるほど~
ありがとうございます。

ちなみに座標(x,y)を左上(0,0)に固定したままに
することはできないですかね・・・?
802Now_loading...774KB:2008/09/04(木) 17:31:45 ID:xaUu3zhW
stage.align = StageAlign.TOP_LEFT;
にすればできんじゃね?
803Now_loading...774KB:2008/09/05(金) 13:22:26 ID:JJ6BJ8bT
>>802
んふう~ なるほど!
タンキューソーマッチでした。
804Now_loading...774KB:2008/09/09(火) 22:36:36 ID:0Dg9yAF8
var nc:NetConnection = new NetConnection();
var ns:NetStream = new NetStream(nc);
var videoObj : Video = new Video();
addChild(videoObj);
videObj.attachNetStream(ns);
ns.play("test.flv");

function videoClear():void{
ns.close;
nc.close;
nc = null;
ns = null;
removeChild(videoObj);
videoObj = null;
}

videoClear()を呼び出すと消えるんだけど
暫くしてもビデオ分のメモリあがりっぱなしなんですけど。
これってGCされてないん?


805Now_loading...774KB:2008/09/09(火) 22:39:17 ID:Omu1X1w5
System.gc()して比べてみればわかるんじゃね?
806Now_loading...774KB:2008/09/10(水) 02:03:12 ID:7FCJ9BuS
>805
やっても下がらないのだ。
で、どうやったらGCされるのかと?
807Now_loading...774KB:2008/09/10(水) 02:43:18 ID:uNHkqmF5
> ns.close;
> nc.close;

コード見た限りではストリームを close() してないと思うのだが
808Now_loading...774KB:2008/09/10(水) 03:30:35 ID:7FCJ9BuS
> ns.close;
> nc.close;
これじゃクローズされないの?
どうやってやるんすか?
809Now_loading...774KB:2008/09/10(水) 04:57:30 ID:2/ucE1QW
さては他のスクリプト言語出身だな?

ASだとちゃんと最後にカッコを付けないとメソッド呼び出しされないよ
810Now_loading...774KB:2008/09/10(水) 15:05:04 ID:4Q6PZCDX
失敬。でも
ns.close();
nc.close();
にしてもさがらないんだよね。
811Now_loading...774KB:2008/09/10(水) 19:23:13 ID:HAyVvJtk
開放されるタイミングというものがなかったっけ?
任意でメモリを開放したい場合は、
それ専用の命令がたいていあると思うけど
flushとかそんなの、ヘルプにのってないかな
812Now_loading...774KB:2008/09/10(水) 19:54:33 ID:xrn/65Mx
GCのタイミングは、VMまかせだよ。

813Now_loading...774KB:2008/09/10(水) 20:03:56 ID:xrn/65Mx
と思ったら、Javaと違って、System.gc()で強制できるみたい。

ただし、Flex Builder 3限定でデバッグ版とAirのみらしい。

参考URL
http://wakuworks.jugem.jp/?eid=18
http://livedocs.adobe.com/flex/3_jp/langref/flash/system/System.html
814Now_loading...774KB:2008/09/11(木) 00:17:40 ID:U+Pv/aa2
>>みなさんサンクス
GCのタイミングうんぬんは理解した。で、

ns.close();
で ns はガベコレの対象になっている?
なんかナッテナイような気がするんですけど。
どうなんでしょ?
815Now_loading...774KB:2008/09/11(木) 07:31:32 ID:AFtKNKZ9
closeは接続を閉じるだけだら、GCは関係ないよ
816Now_loading...774KB:2008/09/11(木) 15:04:38 ID:AZuVZLN6
どうすれば、ムービーをガベコレできるんすか?
817Now_loading...774KB:2008/09/11(木) 16:18:27 ID:QTcFkPdr
え?ループ?
>>812に戻る?
818Now_loading...774KB:2008/09/11(木) 16:20:19 ID:AZuVZLN6
>>817
ガベコレの対象になるのですか?
ですね。
819Now_loading...774KB:2008/09/12(金) 22:34:42 ID:mJjp95Tp
参照全てなくさないとgcされないよ
ncとnsにnull代入しれ
820Now_loading...774KB:2008/09/12(金) 22:50:40 ID:X0ZrCqtS
ローカル変数にもnull代入しないとGCされないの?
821Now_loading...774KB:2008/09/13(土) 16:37:40 ID:JepMEbg9
ヌルしてんだけど、
GCされないんだよね。
してるのかな。。。

ムービー読み込み前 
totalMemory = 8220000

FLV(29M)読み込み後
totalMemory = 20090000

nc,ns=close, video.clear nc,ns=null, System.gc()しる
totalMemory = 19700000

いくら強制GCしても、時間たってもメモリ減らず。。。

俺だけの現象なのか?コレ?


822Now_loading...774KB:2008/09/13(土) 16:51:51 ID:/VgKY0gQ
video.clearじゃ消えないんじゃないの
videoはnullにしてないの?
823Now_loading...774KB:2008/09/15(月) 21:54:53 ID:8RMmByV9
>>822
video=nullしても変わらない。。。
824Now_loading...774KB:2008/09/24(水) 09:56:38 ID:bdGTpi5y
最近周囲でよく話題に登ってますが、Progression Frameworkのスレって無いですよね?

簡単という触れ込みで触ってみましたが、それはコンポーネント製作の場合で
継承だのオーバーライドだのと無縁でやってた人間にはクラスベース難しいですね・・・勉強にはなりますが
825Now_loading...774KB:2008/09/24(水) 22:38:28 ID:bIMCenp9
>>824
ないですね

Progression気にはなってるがまだ触ってない
826Now_loading...774KB:2008/10/01(水) 17:52:14 ID:t7kKbmo9
ゲームでPキーを押したときにポーズをかけたいのですが
onEnterFrame以外にもTweenerを動的に多様していたりします。

停止・再開を上手く制御できる方法はないでしょうか?
827Now_loading...774KB:2008/10/01(水) 20:03:27 ID:2LQAgb/f
onEnterFrameって何ですか?
スレ違いだろ
828Now_loading...774KB:2008/10/02(木) 11:07:39 ID:iRFGRqeO
>>827
Event.ENTER_FRAME ですすいません
829Now_loading...774KB:2008/10/02(木) 11:31:01 ID:8cak5Nzi
停止・再開を上手く制御できるようにプログラムする。
としか言いようがないな。
830Now_loading...774KB:2008/10/02(木) 12:50:36 ID:zWFinMw+
HTMLタグで、SWFを規定の大きさをデフォルト以外に変えられたときに、
SWFの内容のスケールが変わらないようにしたいのです。

widthとheightを取得して規定サイズとの倍率を計算し、
内容のscaleX scaleYに乗算したのですが、
誤差がでているのかピッタリ合いません。

なにか良い方法はありませんか?
831Now_loading...774KB:2008/10/02(木) 13:14:49 ID:mWQv9VUA
noScaleでいいんじゃね
832Now_loading...774KB:2008/10/02(木) 13:27:07 ID:zWFinMw+
>>831
おお!
上手くいきました!

ありがとうございます!
833Now_loading...774KB:2008/10/03(金) 14:51:47 ID:2fS/YBss
以前のsonyサイトのようなフラッシュのサイトを探しています。
どこかありませんでしょうか。
834Now_loading...774KB:2008/10/07(火) 20:32:26 ID:9u7S25cG
833 のFlashがどんなのだったのか気になる。
835Now_loading...774KB:2008/10/11(土) 00:23:43 ID:ReDMBZx3
僕も探してみます。
836Now_loading...774KB:2008/10/13(月) 09:37:58 ID:Tj3moA1j
KeyboardEventで取得したkeyCodeを使って処理を行っていますが
wmode = opaque の為「↓」キーを押すとブラウザページ画面が下にスクロール
してしまいます。

keyCode取得の処理を行った後、入力を無かったものにするには
どのように記述すればよいでしょうか。
837Now_loading...774KB:2008/10/18(土) 14:24:04 ID:YgDWu7ht
Flex3 + FlashDevelopで開発をしています。

一つのクラス内でしか使わないような
ローカルな構造体を使いたい時は
大人しくObject型を使うしかないのでしょうか?
一つ一つclassで定義していると、
1 fileにつき 1 classの縛りから、
ソースファイルが膨れ上がってしまいます。
838Now_loading...774KB:2008/10/18(土) 16:29:31 ID:lOpvk0AN
>>837
パッケージの外にクラス配置して利用できるよ
//Test.as
package
{
public class Test{
public var unit:Unit;
public function Test():void{unit = new Unit("hoge");}
}
}
class Unit
{
public var name;
function Unit(__name){name=__name;}
}

で、
trace(new Test().unit.name); //hoge
839Now_loading...774KB:2008/10/18(土) 17:43:26 ID:NFygh2jg
>>837
クラス数が増えまくっても怖くないよ
大丈夫だよ
840837:2008/10/18(土) 20:31:58 ID:YgDWu7ht
>>838
おお・・・おお・・・ブラボー!!
バッチリ適用できました。有難う御座います。

>>839
怖かったんです。私、怖かったんです。
841Now_loading...774KB:2008/10/20(月) 19:34:53 ID:ob47wsXc
sdkで音の生成機能を試してるんだが
音系に詳しい人じゃないといいものは作れないな
時報の音ぐらいしか俺には無理だw
842Now_loading...774KB:2008/10/22(水) 00:39:21 ID:4H0nYPWx
airでローカルファイル名のリネーム操作って可能でしょうか??
843Now_loading...774KB:2008/10/22(水) 12:15:11 ID:6lpgwkG7
>>841
普通に微分積分とかの世界だから、3Dとかよりよっぽど難しいとおも
844Now_loading...774KB:2008/10/23(木) 00:02:49 ID:nbPiKM7H
845Now_loading...774KB:2008/10/31(金) 23:00:24 ID:uGFXPvzG
質問です

環境:eclipse(AIR GEARプラグイン)
やりたいこと:AIR(Flex)でTimerを使用する
問題:Timerの引数エラーが発生する
    「Timer.start」が未定義になる

以下コード:
~省略~
var myTimer:Timer = new Timer(1000);
myTimer.start();
~省略~

以上の部分で、
「1000の引数部分は、0個でなけらばならない」
「.startが未定義」
というエラーが発生するんですが、これはバグなんでしょうか?
リファレンスを見てもコーディングは正しいはずなんですが…
846Now_loading...774KB:2008/11/01(土) 00:39:27 ID:DKdJoMSF
Timerクラスを見せてくれないとわからんお
コンストラクタで引数受けてないんじゃないか?
startメソッドはちゃんと定義してるの?
publicでないとだめだお あとstaticにしたらだめ
847Now_loading...774KB:2008/11/04(火) 18:13:02 ID:YE8adiBW
ちょっと教えてもらえないだろうか?

.txtを外部読み込みして 変数に格納する…というモノを作っているんだけど
ローカルでは改行を認識するのに サーバにうpすると認識しないのです
改行の代わりに何かの記号を行の最後に入れとけば回避できるとは思いますが
どうしても入れたくない場合はどうしたらよいのでしょう?
848Now_loading...774KB:2008/11/04(火) 18:32:26 ID:YE8adiBW
すんません自己解決しました

改行のキャラコードが2種類あったのね 10と13
サーバにうpすると13のコードだけ無くなる… なぜかはわからんが
849Now_loading...774KB:2008/11/04(火) 19:47:51 ID:0bIuGzRR
OSがちがうからだお
850Now_loading...774KB:2008/11/04(火) 19:54:59 ID:0bIuGzRR
http://ja.wikipedia.org/wiki/%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89
FFFTPとかだと、自動で変換してくれるからね

*.txtだとASCII転送モードになるので改行コードとかを自動変換しちゃうけど、*.binとかにすればバイナリ転送なので自動変換しないお
851Now_loading...774KB:2008/11/04(火) 20:19:15 ID:YE8adiBW
おお解説㌧です
コード10、13が LFとCRって違いなのかな?
ウチの環境(win)では問題なく動きました 
10と13 両方認識させておけば他のOSの人でも動くのか…?
近いうちにマカーの知り合いにテストしてもらってみます
852Now_loading...774KB:2008/11/05(水) 04:22:44 ID:ev2x0v8I
>>846
ご指摘ありがとうございます

別に作ったらすんなり通ったんで、一応問題は解決したんですが…
何が悪かったか分からず仕舞いなんですがは、忙しいので後で見直してみようと思います

ありがとうございました
853Now_loading...774KB:2008/11/05(水) 07:46:24 ID:J0ODEcmg
>>851
Webサーバーで多く使われてるのが
LinuxやFreeBSDなどのUnixの子孫なので、改行コードはLF(改行、0x0A)
0x0Aってのは16進数の0Aなので10進数に直すと10

手元のマシンがWindowsで、サーバーもWindowsIISの場合の改行コードはCR+LF(復帰+改行、0x0D0A)
十進数でいえば13と10の2バイト連続。

FFFTPなどの近年のFTPクライアントソフトではこの違いをASCIIモード転送では自動変換してくれる
だから毎回その*.txtをバイナリモードで転送するか、FTPクライアントがASCIIモードで自動変換しないように*.binに拡張子を変えてやればいい。
Windows側で*.binをテキストエディタに関連付けすれば、無理に*.txt拡張子を使う必要がない。

あるいは*.txtであっても、改行の代わりに「,」を使うのが一番シンプルかもしれない。

Unixの家系図
http://ja.wikipedia.org/wiki/%E7%94%BB%E5%83%8F:Unix_history.svg
854Now_loading...774KB:2008/11/06(木) 13:20:45 ID:5a1Hrn2y
教えてくれ~い

AS3でのテキストフィールド(入力)に最初からフォーカスをセットしたいんだ
色々調べたんだがわからんす setFocus(); てのを見つけたがコンポーネント用で
どうやら違うらしい 
855Now_loading...774KB:2008/11/06(木) 13:41:18 ID:LQ65MIua
>>854
stage.focus = textField;
かな?
856Now_loading...774KB:2008/11/06(木) 14:06:21 ID:5a1Hrn2y
>>855
ありがとうございます できました!

しかしあのヘルプはひどい シロートには絶対わからん… クソですなw
857Now_loading...774KB:2008/11/06(木) 14:23:33 ID:4bK/B7tE
AS3のヘルプはかなり良くできてると思うけどなあ。
858Now_loading...774KB:2008/11/06(木) 18:22:07 ID:aQ9WZZsg
var flag :DaedFlag = new DeadFlag();

if(この戦いが終わったら...) :void
{
 flag = 激しい戦闘の後、死亡;
}
859Now_loading...774KB:2008/11/07(金) 18:26:45 ID:X0KymxXS
>>858
君は一から学び直した方がいい、あまりにもひどすぎる
860Now_loading...774KB:2008/11/23(日) 22:42:28 ID:6PcOmvzy
なんかXFLとかいうファイル形式になるらしいな
名前からするとXML系かな
861Now_loading...774KB:2008/11/24(月) 22:07:56 ID:tcC+Uad7
もはやCS4いらないんじゃないか?
862Now_loading...774KB:2008/11/26(水) 22:45:16 ID:Z9Ten3vD
カスタムイベントの使い所ってどういった場合特に役立つのでしょうか
自分が勉強不足なのもありますが、明確な具体例のようなものってありませんか?
主にネットで紹介されてる記事ソース等を貰ってきて弄って覚えて来たのですが
ココはカスタムイベントを・・・みたいな使い所感覚みたいのが全然掴めないままです
エロい方どうかご教授下さい
863Now_loading...774KB:2008/11/29(土) 00:54:25 ID:MRfSIDMp
>>862
例えば、複数の画像の読み込みが終わったときとかに使えるんじゃない?
後は、イベントオブジェクトに色んな情報を含めて送りたいときとか

話は変わるけど、設計方法はみんなどうしてるんでしょうか?
MVCとかあるけど、あまりそういう話は出ないし

864Now_loading...774KB:2008/12/04(木) 19:26:00 ID:FHqoRBPY
AS3.0の事というかプログラミングな事なんですが、ナビゲーションのギャラリーページのボタンを押したら
1、Sprite作ってaddChild
2、Loaderで画像読み込んで終わったら1のスプライトにaddChild
3、TextField作って画像の説明表示とaddChildで終わり
こんな流れで、この状態からナビゲーションの他のアバウトページ・アクセスページをクリックしたら
このギャラリーページを表示させなくして1,2,3で作った物をromoveChildとnullで消して、指定先のページを表示。

こんな流れの場合、上記の3の時点まで処理が進んでいれば1,2,3で作った全てを指定して削除作業すれば住むのですが、
例えば1や2の途中で他のページへ移行された場合、Textfieldが無いといったエラーになったりしてしまいます。
こういった推移管理?のセオリーみたいのってあるんでしょうか。

今は一応一つBoolean=false初期値の変数を作って、ナビゲーションのボタンが押されたらBoolean変数にtrueを入れ、
今の処理functionから次の処理functionへ移行する時
if(Boolan) {
 終了処理function( 識別ナンバー )
} else {
 次の処理function()
}
こうして、終了処理functionで識別ナンバーを元にswitchを使って判別して、その時点で存在している筈のLoaderとSpriteを消して、
存在してない筈のtextFieldにはノータッチみたいな方法を取ってますが、全体的に異様にif文が増えたり、なんだか処理の確実性もあまり感じられません。
こういった処理の的確な書き方があれば教えて欲しいです。お願いします。
865Now_loading...774KB:2008/12/04(木) 21:02:43 ID:LdZS1P1N
>>864
削除したいものが既に存在してるかどうか調べながら削除すればいいんじゃね?
ダメかな……
866Now_loading...774KB:2008/12/04(木) 21:17:20 ID:FHqoRBPY
>>865
if(Boolan) {
 終了処理function()
} else {
 次の処理function()
}

終了処理function():void {
if( Sprite != null ) {
 removeChild(sprite);
 sprite = null;
}
if( Loader != null ) { }
if( TextField != null ) { }
}

レスありがとうございます。
上記みたいな感じで終了処理で総当り的に存在してるか調べてという事でしょうかね。
ダラダラとコードが長くならず、他に効率のいいテクニックでもあったりするのかと思っていたので、総当りな方法が通常テクのようで安心しました。
867Now_loading...774KB:2008/12/04(木) 23:31:27 ID:FIgfmUp9
Sprite 継承したギャラリークラスみたいの作れば
removeChild(gallery) するだけで以下まるごと消せるよ
つまりガベコレ頼み
もちろん参照を持つのは gallery の親のみでの話ね

でも自分なら最初から TextField とかを全部作っておいて、
add/removeChild せずに visible を設定して一時的に消すだけにする
あるいは TextField を使い回す

内容によってはメモリ食うかもしれんので
画像とかムービーはその都度完全に破棄してもいいけど
868Now_loading...774KB:2008/12/07(日) 23:58:19 ID:yQu4fZBG
>>866
いや、ギャラリーページから抜ける時に終了処理function()を呼ぶだけでいいんじゃないかと
そうすればbooleanで判定とかなくてすむからスッキリするんでは
869たけし:2008/12/26(金) 10:27:14 ID:qlwGzjuU
AS3.0のif文で、
「もしok_mcが10フレーム以上にある時」という
条件式を作るときは、どのように書けばいいのでしょうか?

例えば「もしxプロパティが10以上にある時」ならば
if (ok_mc.x >=10) {
だと思うのですが、
フレームになるとどう書けばいいか分かりません。

どなたかご存知の方いらっしゃいましたら、
どうかご教授よろしくお願いいたします。
870Now_loading...774KB:2008/12/26(金) 10:39:57 ID:wtBpzbk1
if (ok_mc.totalFrames >= 10)
871Now_loading...774KB:2008/12/26(金) 10:42:59 ID:wtBpzbk1
ああ、よく読んでなかった。
フレーム数じゃなくて、現在フレームか。

if (ok_mc.currentFrame >= 10)
872初心:2008/12/26(金) 10:44:29 ID:qlwGzjuU
>871さん
ありがとうございます!!
早速試して結果報告します!
873初心:2008/12/26(金) 10:49:21 ID:qlwGzjuU
>871さん
できました!感動です!
ありがとうございました!
874Now_loading...774KB:2008/12/26(金) 20:46:04 ID:UxU/ikoz
>>869
たけし!飯食ったか?
875Now_loading...774KB:2009/01/07(水) 12:56:36 ID:IDnaqjMc
あけおま~

AS3で特定のMCから同階層にあるtinkoMCを動かしたいんですが何か方法はないでつか?

(parent.tinkoMC as MovieClip).gotoAndPlay(2);//エラー

//親の階層で名前付ける this.tinkoMC.name = "tinko";
var target: Object = parent.getChildByName("tinko");
target.gotoAndPlay(2);//エラー
876Now_loading...774KB:2009/01/14(水) 23:04:51 ID:4yK4UtX0
>> 875
スクリプトは、クラスに書いていますか?

「同階層のインスタンスを参照する」
ttp://www.fumiononaka.com/TechNotes/Flash/FN0901003.html
877875:2009/01/15(木) 01:48:55 ID:MH+TJHAw
すいません 違う方法で解決しました…

ちなみに スクリプトは子MCのタイムラインに書いてました
そのテクニカルノート見ましたが やはり子から親へさかのぼっての
参照はできないぽいですね
878Now_loading...774KB:2009/01/17(土) 14:01:18 ID:0ICjde9Z
コリン・ムックに”テラ”って言葉を覚えさせたの誰だよ
879Now_loading...774KB:2009/01/24(土) 12:34:17 ID:+6vI8J1S
知り合いからオブジェクト指向で作られたFlashの改良を頼まれてるんだけども、まず解析しなきゃならないんだが…。
そういうファイルを簡単に理解できるようにするツールとかってない?
880Now_loading...774KB:2009/01/24(土) 14:01:15 ID:vQ5KoRI4
多機能エディタぐらいしか思いつかない
AS3ならFlexBuilderじゃだめなの?
881Now_loading...774KB:2009/01/27(火) 01:26:23 ID:HIwz5Rh/
FlashDevelop使っとけ
882Now_loading...774KB:2009/01/27(火) 03:01:15 ID:XnerRQbe
>>878
クスールの松村さんです。
ttp://blog.redhands.jp/article/78761494.html
883Now_loading...774KB:2009/01/27(火) 19:24:30 ID:N847boeW
FlexBuilder3とFlashDevelopを比較して後者のほうが優れていると言う人が多い気がするけど、
値段を考えず機能面や使いやすさだけで見てもやっぱりFlashDevelopの方が優れているんだろうか?

ちなみに2008年頭の情報だけど、中村勇吾(とthaの人たち)はFlexBuilderを使ってたっぽい
今はどうか知らないけれど。
個人の場合と、プロジェクトとして複数で制作する場合でもまた違ってくるんだろうか
884Now_loading...774KB:2009/01/27(火) 22:28:58 ID:bxrBGuAT
>>883

ActionScriptをゴリゴリ書いていくだけならだんぜんFlashDevelopのほうがいい
でもFlexBuilder3にはmxmlのデザイン機能があるしデバッガがある
どっちっていうよりかは使い分けかなー と思う
885883:2009/01/28(水) 22:56:58 ID:JEPAVPED
>>884
レスThx
確かに調べてるときに最初のベースと最後の吐き出し・デバッグをFlexBuilder3で作って
コーディング部分はFlashDevelopって使い方してる人も見かけた覚えがあるなー
総合的に見るとFlexBuilder3で、コーディング特化がFlashDevelopって感じぽいんだね

学生証があればFlexBuilder3も無料で手に入るし、AS3周りはいい環境になったね
886Now_loading...774KB:2009/02/02(月) 01:10:53 ID:Gy7xAnqQ
これ作者おつではないのだが、
flash3.0やるやつはActionScript3.0アニメーションを
買うべきだ。
非常によくできている。
Flashで初めていいやつにであった。
887Now_loading...774KB:2009/02/02(月) 01:25:11 ID:x36pags3
いい本なんですけど高いですよねーあれw
888Now_loading...774KB:2009/02/02(月) 01:52:22 ID:BzHJTDl/
イマドキflash3.0やるやつはいないがな。
889Now_loading...774KB:2009/02/02(月) 12:11:06 ID:mio7H/eZ
詳説ActionScript3.0も高いけど最高やで
890Now_loading...774KB:2009/02/02(月) 14:52:57 ID:/IJwOAW4
ほんまでっかー?
891Now_loading...774KB:2009/02/02(月) 23:25:45 ID:gqUUtt2X
>>889
なに、言うてまんねや。
892886:2009/02/03(火) 00:44:33 ID:AUVhcSxP
ごめんなさい.
AS3.0です。
非常にわかりやすい。
外国人でここまでわかりやすい本は初めて。
おれは買った。確かに高い。たかすぎる。
でも初めてのAS3.0(オライリー)よりはいいと思う。
ほんとに初心者は
AS3.0プロフェショナル→初めてのAS3.0→AS3.0アニメーションで
いいと思う。
Flash Math & Physics Design:ActionScript 3.0による
数学・物理学表現[入門編] (大型本)これも参考にすべきだと思う。
893Now_loading...774KB:2009/02/03(火) 05:06:21 ID:YIG1iMKS
宣伝乙。ついでにマルチ乙。
894Now_loading...774KB:2009/02/03(火) 10:02:45 ID:AUVhcSxP
なんかそう言われるとかなしいです。
895Now_loading...774KB:2009/02/03(火) 12:59:18 ID:MdIdh31H
初めての~とアニメーションは
トピックのカバー範囲が全然違う本な訳で
どちらが良いとか比較できる類のものじゃないだろ
本当に読んで理解して言ってるのか怪しいもんだ
というか本当に読んで理解してるんならflash3.0なんて間違いしないだろうけどな
896Now_loading...774KB:2009/02/03(火) 14:31:47 ID:laATIGLj
929 名前:919だよ[sage] 投稿日:2009/02/03(火) 00:51:09 ID:AUVhcSxP
NO9jMB6Wさんへ
ぜひActionScript3.0アニメーションをかってみてください。
すぐにその問題は解決しますよ。
あと本5冊ってなにを買いました。
もし初心者なら、
AS3.0プロフェショナル→初めてのAS3.0→ActionScript3.0アニメーション
をお勧めします。
自分はこれで覚えました

897Now_loading...774KB:2009/02/03(火) 15:24:46 ID:URmponfF
こんなアホが読んで勧めてる時点で魅力ゼロ
898Now_loading...774KB:2009/02/03(火) 16:06:20 ID:dTTaiCtj
いや、こんなおバカさんでも理解できるほどいい本なんだよw
899Now_loading...774KB:2009/02/03(火) 19:21:49 ID:AUVhcSxP
正直理解はまだまだ程遠い。
みなの言うとおり。
自分で選んで買うべきです。
すいませんでした。
ActionScript3.0アニメーションはpart2まで読んだ。
これからもがんがる
900Now_loading...774KB:2009/02/04(水) 00:25:00 ID:oaTmGDNf
■入門>中級~上級
初めてのAS3>詳説AS3

■数学部分だけに特化した場合の入門>中級~上級
Math&Physics>AS3アニメ

それらの本をもし勧めるならこうじゃないか?
詳説もアニメも最初に買うには全然適してない
901Now_loading...774KB:2009/02/04(水) 04:14:27 ID:t4jV4PCL
flash10で音関連が強化されたけど、その辺りが詳しく書かれてる本ない?
902Now_loading...774KB:2009/02/04(水) 14:46:47 ID:q/wog24G
Math&Physicsは解説が丁寧でいいと思う。
ただ、ウソのタイトルは詐欺に近い。
数学でも物理学でもない。
理系の人間で数学や物理学に興味があるやつは、騙されるな。
あくまで文系人間がカッコつけて理系っぽいことをやりたいというノリ。
903Now_loading...774KB:2009/02/04(水) 18:50:51 ID:oaTmGDNf
>あくまで文系人間がカッコつけて理系っぽいことをやりたいというノリ

著者はいちおう理系の人間っぽいが。
ttp://faculty.tamabi.ac.jp/html/ja/100000202.html

というか文系理系で区別するのもなんか違う気がしない?
904902:2009/02/04(水) 19:10:02 ID:q/wog24G
>>903
理系(特に数学物理学系)の人間の言う「数学・物理学」の意味と
文系の人間が言う意味は全然違う。
内容は理系で言う所の数学物理学ではなくて、
ただ単に重力とか反発とかの運動をアニメーションで表現するためのscript解説。
てか読んでないだろ。
905Now_loading...774KB:2009/02/04(水) 19:21:21 ID:3nW52wUd
自分だけが本質を見抜いてる、周りのやつは分かってない、
って思うと つい説明したくなっちゃうよな
906Now_loading...774KB:2009/02/04(水) 19:42:15 ID:A2G35r+E
Flashで何作る気なのかねその人は
907Now_loading...774KB:2009/02/04(水) 21:01:23 ID:sEFhK8uC
>あくまで文系人間がカッコつけて理系っぽいことやりたいというノリ

別に物理を学ぶ本でもないのに馬鹿にした言い方しなくても


お前が偉いのは分かったからさ



908Now_loading...774KB:2009/02/04(水) 21:30:09 ID:oaTmGDNf
>>904
>理系(特に数学物理学系)の人間の言う「数学・物理学」の意味

馬鹿ですまんが、こっちの具体例をあげてくれない?
もちろん「Flash&ActionScript」を前提とした場合での意味の、ね

909Now_loading...774KB:2009/02/04(水) 22:35:31 ID:8Vbie0/B
もちろんがどこから来たのか気になる
910902:2009/02/04(水) 22:56:16 ID:q/wog24G
>>908
確率変数の分散の可視化とか、
フーリエ解析してローパスフィルター作るとか、
流体力学モデルを使って気象シミュレーター作るとか、、、etc
数学・物理学と謳うなら、せめてそれくらいの内容を期待するけど、
別に新しくもないどこにでもあるアニメーションの作り方が解説されてるだけ。
ただ、そういう内容なのでアニメーション初心者にはバッチリの内容だと思う。
解説もやたら丁寧なのは前述の通り。別に内容にケチをつけるつもりはない。
タイトルだけ見て期待しすぎない方がいいよ、っていう指摘をしてるんだよ。
911Now_loading...774KB:2009/02/04(水) 23:27:25 ID:0MphTJc1
AS3アニメ最高です。
912Now_loading...774KB:2009/02/04(水) 23:32:20 ID:zgV56+xY
>>910
1行目読んだだけで、お前が文系だと分かった。
913902:2009/02/05(木) 00:44:44 ID:WQM/pAIM
>>912
俺は理系の大学出て文系の仕事してるからある意味正解だな。
914Now_loading...774KB:2009/02/05(木) 00:58:25 ID:mw/KipuS
原理を説明せずにやり方だけ書いてるってことじゃないの?
特定の計算をすれば3Dの処理できるけど、どうしてそういう計算でうまくいくのかわからんみたいな
まあ読んでないからその本はどうだか知らんけど
915Now_loading...774KB:2009/02/05(木) 01:42:16 ID:t7/N0scP
確かにタイトル見て中身見たらガッカリするな
ま、オレはタイトルだけ見て買ったりはしないが
916Now_loading...774KB:2009/02/05(木) 02:02:34 ID:t7/N0scP
>>914
それは違うよ
910も書いてるけど、原理からスクリプトに表現されるまでがかなり丁寧に書かれてる
ただ、3Dとか回転とか物理学ではあるけれどニュートン力学の初歩の初歩(高一レベル)だし
9章なんて「惑星の動き」なんて題だから
引力と遠心力が干渉しあうような空間上の複雑な円運動かと思ったら
ビックリするくらい単純な円運動を再現してるだけw(一応空気抵抗っぽいパラメータはあるが)
フィボナッチ数列とか知らない人には何やら難しそうに聞こえるのかもしれないけど、
足し算ができれば作れる数列じゃん
そんな単語を帯にいっぱい書いているあたりがサムいという感覚はわかる気がするw
917Now_loading...774KB:2009/02/05(木) 02:24:21 ID:gAZ9kNiD
>確率変数の分散の可視化とか、
>フーリエ解析してローパスフィルター作るとか、
>流体力学モデルを使って気象シミュレーター作るとか、、、etc

俺はよく知らんけどflash開発者で(理系だろうが文系だろうが)
こんなことの原理や実装を解説してる本を期待してる奴っているのか?
ところで、ニュートン力学って数学でも物理学でも無くて何なんだ?
918Now_loading...774KB:2009/02/05(木) 02:55:02 ID:t7/N0scP
>>917
デザイナーにはほとんどいないだろうね
AS3になってからプログラマーがいっぱい使い出してるだろうから
研究開発用途とか実用系のwebアプリなんかだと、
ブラウザだといままでjava appletくらいしか選択肢がなかった
でも書店に並んでるflash本てデザ向けばっかりなんだな

ニュートン力学は物理学に入るだろうけど、中学か高1レベルだから
「Math&Physics」なんて御大層にいうことではないな
919Now_loading...774KB:2009/02/05(木) 02:57:41 ID:t7/N0scP
さっき気付いたけど「惑星の動き」で空気抵抗ってw
んでご丁寧に惑星にドロップシャドウを付ける方法まで説明されてるww
920Now_loading...774KB:2009/02/05(木) 03:10:41 ID:Fm6rMsAZ
>>917
俺は期待してるデザイナーなんだけど・・・そこまで行くと純粋な物理の本読めばいいやってなる。
それよりエクスメディアの「。fla」みたいな本がもっと出て欲しい。
921Now_loading...774KB:2009/02/05(木) 14:30:38 ID:mqBFRZHH
AS3わかんね(つД`)
もうやだ
ぐだぐだ勉強してる間にもう納品の期限が迫ってる。
自分の低脳ぶりに全俺が泣いた
一人デスマーチ乙
922Now_loading...774KB:2009/02/05(木) 15:15:02 ID:tID+KcKM
どの辺がわからないんだ 言ってみ
923902:2009/02/05(木) 16:08:44 ID:WQM/pAIM
>>918
本の話ではないけど、
ASをバリバリ使いこなしていた今までのデザイン系FLASHERが、
プログラマの大量移入で及び腰になってる気がするな。
個人的には、デザインの領域に少しずつ入り込んできた敏腕プログラマ達より
AS3をマスターしてライブラリなんかを自在に使いこなして
サッサとサービスを形にしていくデザイナの方がFLASH的には強いと思う。
ライブラリはどっかの優秀プログラマさんに作らせりゃいい、てなくらいの意識で。
つまり、このスレにいるようなやつらは
もっと自信を持ってこれまで培ったスキルとか経験を活かしていってもいいと思うよ。
924Now_loading...774KB:2009/02/05(木) 16:15:04 ID:CIRnxTlo
>>921
つ [ 標準 ActionScript3.0入門 ]

今読み進めてる参考書だけどかなりおすすめ。
文法レベルの話をとにかく丁寧に書いてるので
エセ知識じゃなくてしっかりとした3.0の書き方が理解できる。

Flash5時代にあった書籍『ActionScriptバイブル』と同じ匂いを感じた。
925Now_loading...774KB:2009/02/05(木) 16:38:22 ID:mqBFRZHH
>>922
ボタンに直接書いてたのも駄目になったりで、今までの誤魔化しが利かなくなった
アニメーション的な動きは作れてもデータ引っ張ってきたりとかわからなくて
本見て見よう見まねでASいじってみても同じ変数名が…とかエラーばっかりでて
何となくこう書けばいいとかいう流れは予想できても
全然書けなくて悔しい(つД`)

>>924
型とか文法とか、もっと基本的なところから
勉強しないと駄目だな…とちょうど思っていた。
多分俺プログラミング向いてないけど。
一生懸命勉強してたらちゃんと使えるようになるかな…。
読んでみる、教えてくれてありがとう。
926Now_loading...774KB:2009/02/05(木) 19:22:15 ID:7UyPPXDm
>>916
> 9章なんて「惑星の動き」なんて題だから
確かにアレは酷かったね。タイトル詐欺だと思ったよ。
927Now_loading...774KB:2009/02/05(木) 21:59:39 ID:hPRBao0h
>>925
AS2しかやった事無い俺でも使えるようになったんだからできるよ
まずは色々といじりたい気持ちを抑えて
当時は書籍も揃ってなかったから、リファレンスを繰り返し読んだりして
基礎を徹底的に叩き込んだ

基礎を疎かにしてたら、途中で嫌になって辞めてたと思うし
ある程度理解出来てくると面白くなるよ
手間は掛かるかも知れないけどAS2よりコード書いてて面白い
928Now_loading...774KB:2009/02/05(木) 22:47:10 ID:cWdzeixB
標準 ActionScript3.0入門は2冊でてるけど
両方買った方がいい?
929924:2009/02/05(木) 23:40:39 ID:t1plIzbl
>>928
あー、そっちじゃなくてこっち。
http://www.amazon.co.jp/%E6%A8%99%E6%BA%96ActionScript-3-0%E5%85%A5%E9%96%80-%E5%90%89%E5%B2%A1-%E6%A2%85/dp/479734525X
ちなみにCS4もほぼ完全対応。
930Now_loading...774KB:2009/02/06(金) 00:12:44 ID:sT+nODyN
AS3.0の本でCS4対応だと何が違うの?
931Now_loading...774KB:2009/02/06(金) 00:31:08 ID:nT8Zv8Du
>>930
CS4(Player10)から新しく増えたクラスに関して補足的に言及がある。
(型指定できる配列のVectorクラスとか)

あとはページ内のスクリーンショットがCS4準拠とか、そんなもんかな。
932Now_loading...774KB:2009/02/06(金) 05:38:18 ID:nD2oiAsN
さっきまで一生懸命本とかWebのソースこぴって
ずっとやろうと思ってた複雑な処理
実行したら上手くいって
MCの数増やそうといじってたら予期せぬエラーとかでいきなり固まって
保存しそびれてて
書き直しても上手くいかなくて
ぼろぼろ泣いてます
もういやだ…
933Now_loading...774KB:2009/02/06(金) 06:09:05 ID:nD2oiAsN
あ、うごいた… よかった…(つД`。)
934Now_loading...774KB:2009/02/06(金) 08:08:24 ID:cXAOx8Ty
煽る訳じゃないが、
動いて良かったレベルの人とは、一緒に仕事したくないわ。

思ったとおりに動かすのは当たり前。
いかにメンテナンス性や拡張性を維持してコーディングするかが腕の見せ所。
935Now_loading...774KB:2009/02/06(金) 08:35:10 ID:nD2oiAsN
>>934
俺も綺麗なソースをさくさく書けるようなりたいけど…
勉強しつつ試行錯誤でやっと動かせてるレベルだ

934みたいな人がもしいたら、
俺なんかがいきなりスクリプト
書かなきゃいけないような羽目にはならなかったんだろうな。
申し訳ないやら理不尽やら。
936Now_loading...774KB:2009/02/06(金) 11:59:16 ID:cXAOx8Ty
>>935
コーディングは、学習に掛けた時間に比例して上達する分野なので、
がんばってください。
937Now_loading...774KB:2009/02/06(金) 17:02:36 ID:Jh4fMRBu
>>936
お前もがんばれや
938Now_loading...774KB:2009/02/06(金) 22:30:21 ID:Aml8YQz4
本やWebのサンプルソースは、理解を深めるためのテストコードであって、
大抵そのままの形で自分のプロジェクトに組み込むことはできないよ。
それを実用するには、その内容一行一行を咀嚼して自分の血肉にせにゃならない。

そういう訳で、他所のソースをコピペっていうのは、ある意味死亡フラグ。
(上手いことコピペを使う方法っていうのも無くはないけれど。でもやっぱり内容を理解してないと危険)

(中略) 結論、「テストコードを沢山書こう。」
939Now_loading...774KB:2009/02/07(土) 21:05:08 ID:C/HhWOOs
煽りじゃなくてマジ質問だけど、
AS3でしか実現できない場合以外、AS2でやった方が早くてわかりやすいんじゃないの?
あと、作りながらアイデアを拡張していくっていう作り方はAS2の方が向いてると思うんだけど。
小さいプロトタイプを速攻で作って(数分~数十分で)試して本体に実装していったり、
ちょっとした修正とか、どこをいじるのかステージ上の方がわかりやすくない?
940Now_loading...774KB:2009/02/07(土) 21:27:08 ID:0QjOkzUA
AS2に慣れきったデザイナー脳はどうだかしらんが、
プログラムにある程度慣れた人ならAS3のほうがわかりやすくいじりやすい
941Now_loading...774KB:2009/02/07(土) 22:37:40 ID:7q7R2Ttj
慣れればAS3でも小さいプロトタイプを速攻で作れる
942Now_loading...774KB:2009/02/07(土) 23:48:47 ID:C/HhWOOs
作るものによるのかな?
ここ半年ほどAS3ばっかりでやってきたけど、
AS2の時はちょっと作ってすぐプレビューして、
そこでもっといいアイデアとか出た時にすぐに仕様変えてまたプレビューして・・
てな感じでオーサリングツールというよりインスピレーションツールな面があったけど、
AS3だとある程度組み上げないとプレビューできないし、
組み上げちゃったら仕様変えるのが億劫になってアイデア実装より
とりあえず安定した実装優先、みたいな気になるんだよな。それはそれでいいことなんだろうけど。
AS2もAS3も両方使える人、どうですか?
943Now_loading...774KB:2009/02/07(土) 23:57:37 ID:9KVY/TP+
いい加減うっとおしいんだが
おまえはAS2がお気に入りなんだろ? それでいいだろが
944Now_loading...774KB:2009/02/07(土) 23:59:02 ID:8fZKLB1B
AS1.0が最もストレートに開発できるよ!
945Now_loading...774KB:2009/02/08(日) 00:19:20 ID:QoHMqgae
インターフェースデザインを考える場合
デザイナが初めにタイムラインベースでざっくり色々と作って
各所からokが出た後、
プログラマがクラスベースでその動作を再現する、という場合はある
この場合、デザイナはAS1やAS2でスクリプトを記述したりするかな
946Now_loading...774KB:2009/02/08(日) 00:36:14 ID:+yYLJmQJ
>>942
わかる気がする。
最初に枠組みを決めるか、部分的な具体化から積み上げられるかって違いはあるね。
でも後者だと、個人で小規模のものを作るのが限界だと思う。
AS2.0だとしても、やっぱり最初にきっちり組み上げないと、後で適当な積み上げの
ツケを払わされるよ。
947Now_loading...774KB:2009/02/08(日) 02:39:00 ID:hPdje17a
おれは最初に枠組みを決めるか。
AS3.0が好き。大好き。今後はたぶん3.0が主流に
なってくると思うので、おれはAS2.0の人も3.0をやるべき
だと思うよ。
948Now_loading...774KB:2009/02/08(日) 04:05:22 ID:V49tJjo8
>>946
それはわかる。
ただ、FLASHで大規模なコンテンツ制作なんてそうそうないと思う。
広告系なんてほとんど一発ネタだし、
WEBアプリでも単一機能モノか、それを単純に集めたモノだし、
仮にECサイトをフルFLASHでやっても中規模程度。
管理画面をフルFLASHでやると結構な規模になると思うけど、
そんな需要あるか?
949Now_loading...774KB:2009/02/08(日) 07:21:19 ID:NxkM3OS5
AS2でもいい場合は、まだたくさんあるだろうけど
将来性のない言語だからAS3に移行すべきだと思うけどね
AS2にこだわる理由も特にある訳じゃないと思うし
950Now_loading...774KB:2009/02/08(日) 12:42:07 ID:R+pXZaHS
AS3.0 理解して使いこなしてる奴は >>948 のような事は絶対言わない
そもそも適材適所で使い分ければいいだけなので 3.0 を否定する必要も無い

2.0 でいいじゃん、と必死に同意を求めるのは
3.0 であっぷあっぷしてる人だけ

次スレいらないよな
951Now_loading...774KB:2009/02/08(日) 13:21:56 ID:calqmbEw
正直AS2もAS3もさして変わらない気がするんだが
952Now_loading...774KB:2009/02/08(日) 13:25:05 ID:jK6VJo0Q
ECMAScript3.1の標準化が決定しちゃったし、AS3.0にどこまで将来性あるのか疑わしいよ。
953Now_loading...774KB:2009/02/08(日) 13:41:34 ID:S7L1ILzL
そもそも標準化自体にあまり意味感じないですけどね
Flash専用に特化してまったく問題なし
954Now_loading...774KB:2009/02/08(日) 13:48:41 ID:bC429Box
>>952
Flash/AS3に将来性がないとして、みんな何を使うようになるの?
Ajaxじゃ代りにならんし、SilverlightとかUnityWebPlayerとか誰も使ってねーし
まさかAS2とかJavaアップレットとか言わねーよな


AS3の登場で一番変化したのはブラウザゲーだと思うんだ
あいまいな型のECMAScriptは元々ゲームに向いてなかった
955Now_loading...774KB:2009/02/08(日) 14:12:49 ID:jK6VJo0Q
んじゃ、AdobeはなんでES3.1の軍門に下ったの?
AS3.0の言語仕様のまま拡張してったらダブルスタンダードだよね?
ES企画を蹴飛ばさなかったんだから、次期ASをES3.1に準拠させるってメッセージと受け取ったよ?
956Now_loading...774KB:2009/02/08(日) 14:23:49 ID:calqmbEw
957Now_loading...774KB:2009/02/08(日) 14:30:41 ID:/V2duio0
>>954
将来性を考えて言語選択なんかしてないな
適材適所だね
958Now_loading...774KB:2009/02/08(日) 15:25:45 ID:EQjlpiTS
適材適所≒習得時間と活躍できる期間のコスパ≒将来性
959Now_loading...774KB:2009/02/08(日) 15:26:19 ID:NxkM3OS5
>>952
AS2に将来性がないってのは
ASの範囲でって事ね

似た機能を持つ言語であえて新機能がサポートされる事がまず無い
AS2を使い続けるメリットはないかと、liteは別として

>>956
にも書いてあるけど今後は独自路線で行きそうだな
960Now_loading...774KB:2009/02/08(日) 15:46:12 ID:S7L1ILzL
言語なんぞよりコンパイラをひたすら改良してほしいね。
961Now_loading...774KB:2009/02/08(日) 17:29:14 ID:V49tJjo8
>>950
話がまた原始的に所に戻ってるな。。
誰も否定なんかしてないからオチツケ。

AS3に移行はしてみたものの、
AS3が真価を発揮するFLASHでの大規模案件てのはなかなかなくて、
ほとんどが小中規模案件で、(ウチだけかもしれないが)
これだったらAS2でやればいいんじゃない?って話。
適材適所ってのは無理になんでもかんでもAS3でやる必要はないってことだろ?

その上で、じゃあAS3を活用できる大規模案件てどんなのがある?
一例は>>948の通り
962Now_loading...774KB:2009/02/08(日) 17:47:30 ID:mSGYnSjC
1年くらいAS3やってるとスケッチ感覚で組めるようになるけどなぁ。
「わざわざAS3で」「無理になんでもかんでもAS3で」って言われてもその感覚がわからん。
963Now_loading...774KB:2009/02/08(日) 17:53:59 ID:R+pXZaHS
>>961
あなたの会社の事情なんて知らないし
AS2でやればいいじゃん、てのは上司に言うべき事
ここで言われても 正直好きにしてくれとしか言えない

AS3の真価 = 大規模案件てのはわかるけど
それをしばりに 例を出せと迫る傲慢さ
964Now_loading...774KB:2009/02/08(日) 18:13:31 ID:V49tJjo8
>>963
どちらかというとあんたの方がスレ違いだけどね。
flashに限らずweb系は新しい技術が出ても一過性で衰退してしまうものが多いから
こういう疑問を投げかけるスレも必要なんだよ。
shockwaveとかflash generatorとかと同じ道を辿る可能性もあるし。
965Now_loading...774KB:2009/02/08(日) 18:40:46 ID:EQjlpiTS
少なからずそう思っている人はいると思うよ
だからfrocessingやsketchbookみたいなライブラリがあるんだし
自分は使ってないけどこういうのじゃ事足りないの?
966Now_loading...774KB:2009/02/08(日) 18:59:21 ID:V49tJjo8
>>959
ES4路線で独自路線?
adobeは昔から規格統一が下手だな。
967Now_loading...774KB:2009/02/08(日) 20:49:06 ID:an1Qrd02
AS3は、糞仕様過ぎるのでとっととAS4出してほしい。
抽象クラスとオーバーロードは、必ず付け加えるように。

Flexのソース見たら、引数の型調べまくりでワロタ。
968Now_loading...774KB:2009/02/09(月) 03:17:19 ID:A2bOAcKz
AS4は型推論ついてくれないかなー
今の仕様だとArray.forEachとか使いにくくてたまらん
969Now_loading...774KB:2009/02/09(月) 03:25:07 ID:gPjONrKv
AS3いらないね。覚えるだけ時間の無駄ってことでFA。
独自路線なのに将来性もクソもねーよ。
1年もかけてマスターしたやつ乙w
970Now_loading...774KB:2009/02/09(月) 09:50:32 ID:YUUeH8/l
Adobeは風呂敷広げすぎたね
ES4が白紙になった事への
Adobeからの公式なコメントとやらは結局どうなったんだろう
今後どうするかのAS開発者?のコメントは見たけれど
971Now_loading...774KB:2009/02/09(月) 10:28:01 ID:8D997F+y
マイナー言語のほうが参入障壁があがるから、儲けるにはいいんじゃない。

ただ、Silverlightに負けて仕事自体なくなるってこともありえそうだけど。
972Now_loading...774KB:2009/02/09(月) 11:13:40 ID:YUUeH8/l
多少の差異など参入障壁にもならんけどねw
973Now_loading...774KB:2009/02/10(火) 01:35:24 ID:syRYNJuW
ごめんAS3のどこが難しいかまったく分からない。
むしろ、プロトタイプベースのオブジェクト指向のほうが
継承関係が複雑になるほど難しくなっていくと思うが。
974Now_loading...774KB:2009/02/10(火) 01:40:29 ID:syRYNJuW
オーバーロードは、スクリプト言語だと引数の数や中身を調べて実装する
のが普通じゃない。RubyでもPHPでもJavaScriptでもみんなそうやってるよ。
975Now_loading...774KB:2009/02/10(火) 02:24:21 ID:TcWoW+0a
AS3大好き
976Now_loading...774KB:2009/02/10(火) 02:29:00 ID:syRYNJuW
AS3は一般にメリットないっていうけど、
Progression Frameworkとか便利なライブラリ増えて
十分メリットあるじゃん。
977Now_loading...774KB:2009/02/10(火) 02:31:13 ID:C+bofJZb
>>973
難しいんじゃなくてメンドクセーんだよ。
978Now_loading...774KB:2009/02/10(火) 03:03:43 ID:kmH4CIiI
言語なんてなんでもいいじゃん
979Now_loading...774KB:2009/02/10(火) 06:41:22 ID:C+bofJZb
>>978
おまえはFORTRANでFLASHを動かしテロ
980Now_loading...774KB:2009/02/10(火) 06:58:11 ID:04DsOfr1
as3になってからコード書くのが好きなった、不思議
981Now_loading...774KB:2009/02/10(火) 23:22:21 ID:56CnSCok
AS3は良くできた言語だと思うけど、結構意見分かれるのかね?
プログラマー側から参入した人にはおおむね好評で、デザイナー側からの参入で難しくなって不評
ってのが大ざっぱな印象だがどうか
982Now_loading...774KB:2009/02/10(火) 23:27:26 ID:1L8qXnbe
Flexはやけに流行ってるよね
一部で
983Now_loading...774KB:2009/02/10(火) 23:35:05 ID:IgrHt+up
>>981
ここに来て堂々巡りになりそうな話題ふんなw
のんびり消費しようじゃないか
984Now_loading...774KB:2009/02/10(火) 23:51:24 ID:jmtXhvFD
as1とかjava、phpもそうだったけど、
発表された時にワクワク感とか勢いがあったけど、
as2はまだしもas3はドンヨリしてるな。
少なくともFLASHでこんだけ賛否両論で雲行き怪しい感じは今までなかった。
既存デザイナーを裏切るような形になって、
今やもうWEBサイトではFLASHはなるべく使わないという方向になってる。
そこにはas3が言語的に良くできたとかわかりやすいとか、そんな次元の概念はない。
985Now_loading...774KB:2009/02/11(水) 00:10:57 ID:FAlKjaaF
業務系では増えてるけどな・・・
今後は対抗馬次第だが、めぼしいのないからなぁ・・・
986Now_loading...774KB:2009/02/11(水) 08:14:11 ID:eB616hFQ
>>984
Flashの評判が悪くなったのもデザイナーが
単に着飾る為に使いすぎたせいな気がする

987Now_loading...774KB:2009/02/11(水) 13:20:59 ID:M4vAR6WZ
>>986
いえてる。
アホなクライアントが騙されたか勘違いしたかで
とにかく派手なFlash要求しまくりとか
知識がない製作サイドが無理矢理作ったFlashで
重かったり使いづらかったりエラーが出たりとか
要はFlashやAS3.0じゃなくて、作り手、使い手の問題じゃないかな。
988Now_loading...774KB:2009/02/11(水) 16:20:43 ID:l7X4Yk8y
いやいやいや、デザイナーが発展させ続けて
提案し続けたからここまでメジャーになったんだろうよ
デザイナーが使わなかったらここまでになってない
989Now_loading...774KB:2009/02/11(水) 16:37:30 ID:24zWCi4k
Flash使っているダメサイトは五万とあるが
Flash使っていないダメサイトは
それ以上に五万とあると思うんだがw
990Now_loading...774KB:2009/02/11(水) 20:40:36 ID:k8N4OcEe
Flash使ってるダメサイトよりかはFlash使ってないダメサイトのがいくぶんマシ
991Now_loading...774KB:2009/02/11(水) 21:02:36 ID:24zWCi4k
底辺を比べてどっちがマシとかねーよw
どんだけFlash嫌いなんだよお前は
作りの問題だろw
992Now_loading...774KB:2009/02/11(水) 21:22:58 ID:ZZglUbSD
Flashは好きだが、>>990には同意。
Flashは、音、動画、アニメ等々要素が多い分、ダメな場合のダメージも多くなりがち。
ブサイクを見るだけと、ブサイクが見苦しい踊りを踊って下手な歌を歌うのとでは
後者のダメージが大きいのと同じだと思う。
逆に、優れたFlashサイトは、他が追随できないというかFlash抜きじゃ作れない
実に素晴らしいサイトだったりもするけど。
993Now_loading...774KB:2009/02/11(水) 22:11:01 ID:Ov/9U+Oz
ブサイクではなく ちゃんとブスと言いなさい ブスと
994Now_loading...774KB:2009/02/11(水) 23:10:43 ID:q0jRv+qT
ブスは3日で慣れるという。
995Now_loading...774KB:2009/02/12(木) 16:38:58 ID:qUtRYqND
やっとインフラが整った段階でプログラマが参入して食い物にして
ボロボロにして捨てられるAS3
996Now_loading...774KB:2009/02/13(金) 08:38:19 ID:Zx0rquaj
最近は、JavaScriptでUI作る技術が普及してるから
敢えてAS3使うまでもないってのあるよね。
でもJQueryのソースなんか見てみると、
遥かにAS3のほうが簡単だと思うけどね。
997Now_loading...774KB:2009/02/13(金) 14:13:40 ID:GmW4Dcdw
正直フラッシュ必要ないなと思う。
なんか、もう飽きられてる気がする。
テキストと画像だけで十分な気がしてきた。
998Now_loading...774KB:2009/02/14(土) 10:38:31 ID:iX64rQxt
次スレはないのかな?このスレは色々勉強になって好きだったんだが
999Now_loading...774KB:2009/02/14(土) 11:47:26 ID:E+Zf1Wn2
このスレの必要性を主張した人が居たから
立てるかと思ったら うんともすんともないからな

正直 野中とかのいるコミュニティをROMってた方が勉強にはなると思う
1000Now_loading...774KB:2009/02/14(土) 16:16:59 ID:5IqY2WAk
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。