5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ActionScript 誰かが物凄い勢いで解答するスレ 26

1 :Now_loading...774KB:2010/04/02(金) 21:23:55 ID:ISnOkNmM
AcitonScriptのことなら
初歩的な質問でもなんでもおk

見れない、保存したい、flashを作りたいはスレ違い
下記の関連スレ、超基本的な質問へ。

●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 225
http://pc12.2ch.net/test/read.cgi/swf/1258749795


2 :Now_loading...774KB:2010/04/03(土) 23:47:03 ID:HPtRPROJ
今から勉強するならAS3でいいのか
2じゃだめなんですか

3 :Now_loading...774KB:2010/04/05(月) 15:12:35 ID:E7F6rpFc
>>1
てんきゅう!


>>2
俺は使い分けてる
A) 将来の拡張が予想される,時間が掛かっても良い,XMLを正しく使いたい,
  (今のところ)PCのみ ・・・  などなどの場合はAS3

B) その場限り,納期が短い,携帯でも使いたい(Lite4.0はAS3可) ・・・
  こんな時はAS2

まあ3が出来れば2は問題無く修得できるし、今後の主流はAS3であることを
考えると3の方だな。
(勉強時間とお金と入手できる本次第ってのもある)


4 :Now_loading...774KB:2010/04/06(火) 19:52:54 ID:vAOOQ0ry
3.0です。
設定などを保存してるオブジェクトやstageを他のオブジェクト内部で頻繁に使うのですが、
いちいちコンストラクタに引数で渡したりするのがめんどくさいです
何かうまい方法はありませんか?

5 :Now_loading...774KB:2010/04/06(火) 22:05:32 ID:Wq+oL78U
>>4
singletonでググレ

6 :Now_loading...774KB:2010/04/07(水) 00:29:37 ID:NLR1piyv
>>5
なんかそれっぽいの出てきました。
ちょっと勉強してみます。
ありがとうございます。

7 :Now_loading...774KB:2010/04/07(水) 01:34:06 ID:aQ608ZIW
質問です
Flashlite1.1 で シンボルの詳細や着色のカラー設定を変更する方法はないでしょうか?
setTransformがFlashlite2.0からのようなので
それに変わるものを探しているのですが、見つかりません

8 :Now_loading...774KB:2010/04/07(水) 17:41:50 ID:ZvF77rPK
num ||= 100;

こういう書き方見かけるんですが、
これはnumがfalseの場合100ってことでいいんでしょうか。

9 :Now_loading...774KB:2010/04/08(木) 00:50:30 ID:niMNoCLy
質問です。
AS2、FLVPlaybackでFLVを読み込んで表示させています。
再生中のシークバーハンドルの位置を取得できるプロパティを
探しているのですがわかる方いらっしゃいませんか。

10 :9:2010/04/08(木) 01:06:45 ID:niMNoCLy
すみません、自己解決しました。

11 :Now_loading...774KB:2010/04/08(木) 20:24:49 ID:K6+4QAbO
AS3.0で質問させて下さい。
ムービークリップの特定色だけアルファ100%にして透過する方法がありますでしょうか?
特定色はどの色にする事も可能で、そこに背景を入れたいのです。
ブレンドモードなども試してみましたが、特定色だけ、透過するかしないかの状態だけで中間は
無い、というのがどうしても作れませんでした。
宜しくお願いします。


12 :Now_loading...774KB:2010/04/11(日) 05:47:34 ID:L4qcTg2p
>>11
ColorTransformでググれ

13 :Now_loading...774KB:2010/04/12(月) 07:52:11 ID:PgJX9Vp+
Loaderで読み込んだ画像を回転させたいのですが、
rotetionに角度を入力するだけだと、
縦横の比率が変わる上に画像のサイズが少しずつ大きくなっていきます。

画像を回転させるには、どのような方法があるのでしょうか?


14 :Now_loading...774KB:2010/04/12(月) 11:35:03 ID:w7Xl8gDd
ActionScriptで、以下のような文がエラーにならないのはなんで?

private function a(){
1;
}

似たような言語仕様(と個人的に思ってる)を持つJavaだと、
「文ではありません。」ってエラーになるんだけど。

逆に、これをエラーにしない事で得られるメリットってある?

15 :Now_loading...774KB:2010/04/12(月) 20:45:39 ID:eV7oIrVh
CS4,Player10,WinXP-Pro
テキストフィールドのフォーカス制御で質問です。

MC(mcOya)内に2個のテキストフィールド(tfA0,tfA1)と入れ子でMC(mcKo)を
置き、更にmcKoの中に既に文字が入ったテキストフィールド(テキスト入力型)を
3つ置きました(tfB0〜tfB2)。

tfB0〜tfB2には予め文字が1文字づつ入っており、Tabキーによるテキストフィールド
間のフォーカス移動を試みました。模式的に書くと次のようになります。

 mcOya[ tfA0 mcKo[tfB0〜tfB2] tfA1]
 ※テキストフィールドは計5個

最初ASは何も書かず(tabIndexやtabChildrenの設定は何もせず)プレビューでTab
キーを押すと tfA0,tfA1にはキャレットが現れず、更にtfB0〜tfB2ではキャレットが
現れるものの予め書いておいた文字が消えてしまいます。

原因を探るために、ステージ上に単純にテキストフィールドを3個置いてフォーカス
移動をTabキーで行おうとしましたがキャレットが現れず行き詰まっています。

目標は上で書いた通り、Tabキーによるテキストフィールド間のフォーカス移動です。
アドバイス願います。


16 :Now_loading...774KB:2010/04/12(月) 22:06:20 ID:E2FuuD5I
ActionScript 3.0を仕事で使うことになりました
唯一Flashを触ったことがあるというだけで私が担当することになったのですが
最後に触ったのは数年前のFlash8でAS自体よくわかってないレベルです
書籍は何を買えばいいでしょうか?

17 :Now_loading...774KB:2010/04/13(火) 00:53:04 ID:Ef1Vv9Nz
詳説ActionScript3.0

18 :Now_loading...774KB:2010/04/13(火) 01:10:32 ID:XUA3qL5v
AS1.0です。
デフォルトのカーソルだと、ボタンに触れると形がポインターに変わりますよね。
それをカスタムカーソルでも再現したいんですけど、ASでまとめて変換する方法ありますか?
今は、代替案として、一つ一つのボタンにrollOverでフラグ立てをして、
カスタムカーソルMCのenterFrameでフラグを監視、ラベル移動をし画像を切り替えています。

19 :15:2010/04/13(火) 02:41:53 ID:khJoy34v
自己解決しました。
テキストフィールドが複数行になっていたのが原因でした。
(Tabを動かす→キャレットが改行位置に移動→結果改行状態)
単一行にしてOKでした。


20 :13:2010/04/13(火) 06:24:48 ID:kjpyhjaS
自己解決しました。
どうも


21 :Now_loading...774KB:2010/04/13(火) 11:24:34 ID:6Wjec+jj
>>18
レスついてるよ
http://pc12.2ch.net/test/read.cgi/swf/1262348056/148

22 :14:2010/04/13(火) 13:09:11 ID:qeYbMCdv
レスつかないね。

for (var i:int = 0 ; i < 10 ; i + 2){

}

みたいなミスしちゃったときに、
Javaだとコンパイル時エラーになるのに
AS3だと実行時無限ループになるんで問題と思うんだが。

23 :Now_loading...774KB:2010/04/13(火) 15:24:35 ID:NkVmHlnN
>>22
なんでだろうね。

private function foo():void{
  1;
}

だけだと確かにリテラルなのが確定なのでアレだけど。

private function foo():void{
  tsukareta;
}

だけだとtsukaretaという変数を参照している場合もあるし、

private function get tsukareta():int{
  throw new Error("とべるよ!");
}

みたいなゲッターを呼んでいる場合もありえるわけで。
あとforの停止性はあまり関係ないかと。

for(int i = 0; i < 10; i--){}

はJavaでもコンパイル通るけど止まらないよね。逆に

for(i = 0; i <10; i + 2){}

はASでiのゲッターセッター作れば停止するように作れないこともない。

24 :Now_loading...774KB:2010/04/13(火) 19:05:21 ID:lZHD7C4W
AS3で教えてください!
MovieClip(mcParent)へ動的に追加したMovieClip(mcChild)に、
MovieClipのインスタンス名を変数としてアクセスしたいのですができません!

var mcParent:MovieClip = new MovieClip();
var mcChild:MovieClip = new MovieClip();
mcChild.name = "hoge";
mcParent.addChild(mcChild);

---------------
var hensuu:String = "hoge";
trace(mcParent[hensuu].x);
↑ここで条件は未定義でありプロパティがありません。となります


25 :Now_loading...774KB:2010/04/13(火) 19:46:22 ID:NkVmHlnN
getChildByNameでググろう。

26 :Now_loading...774KB:2010/04/13(火) 22:35:57 ID:I6Lt3Ryp
as2です。
FLVPlaybackコンポーネントを使って
動画のストリーミング再生がしたいのですが
contentPathをrtmpで始まるパスにする他に
何か設定が必要でしょうか?
よろしくおねがいします。

27 :14:2010/04/14(水) 20:08:53 ID:xCkis+kb
>23

あーなるほど。AS3 だと ゲッターを呼んでる可能性あるね。

だけどゲッターから返ってきた値をそのまま捨てるなんて
ゲッターの使い方そもそも間違ってると思うわけで、
その用法も含めてエラーにしちゃえばいいと思うんだけどな。

forの停止性については確かに些細な事かもしれないね。

28 :Now_loading...774KB:2010/04/14(水) 22:38:50 ID:9I0ujzo0
>>27
ただgetterもsetterも"b = o.a()"を"b = o.a"と書けたり"o.a(b)"
を"o.a =b"と書けたりと、基本的にはメソッド呼び出しの別記法
にすぎないわけだ。

なのでただ"o.a;"と書いてあってもそれは"o.a();"みたいな文の
別記法にすぎないわけで、文法的にはまぁおかしくはない。

自然不自然の感覚の問題は当然個人差があると思うけど、より
ピュアなOOPと呼ばれるものの多く、メジャーどころだとRuby
なんかもそうだけど、そういう言語ではオブジェクトの内部変数
の読み書きも基本的には全てオブジェクトへのメッセージ送信と
して設計されている。

なので例に挙げた"tsukareta;"も内部変数の読み書き云々以前に
まずオブジェクトに対する「疲れた」というメッセージ送信だと
考えれば、そうおかしくはないとは思うのだが、どうだろう。
(説明が難しいね)

29 :Now_loading...774KB:2010/04/15(木) 16:47:26 ID:Oc1WcXNL
はじめまして。
DataGridの使い方で質問させてください。

開発環境はAS3になります。

DataGridをArrayCollectionでバインディングさせて
データを表示しています。

画面上のボタンを押下したら、ArrayCollectionに要素を追加して
DataGridにも行が増えるような処理を実装しています。

上記の処理自体は問題なく動くのですが、
行を追加したときに、それまでDataGridに手で入力していた
データが消えてしまいます。

おそらく
ArrayCollection→DataGridへの変更の反映は出来ているようなのですが、
DataGrid→ArrayCollectionへの変更の反映は出来ていないようです。

DataGridの変更内容をArrayCollectionにも反映するようにするには
どのようにすればよいのか教えていただけないでしょうか。

DataGrid→ArrayCollectionは自分で処理を実装する必要があるのでしょうか。

どうかよろしくお願いいたします。

30 :Now_loading...774KB:2010/04/15(木) 19:15:02 ID:l7QSwceO
車のカラーシミュレーションみたいなのを作りたいんだが
具体的に言うとベースとなる数種類の写真の上に
別のパーツ写真を数種類の中から選べて
その組み合わせをシミュレートできて
できあがったものをそのままカートに入れられる感じのもの

こんな大層なものじゃなくていいんだが
こんな感じ↓
http://nikeid.nike.com/nikeid/index.jsp?channel=JP_NIKEID®ion=JAPAN&country=jp&language=ja#launchBuilder,basketball.14254.0,_666c69466976313030322e2e31,INSPI_194255_v9_0_20100202

似たニュアンスでもいいんだがどっかに参考になるソースないかな?

31 :Now_loading...774KB:2010/04/16(金) 16:36:15 ID:x3N36rSx
AS2でNo.1〜No.100の抽選スクリプトを作っています。
Windowsプロジェクタ(.exe)出力をして、スタンドアロンPCで実行します。

各Noが再抽選されないように、当選したNoをファイル等に書き出したいのですが
ASでは不可能という事を知りました。
当選Noを変数で保持すると、万が一、パソコンやスクリプトを再起動した際に
当選Noデータが飛んでしまいます。

AIRならできるそうですが、明日までに仕上げなければならないために、AS2でなんとか
ならないか思案中です。
(基本部分は以前AS2で作成したものがあり、それを流用しようと思っております)

「AS2でローカルPCにデータを保持する方法」について何かアイデアがあれば
ぜひお教えください。

32 :Now_loading...774KB:2010/04/16(金) 17:35:47 ID:T6NlUhFB
>>31
SharedObjectで調べてがんばれ

33 :31:2010/04/16(金) 18:10:53 ID:x3N36rSx
>>32
今テストを行っていますがバッチリです。
とても助かりました!ありがとうございます。

34 :29:2010/04/17(土) 11:15:05 ID:4mc6BUrs
すみません。
自己解決しました。

ttp://www.adobe.com/jp/devnet/flex/testdrive/articles/2_modify_the_database3.html
の内容をもとにdatagridのitemEditEndイベントハンドラーを作成して、
そのなかでdataproviderに指定しているarraycollectionへの
操作を実装することで解決しました。



35 :Now_loading...774KB:2010/04/18(日) 03:04:59 ID:DMeQ9Sqz
環境: CS4,WinXP-Pro,AS3 です
ソートした連想配列(ハッシュ,結合配列)の一覧表示で質問です。

ttp://logic.stepserver.jp/memo.cgi/archive/656/?linkmenu=
において

// ダンプ関数(AS3標準関数ではありません。)
D = new dumper3( hoge_array );

なるものがあり、『結果』が書かれていますが dumper3 の内容
が分からないため、どういう仕組みで『結果』が得られたのかが不明です。
※上記サイトでは言及されていません。

『結果』からdumper3の記述が推測できましたら教えて下さい。


36 :35:2010/04/18(日) 03:19:14 ID:DMeQ9Sqz
すいません。
現在 for..in の勉強もしているので、できたら
この書き方でお願いします。


37 :Now_loading...774KB:2010/04/20(火) 00:49:00 ID:US6Vit34
as2で質問です
一つのボタンをクリックしたときに全てのボタンを無効にしたいのですが下記の書き方では汚いのでどうにかしたいのですが何か良いまとめ方ありますか?


var space =20
for(var i=0; i<3;i++){
attachMovie("mc","mc_"+i,i);
this["mc_"+ i]._x = i*(this["mc_"+i]._width +space);
this["mc_"+i].onRelease =function(){
mc_0.enabled = false;
mc_1.enabled = false;
mc_2.enabled = false;
}
}

38 :Now_loading...774KB:2010/04/20(火) 01:01:34 ID:ui1FIrHy
>>37
forループと配列アクセス演算子を使う。

39 :Now_loading...774KB:2010/04/20(火) 01:19:58 ID:US6Vit34
>>38
ありがとうございました。
↓の感じでいいのでしょうか?
var arr:Array =new Array(mc_0,mc_1,mc_2);
for(var j =0;j<arr.length;j++){
arr[j].enabled = false;
}

40 :Now_loading...774KB:2010/04/22(木) 19:54:26 ID:zF3wCGSa
Flashのタイムライン上のスクリプトの質問です。
以下のように、無名関数を使って完結しようとすると、thisの参照がおかしくなるようでうまく動作しません。

関数を別途定義して、その中でthisを行うとうまく動作するんですが、無名関数で完了させるにはどうしたらいいでしょうか。

状況:btn1〜btn10という名前のインスタンスがステージ上に並んでいます。どのボタンにマウスオーバーしてもbtn5のアルファが0.5になるという動作です。

==========================================================

//以下動作する 無名関数じゃない。
for(var i:uint = 1; i < 11; i++){
this["btn" + String(i)].buttonMode = true;
this["btn" + String(i)].addEventListener(MouseEvent.MOUSE_OVER, overHandler);
}
//このように無名関数を使わずに関数を作ってやると動きます
function overHandler(e:MouseEvent):void{
this["btn5"].alpha = 0.5;
}

==================================================

//以下動作しません thisの意味が変わってくるようです。 
//これを無名関数でthisの代わりに何を書けばいいのでしょうか。
for(var i:uint = 1; i < 11; i++){
this["btn" + String(i)].buttonMode = true;
this["btn" + String(i)].addEventListener(MouseEvent.MOUSE_OVER, function(e:MouseEvent):void{
this["btn5"].alpha = 0.5;
});
}

41 :Now_loading...774KB:2010/04/22(木) 21:11:41 ID:146cG/WK
>40
var oya:Sprite = e.target.parent;
これでthisの代わりに使えます。

42 :Now_loading...774KB:2010/04/23(金) 01:43:26 ID:CICI3dRj
ライブラリなどのzipを解凍したときによく出てくる
srcという名前のフォルダがありますが、
あのsrcってどういう意味なんでしょう?

43 :Now_loading...774KB:2010/04/23(金) 04:50:40 ID:pl5qZad8
>>42
source

44 :Now_loading...774KB:2010/04/23(金) 16:15:00 ID:PeTaPm/p
as3です
ライブラリのシンボル(mc1)をaddChildで設置したのですが、
そのインスタンスの中にある入れ子のインスタンス(mc2)に画像を読み込ませたいのですが出来ません。
入れの子インスタンス(mc2)へのアクセスは記述すればいいのでしょうか?

宜しくお願い致します。

45 :Now_loading...774KB:2010/04/23(金) 16:57:45 ID:PeTaPm/p
↑すみません解決しました

46 :Now_loading...774KB:2010/04/24(土) 12:22:01 ID:96RBWMzD
お絵かきぱっとのようなものを作っています。
graphics を使って 書いた絵を、ローカルに保存するやり方教えてください。
すいませんがよろしくお願いします><

47 :Now_loading...774KB:2010/04/24(土) 12:27:39 ID:Yhoy9p9/
>>46
Player10以上かAIRを使う。
→ 「save JPG OR PNG Flash OR AIR」 でググる。


48 :Now_loading...774KB:2010/04/24(土) 20:06:16 ID:lZSTBvdB
FlashDevelopでActionScript3.0を扱っています。
画像の中心を基点(軸)に回転させたいのですが、
基点が画像の左上になっているため、意図しない挙動になります。

基点を中心に移す方法か、そのためのアルゴリズムを
ご存知でないでしょうか?


49 :Now_loading...774KB:2010/04/24(土) 20:42:08 ID:SbsMv6Ug
>>48
回転後、左上と中央の距離分、移動させればいいです。
高校一年生の数学なので、中学生以下だったら「三角関数」でググってみよう。

50 :Now_loading...774KB:2010/04/24(土) 20:47:42 ID:TbVUsWLe
「actionscript 画像 回転」でぐぐれ

51 :Now_loading...774KB:2010/04/24(土) 21:16:48 ID:oLRNz7hM
FlashDevelopでパブリッシュすると
戻り値がねーぞ馬鹿やろー!と突き返されてしまいました。

public function textF(dx,dy,dw,dh){
var tf:TextField=new TextField();
tf.x = dx;
tf.y = dy;
tf.width = dw;
tf.height = dh;
return addChild(tf);
}

このfunctionの戻り値は何ですか?教えてください。


52 :Now_loading...774KB:2010/04/24(土) 21:56:16 ID:elJsaX+/
tf。型はDisplayObject。

53 :Now_loading...774KB:2010/04/25(日) 01:26:36 ID:6BPse4gB
Flash Lite 4.0 の仕様(英語版)
ttp://help.adobe.com/en_US/flashlite/dev/4/WS58a04a822e3e5010cf686a7122f627160e-7ffb.html

日本語版はまだかよ。


54 :Now_loading...774KB:2010/04/25(日) 03:37:31 ID:jbx9jiOW
CS4,Papervision3d(2.0),WinXPです。

Plane上に配置した複数の細長いCubeの高さをダイナミックに変更するには
どうしたら良いでしょうか?
つまり、Plane内に複数のCubeが入れ子で入っている状態で、お盆(トレー)の
上に複数の四角棒がキノコのようにニョキニョキと生えている感じです。
理想は: ttp://www.verbatim.jp/senshuken/?id=26061

最初、CubeA.height としましたが、このようなプロパティが無いためダメでした。

目標は、Event.ENTER_FRAME で
function onFrame(frameEvt:Event):void {
CubeAの高さ++;
}
のようにして、縦に伸長させることです。

よろしく願います。


55 :Now_loading...774KB:2010/04/25(日) 04:23:00 ID:vBLvdOY/
>>54
びっくりするぐらいわかってないので、ドキュメントなりリファレンスを読み直そう、

56 :Now_loading...774KB:2010/04/25(日) 06:04:52 ID:L/8nanfy
SharedObjectを使ってローカルに保存した画像を読み込もうとしています。
以下↓を参考にしたのですが、エラーの解決ができません。
http://cakey2.blog65.fc2.com/blog-entry-46.html

ソースは以下です。よろしくお願いします

var so:SharedObject = SharedObject.getLocal("so"); //@変数宣言の仕方がわからない。
var mc:MovieClip = new MovieClip();
var bitmapArray:Array = so.data.bitmapdata;   //Aデータの読み込みはこれで正しい?

var tmpWidth:Number = bitmapArray.length;
var tmpHeight:Number = bitmapArray[0].length;

var bmd:BitmapData = new BitmapData(tmpWidth, tmpHeight, true);
for (var tmpX:Number = 0; tmpX < tmpWidth; tmpX++) {
  var cols:Array = bitmapArray[tmpX];
  for (var tmpY:Number = 0; tmpY < height; tmpY++) {
    bmd.setPixel32(tmpX, tmpY, cols[tmpY]);
  }
}
mc.attachBitmap(bmd, 0);
addChild(mc);

57 :Now_loading...774KB:2010/04/25(日) 09:31:07 ID:89rleVAp
tmpYのfor文のループ条件が間違ってる。
最後の2行もよくわからない。
AS2なの?AS3なの?

58 :Now_loading...774KB:2010/04/25(日) 11:42:56 ID:L/8nanfy
for文間違ってました、ありがとうございました。

AS3です。が、コピー元はAS2のようでした。
movieClipでなくBitmapを使うとできたので
一応、以下にソースを書いておきます。


var so:SharedObject = SharedObject.getLocal("so");
var bm:Bitmap = new Bitmap();  //MovieClipでなくBitmapに変更。
var bitmapArray:Array = so.data.bitmapdata;

var tmpWidth:Number = bitmapArray.length;
var tmpHeight:Number = bitmapArray[0].length;

var bmd:BitmapData = new BitmapData(tmpWidth, tmpHeight, true);
for (var tmpX:Number = 0; tmpX < tmpWidth; tmpX++) {
  var cols:Array = bitmapArray[tmpX];
  for (var tmpY:Number = 0; tmpY < tmpHeight; tmpY++) {
    bmd.setPixel32(tmpX, tmpY, cols[tmpY]);
  }
}

bm.bitmapData = bmd;
addChild(bm);


59 :Now_loading...774KB:2010/04/25(日) 22:35:03 ID:Oc7WDkOz
addEventListenerで追加したリスナーは
removeEventListenerで削除しないといけないというのは理解出来るのですが、
みなさんはどのようにして削除してますか?

各コンポーネントで一つ一つremovedイベントをキャッチして削除しているのでしょうか?

例えば大元のウインドウを閉じようとしたときに
そのウインドウの子のアイテムに追加されているイベントリスナを
削除する様な方法があったりするのでしょうか?

皆様のお知恵を拝借したくよろしくお願いします。

60 :Now_loading...774KB:2010/04/25(日) 23:47:15 ID:/5VN9G7q
>>52

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

61 :Now_loading...774KB:2010/04/26(月) 01:24:53 ID:Ov5inv8q
>>59
それはもう、泥臭くやるしかないよ。

62 :Now_loading...774KB:2010/04/26(月) 01:45:14 ID:7OZxlYp0
>>59
そういう場合は大元のウィンドウがまずウィンドウの外で発生する
イベントをlistenして、それを受けてウィンドウが改めてウィンドウ
内の子アイテムに向けたイベントを投げるか、bindingで更新通知が
飛ぶようにしている。Flexで部品の再利用性を高める場合ね。

63 :Now_loading...774KB:2010/04/26(月) 18:44:15 ID:TQSUfZUP
AS2です。
windowコンポーネントのタイトルバー部分の高さを取得する方法はあるでしょうか?


64 :Now_loading...774KB:2010/04/26(月) 21:50:47 ID:7xZF7eS7
配列に対してaddEventListenerをすることはできるでしょうか?
以下のような書き方では、実行されなかったのですが……。

for (var i:int = 0; i < 10; i++) {
  boxs[i] = new Shape();
  boxs[i].graphics.beginFill(colors[i]);
    boxs[i].graphics.drawRoundRect(tmpX, tmpY, tmpSize, tmpSize, 5, 5);
  boxs[i].graphics.endFill();
  addChild(boxs[i]);
  
  boxs[i].addEventListener(MouseEvent.CLICK, changeColor);
}

65 :Now_loading...774KB:2010/04/26(月) 22:03:45 ID:AOFqqZBX
>>64
shapeってマウスイベント拾わないんじゃない?

66 :Now_loading...774KB:2010/04/26(月) 23:29:08 ID:VujJs4zo
>>64
ShapeとSpriteの違いを確認しろ

67 :Now_loading...774KB:2010/04/27(火) 00:15:40 ID:NgUUZROY
>>65
>>66
ありがとうございます。
ShapeをSpriteに変更したところ、無事実行できました。

Shapeは「Spriteより機能を減らす代わりに実行速度を上げたもの」だそうですね。
知りませんでした。

68 :Now_loading...774KB:2010/04/27(火) 02:04:32 ID:iEKby/CO
CS4,WinXP,AS3(Player10)

MCの入れ子の階層数をスマートに調べるにはどうすれば良い
でしょうか? 例えば、あるMC01が

MC01{ MC02{ MC03a{ },MC03b{ } } } となっていた場合、
3階層として把握したいです。

今考えているのは、各層のMCに var kaisou:int という変数を置いて
入れ子側より parent.kaisou++; と子MCが生成する度に親側に
追加するという方法です。
しかしこれでは、MC03a と MC03b がそれぞれ親に数を足すことに
なるので都合が悪いです(計算上、4階層になってしまう)。

手元の本やWebでは入れ子が何個あるかを把握する numChildren
はありますが、階層数が得られるプロパティが見つかりません。
アドバイス願います。


69 :Now_loading...774KB:2010/04/27(火) 15:00:09 ID:CKdvaB76
各MCに階層用の変数を置いて、子を追加した時に親の値と比較して
親の値が子以下だった場合に子の値+1を代入する。
子の値+1を代入した場合は、その親にも同様の処理を行う。

70 :Now_loading...774KB:2010/04/27(火) 15:35:28 ID:W4t8YUgB
変数とか持たせるとバグの温床にならないか。
階層を取得したい時に、ルートから再帰呼び出しで数えた方が確実だと思う。


71 :Now_loading...774KB:2010/04/27(火) 17:24:52 ID:rKBL4NOJ
なんか適当に書いてみたけど
これで動くかな

function getChildDepth(base:DisplayObjectContainer, target:DisplayObject, depth:int=0)
{
  if (target.parent == null)
    return 0;
  depth++;
  if (target.parent == base)
    return depth;
  else
    return getChildDepth(base, target.parent, depth);
}

72 :Now_loading...774KB:2010/04/27(火) 19:09:15 ID:G5NqhMtX
>>63にレスがもらえないのは何か情報が足りないから答えてもらえないのでしょうか?
お前の態度が気に入らないってパターンでしょうか?
誰も知らない(=方法が無い)だけでしょうか?


73 :Now_loading...774KB:2010/04/27(火) 21:30:11 ID:LQQSsJPC
>>72
知らない / 興味ない / 値を求めること自体が筋違い、じゃない?
今時AS2×コンポーネントなんてニッチだろうし。

Window とその子 MC mask_mc との bouns を比較すればわかるっぽいけど、
正直実装次第だし、やっぱり個人的には「値を求めること自体が筋違い」だと思うな。
コンポーネントなんだから、コンポーネントらしく使った方がいいよ。

74 :68:2010/04/27(火) 21:49:05 ID:AoKPE/0I
>>69-71
レスありがとうございます。

71さんの記述をMCのタイムラインのフレームアクションとしてこのままコピペ
したところ、文法エラーだらけになりました。

ただ(幸いですが)、今日買った「ActionScript3.0入門ノート[完全改訂版]」(大重 美幸 著)
のp081に、同時に考えていた別案(最深の位置にあるMCの把握)に近いサンプルが
ありました(再帰呼び出しを使用しています)。

本来の目的は、最深のMCの変数をその親に渡して → 親は子の変数を書き換えて
その上の親に渡して → ・・・ と、最深MC→Topに変数を伝播させることです。

そのために最深MCまでの階層数または最深MC名の把握がしたかったです。
※なお、「ActionScript3.0入門ノート」のサンプルでは最深MCが複数の場合、1個しか
把握できません(下記。  ** 著作権上、改変しています)。

function deepestMC(mc:MovieClip):MovieClip {
var gaitouMC:MovieClip;
if (mc.numChildren==1) {
return (mc);//シェイプの場合mcを返す
} else {
var koMC:MovieClip=mc.getChildAt(1) as MovieClip;//入れ子のmcを取り出す
gaitouMC=arguments.callee(koMC);//再帰呼び出しを行う
return (gaitouMC);
}
}
var endMC:MovieClip=deepestMC(this);
trace(endMC.name);//名前を出力する

複数の最深MCを把握するにはどう改造すべきでしょうか?


75 :Now_loading...774KB:2010/04/27(火) 22:35:36 ID:8Z77s6yF
>>72
AS2でコンポーネント使ってないから、自分も知らないし興味ないです、すまん

76 :Now_loading...774KB:2010/04/27(火) 22:42:32 ID:LQQSsJPC
>>74
子 MC を追加する際、その MC が最深かどうか確かめ、最深 MC を Array にしておけば?
ちなみにその関数、最初の末端の MC 返すだけで、意味ないよ。
#あと、3行目「if (mc.numChildren==0) {」だよね。

結局何をしたいかがイマイチ明確じゃないんだけど、
「カスタムイベント」とか「二分木」とかでググると幸せになれるかも。

77 :Now_loading...774KB:2010/04/28(水) 03:25:20 ID:3BcT0o5R
>>72
具体例がないからわからんけど、AS2のコンポーネントって1フレームあと取るとうまく行く時があったような気がします。
なにかはわからないけど、好印象ではありませんでした。

コンポーネントってas3だとお利口さんなの?



78 :Now_loading...774KB:2010/04/28(水) 12:19:41 ID:Co57YDC+
Tweenerなどのトゥイーンライブラリは、
秒数で動きを指定しますが、
あれって内部的にどんな計算したらいいんでしょうか。
フレームレートを取得して、それで秒数に対して何フレームかだとは思うんですが。

たとえば、3秒で動きを完了したいとした場合、30fpsだと
90フレームで動きを完了したらいいことになるというのはわかります。

あとは、Tweenを90フレームに区切る方法をどうしたらいいでしょうか。



79 :Now_loading...774KB:2010/04/28(水) 12:36:24 ID:FFMP5qrP
>>78
入力 [0.0-1.0] / 出力 [0.0-1.0] のイージング関数を用意。
( 経過時間 / 完了時間 ) で呼び出し、出力をスケール。

80 :Now_loading...774KB:2010/04/28(水) 15:40:05 ID:QSc9RCqM
>>76
う〜んカスタムイベントも二分木探索もあまり関連するようには
思えないのだが。

>>74
普通に再帰でとれるよ。テストしてないけどこんな感じ。

public static function getDeepestMovieClips(rootMC:MovieClip):Array{
 
 var result:Array = [];
 var maxDepth:int = 0;
 
 function visit(mc:MovieClip, depth:int = 0):void{
  
  for(var i:int = 0; i < mc.numChildren; i++){
   var child:* = mc.getChildAt(i);
   if(child is MovieClip){
    visit(MovieClip(child), depth + 1);
   }
  }
  
  if(depth > maxDepth){
   maxDepth = depth;
   result = [mc];
  }else if(depth == maxDepth){
   result.push(mc);
  }
 }
 
 visit(rootMC);
 return result;
}

81 :Now_loading...774KB:2010/04/28(水) 15:50:08 ID:FFMP5qrP
>>80
>カスタムイベント
やってることは、もろイベントバブル。

>二分木
親子関係の巡回は二分木の基本です。

82 :Now_loading...774KB:2010/04/28(水) 16:58:07 ID:QSc9RCqM
>>81
二分木なんて書くから深読みしちまったい。
「イベントバブル」「木の巡回」ってストレートに書いてくれないと
想像力豊かな俺っちは混乱するぜよw

83 :68&74:2010/04/28(水) 18:03:03 ID:0UK5pUP7
>>76
>>80-82
レスありがとうございます。
別件で直ぐには取り掛かれませんが、
結果が出ましたら報告します。


84 :Now_loading...774KB:2010/04/28(水) 21:04:56 ID:a9MLHK1G
<環境> OSはWinXP-Pro,CS4使用,AS3

ステージにaddChildされたMC(これにリンケージされたカスタムクラス名は「MojiT_01」)から
rootの変数の参照で質問です。 (同じ範疇で2つの質問) asファイルの中身は下記。

public class MojiT_01 extends MovieClip {
var rootMC:MovieClip=new MovieClip();// rootMCの宣言
//var rootTL:MovieClip=root as MovieClip;// ← 1a) ここで使うとrootTLは下のtraceでnull になる

public function MojiT_01() {
//rootMC=MovieClip(root);// ← 2a) ここで使うとエラー
txt.addEventListener(Event.CHANGE,txt_handler);// テキストの文字列の変更
}

//
private function txt_handler(evt:Event):void {
var rootTL:MovieClip=root as MovieClip;// ← 1b) ここならOK
rootMC=MovieClip(root);// ← 2b) ここならOK
trace("obj : "+rootTL+", "+rootMC);
trace(" value : "+rootTL.tmpVal+", "+rootMC.tmpVal);// rootの変数を参照
}
}

要は、rootを参照するための記述をどこに置くかということで、1a),2a)の位置は駄目で、
1b),2b)はOKということが色々試した結果わかりましたが、偶然の産物のようなもので、
他の人に理由の論理的な説明が出来ません。

どなたかAS3の文法に沿って筋の通った説明ができるヒントを頂けないでしょうか? 
つまり、「コンストラクタの前で1a)を書くと〜の〜の理由により不可」とか、「〜の理由により、
コンストラクタで2a)のようにキャストすると〜になるので、〜するためにリスナー関数内に書く]
という感じです。
すいませんが、宜しくお願い致します。

85 :Now_loading...774KB:2010/04/28(水) 22:19:21 ID:QSc9RCqM
rootの値はMojiT_01のインスタンスがaddChildされた時にセット
される。

addChildする前にまずMojiT_01をnewしなければならないけど
1a, 2aの記述はこのnewした時に実行される。なのでこの段階
ではrootはまだnull。

1b, 2bはイベントハンドラの中だから大抵はステージにaddChild
されて画面上に表示された後にようやく呼ばれる可能性がある。
なのでOK。

86 :68&74:2010/04/28(水) 23:53:01 ID:Hmb0r5d8
>>80
実際にやってみました。
trace(getDeepestMovieClips(this).length); ならば、最深部のMCが2個のとき
2が得られますが、MC名の一覧を得る方法が分かりません。

たぶん、for..in とか for each..in を使うと思いますが、適用方法が分かりません。
試しに下のようにしましたが何も出ません。
for each (var i:MovieClip in getDeepestMovieClips)
{
trace(getDeepestMovieClips(i));
}

どうすべきでしょうか?

※あと、80さんの全部の行の先頭に全角スペースが入っています。


87 :Now_loading...774KB:2010/04/29(木) 00:08:43 ID:fYXUkGPD
勉強不足過ぎるだろ。
80のソースを読んで、解らない所は自分で調べて理解するべき。

88 :Now_loading...774KB:2010/04/29(木) 03:41:52 ID:dMiKRI0W
ローカルにデータを保存する方法を試しているのですが、
shadeObjectの関数clear()は、
「ローカルのデータ全てを消去する」という意味で合っているでしょうか?

もしそうでなければ、
ローカルのデータをすべて消去するには、どのようにする
必要があるでしょうか?

よろしくお願いします。

89 :Now_loading...774KB:2010/04/29(木) 04:11:52 ID:1piemGqX
>>88
あってる

90 :88:2010/04/29(木) 04:24:04 ID:dMiKRI0W
そうでしたか!
ありがとうございます!

91 :Now_loading...774KB:2010/04/29(木) 10:26:23 ID:dZ5VRCQ2
actionscript3.0を使っています。
メモリ管理の点で何か注意しておくべきことはありますか?
思いつくことで結構ですので教えてください。よろしくお願いします

92 :Now_loading...774KB:2010/04/29(木) 13:44:16 ID:MTsDouAn
>>85
あんがと。
要はタイミングの問題ってことですね。


93 :Now_loading...774KB:2010/04/29(木) 13:54:42 ID:2ow0LloQ
CS4,WinXP,AS3

ステージ上に単純にMCを3つ配置し、それぞれに適当に入れ子MCを
適当な数配置し、さらにこれらの子供に適当な数のMCを入れました。
(計21個のMC。全部に個別のインスタンス名を付けている)

まず、それぞれの名前(インスタンス名)を把握しようと最初の(親の)
3つのMCの1つ(elem_0)にフレームアクションとして

var thisName:String=name;
trace("name= "+thisName);

を書いたところ、下記のエラーが出ました。

[場所] シンボル 'elem_0'
[説明] 1026: コンストラクタ関数はインスタンスメソッドでなければなりません。

なぜエラーになるのでしょうか?
やっていることは、メチャ初歩的なことなんですが・・・


94 :93:2010/04/29(木) 14:05:40 ID:2ow0LloQ
自己解決しました。
MCのライブラリ名とインスタンス名が同一だったのが原因でした。


95 :Now_loading...774KB:2010/04/29(木) 21:09:54 ID:RyLowC//
誰か教えて下さい

http://www.universal-music.co.jp/djmakidai/

このサイトの様な写真のフェードアウトとフェードインは

どのようなASを使ったら良いのでしょうか?


96 :Now_loading...774KB:2010/04/29(木) 23:36:04 ID:fpqDL381
>>95
顔写真のアップが入れ替わるとこはマスクレイヤーにMCをいれて
そのMCを変化させる
MCをどう変化させるかが肝で
この場合細いシェイプ(シェイプトィーンで微妙に変化させてる)を
ゆっくり複製してるというのが基本のようだけど
AS使わないでも似たようなものはできるんじゃないかな?

という説明じゃ多分ぴんとこないかもしれない
とりあえずマスクレイヤーを使ってみれば判るんじゃないかな
ってASスレ的な答えじゃないなw

ちなみにモザイク部分はこういうの使ってるんじゃないかな
ttp://hakuhin.jp/as/raster_efc.html#RASTER_EFC_02


97 :95:2010/04/29(木) 23:53:29 ID:RyLowC//
有り難うございます。
やっぱりAS使わないで作るほうがいいんですかね?

頑張ってみます!

98 :Now_loading...774KB:2010/04/30(金) 00:04:22 ID:/j5KXvUK
>>95
あ〜ごめんAS使わないで作るほうがいいとはいってないよw


99 :Now_loading...774KB:2010/04/30(金) 14:19:16 ID:6RaCCChp
staticによる静的関数内から、
stageのフレームレートを取得するにはどうすればいいでしょうか。

stageプロパティが取得できません・・。

100 :Now_loading...774KB:2010/04/30(金) 15:23:24 ID:VIx6m0aW
>>99
その静的関数にstageへの参照を渡すか、ステージ上にある表示オブジェクトを渡す
stageへの参照を持った別の静的クラスを作って、そこから取ってくる等々


101 :Now_loading...774KB:2010/04/30(金) 18:39:25 ID:mNve1iaH
CS3/CS4のアクションフレームパネル左側にあるActionScriptの一覧表
(最上位から始まる表です)はどのようにして使うのでしょうか。
かなり検索しましたが使い方を説明したサイトをみつけることができま
せんでした。ご存知の方お願いします。

102 :Now_loading...774KB:2010/04/30(金) 18:53:33 ID:VIx6m0aW
>>101
関数の一覧のこと?
普段使わないけど、関数を調べたり、入力するためじゃろ
携帯向けのフラッシュ作るときはちょっとだけお世話になった

103 :Now_loading...774KB:2010/04/30(金) 19:00:51 ID:G6ys5+fj
デフォルト配置でアクションパネルの左上にあるやつなら
正式名称ツールボックスというらしい
機能は以下で
http://help.adobe.com/ja_JP/Flash/10.0_UsingFlash/WS3e7c64e37a1d85e1e229110db38dec34-7ffca.html#WS3e7c64e37a1d85e1e229110db38dec34-7ff9a

あまり使わないが初心者のころパブリッシュバージョンの違いで使えなくなるスクリプトを確認するのに重宝してた



104 :101:2010/04/30(金) 19:38:47 ID:mNve1iaH
>>101 >>103
レスありがとうございました。
ActionScript2.0のころはわかりやすく表示してありましたが3.0は
Adobeサイトにも主だった説明がなく?、一般ユーザの方のサイト
にもみかけませんでした。
参考書「詳細!ActionScript3.0入門ノート」を買いましたがアク
ションツールボックス(名前もはじめて知りました)の説明が一切
なくエレメントを覚えていることを前提にして書かれているようです。
たまにしか使わないのでヒントがないと苦しいです。

105 :Now_loading...774KB:2010/05/02(日) 00:58:07 ID:XHQaxr1+
すいません、質問です。ライブラリに
symbol0
symbol1
symbol2
symbol3
symbol4
という5つのMCシンボルが登録されています。この5つのシンボルをASでステージに置く場合

var obj:Array=new Array();
for(var i:int=0; i<5; i++){
var symbol:String="ObjSymbol"+i;
obj.push(new ObjSymbol());
var num:int=obj.length-1;
obj[num].x=this.stage.stageWidth/2;
obj[num].y=this.stage.stageHeight/2;
this.addChild(obj[num]);
}
というスクリプトだとエラーがでます。
単純にfor文使わないで
obj.push(new symbol0());
obj.push(new symbol1());
obj.push(new symbol2());
obj.push(new symbol3());
obj.push(new symbol4());
でやればうまくいくのですが、for文使った場合
どう変更すればいいのでしょう?

106 :Now_loading...774KB:2010/05/02(日) 01:34:43 ID:4XZZ1671
エラー内容くらい書いてくださいよ

107 :Now_loading...774KB:2010/05/02(日) 01:55:16 ID:nYvHTbjZ
getDefinitionByName

108 :105:2010/05/02(日) 02:41:31 ID:XHQaxr1+
>>107

ありがとうございます。
文字列からクラス参照させる関数があったんですね。
解決しました_@。@_

109 :Now_loading...774KB:2010/05/02(日) 22:39:12 ID:tpzSggFJ
携帯用lite2のsharedobjectではまってます。
so=SharedObject.getLocal("mydata");
携帯だと↑のオブジェクト生成が完了するのにラグがあるみたいで
うまくプロパティを参照できません。
適当にフレーム回してからなら参照できることはできるのですが、あいまいなのでしっくりきません。
読み込み完了を教えてくれるメソッドか何かありますか?

110 :Now_loading...774KB:2010/05/04(火) 02:46:58 ID:pdxorJN2
>>109
SharedObject.addListener(objectName: String, notifyFunction: Function) : Void
リスナーを登録すると呼び出してくれるらしい

ttp://livedocs.adobe.com/flashlite/2_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=Part_api_ref.html

111 :Now_loading...774KB:2010/05/05(水) 02:06:19 ID:XKeFnd5I
WinXP,CS4,AS3
入れ子MCのテキストフィールドの変化を 子(mc01)→親(mc02)→その親(mc03)・・・
の流れでドミノ倒しのように伝達したいのですが、mc03以降がうまくいきません。
最深のMC:mc01以外は共通の構造を持ち、模式的に書くと下のようになります。

mc03{ txt, mc02{ txt, mc01{ tx t} } }

ASはchangeイベントを使い、MCにほぼ共通で下記です。

txt.addEventListener(Event.CHANGE, txt_changed);
function txt_changed(txtEvt:Event):void {
//親のテキストフィールド(txt)を書き変える
//親の関数を呼び出す
// ※上の2つは最上部のMC以外に書いている
}

子(mc01)から親(mc02)の関数を呼び出せたのですが、その後が続きません。
Event.ENTER_FRAMで周期的に変化をチェックしようと思いましたが、これでは常時
SWFが動くことになり、PCに負荷が掛かります。

この場合、どういう方法が考えられるでしょうか?


112 :111:2010/05/05(水) 02:14:46 ID:XKeFnd5I
(補足です)
あと、dispatchEventでイベント伝達も考えましたが、これもテキストフィールドの
変化を感知しないと始まらないので保留しています。


113 :111&112:2010/05/05(水) 12:26:18 ID:ZFG2ymMj
(自己レス)
すいません。自己解決しました。
親の関数を呼び出した際に、親の関数自体がその親を呼び出すように
すればOKでした。


114 :Now_loading...774KB:2010/05/05(水) 16:29:03 ID:EYTamvEr
なんで僕の質問にはものすごい勢いで回答してくれないんですか?
勢いはさておいて回答やレスすらありません。
ここの住人はくず場仮ですね

115 :Now_loading...774KB:2010/05/05(水) 17:14:05 ID:51qHU/u6
質問者は質問以降のレスに質問時のレス版を名前欄に入れること、等
質問スレにはそれなりのルールがある
ルールを無視した質問はスルーされる可能性が高い
まずそれをチェックしてくれ
次に質問が日本語になっているかチェックしてくれ
意味のわからない質問はまずスルーだ
あと誰が考えてもぐぐった方が早いとか、それ基本的な質問過ぎるだろ?ASの質問じゃねーじゃん
という質問もこのスレではスルーされることが多い
あと高度すぎるとかマニアックすぎるとか解答確率の低いと思われる質問にものすごい勢いでレスを期待するのは土台無理
できる人は暇人じゃないでしょう、このへんは結局運です


116 :115:2010/05/05(水) 17:16:00 ID:51qHU/u6
xレス版
○レス番

117 :Now_loading...774KB:2010/05/05(水) 17:18:08 ID:EYTamvEr
ありがとうございます。
なぜスルーされたのかも考えず感情的になり、見苦しい書き込みをして申し訳ありませんでした。
チェックする点を再度確認したうえでまた質問させていただきます。
>>115さん本当にありがとうございました。

118 :Now_loading...774KB:2010/05/06(木) 01:02:54 ID:xwuCRlPN
質問させていただきます
AS2.0です

http;//flash.com/12345.htmという架空のページがあります。
単純にここに飛ばすボタンを作るには

on(release){
  getURL("http;//flash.com/12345.htm")
}


と書けばOKです。

今回は簡単なパスワードを設けたいということで、"12345"の部分を手入力させたいのです。
テキストボックスに"12345"と入力してボタンを押すと http;//flash.com/.htmに12345を付加したURLでアクセスするようにするにはどうすればいいでしょうか?

119 :Now_loading...774KB:2010/05/06(木) 02:01:22 ID:B/yIrqgJ
>>118
getURL("http;//flash.com/12345.htm") の引数を適当にhpURLと仮定して。

hpURL= "http;//flash.com/"+パスワード文字列+".htm";
で、パスワードのテキストフィールドは password_txt.password = true;


120 :Now_loading...774KB:2010/05/06(木) 02:57:28 ID:xwuCRlPN
乙です!

めっちゃ助かりました!

121 :Now_loading...774KB:2010/05/08(土) 07:14:16 ID:BhLXeKtF
構文についての質問です。
[1]のようなイベントリスナーの呼び出し方で、
[2]を[3]のように書き換えたいのですが、[3]ではうまくいきません。
「evt.target」の型変換がうまくいっていないようなのですが、
どのようにしたらいいでしょうか?


[1].
char.addEventListener(MouseEvent.CLICK, gagagagaga)

[2].
private function gagagagaga(inChar:BaseCharacter):Function {
 return function (evt:MouseEvent):void {
  inChar.setWidth(0.0);
  inChar.setHeight(0.0);
 }
}

[3].
private function gagagagaga(evt:MouseEvent):void {
 var inChar:BaseCharacter = evt.target as BaseCharcter;
 inChar.setWidth(0.0);
 inChar.setHeight(0.0);
}


122 :Now_loading...774KB:2010/05/08(土) 07:23:16 ID:zxMS3DKd
BaseCharcterは何を継承した型なの?

123 :121:2010/05/08(土) 07:28:53 ID:BhLXeKtF
>>122
Sprite型です。

124 :Now_loading...774KB:2010/05/08(土) 07:43:31 ID:zxMS3DKd
BaseCharcterのtypoじゃないの?

125 :Now_loading...774KB:2010/05/08(土) 08:26:22 ID:THJOkjUn
mouseChildrenをfalseにしてないとか?

126 :Now_loading...774KB:2010/05/08(土) 17:03:00 ID:Lvue1gyx
>>121
evt.targetをevt.currentTargetにしてみる。
仮にcharの上にlabelが貼り付けられていて、このlabelの上から
charをクリックすると、このイベントがcharで処理される時点
ではevt.targetはlabelでevt.currentTargetがchar。

あと[2]も動かないと思うのだが・・・

127 :121:2010/05/08(土) 22:33:44 ID:BhLXeKtF
>>124
>>125
>>126

evt.targetとevt.currentTargetに書き換えるとできました!
ありがとうございました。

128 :Now_loading...774KB:2010/05/08(土) 22:49:47 ID:volEqeu4
TextFieldについて教えていただきたいのですが

テキストフィールドを新しくASで作って
ステージへaddChildで配置。
そこへテキストを表示させる場合
表示させるテキストの文字数にあわせて自動的に
テキストフィールドの幅は広がるんでしょうか。
アルファベットで文を表示させた場合、右端が欠けるのですが
TextFieldにwidthで幅を指定するなどしなけないとかありますか。

129 :Now_loading...774KB:2010/05/08(土) 22:57:48 ID:zxMS3DKd
>>128
autoSizeっていうプロパティがある
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/text/TextField.html

130 :128:2010/05/08(土) 23:11:18 ID:volEqeu4
>>129

物凄い勢いの回答ありがとうございます。

作ったテキストフィールド.autoSize=TextFieldAutoSize.LEFT;

指定したら文字にあわせて広がってくれました。

131 :Now_loading...774KB:2010/05/08(土) 23:45:30 ID:w1p96kMo
スライドショーで
外部画像でサムネイル一覧で、外部画像をMCに読み込ませていますが、
これにnextボタンをつけたいのですが

on (press) {
Num++;
_root.photo.load_mc.loadMovie("p"+Num+".jpg");
_root.photo.gotoAndPlay(2);
_root.info = comment;
}
でやったら、最初の1からカウントされます。
現在読み込まれている画像の番号からの
カウントアップはどうすればいいでしょうか。
あとインスタンスinfoに外部テキストキャプションがでません。

132 :Now_loading...774KB:2010/05/08(土) 23:51:50 ID:zxMS3DKd
>>131
_root.info = comment;
ここはたぶん
_root.info.text = comment;
それでもためならtrace(comment)でコメント自体の参照が出来ているか確認

そのスクリプトはどこに書かれてるの?
試しにこれでどうかな?
_root.Num++;
_root.photo.load_mc.loadMovie("p"+_root.Num+".jpg");

133 :131:2010/05/09(日) 00:17:14 ID:NAa60t9K
>132
どうもです。でもだめでした。
on (press) {
_root.Num++;
_root.photo.load_mc.loadMovie("p"+_root.Num+".jpg");
_root.photo.gotoAndPlay(2);
_root.info.text = comment;
}

例えばサムネイルからのp3.jpgをロードしキャプションはp3のものが表示されますが
nextボタンを押すと
画像は最初に戻ってしまいp1.jpgがロードされ次にp2、p3、p4・・・・となってしまいます。
そしてキャプションはp3のものがずっと表示され続けます。
スクリプトはボタンシンボルに書いてます。

ちなみにサムネイルのMC
onClipEvent (load)
this.loadVariables("maisu.txt");
function setPic(a,b) {
sam = "mc" + a;
this.attachMovie("pic",sam,a);
this[sam]._x = a * 105;
this[sam]._y = 0;
this[sam].mc.loadMovie("s"+b+".jpg");
this[sam].comment = this["info"+b];
this[sam].fileName = fileName="p"+b+".jpg";
ウェブ上のサンプルをDLしたもので初心者でよくわかってません。

134 :Now_loading...774KB:2010/05/09(日) 00:30:03 ID:9BVxXrjh
>>133
なるほど、1から作った方が早そうだけど、
要は、各サムネイルのクリックイベントに
_root.Num = 自分の番号;
を入れる

コメントの方はこんな感じで番号と連動させる

on (press) {
_root.Num++;
_root.photo.load_mc.loadMovie("p"+_root.Num+".jpg");
_root.photo.gotoAndPlay(2);
_root.info.text = _root['mc' + _root.Num].comment;//こんな感じで番号からコメントを取得する方法を実装する
}

135 :131:2010/05/09(日) 01:12:18 ID:NAa60t9K
>>134
すみません。同じ結果でした。たぶん私の説明がへたなのです。

最初にs3.jpgサムネイルをクリック
 →インスタンスphotoにp3.jpg
 →インスタンスinfoにinfo3のキャプション
  が表示される

その後にNEXTボタンをクリックすると
 →インスタンスphotoにp4.jpg
 →インスタンスinfoにinfo4のキャプション
となってほしいのですが
 →インスタンスphotoにp1.jpg(1からはじまる)
 →インスタンスinfoにinfo3のキャプション(キャプションは変わらず)
となってしまいます。

136 :Now_loading...774KB:2010/05/09(日) 01:49:40 ID:9BVxXrjh
>>135
だから「s3.jpgサムネイルをクリック」のタイミングでNumを3にする処理を追加

137 :131:2010/05/10(月) 21:49:39 ID:CSKrm7jV
間が空きましたがすみません。
どなたか教えていただくとありがたいです。

136さんの
>s3.jpgサムネイルをクリック」のタイミングでNumを3にする処理
がどうしてもわりません。

サムネイルには
on (press) {
_root.photo.load_mc.loadMovie(fileName);
_root.photo.gotoAndPlay(2);
_root.info = comment;
}
でインスタンスphotoに読み込みしてます。


138 :Now_loading...774KB:2010/05/10(月) 21:56:48 ID:JA6fK4mQ
>>137
on (press) {
_root.Num = 画像番号;
_root.photo.load_mc.loadMovie(fileName);
_root.photo.gotoAndPlay(2);
_root.info = comment;
}

全体がわからないから完璧に動作するスクリプトは教えられないよ
今出てる情報でわからないなら先にちょっと勉強した方がいい

139 :Now_loading...774KB:2010/05/10(月) 22:17:39 ID:yU648Onj
AS3ですメモリの解放してみたいんですが例えば
menuっていう名前の子供をたくさん持つスプライトがあったとして
removeChildでmenuだけステージから切り離してnullを代入すれば
menuの子供達も自動的にメモリから削除されたりします?

140 :Now_loading...774KB:2010/05/10(月) 22:29:53 ID:JA6fK4mQ
>>139
基本的に参照がなくなればそのうち消される
参照がないっていうのはアクセスする手段がない状態やね

141 :Now_loading...774KB:2010/05/10(月) 22:35:31 ID:buzonY45
>>139
Flash はメモリ解放をしていいかを判断する方式に Mark & Sweep を使っていて、
stage からたどれる表示オブジェクトやそのオブジェクトが持つ参照、
また static な変数からの参照がされていないものを解放する。
つまり、たとえ null を入れたからと言って、そこからの参照が消えただけであって、
他のところで参照されていたらそのオブジェクトが置かれているメモリは解放されない。
ただ、null を入れることによってその解放されない現象が起きるのを抑えることができるから、
ローカル変数で確実に解放されるとかでなければやっておいて損はないかもね。

142 :131:2010/05/10(月) 23:12:01 ID:CSKrm7jV
>>138さん
どうもです。
自己解決しました。
ちゃんと勉強します・・・

143 :Now_loading...774KB:2010/05/10(月) 23:16:45 ID:yU648Onj
>>141
長文説明ありがとうございます半分くらい理解しました
>stageから辿れる表示オブジェクトやそのオブジェクトが持つ参照
にremoveされた親やその子供達は含まれますか?
ローカルで宣言して追加した子供は親以外の何処からも参照されませんよね?
宣言はグローバルなプロパティで、オブジェクトの生成と参照だけローカルな子達は親が絶縁されても生き残りますか?
質問多くてすみません

144 :109:2010/05/10(月) 23:24:55 ID:9IwUgd9y
>>110 ありがとうございました。
LiteのSharedObjectが普通と少し違うのはわかりました。
ただ、なぜかうまくいきません。

SharedObject.addListener("log_data" , gotoAndStop(3));
var so=SharedObject.getLocal("log_data");
stop();

読み込みが完了してからフレームを飛ばしたいんですが
生成前の空っぽの状態で移動してしまいます。
宣言の順番は色々変えてみたのですがだめでした。
そしてまた携帯は駄目なのにPCではうまくいくのがなんとも。。

145 :Now_loading...774KB:2010/05/11(火) 01:29:41 ID:Fd9iZy5R
■質問です
AS3で麻雀の得点計算や和了判定するようなライブラリか例をご存じないでしょうか?
TempaiCheckerというのしか見つかりませんでした。

146 :Now_loading...774KB:2010/05/11(火) 12:10:00 ID:HbDO46Bm
>>145
麻雀ルールはよく分からんけど、本気なら自分で作ったら?
ほんで、試作品を公開して他の人の意見を元に改良するとか。


147 :Now_loading...774KB:2010/05/11(火) 23:53:02 ID:Fd9iZy5R
>>146
まあ、かなり勉強にはなるだろうなあ
でも他にも作りたい物あるし時間もないし、楽したいq

148 :Now_loading...774KB:2010/05/12(水) 16:09:29 ID:ALQ6t+5X
AS3で質問です。

webサービスにアクセスして、
値を取得する共通関数を作ろうと考えているのですが、
いまいち良い実装方法が思い浮かびません。

たとえばPHPとかであれば、

class hoge{
public static function getValue(){
//何がしかの処理
return ****;
}

}
とあれば、hoge.getValue()で値を取得できますが
ActionScriptだとgetValue()内でwebサービスにアクセスして、
かつ、イベントリスナに登録して値を取得する関数を別途作る必要がありますよね?

ActionScriptでもgetValue()のような関数を作って、
関数内でwebサービスにアクセスして、getValue()の戻り値として、
webサービスからの値を返すような処理を実装する場合は
どの様にすればよいのでしょうか。

もしくは、getValue()の戻り値としてwebサービスからの
取得値を返すようにするにはどの様な実装方法が
最適でしょうか。

つなたい質問で申し訳ないですが、
よろしく御願いします。


149 :Now_loading...774KB:2010/05/12(水) 18:07:26 ID:hFZkeQx+
集合画像を表示し、人物ごとにマウスオーバーしたらその人の名前を表示するというものを作りたいです。
プログラム、処理的にどんな感じになるのでしょうか?

150 :Now_loading...774KB:2010/05/12(水) 18:40:47 ID:usNnL4EA
>>148
難しいと思うねぇ。基本的にASのネットワーク処理は非同期で、完了
イベントを受けるには一旦関数を抜けてイベントループに処理を返す
必要があるだろうから、関数の戻り値としてネットワークから取得
した値を返すのは困難だと思う。

関数内からブラウザ側のJavaScriptを叩いてウェブサービスを呼び出し、
あとは結果が保存されるJS側の変数の値をポーリングして処理完了待ち
するトリックは思いつくけど、良いアイデアではないね。

おそらくイベント周りの処理を逐一書くのが手間なので>>148に書か
れたような同期処理的な関数を実現したいのだろうけれども、これだと
ウェブサービスから結果が返ってくるまでFlash全体の処理がブロック
されてしまい、ユーザから見るとFlashがフリーズしたように見える
のであまり快適じゃない。

なので多少手間でも非同期で解決する方法を考えるべきだと思う。
**Deferred系のライブラリを使えば多少は非同期処理を書くのも楽に
なるので調べてみると良いかも。

151 :Now_loading...774KB:2010/05/12(水) 19:53:40 ID:ALQ6t+5X
>>150
おっしゃるとおりイベントリスナの実装をめんどく感じたのと、
getValueで値を取得できればいいなという考えから
質問させていただきました。

やはり堅実に手間をかけていくのがよいようですね。

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


152 :Now_loading...774KB:2010/05/12(水) 21:30:20 ID:9g47jAEp
>>143

>>stageから辿れる表示オブジェクトやそのオブジェクトが持つ参照
>にremoveされた親やその子供達は含まれますか?
stage からたどれなくなったので、親とそれが持つ子供は GC の対象です。

>ローカルで宣言して追加した子供は親以外の何処からも参照されませんよね?
いいえ、stage 自身が参照されているので GC 対象ではありません。
stage 自体が private な表示中のオブジェクトを保持していると思えば矛盾は生じないかな。
実際に getChildAt(index) でも取得できるからね。

>宣言はグローバルなプロパティで、オブジェクトの生成と参照だけローカルな子達は親が絶縁されても生き残りますか?
親が絶縁された時点で子供も GC 対象となります。


補足だけど、
子を参照するメンバー変数が public や private であっても、GC から見て親はその子を参照していると考えます。
もし GC されると、親がその子を参照しようとしたときに勝手に null になったら困るしね。

153 :Now_loading...774KB:2010/05/12(水) 21:33:25 ID:9g47jAEp
ごめん、リードミスがあったから連投すまない。

>>143
>宣言はグローバルなプロパティで、オブジェクトの生成と参照だけローカルな子達は親が絶縁されても生き残りますか?
親が絶縁されても stage からその子をたどれるなら、親は GC 対象になっても、子は GC 対象にはなりません。
逆に、親も子も stage からたどれないなら、両方とも GC 対象となります。

154 :Now_loading...774KB:2010/05/12(水) 22:40:52 ID:ozhFM2PX
datagridにコンボボックスを表示しています。
コンボボックスに表示されてる値とプログラムで
管理する値は別のを使いたいと考えています。

例)
0:未選択
1:男
2:女
この場合はプログラムでは0〜2のコードを管理します。

DataGridColumnのlabelFunctionにgetNameという
独自の関数を用意して、コンボボックスの値から
性別名を表示するようにしました。

最初、男を選んだ後、別の項目に移動して
再度性別のコンボボックスにカーソルを持ってくると
選択した内容が消えて(初期化?)しまいます。

前回選択した内容は保持したまま、
変更があった場合のみ変更内容を反映させるにはどのようにすればよいでしょうか?

155 :Now_loading...774KB:2010/05/12(水) 23:48:06 ID:sOGV0Ch5
AS3 配列のデータををPHPに送りたいのですが・・・
private function save_click():void{
var s:int = 0;
const php_url:String = "http://localhost/oekaki_hozon.php";
var request:URLRequest = new URLRequest(php_url);
var params:URLVariables = new URLVariables();
 ☆☆☆
request.method = URLRequestMethod.GET; //postでも おk そのときはphpも
request.data = params;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,onComplete);
loader.load(request);
}

private function onComplete(event:Event):void{
var loader:URLLoader = event.target as URLLoader;
var result:String = String(loader.data);
Alert.show("サーバーに保存されました")
}

おそらく ☆のところに送りたいデータを記述すると思うのですが、、
moji[0]〜moji[m]まで送りたい場合どういう記述をすればよいでしょうか?_


156 :Now_loading...774KB:2010/05/13(木) 09:00:57 ID:mbETcDBw
AS3で質問させてください。

swfファイルをURLLoaderでバイナリでロードして、
それをLoader.loadBytes()の引数に渡しているのですが
Event.COMPLETEイベントが投げられなくて困っています。

var url:String = "hoge.swf";
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load(new URLRequest(url));
urlLoader.addEventListener(Event.COMPLETE, onLoadComplete);

private function onLoadComplete(e:Event):void {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
loader.loadBytes(e.target.data);
}
以上のような感じでProgressEvent.PROGRESSイベントは投げらています。
でもいくら待ってもEvent.COMPLETEもEvent.INITも投げられません。
1日ハマって原因すら分かりません。
よろしくお願いします。

157 :Now_loading...774KB:2010/05/13(木) 11:51:59 ID:jJ1cYb0e
一旦バイナリで読む理由は何なのか。
Loaderのloadメソッドを使わない理由は何?

158 :Now_loading...774KB:2010/05/13(木) 12:42:48 ID:lKprTpR8
loadの前にaddEventListenerしないと駄目なんじゃないの

159 :Now_loading...774KB:2010/05/13(木) 20:27:00 ID:vCz3K5gk
>>156
普通にそのやり方でできるはずだけど、元のswfが壊れてるとかじゃないの?

160 :Now_loading...774KB:2010/05/14(金) 00:34:35 ID:jUEPrSV4
フォーカスにあるテキストフィールドの
内容を取得するにはどうすればいいですか?
selection.getFocus()
textfield.text
これらの組み合わせ方がわからないです

161 :Now_loading...774KB:2010/05/14(金) 02:26:07 ID:fdcBrRem
>>160
AS2.0? ちゃんと環境書いてもらわないとわからないよ。
Selection.getFocus() ではフォーカスが当たっているボタンやテキストフィールドへのパスの文字列を返すから、
そいつを"."で分割した配列などにして for ループで 1 階層ずつたどり、
まずはフォーカスのあたっているオブジェクトまでたどり着く。
次にそれが TextField、もしくはそいつを継承したやつかを確認したらキャストして text プロパティを見に行けばいい。

162 :Now_loading...774KB:2010/05/14(金) 03:06:31 ID:dPxmoQA1
AS3でfl.transitions.TweenのTweenを使ってて動作がカクカクだったんですけど、
調べたらTweenerとかTweenMaxとかいろいろあるんですね。

比較的単純で普通な(無茶なパーティクルとかしない)アニメーションやるなら
どれを使った方がいいとかあるんですか?

163 :Now_loading...774KB:2010/05/14(金) 19:12:23 ID:WnPwPJQx
Tweenerがいいと思う

164 :160:2010/05/14(金) 22:32:14 ID:jUEPrSV4
>>161
すみませんAS2です
教えてもらった通りsplit(".")でできました
ありがとうございました!

165 :162:2010/05/14(金) 22:53:55 ID:dPxmoQA1
Tweenがカクカクなのは処理が重いからというよりガベージコレクタにくわれるからでした。
一応直ったんですけどせっかくだしTweenerも使ってみます。

166 :Now_loading...774KB:2010/05/15(土) 17:03:27 ID:RzcihIVv
開発環境は
FlexBuilder3
ActionScript3
になります。

開発環境で動作するときと本番環境で動作するときでは
リクエスト先のURLが違うのですが、
皆さんはどのようにしてリクエストの送信先の設定をされてますか?

フラッシュが動作する環境に応じて、リクエスト先などのパラメータを
動的に変更する手段が分からないので
皆様の採られている方法をぜひ教えていただけないでしょうか。


167 :Now_loading...774KB:2010/05/15(土) 18:09:31 ID:rYlf2kOF
リクエスト先がflashが置かれているのと同じドメインにあるとか
いう仮定がおけるならApplication.urlで得られるSWFファイルの
URLを加工してリクエスト先のURLを作ったりするけど。

168 :Now_loading...774KB:2010/05/15(土) 20:08:16 ID:250udcIW
Actionscript3.0です

画面全面・画面の外にも画像が敷き詰められており、
マウスを動かすと、画面がマウスの動かした方向にスクロールして、
画面外の画像も表示されるようなフラッシュサイトが色々とありますが、
あれはどのように実装されているのでしょうか?

画像を敷き詰めた巨大なスプライトは用意できたのですが、
マウスの動きによる画面移動、Tweenerを使ったようななめらかな動きを実装する方法が上手に出来ません。

こういった処理のスタンダードなやり方・サンプル等はどこかで公開されていたりするのでしょうか?

169 :Now_loading...774KB:2010/05/16(日) 00:07:46 ID:AYuEcfVd
AS3,WinXP,CS4
フォーカスを受け取ったテキストフィールドの境界線(枠)の色を変えようと
していますが変りません。

function txt_focusIn(focusEvt:FocusEvent):void {
focusEvt.target.border=true;
focusEvt.target.borderColor = "#FF9900";//枠をオレンジ色にしたい
trace("target in= "+focusEvt.target.name);
}

Traceではターゲット名が正しく出るのですが・・・
どこが間違っているのでしょうか?


170 :Now_loading...774KB:2010/05/16(日) 00:28:37 ID:0W0YIg+P
borderColorはuintです。

171 :169:2010/05/16(日) 00:43:22 ID:AYuEcfVd
>>170
さんきゅうです。
focusEvt.target.borderColor = parseInt("0xFF9900",16);
でOKでした。


172 :Now_loading...774KB:2010/05/16(日) 02:55:55 ID:trIv6TJf
なんで一回文字列にすんだよ

173 :Now_loading...774KB:2010/05/16(日) 03:05:54 ID:mQDD27NW
WinXP-ProでCS4のAS3.0ですが、テキストフィールドの文字(1文字のみ)が
ギリシャ文字(αとかΣとか)を含めて大文字か小文字かを判別するにはどうしたら
良いでしょうか?

Googleで ActionScript 3.0 正規表現 大文字 小文字 RegExp で検索しましたが
アルファベットでの判別方法は書いてありましたが、ギリシャ文字を含めての
方法はありませんでした。
文字コードで判別しようと思いましたが、ギリシャ文字のコードが分かりません。
どなたかお願いします。


174 :Now_loading...774KB:2010/05/16(日) 04:03:01 ID:uzphcoQx
やっほう!
Lite4のリファレンスが出来ていた。
ttp://help.adobe.com/ja_JP/flashlite/dev/4/WS9936fa0d5984e93b-24f57da112749c4355c-8000.html


175 :Now_loading...774KB:2010/05/18(火) 00:00:57 ID:14tBSgdJ
ほしゅ

176 :Now_loading...774KB:2010/05/18(火) 11:48:44 ID:Bm5gK/up
DataGrid内に2列カラムを用意して
1列目にはコード、2列目には名称を入力/表示したいと考えています。

1列目のコードには同じ値は入力できないようにしたいと考えているのですが、
1列目に値が入力したタイミングで値のチェックを行うようにするには
どの様にすればよいでしょうか?

どのイベントを拾えばよいのか、
そして、1列目の値を取得する方法が思い浮かびません。

何かよい方法をご教授いただけないでしょうか。



177 :Now_loading...774KB:2010/05/18(火) 11:54:37 ID:Xe3ow5oE
>>176
開発環境と試しに記述したコードを書けば吉。


178 :Now_loading...774KB:2010/05/18(火) 13:07:24 ID:Bm5gK/up
>>177
すみません。
開発環境はAS3になります。

以下に記述したソースのサンプルを記載します。
よろしくおねがいします。

<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var dataList:ArrayCollection = new ArrayCollection([{code:1,name:'サンプル名前1'},
{code:2,name:'サンプル名前2'},
{code:3,name:'サンプル名前3'}]);
private function init():void{
//初期処理
}

private function dataCheck():void{
//データを取得する。
var list:ArrayCollection = grid.dataProvider as ArrayCollection;
//以下重複チェック処理
}
]]>
</mx:Script>
<mx:DataGrid id="grid" dataProvider="{dataList}" editable="true">
<mx:columns>
<mx:DataGridColumn editable="true" itemEditor="mx.controls.TextInput" editorDataField="text" headerText="コード" dataField="code"/>
<mx:DataGridColumn editable="true" itemEditor="mx.controls.TextInput" editorDataField="text" headerText="名称" dataField="name"/>
</mx:columns>
</mx:DataGrid>

179 :Now_loading...774KB:2010/05/18(火) 16:58:15 ID:8h4QSHmI
FlashCS4 AS3なんですが、
とあるMCにマウスカーソルが乗った時だけマウスカーソルを変えるというのをやってるんですが、
なぜかのせると元のマウスカーソルと変えた後のマウスカーソルで点滅してしまいます。
どうすればいいんでしょう・・・

ソース

------------------------------
代えカーソル.visible = false;
addEventListener(Event.ENTER_FRAME, enterfunc);

とあるMC.addEventListener(MouseEvent.ROLL_OVER, overEvent);
とあるMC.addEventListener(MouseEvent.ROLL_OUT, outEvent);

function enterfunc(e:Event):void{
    代えカーソル.x = stage.mouseX;
    代えカーソル.y = stage.mouseY;
}
function overEvent(e:MouseEvent):void {
    Mouse.hide();
    e.target.addEventListener(MouseEvent.MOUSE_MOVE, mousemove);
}
function mousemove(e:MouseEvent):void{
    代えカーソル.visible = true;
    e.updateAfterEvent();
}
function outfunc(e:MouseEvent):void{
    Mouse.show();
    代えカーソル.visible = false;

}

180 :179:2010/05/18(火) 16:59:59 ID:8h4QSHmI
すません 最後のメソッドfunction outfunc じゃなくてfunction outEventでした

181 :Now_loading...774KB:2010/05/18(火) 17:14:47 ID:Ya5/f50R
>>179
試してないが
function overEvent(e:MouseEvent):void {
    Mouse.hide();
    代えカーソル.visible = true;
}
function outfunc(e:MouseEvent):void{
    Mouse.show();
    代えカーソル.visible = false;
}

182 :Now_loading...774KB:2010/05/18(火) 17:23:33 ID:JzmopBfx
>179
点滅するのは、代えカーソルが表示されて「とあるMCからカーソルが外れるから」でしょうね。
代えカーソルがSpriteなら、hitAreaに適当なSpriteを設定すれば大丈夫だと思います。

そんな事より、mousemoveのイベントいくつ作る気ですか。

183 :Now_loading...774KB:2010/05/18(火) 18:59:02 ID:8h4QSHmI
ありがとうございまーす
点滅しないようになりました。

ついでにマウスイベントも一つになりましたw

184 :Now_loading...774KB:2010/05/18(火) 22:52:16 ID:4yy8U9r0
//パソコンのログインパスワードの初期設定
var PcPassward:String = "Passward";
//パソコンのログインパスワード正解設定
var PcPasswardAnswer:String = "furavie";

Win CS4 As2.0です。
現在、パスワードを入力して次のフレームにジャンプするところで詰まってます。
ルートにて
//テキスト入力の初期設定
//var TextInput:String = "Passward";
//パスワード正解設定
var Passward:String = "flash";
と設定して、パスワードが合っているかの判定をボタンインスタンスに

on (release) {
if (_root.TextInput == _root.Passward) {
play();
} else {
_root.PcPassward = "Error";
}
}
と書いて、正解なら次のフレームへ、誤りならErrorと表示するようにしてみましたが
なかなか上手く動いてくれません。
両方の文字変数を同じ文字にするとボタンを押せば次フレームに飛ぶのですが
キーボード入力すると、エラー判定になってしまいます
ぜひ、お教えくださいよろしくお願いいたします。

185 :Now_loading...774KB:2010/05/19(水) 01:57:07 ID:OGaLYc3x
FlashDevelopでUIコンポーネントって使えないんですか?
公式のActionScript 3.0 コンポーネントガイドからコピペすると
コンパイルは通るんですけどaddChildするときに、
「パラメータ child は null 以外でなければなりません。」
とエラーがでてしまいます。

186 :Now_loading...774KB:2010/05/19(水) 04:10:19 ID:ENQopVI4
使える、けどコピペで駄目か
どこのか教えてほしい

187 :Now_loading...774KB:2010/05/19(水) 11:33:18 ID:ZfKIjgpa
>184
キーボードで入力した文字は、どこでTextInputに代入しているんですか?

>185
もしFlexでコンパイルしているのであれば、Flexリファレンスを見てください。
FlashとFlexではパッケージが違います。

188 :Now_loading...774KB:2010/05/19(水) 14:23:22 ID:a694xA9m
AS3で質問です。

HTTPServiceを使用してサーバからデータを受信するプログラムを作成しています。

サーバにリクエストを送信して、
fault,またはresultイベントで取得したデータに特定の値が入っていたら
カスタムイベント(MyEvent.MY_EVENT)を発生させるような仕組みを考えています。

myclass.addEventListener(MyEvent.MY_EVENT,myEventHandler);


function myEventHandler(event:MyEvent):void{
//色々な処理
}

とした場合、myEventHandlerの引数eventの中に
HTTPServiceのresultイベントで取得したデータ(サーバからの受信データ)を
保持させるにはどの様にすればよいのでしょうか?

もしくはmyEventHandlerの中でHTTPServiceのresultイベントのデータを取り扱う方法を
教えていただけないでしょうか。



189 :Now_loading...774KB:2010/05/19(水) 14:33:54 ID:3fDnKI5R
>>188
MyEventクラスにデータを入れるプロパティ作って、
dispatchEventの時にnew MyEventでデータ突っ込めばいいんでないの

190 :188:2010/05/19(水) 14:57:04 ID:a694xA9m
>>199

MyEventクラスはEventクラスをクラスを継承しているのですが、
コンストラクタをオーバーロードするということでしょうか?

AS3ではオーバーロードは出来ないと認識していたので、
コンストラクタの引数も
type:String, bubbles:Boolean = false, cancelable:Boolean = false
の3つしか定義できないものかと思ってました。

それとも別の方法があるのでしょうか?

イベントを発生させるときは
dispatchEvent(newMyEvent(MyEvent.MY_EVENT));
と、記述しています。




191 :Now_loading...774KB:2010/05/19(水) 16:38:48 ID:ZfKIjgpa
自作イベントクラスのコンストラクタには、自由に引数を設定できますよ?

192 :188:2010/05/19(水) 19:23:13 ID:a694xA9m
>>191

ありがとうございます。
おっしゃるとおり、引数を自由に設定することができました。


193 :Now_loading...774KB:2010/05/19(水) 19:43:42 ID:f+hxuBSr
>>192
結局どんな感じになったの?


194 :Now_loading...774KB:2010/05/19(水) 20:46:39 ID:u0jkbjN9
FlashDevelopで新しく追加したプロパティに入力支援が対応する条件は何でしょう
一度ファイルを閉じて開きなおすとか?

195 :Now_loading...774KB:2010/05/19(水) 21:39:54 ID:ENQopVI4
すぐ補完してくれると思うんだが

196 :Now_loading...774KB:2010/05/20(木) 08:10:25 ID:a+HbV2A+
>>194
たまにバグか何かでできなくなった場合がありましたが、
FlashDevelopを再起動すると直りました。

あと、すでに「メソッド名()」と入力している場合、
カッコを消してもう一度「(」を入力し、
「メソッド名(」の状態にして0.5秒くらい待つと
必要な引数の一覧が見れます。

197 :Now_loading...774KB:2010/05/20(木) 08:18:01 ID:a+HbV2A+
以下のソースで作った図形から、色の情報「0xFFFF00」を取得するためには、
どのようにしたら良いでしょうか?

なかなか見つからなかったので
circle.color()やcircle.getColor()などと入力してみましたが、駄目でした……

var circle:Shape = new Shape();
circle.graphics.beginFill(0xFFFF00);
  circle.graphics.drawCircle(300, 300, 200);
circle.graphics.endFill();
addChild(circle);

198 :Now_loading...774KB:2010/05/20(木) 08:37:33 ID:Bg30EyCr
>>197
bitmapdataにdrawしてからgetPixel32しなきゃだめかも

199 :188:2010/05/20(木) 13:08:06 ID:VjldZhzn
>>193
クラスはこのようなクラスを作成しました。
コンストラクタの引数を一個追加しています。
public class MyEvent() extends Event{

public var resultEvent:ResultEvent = null;
public static const MY_EVENT = 'MY_EVENT';

public function (type:String, bubbles:Boolean=false, cancelable:Boolean=false,event:ResultEvent=null){
super(type, bubbles, cancelable);
resultEvent=event;
}
}
イベントを通知するときは以下のような感じで行っています。
dispatchEvent(newMyEvent(MyEvent.MY_EVENT,false,false,event));
eventはResultEventオブジェクトです。
イベントリスナに追加して、データの取得は以下のように行っています。
addEventListener(MyEvent.MY_EVENT,myEventHandler);

function myEventHandler(event:MyEvent):void{
var obj:Object = event.resultEvent;
}

上記のようにすることでobjにサーバからの結果を取得することができました。

200 :Now_loading...774KB:2010/05/21(金) 14:28:28 ID:u6KOdRr7
>>199
レスてんきゅう


201 :Now_loading...774KB:2010/05/21(金) 15:56:54 ID:clwuVLNi
ツイッターの自分の発言を取得するにはどうしたらいいですか?
APIというものを使えば良いというのまではわかったんですが、
http://twitter.com/statuses/friends_timeline/ユーザー名.xml
をどう使ったらさっぱり手づまりです

202 :200:2010/05/21(金) 16:01:34 ID:clwuVLNi
http://twitter.com/statuses/user_timeline/ユーザー.xml
すみません、これですね

中身見たら同じのっぽいんですけど
どう違うんですか?

203 :Now_loading...774KB:2010/05/22(土) 14:56:55 ID:KkXYGnva
AS3,WinXP,CS4を使用しています。
キーを使わない(要素番号による)並べ替えはどうしたら良いでしょうか?

例えば、
var Arr:Array=new Array();
Arr.push({名前:theName,X座標:xPo,幅:haba,高さ:takasa});

においてX座標の昇順でソートしようとしたら Arr.sortOn("X座標", Array.NUMERIC);
なのですが、X座標が(ゼロから数えて)要素の1番目なのでこの要素番号
を使って並べ替えたいです。
※sortOnをAdobeのヘルプで見たら、第1引数はフィールド名のみでした。

宜しくお願い致します。


204 :Now_loading...774KB:2010/05/22(土) 15:05:12 ID:ahrlrNKG
>>203
Object内の順番は保証されないからインデックス番号でのアクセスは出来ない

205 :Now_loading...774KB:2010/05/22(土) 15:42:20 ID:KkXYGnva
>>204
物凄い勢いでのレス感謝


206 :Now_loading...774KB:2010/05/24(月) 00:51:18 ID:OJ3oC7fu
すいません。>>173はどなたか分かりますか?


207 :Now_loading...774KB:2010/05/24(月) 02:40:03 ID:0gTJumRz
>ギリシャ文字のコードが分かりません。
とか書いてるからスルーされる
文字コードなんてcharCodeAt使って調べろよっていうかググレば一発だし
同じStringクラスにあるcharAtとか使って1文字づつ調べりゃいいじゃん

208 :Now_loading...774KB:2010/05/24(月) 04:00:56 ID:8s/Td87T
ちょっと便乗質問になります
charCodeAtはutf-16の数値を返すようですが
utf-8でやりたい場合はByteArrayを使うほかないでしょうか

209 :173&206:2010/05/24(月) 08:21:58 ID:cCRs7xAe
>>207
成る程そうですね。charCodeAtで地道にチェックする方が近道ですね。
ほんで、ギリシャ文字を調べてみました。

小文字: α= 945,β= 946,・・・,ω= 969 
大文字: Α= 913,Β= 914,・・・,Ω= 937 

Ωとαの間に何が入っているのかは分かりませんw


210 :Now_loading...774KB:2010/05/24(月) 14:21:14 ID:MDDoo/qM
AS3で質問です
LAMEで作ったVBRなMP3をSound()で再生してます
どうもpositionが正しい値を返してこないようなのですが、
正確な再生位置を取得する方法はありますでしょうか?
バイト位置でも秒数でも構いません
あと、CBRにしろはなるべくなしでお願いします


211 :Now_loading...774KB:2010/05/24(月) 14:21:50 ID:LDZYV0dR
AC3で質問です。

イベントリスナの追加と削除についてですが、
関数内でイベントリスナを追加した場合は、
↓こんな感じで関数内で削除も行うべきなのでしょうか。
private function hoge():void{
var http:HTTPService = new HTTPService();
var param:Object = new Object();
http.url= 'http://www.hoge.hoge';
http.addEventListener(ResultEvent.RESULT,'hogehoge');
http.send(param);
http.removeEventListener(ResultEvent.RESULT,'hogehoge');
}

これだとイベントリスナが実行されないのですが、
イベントリスナの削除は本来ならどこで行うのがよろしいいのでしょうか。

関数内でオブジェクトを作ってリスナを実装すること自体がナンセンスなのでしょうか。

よろしくお願いいたします。


212 :Now_loading...774KB:2010/05/24(月) 14:25:58 ID:MDDoo/qM
>>211
速攻でremoveしてるのが問題では?
通信は非同期で行われますから、イベントが起こってから(addした飛び先で)removeするのが常道だと思います

213 :Now_loading...774KB:2010/05/24(月) 14:38:20 ID:fHsgVScv
外部ファイル読み込みについての質問です。
制作環境
CS3 AS2.0 XP
複数の外部JPGデータを一つのMCにまとめて読み込ますには
どのように書けばいいのでしょうか?
よろしくお願いします

214 :Now_loading...774KB:2010/05/24(月) 15:05:42 ID:PlSYIfUs
>>213
普通にfor文じゃダメなん?
あるいは、onDataハンドラは?


215 :Now_loading...774KB:2010/05/24(月) 15:23:41 ID:LDZYV0dR
>>212
ご回答ありがとうございます。

addしたとび先の関数でリスナの削除を実装するとなると、
HTTPServiceの場合、サーバにリクエストを投げたときに
ResultEvent.RESULTやFaultEvent.FAULTが発生しますので、
どちらか片方しか削除が出来ないといったことは無いでしょうか。

私の理解が間違っていたら申し訳ありません。






216 :Now_loading...774KB:2010/05/24(月) 15:30:58 ID:MDDoo/qM
>>215
考え方の問題です
両方ともリクエストの結果であり、どちらかが帰ってくれば他方は一生発生しないのですから
どっちが帰ってきても一遍に削除するのが常道でしょう

217 :Now_loading...774KB:2010/05/24(月) 15:52:19 ID:LDZYV0dR
>>216

なるほど。
仰るとおり、どちらか片方の関数で両方のリスナを削除すれば問題なさそうですね。

addした各々の関数に引数に渡す、
ResultEventやFaultEventでのオブジェクトの
currentTargetプロパティからリスナの削除処理を実装するようにします。

蛇足ですが、リスナの追加と削除の処理の記述ですごい手間がかかりますね。。。
何かうまくまとめられないか考えてみたいと思います。

218 :Now_loading...774KB:2010/05/24(月) 16:07:04 ID:/eVzhLD8
>>209
亀レスでごめん。toUpperCaseで大文字に変換してみて比較して
みるというのはどうだろう。大文字に変換しても元の文字列と同じ
なら大文字、違う文字列になったら小文字みたいな。
とりあえずtoUpperCaseはギリシャ文字にも対応しているみたいだ。

public static function isUpperCase(str:String):Boolean{

return (str.toUpperCase() == str);

}

実際にテストしたコードじゃないけど、概念的にはこんな感じ。

219 :Now_loading...774KB:2010/05/24(月) 19:11:52 ID:lsHX5veh
FlexSDKで文字にアンチエイリアスを掛ける方法が分かりません><
<embed>タグとかいうのでフォントを埋め込めばいいという所までは分かったんですが
具体的に何処にどうやって使えばいいのかがどうにも・・・

220 :Now_loading...774KB:2010/05/24(月) 20:35:23 ID:/eVzhLD8
>>217
removeEventListenerする理由は何?

221 :Now_loading...774KB:2010/05/24(月) 20:56:16 ID:LDZYV0dR
>>220
イベントリスナーが不要になった場合は、EventDispatcher.removeEventListener() を呼び出して、イベントリスナーを削除します。
削除しない場合、メモリの問題が発生する可能性があります。
と、アドビのサイトに書かれてあったのと、他のサイトでも、
同様の記事があったためです。

222 :Now_loading...774KB:2010/05/24(月) 21:22:09 ID:iT3mmV5u
【AS3.0】
マウスオーバでフレームが移動して、移動先の画像がフェードインするようなものを作ってたんだけど、
5フレームに飛ぶと「TypeError: Error #1009: at _fla::MainTimeline/image1()」とエラーがでる。
どこかにremoveでaddEventを消さなきゃいけないまではわかったんだけど、
どこにどうにかけばいいのかわからないので 教えてほしい

※1フレーム目
stop();

//ボタンの設定
btn1.addEventListener(MouseEvent.MOUSE_OVER,idou1);
btn2.addEventListener(MouseEvent.MOUSE_OVER,idou2);

function idou1(event:MouseEvent) {
gotoAndStop(1);
}
function idou2(event:MouseEvent) {
gotoAndStop(5);
}

//画像の透過
img1.alpha=0;
img1.addEventListener(Event.ENTER_FRAME,image1);
function image1(event:Event) {

if (img1.alpha<1) {
img1.alpha+=0.05;
}
}

223 :Now_loading...774KB:2010/05/25(火) 00:14:17 ID:WXk6lU2m
function image1(event:Event) {

if (img1.alpha<1) {
img1.alpha+=0.05;
}
else{
img1.removeEventListener(Event.ENTER_FRAME,image1);
}
}

removeするのは上記で良いけど、エラーは別の原因じゃないの?
5フレームにimg1が存在していないと予想。

224 :Now_loading...774KB:2010/05/25(火) 18:43:51 ID:Z54saU6Q
超初心者なのですが、すみません。
ttp://www.flashiroha.com/script/textEffect/as27.html
を見ながらテキストにエフェクトかけてみましたが
最後にムービーを繰り返さず、フェードアウトしたいのですが
どうしたらいいのでしょうか?
よろしくお願いします。

225 :Now_loading...774KB:2010/05/25(火) 22:32:56 ID:zyp7SKsH
>>223
>5フレームにimg1が存在していないと予想。
そうです、1フレーム目に画像1、5フレーム目に画像2がある状態です。

226 :224:2010/05/25(火) 22:56:50 ID:Z54saU6Q
できました。お騒がせしました。

227 :Now_loading...774KB:2010/05/25(火) 23:05:09 ID:WXk6lU2m
5フレームに飛んだ際にimg1をフェードインさせるなら
5フレーム目にimg1とスクリプトがないとおかしいよ。
img1.addEventListener(Event.ENTER_FRAME,image1); は5フレームに書いてるの?

もし5フレーム目でimg2をフェードさせるなら
img2.addEventListener(Event.ENTER_FRAME,image2);
・・・・・

を5フレームに書かないと。

228 :Now_loading...774KB:2010/05/26(水) 10:42:03 ID:ZfaiGg3+
すみません。
AS3で質問なんですが、
画面読込み時にテキストインプットにフォーカスを当てて、
キャレットを表示させるにはどの様にすればよいでしょうか?
下のようなコードで試してみたのですが、うまくいきませんでした。

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
private function init():void{
textinput1.setFocus();
textinput1.setSelection(0,0);
textinput1.drawFocus(true);
}
]]>
</mx:Script>
<mx:TextInput id="textinput1" x="146" y="47"/>
<mx:TextInput id="textinput2" x="146" y="99"/>
</mx:Application>

上のサンプルではtextinput1にキャレットを表示させようと試みていますが
うまくいきませんでした。
よろしくお願いします。


229 :Now_loading...774KB:2010/05/26(水) 11:19:16 ID:bBeL17tt
コピペでご希望通りの動きをしてるんだけど

230 :Now_loading...774KB:2010/05/26(水) 13:22:03 ID:ZfaiGg3+
>>229

私のほうでは同じソースを使ってもやはり期待通りの動きをしてくれませんでした。
環境によって挙動が変わることがあるのでしょうか?

231 :Now_loading...774KB:2010/05/26(水) 13:39:55 ID:bBeL17tt
ああすまんブラウザで見てみたらキャレット出てなかったわ
FlashDevelop上なら出るんだがなぁ・・・

232 :Now_loading...774KB:2010/05/26(水) 19:43:06 ID:rzghBUrP
外部swfの再生終了のイベントとかはASだけで簡単にとれるのでしょうか
外部swfのコードは触らない前提で

233 :Now_loading...774KB:2010/05/26(水) 22:28:10 ID:ULZDy/tP
ルートのタイムラインににベタなムービーなら_totalframesと_currentframeで
それ以外なら何を持って終了とするかってことで、簡単にとはいかんでしょう

234 :Now_loading...774KB:2010/05/27(木) 02:48:14 ID:suMeLfh+
AS3のタイマー制御関数を使って、ある一定の時間内のみ処理を実行するためにはどのようにすればいいんでしょうか

235 :Now_loading...774KB:2010/05/27(木) 04:07:59 ID:ZRrVc8E2
一定の時間が始まるところでタイマー開始すればいいんじゃないの

236 :Now_loading...774KB:2010/05/27(木) 05:36:04 ID:lDawrLs5
最近AS3を始めた超初心者です。
お訪ねしたいのですが、マウスアクションでクリックするとその場所に花が咲くようなスクリプトってありますか?
又はクリックした場所から花びらがぱっと散るようなものが書きたいのですが・・・。

回答よろしくお願いします。

237 :Now_loading...774KB:2010/05/27(木) 07:54:25 ID:odYbc1MD
>>236
先ずAS3の良書(自分に合った本)を見つけて勉強する。


238 :Now_loading...774KB:2010/05/27(木) 16:33:44 ID:SXPtDeBR
スクリプトじゃなくてアニメーションなんじゃないの
花が咲くアニメなら探せば見つからなくもないかもしれないけど
それを読み込んでクリックで再生させるスクリプトは自分で作るしかない

239 :Now_loading...774KB:2010/05/27(木) 16:41:37 ID:ZRrVc8E2
CSもってるかどうかも大事

240 :Now_loading...774KB:2010/05/27(木) 18:46:06 ID:CNrz9c1P
>238はクリックしたとこにアタッチムービーだろ?
入門書読めばわかるな
俺はAS3知らんからあれだけど

241 :Now_loading...774KB:2010/05/27(木) 18:47:13 ID:CNrz9c1P
アンカーミス。。。236だった

242 :Now_loading...774KB:2010/05/28(金) 13:53:25 ID:R/P51F5R
コンパイル時間がクソ長いのによく作るなお前らw

243 :Now_loading...774KB:2010/05/28(金) 15:56:14 ID:kNDS7kk8
cs4, player9, as3
オーサリングツールで作成されたShapeに、スクリプトでビットマップの塗りを適用することってできますか?
Shapeはやや複雑な形なので、lineToとかで描くのは厳しいです。
ごく普通に出来てもよさそうだと思ってたんですが、
beginBitmapFillで矩形を塗って、それをマスクで抜くしか方法はないんでしょうか。

244 :81:2010/05/28(金) 19:20:23 ID:wNQhxYeU
>>242
だからみんな fcsh 使うんじゃないの?

245 :Now_loading...774KB:2010/05/31(月) 04:27:17 ID:OOJ+AV+d
cs5使ってみたが、だめだこりゃ

・オーサリングのインターフェイスがさらに使いづらく固くなった
・コード補完・スニペット等が使えるようになったが、flashdevelopの豊富な機能には遠く及ばず X
・packager for iphone は 例の事件によって無用の長物 X
・CS3から続くオーサリング関連のバグがまだ残っている (いい加減なおせよこのクズ会社)X
・相変わらずコンパイルが超遅い

個人的にはバグがなおってないのにはらわた煮えくりかえった。
アメリカ人ってのは基本機能に不具合があっても平気な人種なのかね? あきれかえるわ。




246 :Now_loading...774KB:2010/05/31(月) 20:36:28 ID:IACTP8Vn
loaderで呼び出した外部swfのunload時のメモリリークについて悩んでいます。

親swfに複数の子swfを繰り返し呼び出すビューアーみたいなものを作成中なのですが、
unloadした子swfにリンゲージしたMC等のカスタムクラスやドキュメントクラスが含まれいる場合、
ロード/アンロードを繰り返すとメモリが完全にGCされないためか使用メモリがだんだん増えていってしまいます。
おそらく子のクラス定義がGCで削除されていないためだと思います。
そして不可解な事に、この現象はCS4のムービープレビューで再生した時は発生しません。(パブリッシュしたswfをFlashPlayer等で再生すると起こります)

load/unload処理やApplicationDomainについては適切に処理しているつもりなのですが、どなたかアドバイスお願いします。
以下はソースです。メモリの監視は「AS3 SWF Profile」で行っています。

//親swfのドキュメントクラスでのロード処理部分(子swfには大量の画像をリンゲージしています)
private var loader:Loader;
private function loadSwf ( fileName:String ):void{
loader = new Loader();
var info : LoaderInfo = loader.contentLoaderInfo;
info.addEventListener(Event.INIT,loaderInitHandler);
var appDomain:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
var context:LoaderContext = new LoaderContext(false, appDomain);
loader.load(new URLRequest(fileName) ,context);
}
private function loaderInitHandler (event:Event):void{
var info : LoaderInfo = loader.contentLoaderInfo;
info.removeEventListener(Event.INIT,loaderInitHandler);
addChild(loader);
}
private function unloadSwf():void{
loader.unloadAndStop();
removeChild(loader);
loader = null;
}

247 :Now_loading...774KB:2010/05/31(月) 21:56:36 ID:DUci6nHV
>>246
removeEventListenerと弱参照はペアにする


248 :246:2010/05/31(月) 21:59:40 ID:IACTP8Vn
http://sugar310.dip.jp/cgi/upload/source/up24189.swf

↑が上のテスト用に作成したswfなんですが、ロード/アンロードを繰り返しても無限にメモリが増えていくわけじゃないみたいです。
しばらく経つとある程度までは減りますが、ロードする前の水準には戻りません。
(右クリックでメモリ状況のグラフを表示できます)
ローカルでのスタンドアロンプレイヤーによる再生では、メモリが無限に増えていってしまいます。
この挙動は普通なのでしょうか?
ちなみに子swfにカスタムクラスが一切含まれいない場合には、すぐにキレイサッパリGCされます。


249 :246:2010/05/31(月) 22:33:19 ID:IACTP8Vn
>>247
アドバイスありがとうございます。
リスナーを弱参照に変更してみたのですが、挙動に変化ありませんでした。
info.addEventListener(Event.INIT,loaderInitHandler)
 ↓
info.addEventListener(Event.INIT,loaderInitHandler, false, 0, true);


子SWFを完璧に削除する方法としては、
http://blog.img8.com/archives/2008/04/003715.html

http://help.adobe.com/ja_JP/as3/dev/WSd75bf4610ec9e22f43855da312214da1d8f-8000.html
のページにある「使用形態C」を参考にしたので、何がいけないのか一日中悩んでいます。

250 :246:2010/06/01(火) 09:22:16 ID:7FLTDGkz
連投してすみません。
どうやらこちらの検証環境の方の問題だったようで、別PCのFlashPlayerで再生したところ問題なくGCされていました。
不可解なのは同じバージョンのFlashPlayerでもPCによって挙動が違ったりすることです。
(同じPC上のFlashPlayerでも通常版はOK、Debug版はNGなんてことも)
ブラウザ再生でもGoogle ChromeだとダメだったのにFirefoxやIEだと大丈夫という、よくわからない結果になっています。

実際にメモリリークが原因でコンテンツ再生に支障が出たことは無いですが、メモリがどんどん増えていく状態は気持ち悪いです。



251 :246:2010/06/01(火) 11:00:41 ID:7FLTDGkz
さらに検証したところ、どうやらFlashPlayerのバージョンによる挙動の違いの線が濃厚です。
最新版のFlashPlayer「10,0r45」だと外部swfのunloadでクラス定義がGCされなかったのですが、
「10,0r42」で試したら大丈夫でした。

252 :Now_loading...774KB:2010/06/01(火) 11:24:23 ID:xf7SApY/
ん? 結局、unloadと当時にGCさせたいってこと?
それとも、環境によってGCのタイミングが違うのが困るってこと?

253 :Now_loading...774KB:2010/06/01(火) 14:15:53 ID:XVZgfmVa
AS3です。

TextInputので率を入力させたいと考えています。
エクセルでいうところの##.#%のような形で入力した値を表示したいと思います。

また、日付もYYYY/MM/DDのような形で
入力の規制を設けたいと思うのですが、
どの様にすればよいか分からず、こまっております。
restrictプロパティで[0-9]と指定して、
数値ののみの入力というのは実現できたのですが
率や日付については出来ておりません。

どなたかアドバイスを頂けないでしょうか。

254 :81:2010/06/01(火) 15:37:11 ID:PCqn1aMA
>>253
change イベントで監視すれば?
んでフォーマットに沿ってるかは正規表現で判断。

間違った入力を突っぱねるのを「バリデート」、
正しい入力に修正するのを「サニタイズ」と言います。
ググればいっぱい情報あると思うよ。

255 :246:2010/06/01(火) 21:56:37 ID:lfd+xv/1
>>252

いえ、GC自体は頻繁に行われるのでタイミングの問題ではないんです。。
Debugプレイヤーで再生して強制GCしても、子swfのクラス定義の分のメモリだけが解放されません。
残ってしまったメモリは時間が経ってもGCされないので、その状態でload/unloadを繰り返し行うと、どんどんメモリが増えていきます。

とりあえず判っている事は、最新版のFlashPlayer「10,0r45」だとメモリリークして、「10,0r42」だと無問題ってことです。


256 :Now_loading...774KB:2010/06/03(木) 23:41:47 ID:lvtPmgTp
AS2.0でマウスが動いているかどうかif文で調べたいのですが、
どうしたらいいですか?mouseMoveでは出来ない気がするのですが。

出来ればマウスがどう動いているか(左から右、下から上など)も
取得できればいいのですが。配列にマウスの座標を入れて調べるしか
ないですかね?

257 :Now_loading...774KB:2010/06/03(木) 23:49:49 ID:raM2LFfu
>>256
>mouseMoveでは出来ない気がする

気がするだけだろw

実際にどういう結果を期待して、どういうASを書いたのか
もっと具体的に示してみれば、どこで間違っているのかわかると思う

258 :Now_loading...774KB:2010/06/03(木) 23:54:11 ID:lvtPmgTp
>>257
マウスが動いてればtrue、動いてなかったらfalseって返したいとして
mouseMoveでtrueには出来ますよ?止まったらfalseに出来ないのです……

259 :Now_loading...774KB:2010/06/04(金) 00:05:37 ID:ZVPUZVyS
止まっている状態をどう定義するのか知らんけど
mousemoveイベント使う以外方法はないよ
動いている方向は前回の位置から角度を計算すれば出来る

260 :Now_loading...774KB:2010/06/04(金) 00:08:09 ID:26yBWkRO
>>259
やっぱりフレーム毎にマウス座標を配列に突っ込んで
数フレーム間変化がなければfalse返すって方法しかないんすか
重たいからなるべく別の方法があればと思ったのですが…


261 :Now_loading...774KB:2010/06/04(金) 00:22:33 ID:ZVPUZVyS
>>260
俺だったらタイマー使って指定秒後に動いていませんフラグを立てるか、
最後に動いた時刻を残しておいて、動いてるか調べるときに現在時刻と比較するかな
とりあえず配列使う方法は思いつかないわ

262 :Now_loading...774KB:2010/06/04(金) 05:30:23 ID:Ajqh5Qw0
RTMFPについていい感じにまとめてる所はまだないのかな

263 :Now_loading...774KB:2010/06/04(金) 09:04:01 ID:VWFOfJWw
FLASHゲームのスコアランキングを作りたいです。

FLASHからcgiにスコアを送信するときに、
スコアを偽造されない、うまい方法ってありますか?

264 :Now_loading...774KB:2010/06/05(土) 07:24:39 ID:5UThyxCp
>>263
暗号化。
とは言っても Flash のプロセスメモリいじれば偽造は簡単だから、
厳密なのは難しいかなあ。

265 :Now_loading...774KB:2010/06/05(土) 10:32:22 ID:Rfe8hHBR
>>263
ActionScript 3.0で暗号化・復号化のメモ(1) データフォーマットについての予備知識(バイナリ、Hex、Base64...)CommentsAdd Star
ttp://d.hatena.ne.jp/monta31/20080904/p1

(PHPの場合)AS3でByteArrayをPHPに渡して保存するメモ
ttp://memo.kappa-lab.com/2007/12/as3bytearrayphp.html



ほか、過去レスで検索してみた。

26 Now_loading...774KB sage 2009/08/08(土) 12:26:19 ID:9bqO6CoH
AS2.0で文字列を簡単に暗号化させるようなことはできますか?
環境、変数をいくつか文字列に保存→暗号化
それをユーザーがローカルに保存
ユーザーが入力→複合化→環境、変数を取り出す→反映

ということをしたいのですが


29 Now_loading...774KB sage New! 2009/08/09(日) 00:36:35 ID:YOa3qRmx
rot13あたりでググれ


266 :263:2010/06/05(土) 13:46:01 ID:OhwaQ2Wn
>>264,265
回答ありがとうございます。
暗号化だと、暗号化のためのキーを、Flash内部に持たないといけないのでは?
暗号キーと暗号化関数を、Flashから引っこ抜いて、
自前でニセのハイスコア暗号文を生成、httpでサーバに送りつけたら、
偽装できますよね。

正しいクライアントから送られてきたハイスコアであることを、
サーバ側で保証できる方法はあるんでしょうか。

原理的に不可能なら、暗号キーの断片をswf各所に散りばめるとかして
難読化しようかと思ってます。

267 :Now_loading...774KB:2010/06/05(土) 17:21:14 ID:r/nikbQl
ぶっちゃけクラックを完全に防ぐ方法は無い
気休めで良かったらリプレイデータも鯖に送りつけて後の検証やり易くするくらいか


268 :Now_loading...774KB:2010/06/06(日) 04:15:39 ID:+IElA0fz
すごく初心者な質問なので恐縮なのですが
最近AS3.0の勉強を始めたばかりで、プログラムの経験もありません。

バーがだんだん伸びていくような感じにしたくて以下のようなコードを書いたのですが
なぜか、もとの画像の約2倍ほどの長さまで伸びてしまいます。
どこをどう直せばいいのか、アドバイスいただけないでしょうか?

var barScale:Number = 0;

while (barScale<=1.0){
addEventListener(Event.ENTER_FRAME,geji);
function geji(Event):void{
barScale = barScale+0.1;
bar01.scaleX = barScale;
}
}

269 :Now_loading...774KB:2010/06/06(日) 04:47:08 ID:fDmZ+fpk
関数とメソッドの違いについて。
判らなくなって、いろいろ調べてみたら、return で返すのが関数で、メソッドは違う。とあったんだけど。

どうも、そうじゃない気がするんだ。

例えばグローバル関数で String()
データを文字列で返す関数があるんだけど。
dataAを文字列だ表す表記は以下のとおり。

String(dataA);

一方で toString() というメソッドがあって。
使用方法は String() 関数と同じなのね。
でも。

dataA.String();

って表記する。インスタンス.String() なのね。

この違いから考えられるのは、メソッドはインスタンス(クラス)専用の命令で、
関数はクラスを必要としない。

メソッドは主語のようなインスタンスがあって、
関数は必要に応じて目的語のような引数を使う。

って考えてみた。
この考え方あってますか?

270 :Now_loading...774KB:2010/06/06(日) 05:12:53 ID:VQ71xvpV
>>268
よくわからんけど、それ無限ループしないかな
var barScale:Number = 0;
function geji(Event):void{
  //毎フレームここが実行される
  barScale = barScale+0.1;
  bar01.scaleX = barScale;

  //ゲージが伸びきったらフレームイベントを外す
  if (barScale == 1) {
    removeEventListener(Event.ENTER_FRAME, geji);
  }
}
addEventListener(Event.ENTER_FRAME, geji);

271 :Now_loading...774KB:2010/06/06(日) 11:52:08 ID:7YE4fSm6
3.0で質問します。
外部に置いたテキストファイルを読んだり書いたりするswfを
作りたいのですが、ファイルに書き込む処理がどこを探しても
分かりません。テキストファイルに書き出す処理はどのような
方法があるのでしょうか?

ちなみにテキストファイルを読み込む部分はこれでうまく行っています。
//読み込むファイルのアドレス情報を作成
var request:URLRequest = new URLRequest("test.txt");
//URLLoaderのインスタンスを作成
var loader:URLLoader = new URLLoader();
//読み込み完了後の処理を作成
loader.addEventListener(Event.COMPLETE,traceData);


よろしくお願いします。

272 :Now_loading...774KB:2010/06/06(日) 12:46:26 ID:oIXXp2Fy
AS3で質問です。

addEventListenerメソッドをオーバーライドするときに
気を付けるポイントはありますか?

ある記述をしておかないと挙動が不安定になるなど
注意点があれば教えていただけないでしょうか。

273 :268:2010/06/06(日) 14:54:49 ID:+IElA0fz
>>270
ありがとうございます。長く伸びてるんじゃなくて、
無限ループで暴走してエラーで止まってただけだったんですね。
直したらちゃんと動きました!

274 :Now_loading...774KB:2010/06/06(日) 15:46:35 ID:PXjVV57G
>>271
AS3 Player 10 File でググる


275 :274:2010/06/06(日) 20:21:03 ID:dXvM42NE
>>271
間違えた 「AS3 Player 10 FileReference クラス」 だった


276 :Now_loading...774KB:2010/06/06(日) 21:35:57 ID:kUMPEpEV
>>269
うん、全然違う
Adobeがアフォで独自用語使いまくってるから混乱してるんだろうけど
普通の言語なら クラス名.メソッド名 って形式のは静的メソッドと呼ばれる
逆に インスタンス変数名.メソッド名 は動的またはインスタンスメソッドと言う
そして関数ってのは、値を返すメソッドのこと
ちなみに静的と動的の違いはクラス内変数スコープの違いかな、ざっくり言うと
インスタンス毎に変数管理しなきゃならない場面でなきゃどっち使ってもいいよ

277 :Now_loading...774KB:2010/06/06(日) 21:52:36 ID:fDmZ+fpk
えええ?
いわゆるfunction関数でも returnしないものは、実は関数でない??


278 :Now_loading...774KB:2010/06/06(日) 22:35:41 ID:81R78OH1
AS3で質問

同じタイムラインで
var a = new A();   //aはムービークリップシンボルのクラス
addChild(a);
↑の2行を書くとaがステージ上に表示される。

でも
var a = new A();
を例えば1フレームのタイムライン
addChild(a);
を例えば2フレームのタイムライン
で書くとaはステージに表示されない。

なんでだろう?
教えてもらえないでしょうか。


279 :Now_loading...774KB:2010/06/07(月) 01:15:25 ID:yx5S1nM3
>>278
変数のスコープについて調べると良かろう

280 :Now_loading...774KB:2010/06/07(月) 01:27:00 ID:jHCOvDYv
>>278
それで問題ないはず。


281 :278:2010/06/07(月) 07:10:27 ID:BpTFr76s
ありがとう。

>>279
エラーは出てないからスコープ内だと思うんだ。

>>280
そうか。。じゃぁ違う問題かな。
もう少し考えて見ます。



282 :81:2010/06/07(月) 07:57:09 ID:QYvgySjZ
>>269
基本あってます。
クラスを抽象化し、カプセル化するための手段の一つがメソッドです。
インスタンスを主語とするのが「インスタンスメソッド/動的メソッド」。
クラスを主語とするのが「クラスメソッド/静的メソッド」。
ただ引数云々は関係ないです。
C++ などではメソッドのことをメンバ関数と呼んだりするので、
web なんかで調べると、ややこしくなっちゃいがちだよね。

>>276
うん、全然違う。
ヒント:Java には関数が無い。

283 :271:2010/06/07(月) 20:53:15 ID:9u9/uwEO
>>275 さんありがとうございます。
いただいたキーワードを元にググっては書いてある事試したんですが、今のところ思ったような
処理は出来てないです。
あと.browse()っていうメソッドが良く出てくるんですが、これ付けないと書き込みできないのでしょうか?

それと手元の本には□.open("w","","");で開いて□.writeln();で1行ずつ書き込めるから楽勝
みたいな事書いてたと思ってたんですが、よく見たらLiveMotion2.0専用って書いてました。
これってFlashとは別物なんでしょうか?

よろしくお願いします。

284 :Now_loading...774KB:2010/06/07(月) 22:15:08 ID:6IwJuZGh
サーバ上のファイルを更新するのはCGIを挟まないと無理じゃないの

285 :Now_loading...774KB:2010/06/07(月) 22:38:45 ID:jtzCfwxN
FlashMX2004を使って、特定の単語が含まれたTwitterの発言を取得するFLASHを作成しようとしています。
http://search.twitter.com/search.atom?q=%23flash
の内容をFLASHに読み込めればOKと考えて下さい。

読み込み自体は出来るのですが、日本語が文字化けしてしまいます。
ソースは以下の通りです。

System.useCodepage = false;
var tweet_xml = new XML();
tweet_xml.ignoreWhite = true;
tweet_xml.onLoad = reflesh;
tweet_xml.load("http://search.twitter.com/search.atom?q=%23flash");
function reflesh() {
trace(tweet_xml);
}

なお、WEB上に設置するつもりはございませんので、
php等で一度受ける必要も無く、また、出来ればそういった手順も踏みたくないと思っております。

どうすれば文字化けを回避出来るでしょうか。
ご教授願います。

286 :Now_loading...774KB:2010/06/08(火) 00:31:47 ID:/vCeSj75
初心者です。
actionscriptとPHPと連携するプログラムを作成しようとしています。

actionscripにはsendAndLoad関数や、LoadVarsオブジェクトを使って、
PHPと通信するプログラムが作成できるらしいのですが、
FlashDevelopでプログラムを組むことは可能でしょうか?
それともFlashCSとか使わないとだめでしょうか?

287 :Now_loading...774KB:2010/06/08(火) 01:06:34 ID:s5fIGMK6
>>286
お薦めの2冊
「FLASH BOOKS Version 02.Communication」水野 俊也 (著), 松本 一馬 (著)
「ラーニングバイブル Flash MX ActionScript サーバサイドスクリプト編」胡鵡 (著)


288 :Now_loading...774KB:2010/06/08(火) 01:39:05 ID:/vCeSj75
>>287!!
ラーニングバイブルFlashMX〜
はちょうど以前アマゾンで買って手元にあります!!
FLASH MXを使ってPHPとの連携のプログラミングが解説してあるから、
FLASHMXを使ってプログラミングするのが近道でしょうか?


289 :Now_loading...774KB:2010/06/08(火) 01:46:00 ID:nSdnPmmb
>>288
別になんでもいいんじゃないの?
バージョンは


290 :Now_loading...774KB:2010/06/08(火) 01:58:34 ID:/vCeSj75
>>288
最新のバージョンだと
adobe flash ビルダーとか、adobe flash pro cs5
とかみたいですが、actionscriptを使ってPHPと連携するプログラム作るという目的
(FLASHムービーは今のところ作る予定はないです)
ではadobe flash ビルダーでもいいでしょうか?

291 :Now_loading...774KB:2010/06/08(火) 02:16:20 ID:nSdnPmmb
>>288
お前あっちゃこっちゃで聞きまくるのはだめだぞ。
マルチは今後気をつけるように。
actionscriptを使ってPHPと連携するプログラム作るという目的
ということをおれはやったことがないので、なんとも
いえないが本があるんでしょう?
それ見て作ればいいんじゃないの?
なにが目的なん?
作品として会社に見せたいの?


292 :Now_loading...774KB:2010/06/08(火) 02:38:55 ID:/vCeSj75
2Chのルールがよくわからず申し訳ないです。
趣味で将棋とかオセロの対戦ゲームを作るのが目的です。
(市販の将棋とかオセロのソフトやYAHOOのネットゲームの方が
完成度が高いのは十分わかっているのですが、
プログラミングが子供のころからの憧れなので)
actionscript+PHPの関係の本は参考文献が少なくて、
知りたいのはサーバサイドとクライアントサイドのデータのやり取りの方法なのですが
解説はADOBEのソフトを使うことが前提で書かれていて
FLASHムービーを作らないのにADOBEのFLASH用ソフト買うかどうかも
いまいち踏みきれないところで迷ってるんです。
会社に見せる気はあまりありませんが、
pya!とかで紹介してもらえるプログラムができるといいなあと思ってます。

293 :Now_loading...774KB:2010/06/08(火) 02:56:12 ID:wZuWwNyR
googleで「as3 php」で検索するとたぶん読みきれない程の情報が出てくるよ

294 :Now_loading...774KB:2010/06/08(火) 03:12:34 ID:MebAOQJb
2chのルールというか、基本的な掲示板のエチケットでしょ。
よくそれで、ウェブの作品を作れるもんだね。

といってみた。ま、気にするな。

295 :Now_loading...774KB:2010/06/08(火) 03:34:06 ID:/vCeSj75
>>293
as3 phpで検索すると確かに読み切れない情報が出てくる。
サンプルソースコードも公開しているのもありがたいです。

>>294 
ご指摘ありがとうございます。
いろいろ経験して出直してきます。


296 :Now_loading...774KB:2010/06/09(水) 12:15:48 ID:hFwioXtg
AS2.0を使用しております

配置してあるムービークリップに
先読みしておいた外部SWFのファイル群の中から一つのポインタを渡して
表示されているswfを入れ替えるような処理を実装するにはどうしたらいいでしょうか

アバターみたいなムービークリップが配置してあり、
先読みしておいた服のリストから服を選んで入れ替えたりできるようなイメージです。

297 :Now_loading...774KB:2010/06/09(水) 12:26:54 ID:iH9XkECn
>>296
単純な方法としては、そのswfを表示して、指定したフレームとかに
gotoAndStopじゃないの?
あるいはattachMovieとかattachBitmapとか

298 :Now_loading...774KB:2010/06/09(水) 12:46:38 ID:hFwioXtg
レスありがとうございます

外部SWFが全部別のSWFになっているため、
別のフレームに飛ぶような処理では実装が難しいです。
attachMovieは呼び出す側のライブラリに無いMCはアタッチできないと思ったのですが
外部SWFもアタッチできるのでしょうか

299 :Now_loading...774KB:2010/06/09(水) 13:12:59 ID:iH9XkECn
>>298
> 外部SWFが全部別のSWFになっているため、
> 別のフレームに飛ぶような処理では実装が難しいです

ちょっと上記の意味がわからない
attachMovieの仕様もその通りだけど、やりたいことと状況がもっと具体的に
わからないと、何が可能で何が不可能なのかこちらでは判断できんです
ただ、場合によっちゃ設計変えたほうがいいんじゃないのか?
大抵の場合、問題となるのはASじゃなくて、設計だと思うよ
そしてこの場合、難しくなるような作りになってること自体に問題があるんじゃないのかな

300 :Now_loading...774KB:2010/06/09(水) 13:25:49 ID:69hX2kpo
【環境】AS3.0/CS4

Tシャツなどにオリジナルのプリントができ、Web上でシュミレーション→注文可能なコンテンツを作ろうとしているところです。
(UNIQLO CUSTOMIZEのようなもの)

フォームにテキストを入力してもらってから、フォントを選んでプレビュー部に反映させる部分の仕組みがわからず苦労しているんですが、いいやり方はありますかね?

301 :Now_loading...774KB:2010/06/09(水) 13:31:51 ID:hFwioXtg
絵が大量にあるため一つのファイルにまとめると容量が大きくなり、
転送コストが大きくなる為、必要な絵のみを取得するような仕様が必要になっております。

ASについては初心者のためどういう設計にすればいいのかが今一つ判っておりません。


302 :Now_loading...774KB:2010/06/09(水) 13:32:35 ID:VYECB02c
埋込フォントの使い方は知ってるの?

303 :Now_loading...774KB:2010/06/09(水) 14:12:49 ID:iH9XkECn
>>301
なるほど、ちょっとわかった

まず、swfのなかから、一部だけを読み込むということはできないよ
画像を1ファイルにまとめられないのはいいが、いくつかにはまとめられているということ?
大量の画像のなかのどれかひとつを読み込む、という仕様なら問題ない気もするが

304 :296:2010/06/09(水) 14:21:19 ID:hFwioXtg
すべて個別のアニメもしくは静止画のSWFを必要な数だけ先読みするような仕様にするつもりです。


305 :Now_loading...774KB:2010/06/09(水) 14:34:44 ID:iH9XkECn
>>304
「先読み」の定義が、よくわからないな
たとえば、表示すべき箇所に、表示すべきswfやjpgなどが読み込まれているなら
swfやjpgの表示/非表示を切り替える、当該swfの任意のフレームに飛ぶ、
といった処理で問題なさそうに思われる
そうでないなら、「先読み」されているのは、どこに、なにが?
もし「先読み」されているファイルの内容を複製して表示したいなら、
再度、読み込みが必要になる(ただし「先読み」の恩恵で、キャッシュからの読み込みになり
ロード時間は短縮する)
そして読み込み完了後に、任意のフレームに飛ぶ

設計によっては、読み込まれたファイル上にattachMovieやattachBitmapを
することでも意図するような動作は実現できるようにも思うけどね

306 :Now_loading...774KB:2010/06/09(水) 14:51:39 ID:K5GW17sl
>>300
つまり任意のフォントで文字を出す方法が分からないってことか?

307 :300:2010/06/09(水) 21:11:47 ID:69hX2kpo
>>306
簡単に言うとまさにその通りです!
入力したテキストを読み取る→任意のフォントに変更→書き出す

ができるようにしたいです。

308 :Now_loading...774KB:2010/06/10(木) 02:28:17 ID:wETRQM74
http://www.himco.jp/articles/pdf/embedding_fonts.pdf
ここに書いてあるよ


309 :Now_loading...774KB:2010/06/10(木) 12:19:40 ID:fI2mo7Zg
AS3.0とPHPのデータのやり取りの方法について教えてください。

以下のサイトでAS3.0→PHPの変数の値の受け渡しのサンプルコードが分かりましたが、
逆にPHP→AS3.0に値を受け渡すコードってどう書けばいいのでしょうか?

ttp://www.5ive.info/blog/archives/90

310 :Now_loading...774KB:2010/06/10(木) 12:51:33 ID:+f7Jwbbp
JavaScriptからExternalInterface.addCallback経由で渡すんじゃね

311 :Now_loading...774KB:2010/06/10(木) 15:56:39 ID:z4gBB6d4
FLASHをActionscript以外の言語で動かすことってできますか?
翻訳機とかあるんでしょうか
Actionscriptはまるきり初心者です。

312 :Now_loading...774KB:2010/06/10(木) 18:43:07 ID:wETRQM74
>>311
ない


313 :ドラえもん吉:2010/06/10(木) 19:39:52 ID:N7DoTqDv
はなそ!

314 :Now_loading...774KB:2010/06/10(木) 20:26:58 ID:fI2mo7Zg
>>310 javascriptを使うの?actionscriptからじゃダメ?

315 :Now_loading...774KB:2010/06/10(木) 20:29:09 ID:znF7aWBI
ちょっと何言ってるかわからないっすね

316 :Now_loading...774KB:2010/06/10(木) 21:44:52 ID:ybLkqGqd
>>314
どうあってもJSがイヤってんならPHP側でWebサービス実装してXMLLoader使え

317 :Now_loading...774KB:2010/06/10(木) 22:16:00 ID:fI2mo7Zg
>>314返答ありがとう。
いつかは理解できるかもしれないけれど今の自分の知識では少しハードルが高い。
他スレで聞いてみる。

318 :Now_loading...774KB:2010/06/12(土) 02:01:04 ID:Tqy/LQKC
startDrag()を適用してあるMCのドラッグ中に再びstartDrag()を指定してドラッグ可能範囲を動的に変更しようとすると、マウスとの動きの連動が変になるのですが、回避方法は無いのでしょうか?


319 :Now_loading...774KB:2010/06/12(土) 03:27:08 ID:YBx8qBdD
winXP、FlashMX、AS2.0使用です。
6×6のマス目にp_1_mc〜p_36_mcを配置して、p_1_mc〜p_36_mcの上でホイールを回すと表示が切り替わるというスクリプトを組んでいます。
p_1_mc〜p_33_mcとp_36_mcは正常に動くのですが、p_34、35_mcだけが動きません。
(ムービークリップの上に乗せてもマウスカーソルが指の形にならない)
試しにp_34_mcの名前をp_37_mcに変更した所動くようにはなりましたが、今度は正常に動いていたp_27_mcが動かなくなってしまいました。
重なってるmc・同名のmcがないこと、スペルミス等は一通り確認済みです。
考えられる原因は何でしょうか?

また、ソースの関連ありそうな部分をコピペして下にうpしてみました。
ttp://kissho.xii.jp/1/src/1jyou116063.txt

正直自分の力では手詰まりなので、ヒントだけでもいただければ幸いです。
よろしくお願いいたします。

320 :Now_loading...774KB:2010/06/12(土) 13:23:46 ID:YgD0h3IN
>>312
遅くなりましたが返答ありがとうございます。

321 :Now_loading...774KB:2010/06/12(土) 13:32:51 ID:eJjBSHET
>>319
function d_wheel(){ が閉じてないような気がするんだけど、これはコピペミス?

trace()で重なっているMCを正しく取得できているのか確認してみた?

322 :Now_loading...774KB:2010/06/12(土) 14:20:56 ID:sb/pt3Ek
>>321
trace()でチェックしてみたところ、mcの名前ミスが見つかったので直したら正常にうごきました!
こんな便利な命令があったのですね
ありがとうございました!

あとfunction d_wheel(){ が閉じてないのはコピペミスでした……

323 :Now_loading...774KB:2010/06/12(土) 16:03:53 ID:5d1wvIF+
AS3で質問です。

自前のクラスのgetterメソッドの一覧を取得するには
どのようにすればよろしいでしょうか?



324 :263:2010/06/12(土) 17:10:01 ID:k0PLy2M/
>>323
flash.utils.describeType()関数を叩くと、
型に関する情報がXMLで返ってくるから、
XMLの中のaccessor要素を見る。

325 :Now_loading...774KB:2010/06/14(月) 00:18:04 ID:V7Rxt6dm
ボタンをクリックすると、フレームを移動させるように
AS3で書いているんですが、以下のエラーがでてしまいます。

TypeError: Error #1010: 条件は未定義であり、プロパティがありません。

//
public class SampleButtonA extends MyEffectButton {
public function SampleButtonA() {
addEventListener(MouseEvent.CLICK, clickHandler);
}
public function clickHandler(event:MouseEvent):void {

bg.gotoAndStop(2);
}
private var bg;
}
}


ご教示お願いいたします。


326 :Now_loading...774KB:2010/06/14(月) 01:27:41 ID:8uBuTTPk
>>325
bg.gotoAndStop(2);
}
private var bg;

ここがよく分からん。bgって何? バックグラウンド?
もしかしてステージ?


327 :Now_loading...774KB:2010/06/14(月) 01:30:52 ID:2lDf91bX
WinXP-Pro,CS4,AS3
FLARToolKitでARを始めたのですが、いきなりつまづいています。

ttp://gihyo.jp/design/feature/01/flartoolkit/0001で紹介されている
「FLARToolKit スタートキット」をDLして、指示通りにSimpleCube.flaを
パブリッシュしようとしたところ下記の2つのエラーメッセージが現れました。

A) 1017: 基本クラス PV3DARApp の定義が見つかりませんでした。
B) 5000: クラス 'SimpleCube' は 'flash.display.MovieClip' をサブクラスとする必要があります。
  同じ型のライブラリシンボルにリンクしているためです。
 ※上2つは共に下の記述をエラー箇所として挙げています。
 public class SimpleCube extends PV3DARApp {

クラスパスの問題かと思いましたが、説明文中には「クラスパスを設定して下さい」
といった指示は無く、
ttp://www.adobe.com/jp/devnet/flash/articles/flartoolkit.html 
にもクラスパスの記述はありません。

そこで、スタートキットのSimpleCube.swfを直接起動して試しましたが何も
画面に映りません。 不思議に思い、ARのサンプルを記載しているサイト
ttp://blog.pentacreation.com/2009/02/flartoolkit.php
に行きましたが直ぐにFlashPlayerよりカメラ設定許可の可否ダイアログが出て
許可を押すとARが実行出来ました。

※つまりWebを介してのARはOKということです。

長文になりすいませんが、問題点をまとめると下の3つです。
@サンプルのパブリッシュでエラー ADLしたSWFでも不可 BWeb上では可能

どなたかアドバイス願います。


328 :Now_loading...774KB:2010/06/14(月) 04:00:36 ID:LmqNkXKW
>>325
bgがMCだとして…
まずbgをインスタンス化しないと。
今の状態じゃ、生まれてない子供にあーしろこーしろ言ってるのと同じ。
そもそもなんでbgの宣言をわざわざそこでしてるかも謎だけど…

329 :Now_loading...774KB:2010/06/14(月) 10:37:07 ID:mdJLtbtH
AS3.0で質問があります。
テキストフィールドを使用する際に、入力した文字列のまま取得出来る場合と、
HTMLタグが付加されて取得する場合があるのですが、これらをあらかじめどちらかに
設定しておくことは出来ますでしょうか?特にタグ情報を省略する方法をお教えください。
よろしくお願いします。

合ってるかは分かりませんが、テキストフィールドの変数に.text()を付けてみたんですが、なんか取れませんでした。

330 :Now_loading...774KB:2010/06/14(月) 10:58:44 ID:LF0nISGG
>>329
TextField.onChangedメソッドでタグの <〜〜> を検出し処理するとか。


331 :Now_loading...774KB:2010/06/14(月) 11:26:51 ID:uCKGjp7b
>>330
それは2.0では?
あとメソッドなのそれ?w

>>329
htmlTextを調べるとタグ付きで返ってくるので、textを調べれば良いと思う。

332 :329:2010/06/14(月) 11:39:28 ID:mdJLtbtH
>>330レスありがとうございます。
それは入力されたテキストはタグが付いてくる前提で処理を行うということなんでしょうか?

他に試したことは、プログラム内でテキストフィールドに文字列を表示した場合は
参照しても元の文字列のままなんですが、その内容を1文字でも編集するとタグ付きで
参照してしまいました。

例えば”入力テキスト”とフィールドに入力すると、
”<P ALIGN="LEFT"><FONT FACE="_sans" SIZE="8" COLOR="#000000" LETTERSPACING="0" KERNING="0">入力テキスト</FONT></P>”
て感じでタグが付いちゃうんです。

2.0の時はそのまま取得できていたのでホント分かりません。

>>331レスありがとうございます。
それはさっき試した.text()の事でしょうか?書き方が間違ったのかもしれないんでもっかい試してみます。
その時は単純に
wk_loadtext = _parent.p_text.text();
って書いてました。

333 :Now_loading...774KB:2010/06/14(月) 11:52:22 ID:uCKGjp7b
wk_loadtext = _parent.p_text.text;
でいいと思う。

って、_parentはAS2.0だよね?
3.0と2.0どっちよw

334 :329:2010/06/14(月) 12:13:08 ID:mdJLtbtH
すいません自己解決しました。

テキストフィールドのプロパティで、文字間隔に-1.0を設定していたのが原因だったようです。
初期値の0.0にすると入力したテキストの内容だけ取れました。

まだよく分かってはいませんが当面これだけ分かれば進めます。
お騒がせしてすいません。

>>333レスありがとうございます。
作ってるもんのプロパティ見てみたら2.0って書いてました…
ずっと3.0だと思って作ってました、色々ホントすいません。
.textは将来3.0で作る際に使ってみます。

335 :325:2010/06/14(月) 13:07:21 ID:V7Rxt6dm
326さん、328さんありがとうございます。

bgは、ムービークリップです。

bgはインスタンス化しないと。
←というのは、F8でインスタンス化しているんですが、
また違った意味でしょうか?

今の状態じゃ、生まれてない子供にあーしろこーしろ言ってるのと同じ。
そもそもなんでbgの宣言をわざわざそこでしてるかも謎だけど…

bgの宣言は、どこでどういったふうにすればよろしいでしょうか?
エラー内容から考えるに、328さんの仰るようなことが原因なのでしょうか?

初歩的な質問で申し訳ありませんが何卒よろしくお願いいたします。



336 :Now_loading...774KB:2010/06/14(月) 13:16:57 ID:LF0nISGG
>>335
根本的に間違ってる気がする&文章自体が意味不明。
どんな本を買ってるの? 
ネットに情報は溢れているけど、最低2冊は買った方がいいよ。


337 :Now_loading...774KB:2010/06/14(月) 14:37:34 ID:V2+Tdyia
ActionScriptを使ったらこんなことができる!ってのを紹介するために
FLASHだけのサイトやActionScriptも使ってるサイトを比較したいと思ってるんですけど、
良さそうな場所知りませんか?

338 :Now_loading...774KB:2010/06/14(月) 20:44:18 ID:LmqNkXKW
>>335
F8は「シンボルに変換」であって、雛型を作る作業なの。
変数の宣言は決まりがあるわけではないけど、特別な理由がない限りクラス宣言のすぐあとに書くのが普通。
とりあえず本当に基本的な理解が足りてないから、「actionscript 入門」あたりでググってみてください。
別に意地悪してるわけじゃなく。

339 :Now_loading...774KB:2010/06/15(火) 04:49:56 ID:HMsbaTL5
AS2の質問です。
ボタン(flashの)を押してキー入力ってできますか?
on (release) { ctr + w を押す/macならcommand + w
}
のような感じの。
ウィンドウを閉じる(ctr+w)、お気に入りに追加(ctr+D)など
キー操作で出来るものをJSを使わずにできるようになると
楽かなぁと。

340 :Now_loading...774KB:2010/06/15(火) 10:03:58 ID:GWJYQokG
>>339
Key.getAscii()とかKey.getCode()とかKey.isDown(Key.SPACE)で
ググり組み合わせる。


341 :Now_loading...774KB:2010/06/15(火) 13:34:36 ID:ye6D9STK
>>339
Key入力はできるが、Flash外の動作はFlashだけではできないから
JS経由とかになるんじゃないかな

342 :327:2010/06/15(火) 23:49:06 ID:ZKoQuKOQ
どなたかお願いします。


343 :Now_loading...774KB:2010/06/16(水) 04:29:17 ID:0B4yhz/h
>>327
分からない。普通にできちゃう
試しにパブリッシュの設定→Flashタブ→スクリプト設定ボタン→ドキュメントクラスのチェック
でちゃんと外部ASを読み込めているかチェック。それくらいしか思いつかない

344 :327:2010/06/16(水) 22:15:14 ID:XRTR0HOr
>>343
原因(?)が分かりました。
一言で言うと、DL→解凍したフォルダ以外でパブリッシュしたためでした。
素直に解凍フォルダ内部で作業すればOKでした。

ただし、他のフォルダでも作業できるようにクラスパスを解凍フォルダに設定
しましたが不可でした。
解凍したフォルダ以外では本当にダメなのかも知れません。


345 :Now_loading...774KB:2010/06/19(土) 00:55:08 ID:j11sndd+
質問があるのですが、【好きなところをクリックしたらオブジェクトが出てくる】というのを作りたいと思っています。
そこで更に、複数のオブジェクトを表示させたいです。当方AS初心者で、寄せ集めで作ってみました。

var mcClass:Class;
var my_mc:MovieClip;
stage.addEventListener(MouseEvent.CLICK,haichi)

if (function haichi(event:MouseEvent)) {

my_mc= new mc();
stage.addChild(my_mc);

my_mc.x = mouseX;
my_mc.y = mouseY

else function haichi2(event:MouseEvent) {

my_mc= new mc2();
stage.addChild(my_mc2);

my_mc2.x = mouseX;
my_mc2.y = mouseY
}

エラーが3つほど出ます。何かおかしなところがあればご指摘ください。
勝手なことですが、早く教えていただけたら幸いです。よろしく御願いします。



346 :Now_loading...774KB:2010/06/19(土) 01:32:15 ID:JoO4uzMk
>>345
if文の使い方間違ってる

これでも正解かどうかは知らんけど、

stage.addEventListener(MouseEvent.CLICK, haichi);

function haichi(event:MouseEvent) {
  var my_mc:MovieClip = new mc();
  stage.addChild(my_mc);
  my_mc.x = mouseX;
  my_mc.y = mouseY

  var my_mc2:MovieClip = new mc2();
  stage.addChild(my_mc2);
  my_mc2.x = mouseX;
  my_mc2.y = mouseY;
}

347 :Now_loading...774KB:2010/06/20(日) 01:46:41 ID:SDTyqJXB
AIR for Android の作り方
ttp://www.hara3.net/blog/2010/06/air-for-android.html
CS4でもなんとかAIR for Android作れます。


348 :Now_loading...774KB:2010/06/20(日) 14:52:48 ID:6qM6b+f9
AS3で質問です。

DataGridを入力部品として使っています。
DataGridに入力された値が妥当かどうかを検証するのに
一度サーバにリクエストを投げてその返り値で判断しようとしています。

検証の元になるデータをローカルに持ってくるにはデータが多すぎるのと
更新頻度が多いのでサーバ側での検証を行うようにしました。

ただ、AS3って非同期ですよね?
サーバにリクエストを投げている間もユーザは入力出来ますが、
皆さんは上記のような場合、どのようにして機能を実装されてますか?

私が考えている案が、
まずは、DataGridのItemEditEndイベントをキャッチして
フォーカスを次の入力欄に行かないようにし、
DataGridのenabledをfalseにする。
その間にサーバで入力値をチェックをして、
問題がなければ次の入力欄へ
問題があればメッセージを出して元の入力欄へフォーカスを設定する
というのが今考えている案なのですが、
他にも良い案があればぜひ教えてください。

よろしくお願いいたします。

349 :Now_loading...774KB:2010/06/21(月) 14:19:29 ID:RUyr30xp
そもそもクライアントバリデートとサーバーバリデートじゃやることが違う
正規表現で片付くことはクライアント
それ以外は"まとめて"サーバー
大体、ひとつ間違えたくらいで不正データだのなんだの喚かれちゃー鬱陶しくてしょうがない
強制的に戻されるなんて使ってられねーUIだよ

350 :348:2010/06/21(月) 14:41:38 ID:y9RNdcVk
>>349

>正規表現で片付くことはクライアント
>それ以外は"まとめて"サーバー
とのことですが、せっかくのRIAなのでもう少しクライアント側にも
処理を任せたいと考えています。

今回考えている画面で更新するデータは
他のユーザからの更新頻度が多いため、
可能な限りリアルタイムで入力値の妥当性を検証したいと考えています。
当然クライアントに入力したときにはOKだったとしても
サーバにリクエストを投げたときにNGであれば、
その旨は表示しないといけなくなりますが・・・。

> 大体、ひとつ間違えたくらいで不正データだのなんだの喚かれちゃー鬱陶しくてしょうがない
> 強制的に戻されるなんて使ってられねーUIだよ

このあたりは仰る通りだと思います。
ユーザに入力値が妥当でないことを通知しつつ、
使い勝手のよいUIを実現するにはどうしたら良いのか悩んでいます。。。

351 :Now_loading...774KB:2010/06/21(月) 14:44:37 ID:EsRm/a5P
ロックとフォーカスの強制移動をしないで、通知だけすればよかろう

352 :Now_loading...774KB:2010/06/21(月) 15:31:20 ID:RUyr30xp
>>350
「悲観的ロック」でググるといいことあるよ!!
楽観ロックはマズイ気がする

353 :Now_loading...774KB:2010/06/21(月) 16:59:15 ID:y9RNdcVk
>>351
なるほどですね。通知だけ行ってユーザに修正を促すのは
ユーザにも優しい設計ですよね。

>>352
ありがとうございます。
悲観的ロック・・・・、今までずっと排他制御は避けておりましたが
調べてみたいと思います。


354 :Now_loading...774KB:2010/06/21(月) 18:01:33 ID:9yH7WUYN
多次元配列のソートをする場合に連想配列の形をとらず
配列にはいってるオブジェクトのプロパティ(int)でソートすることはできますか?

355 :Now_loading...774KB:2010/06/21(月) 20:35:51 ID:l0qTYTw3
どなたか教えてください。
b1からb4まで名前をつけたボタンをロールオーバー時にはフェードアウト、ロールアウト時にはフェードインさせたいのです。
ロールオーバー時は思い通りの動きをするのですが、ロールアウト時は一回分だけフェードインして止まってしまいます。
現在このように書いています。

356 :Now_loading...774KB:2010/06/21(月) 20:39:01 ID:X3GYQI/o
阻止

357 :Now_loading...774KB:2010/06/21(月) 20:39:11 ID:l0qTYTw3
for (var i:int=1; i<=4; i++) {
this["b"+i].addEventListener(MouseEvent.ROLL_OVER, xrollover);
this["b"+i].addEventListener(MouseEvent.ROLL_OUT, xrollout);
}
//ロールオーバー時のアクション設定
function xrollover(rovevt:MouseEvent):void {
var btn=rovevt.target;
for (var i:int = 1; i <= 4; i++) {
if (btn==this["b"+i]) {
this["b"+i].addEventListener(Event.ENTER_FRAME, rovEF);
}}}
function rovEF(rovEFevt:Event):void {
var rovevt_mc:MovieClip=rovEFevt.target as MovieClip;
rovevt_mc.removeEventListener(Event.ENTER_FRAME, rouEF);
if (rovevt_mc.alpha>0) {
rovevt_mc.alpha-=0.1;
}}
//ロールアウト時のアクション設定
function xrollout(rouevt:MouseEvent):void {
var btn=rouevt.target;
for (var i:int = 1; i <= 4; i++) {
if (btn==this["b"+i]) {
this["b"+i].addEventListener(Event.ENTER_FRAME, rouEF);
}}}
function rouEF(rouEFevt:Event):void {
var rouevt_mc:MovieClip=rouEFevt.target as MovieClip;
rouevt_mc.removeEventListener(Event.ENTER_FRAME, rovEF);
if (rouevt_mc.alpha<1) {
rouevt_mc.alpha+=0.1;
}}

358 :Now_loading...774KB:2010/06/21(月) 20:41:04 ID:l0qTYTw3
分割で書き込んでスンマセン。
そして阻止された・・・。
どなたかご享受お願いします。

359 :Now_loading...774KB:2010/06/21(月) 22:02:47 ID:X3GYQI/o
エンターフレームを二つ用意するやり方だと、俺の頭では無理だったので
いらんかもしれんが、俺ならこうする

for (var i:int = 0; i < 4; i++) {
this["b"+i].fadeInOut = "Nothing";
this["b"+i].addEventLisner(MouseEvent.ROLL_OVER, xrollover);
this["b"+i].addEventLisner(MouseEvent.ROLL_OUT, xrollout);
this["b"+i].addEventLisner(Event.ENTER_FRAME, fade);
}
function xrollover(e:MouseEvent):void {
var mc:MovieClip = MovieClip(e.target);
mc.fadeInOut = "fadeOut";
}
function xrollover(e:MouseEvent):void {
var mc:MovieClip = MovieClip(e.target);
mc.fadeInOut = "fadeIn";
}

funtion fade(e:Event):void {
var mc:MovieClip = MovieClip(e.target);
if (mc.fadeInOut == "fadeOut") {
if (mc.alpha > 0) mc.alpha -= 0.1;
} else if (mc.fadeInOut == "fadeIn") {
if (mc.alpha < 1) mc.alpha += 0.1;
}
}

ただし、コンパイルはしていない

360 :Now_loading...774KB:2010/06/21(月) 22:41:33 ID:X3GYQI/o
>>354
Arrayのsortに比較関数渡してあげて

361 :Now_loading...774KB:2010/06/21(月) 23:20:25 ID:X3GYQI/o
>>357
すまん出来た
ROLL_OVERとROLL_OUTのイベントでENTER_FRAMEのイベントを
addする前に、それぞれのエフェクトとは逆のENTER_FRAMEのイベントを
removeしてやったらいいっぽい

そうしないと、二つのENTER_FRAMEが平行するので、動作は不定かな?
ちょっと詳しいことは分からないので、偉い人に教えてもろうて

362 :Now_loading...774KB:2010/06/22(火) 01:51:13 ID:E4VCjkUz
下の形でMCを回転させたいのですが、設定値に近付くにつれて回転を
緩め、設定値で回転を止めるにはどうすればいいですか?

MC.onEnterFrame = function(){

}


363 :Now_loading...774KB:2010/06/22(火) 02:27:01 ID:KjMEQu9+
>>362
現在の値と設定値の差を固定値で割る
で一個IF文を入れて十分近づいたら設定値を入れてフレームイベントを外す

364 :Now_loading...774KB:2010/06/22(火) 02:31:15 ID:E4VCjkUz
>>363
ありがとうございます!
さっそく、試してみます。

365 :Now_loading...774KB:2010/06/22(火) 02:44:27 ID:KjMEQu9+
>>364
読み返したら説明足りてなかった
> 現在の値と設定値の差を固定値で割る
これで得た結果を現在の値に加算

366 :Now_loading...774KB:2010/06/22(火) 02:46:41 ID:NKU1xDpM
AS2の質問です。
現在、まずメインとなる.swfファイル(※main.swfとします)に音量調整バー付きで、ループする音楽を流しています。

その中に「loadMovie」の指示で、コンテンツとなるページを呼び出したりして構成しています。
その中のコンテンツ(※仮にstory.swfとします)を読み込んだ際に、現在main.swfで流している音楽をフェードアウトしながら、
story.swfを開いたときに別の音楽がフェードインしながら流れる。
A.swfファイルが閉じられたら、もともとmain.swfで流れていた音楽が再びフェードインしながら流れる という指定をしたいのですが、
どのようなスクリプトを書いたら良いのでしょうか。

367 :Now_loading...774KB:2010/06/22(火) 09:16:17 ID:a1C7gqPT
MovieClipLoaderじゃダメ?

368 :Now_loading...774KB:2010/06/22(火) 16:51:24 ID:ORZiJy84
>>359
ありがとうございます。出来ました。
初心者なもので、やり方がこれしか考えられませんでした。

369 :Now_loading...774KB:2010/06/22(火) 17:08:14 ID:KBvEMdPj
>>366
まず個別に制御するために別々のMCにsoundを割り当て
sound1=new Sound("mc1")
sound2=new Sound("mc2")
mc1、mc2は入れ子にしたら駄目
音量調整バーをマスターボリュームに使うならmy_sound=new Sound()も作っとく
クロスフェード部分
onEnterFrame = function () {
vol1 = sound1.getVolume();
if (vol1<=0) {
sound1.setVolume(0);
sound1.stop();
} else {
sound1.setVolume(vol1-10);
}
// 以上フェードアウト以下フェードイン
vol2 = sound2.getVolume();
if (vol2>=100) {
sound2.setVolume(100);
} else {
sound2.setVolume(vol2+10);
}
// ↓完了したらEnterFrameを停止
if (vol1<=0 && vol2>=100) {
delete onEnterFrame;
}
};
こんな感じ、外部swfを読み込む場合読み込み待ちを考慮する必要がある
loadMovie()と同じフレームに書くとたぶん動作しない
上のは外部swfのルートに1フレーム目から同期ストリーミングで貼り付けた例。
アタッチとかstart()とかは適宜使用のこと

370 :369:2010/06/22(火) 17:26:58 ID:KBvEMdPj
>1フレーム目から同期ストリーミングで貼り付けた
→MP3を貼り付けたと言う意味ね
ストリーミングの場合loadMovie()の次のフレームに記述しても一応動作するけど
その他の場合はプリローダーとかで読み込み待ちしないと駄目ってことが言いたかった
音楽ファイルをメインのほうにまとめるなんて手もあると思うけど

371 :Now_loading...774KB:2010/06/22(火) 18:24:59 ID:ORZiJy84
>>359
このやり方でもやってみましたが、
条件は未定義であり、プロパティがありません。
とエラーがでてしまいました。

372 :Now_loading...774KB:2010/06/23(水) 09:55:25 ID:sqpUZTmm
適切な質問スレが分からなかったのでここで質問させていただきます。スレチならご誘導頂けるとありがたいです。

ニコニコ動画のプレイヤーで、特定の文字を打つとその周囲の文字のフォントが変化するという現象が起きます。
デフォルトはMS PGothicなのですが、明朝体化(SimSun化)・丸文字化(Gulim化)する文字があります。
この仕組みが「MS PGothicにない文字はSimSun化する」とかそういう単純なものでないようなのです。
どなたかこの原理を説明していただけないでしょうか。
完全な説明でなくても、考えられる要因を挙げていただけるだけでも結構です。よろしくお願いします。

(参考:http://nicowiki.com/%E7%A9%BA%E7%99%BD%E3%83%BB%E7%89%B9%E6%AE%8A%E8%A8%98%E5%8F%B7.html#mincho


373 :Now_loading...774KB:2010/06/23(水) 10:08:34 ID:jr8RZdqA
仕様

374 :Now_loading...774KB:2010/06/24(木) 04:32:23 ID:JH2d7/FW
FlashDevelopでAS3です。
キーボード入力について、うまくいかずに困っています。

stage.addEventListener(KeyboardEvent.KEY_UP, changeMember);
と記入すると反応するのですが、
backgroundImg.addEventListener(KeyboardEvent.KEY_UP, changeMember);
とすると反応しなくなります。
「backgroundImg」はSprite型のオブジェクトです。


・キーボード入力の際に必要な書き方
・Main.as以外のファイルで「stage.addEventListener(……」を使う方法
について、どなたかご存知の方、よろしくお願いします。

375 :Now_loading...774KB:2010/06/24(木) 06:19:30 ID:94MMoRWZ
tabEnabled

376 :Now_loading...774KB:2010/06/24(木) 08:58:38 ID:svAgYMtW
stage.focus

377 :Now_loading...774KB:2010/06/25(金) 16:43:44 ID:Yqu/dN5L
本当に初歩な質問で申し訳ないですが、AS3の質問です。
3つのMC(a,b,c)があったとして、それを別々のタイミングで動かす場合
どのようにすればいいのか全く分かりませんw
方法としては、いくつかスタンダード?なやり方があると思っているのですが
参考書には、そういう基本的な事書いてないしサイトも見つからないです・・・。
ヒントみたいなのでも良いので、教えてください。
Flash CS3使ってます。

378 :Now_loading...774KB:2010/06/25(金) 17:07:50 ID:PQXQIGKT
>>377
Tweenっていうのを使うんだけど
たぶん一番有名なのはTweenerかな
http://code.google.com/p/tweener/
Tweenerだったら開始するタイミングも指定できる

まぁとりあえずas3 tweenで検索を

379 :Now_loading...774KB:2010/06/25(金) 20:40:22 ID:VXGihNo1
AS3の話なのにいきなりTweenで正解なの?
具体的に言ってくれないと「MCを動かす」ってのが良くわからん…俺がアフォなのか


380 :Now_loading...774KB:2010/06/25(金) 21:05:00 ID:JmVbkYnw
てぃ・・・Timer

381 :Now_loading...774KB:2010/06/25(金) 21:05:17 ID:X76PQ/0l
いや、自分も「別々のタイミングで動かす」ってだけじゃ
エスパー以外無理じゃね?と思ったが…

382 :Now_loading...774KB:2010/06/25(金) 23:09:15 ID:Yqu/dN5L
>>378
ありがとうございます。
Tweenは以前調べてやってみた事がありますが
それだけで全て作るとなると、逆に複雑になる場合もありますし
1つずつ基本的な事からやりたいので今回はTweenの使用はしません。

>>379 >>381
言葉足らずですみません。
例えば、a_mc,b_mc,c_mcがあり、それぞれ何らかの動きの指示があるとします。
そのまま再生すると、3つ同時に動いてしまうので任意のタイミングで
a_mcが動いてから3秒後にb_mcが動くとか、b_mcが指定の座標に行ったら
c_mcが動くとか、そういった方法が知りたいのです。

380さんが言ってるTimerで可能なのでしょうか?

383 :Now_loading...774KB:2010/06/25(金) 23:25:51 ID:PQXQIGKT
>>382
tween

384 :Now_loading...774KB:2010/06/26(土) 01:07:32 ID:2N0z2aWm
どんだけついーんスキーだよw

>>382
了解。座標を動かすのね
プログラミング自体の初心者ってことでいいのかな?ifって知ってる?

結論から言えばTimerでも出来る、けど…
今は、一応は動いてはいるんだよね。enterFrameで動かしてるのかな?
最初はそこで動かした方が分かりやすいよ
たとえば今

a_mc.x = a_mc.x + 5;

みたいな感じで動いてるとしたら
とりあえず、そこに条件判断(if文)を追加して

a_mc.x = a_mc.x + 5;
if (a_mc.x > 100) {
b_mc.x = b_mc.x + 5;
}

みたいにすれば、AのMCのx座標が100より大きいの時に、
if文の内側の、BのMCの座標を加算するところが実行されるよ
何秒後に動くかっていうのは、Timerを使ったり、開始した時間と今の時間の差を見て判断したり、だね

とりあえず長々と書いてみたが本当にこんなことでいいのか???


385 :Now_loading...774KB:2010/06/26(土) 13:01:52 ID:6plgNSol
>>384
ご丁寧にありがとうございます。
なるほど、ifで出来るんですね。
if (a_mc.x > 100)はAのMCのx座標が100より大きいの時
との事ですが、100ぴったりで動くというよりも100以上と解釈して良いのでしょうか?

Timerも便利そうですね。調べてみます。

386 :Now_loading...774KB:2010/06/26(土) 14:38:09 ID:MWR/fkVy
>100ぴったりで動くというよりも100以上と解釈して良いのでしょうか?
そうだよ
細かいこと言うと、以上じゃなくて超過だけど
算数の不等号と同じ

ぴったりの時だけ動かしたいなら
if (a_mc.x == 100)
ってなる


387 :Now_loading...774KB:2010/06/26(土) 14:52:10 ID:+lMtbZJD
>>385
この手の座標を条件にする場合、Flash上では厳密に100ピッタリに
ならなかったりするので、a_mc.x==100だとアクションが発動しないでスルーされてしまう
だから、>=とか>にしたほうがいい

388 :Now_loading...774KB:2010/06/26(土) 19:39:03 ID:6plgNSol
>>386
超過なんですね。
ありがとうございます。

>>387
結構アバウトな部分があるのですね。
精密に動かしたい場合、Timerにすれば良いという事でしょうか?
少し調べましたがTimer難しそうですっ

389 :Now_loading...774KB:2010/06/26(土) 23:17:46 ID:ZccU/0Ej
AS3について質問させてください。
Class1,Claas2という空のクラスを製作し、色々やってみました

var test = new Class1();
var test = new Class2();

というプログラムおよび

var test = new Class1();
var test = new Class1();

というプログラムおよび

for (var i=1; i<=2; i++){
if (i % 2 == 1){
var test = new Class1();
}else{
var test = new Class2();
}
}

というプログラムは定義testにはコンフリクトが存在します、と出てコンパイルエラーになったのですが

for (var i=1; i<=2; i++){
var test = new Class1();
}

このプログラムは無事コンパイルされました。
これって何故でしょうか?

390 :Now_loading...774KB:2010/06/27(日) 00:07:39 ID:+AWUYdzL
もう夏休みか。まぁいいけど

コンフリクトは「衝突」だから、testって名前は衝突してるよ、って意味

なので変数名を変えて

var test1 = new Class1();
var test2 = new Class1();

なら通るはず


391 :Now_loading...774KB:2010/06/27(日) 00:36:36 ID:4BvaOhbb
レスありがとうございます
何故最後のプログラムは名前の衝突が起こらないんでしょうか?
やってる事は同じような気がするんですが…

392 :389:2010/06/27(日) 00:39:52 ID:4BvaOhbb
すみません、>>391=>>389
最後のプログラムというのも>>389の最後に書かれてるプログラムの事です

393 :Now_loading...774KB:2010/06/27(日) 01:26:53 ID:JQ40G8uQ
>>389
コンパイルエラー?警告じゃなくて?

1番目から3番目の例については変数定義が重複しているので
エラー(警告?)

394 :Now_loading...774KB:2010/06/27(日) 01:33:33 ID:JQ40G8uQ
途中で書き込んじゃったよ申し訳ない

>>389
1番目と2番目は明らかに変数定義が重複してる

3番目は、AS3はブロックレベルのスコープを持たないので
var test = new Class1(); と var test = new Class2() という字面だけ見て
これは定義が重複してるぞとコンパイラはお怒りになる

4番目は字面だけ見てもコンパイラは定義が重複してるなって判断できないので
(頭のいい人間はforを頭の中で実行して定義が重複してるなって判断するけど)
コンパイラは何もいわずにコンパイルを通してくれる

まあ普通はそんな宣言しないので問題にはならない

395 :Now_loading...774KB:2010/06/27(日) 01:54:25 ID:nKktP0gX
てすと


396 :389:2010/06/27(日) 02:28:00 ID:4BvaOhbb
>>393-394
ありがとうございます。警告ではなくエラーでした
そして非常にお恥ずかしい

var test01 = new Class1();
test01 = new Class2();

で通りました。同じ名前でvarは複数回できないんですね
一番最後のも

var test
for (var i=1; i<=2; i++){
test = new Class1();
}

と書いた方がいいっぽいですね。ほんとすみません

397 :Now_loading...774KB:2010/06/27(日) 02:52:17 ID:bVJ5NNEs
一番最後は実行できたのかな
as詳しくないから分からないけど最後はtestのスコープがfor内だからコンパイル通ったって事じゃない?
一回目のfor内でtestが宣言される>一回目のfor終了とともにtest破棄>二回目のforでtest作り直し
だから衝突が起きてないってことに見えるけど、実行してエラーが出たなら>>394ってことなのかな
forの外側でtestが使えるかどうか試せば分かるけどあくまで予想なんで他の詳しい人の話を聞いたほうが良さそうか

398 :Now_loading...774KB:2010/06/27(日) 03:00:43 ID:bVJ5NNEs
ごめん書いてから調べずに適当なこと書いてたなと思って調べてみた
ttp://www.tom.sfc.keio.ac.jp/~fjedi/wiki/index.php?%A5%AF%A5%E9%A5%B9%BC%FE%A4%EA%A4%CE%BB%C5%CD%CD%28ActionScript3%29
どうもブロックスコープはないっぽいから>>394ってことっぽい、実行は出来ないって事なのかな

399 :389:2010/06/27(日) 03:08:40 ID:4BvaOhbb
>>397
レスありがとうございます。
おお、あり得るかも?と思ったんですが多分そんな事はなさそうです
試しにこんなのを書いてみたんですが
for(var i=1;i<=10;i++){
}
trace(i);
結果11となりました…これ別の意味で注意が必要ですね

400 :Now_loading...774KB:2010/06/27(日) 03:28:02 ID:90kQ3r5k
他はCとJavaしか知らんが、どっちもブロック見るのにね
ループ用の変数を外に出したり違うのにしたり美しくないんだよなぁ

何でこんな仕様にしたんだろ


401 :Now_loading...774KB:2010/06/27(日) 04:44:38 ID:GGk8LZmZ
4番目はホイストでコンパイル時に変数定義が先頭に移動してるんじゃないの?

402 :Now_loading...774KB:2010/06/27(日) 10:31:51 ID:mZu0/R29
ActionScript3.0です。
evt.currentTargetなどについて、質問させてください。
以下のように、配列に格納されたオブジェクトに対して
同じ内容のイベントリスナーを繰り返し実行したいのですが、
うまくいきません。
エラーメッセージは以下です。
「exception, information=TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」




  //↓imgはLoaderを格納する配列。
  img[0].contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);

private function loadComplete(evt:Event):void {
  var tmpImg:Loader = evt.currentTarget as Loader;
  //↓ここでエラーが出る。↑の書き方が間違い?
  tmpImg.x = -width / 2;
}

ネットで探ってみたのですが、どうも解決できません。
どなたかご存知の方、よろしくお願いします

403 :Now_loading...774KB:2010/06/27(日) 11:31:33 ID:zCiq2PlT
evt.currentTargetはLoaderではないって事。
たぶんLoaderInfo型。

404 :402:2010/06/27(日) 11:47:04 ID:mZu0/R29
>>403
ありがとうございます!
しかし、
var tmpImg:LoaderInfo = evt.currentTarget as LoaderInfo;
と書き換えてみましたが、以下のようなエラーがでました。
「Error: Access of possibly undefined property x through a reference with static type flash.display:LoaderInfo.」


evt.currentTargetで得たオブジェクトの
x座標を変更したいのですが……。


405 :402:2010/06/27(日) 11:55:26 ID:mZu0/R29
連続ですみません
Loader型を遡ってDisplayObject型に書き換えてやってみたのですが駄目でした。


var オブジェクト:DisplayObject型 = evt.currentTarget as DisplayObject型;
オブジェクト.x = 何らかの値;

という書き方で、オブジェクトの座標を書き換えることはできないのでしょうか?

406 :Now_loading...774KB:2010/06/27(日) 12:18:00 ID:9nW2NFfJ
それならenv.targetだな

407 :402:2010/06/27(日) 12:56:38 ID:mZu0/R29
>>406
どうも!
しかし、targetもだめでした……



408 :Now_loading...774KB:2010/06/27(日) 13:30:10 ID:9nW2NFfJ
どういう風に?

409 :Now_loading...774KB:2010/06/27(日) 13:40:50 ID:9nW2NFfJ
くわー違った
evt.target.loaderだったわすまん

410 :402:2010/06/27(日) 14:31:37 ID:mZu0/R29
>>408
var tmpImg:Loader = evt.target as Loader;
でした。同じエラーが出ていました。

>>409
var tmpImg:Loader = evt.target.loader as Loader;
↑でできました!
きちんと実行できるようになりました!
ありがとうございます!!



重ねて質問をさせていただきたいのですが、
「target.loader」の「loader」は、名前や役割はどういうものでしょうか?

調べてみると、
「taeget.name」、「taeget.num」、「taeget.text」は存在しているみたいですが、
「target.sprite」、「target.array」は見つかりませんでしたが……。


411 :389:2010/06/27(日) 16:29:00 ID:4BvaOhbb
>>401
遅くなりましたが、間違いなくこれですね!
ホイストって知りませんでした。なんか今までAS3のサンプルとか見ていて
納得いかない事が結構あったのですが、こんな仕様があったんですね
ありがとうございました!

412 :Now_loading...774KB:2010/06/27(日) 18:51:07 ID:TfPCHaIC
配列で大量に作成したMovieClipに、個別に Timerコンストラクタを持たせ、それぞれが違ったタイミングでTimerEventを実行させたいと考えています。

Time_ctrl[i][ii] = new MovieClip();
Time_ctrl[i][ii].time = new Timer( ii*100 , 0);

Time_ctrl[i][ii].time.addEventListener(TimerEvent.TIMER, event01);
Time_ctrl[i][ii].time.start();

function event01(e:TimerEvent):void
{

}

こうした場合、event01の中でどのMovieClipのtimerコンストラクタがイベントを起こしたのか? を調べるにはどうすればいいのでしょうか?
MouseEvent等と同じような感覚で 「e.target.parent」 と指定すると、
「parentは存在しません」 というようなエラーになってしまいました。

413 :Now_loading...774KB:2010/06/27(日) 21:04:19 ID:zCiq2PlT
>410
evt.targetがLoaderInfo型で、loaderはそのプロパティ。

>412
MovieClipにTimerを参照するプロパティを作ってるだけなので
for文を使ってe.targetとtimeを比較するしかないかな。
他の方法を考えた方が良い。

414 :Now_loading...774KB:2010/06/27(日) 21:39:07 ID:yzblSAvc
>>412
俺もそれやってみようと思って放置してたんだよな
なんで調べてみた

イベントリスナをこんな感じにして
Time_ctrl[i][ii].time.addEventListener(TimerEvent.TIMER, event01(i,ii));

メソッドをこんな感じにするらしい
function event01(zi:int,zii:int):Function {
return function (e:TimerEvent):void {
trace("zi "+zi+" zii "+zii);
}
}

こんな感じで一応できたよ


415 :402:2010/06/27(日) 21:51:17 ID:mZu0/R29
>410
ありがとうございます!
理解できました。


416 :Now_loading...774KB:2010/06/27(日) 21:56:16 ID:TfPCHaIC
>>413
>>414
レスありがとう御座います。
ソースが家に無いのですぐには試せませんが、明日にも繁栄させてもらいます。

417 :Now_loading...774KB:2010/06/27(日) 23:08:12 ID:0L8+qol7
【AS3】
参考書のサンプルソースをみてるんだが、

Point.normalize()

ってのがイマイチよくわかんなくて、
参考書も詳しく書いてないし、ヘルプみてもわからないので

分かりやすい説明とか載ってる場所ないかな?
そもそもベクトルってなんだよってレベルなんだけどね。

418 :Now_loading...774KB:2010/06/28(月) 00:26:46 ID:LoapBtJZ
何やるか分かってもベクトルわからんと使いようないぞ

419 :Now_loading...774KB:2010/06/28(月) 00:33:23 ID:Q9PWHczB
ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/geom/Point.html
normalize ()メソッド
(0,0) と現在のポイント間の線のセグメントを設定された長さに拡大 / 縮小します。
thickness:Number ― 拡大 / 縮小値です。たとえば、現在のポイントが (0,5) で、1 に正規化すると、返されるポイントは (0,1) になります。

だってさ
便利だなこれ


420 :Now_loading...774KB:2010/06/28(月) 01:48:50 ID:U3mP6eZ5
ベクトルに関しての記述をみつけたが
大体頭にいれておけばおk?

ttp://www.geocities.co.jp/Technopolis/1505/vx_index.htm

421 :Now_loading...774KB:2010/06/28(月) 05:36:34 ID:bkFdzXZ2
このサイト、簡単な事を難しく考えさせようとしてない?w

422 :Now_loading...774KB:2010/06/28(月) 15:26:06 ID:U3mP6eZ5
もっと分かりやすいサイトがあったら頼む

423 :Now_loading...774KB:2010/06/28(月) 18:49:52 ID:r+NgELk6
>422
座標だけ分かれば他は必要ないよ
そのサイトで言うと「ベクトルとは」だけでいい、で

var po:Point = new Point(3,4);

これは、横座標が3で、縦座標が4の点をあらわすpoって名前の変数を作る、って意味ね
ここまで分かれば>>419でわかるでしょ


424 :Now_loading...774KB:2010/06/28(月) 20:10:16 ID:U3mP6eZ5
>>423
Point解説サンクス
内積(その1)くらいまで読んじまった。

ということは、normalize=標準的にするって意味らしいから、
説明通りベクトルが、指定された数値に勝手に拡大縮小されるってことか。

あ、なるほど、サンプルの意味もなんとなく分かってきた!
ありがとう

425 :Now_loading...774KB:2010/06/28(月) 20:54:23 ID:8bpCcW54
AS3で質問です。

mx.rpc.events.ResultEventのイベントリスナの中で
カスタムイベントクラスを生成して
dispatchをしています。

カスタムイベントクラスのプロパティには
mx.rpc.events.ResultEventを保持するプロパティも用意して
dispatchをする直前にカスタムイベントクラスの
プロパティに設定しているのですが、
Nullになってしまいます。

イベントクラスのプロパティには他のイベントのオブジェクトを
保持できないとかあったりしますか?

426 :Now_loading...774KB:2010/06/28(月) 21:12:10 ID:9Jm8hi3M
>>425
そのカスタムイベントクラスはどんな実装なの?
cloneメソッドのオーバライド忘れとかかも

427 :425:2010/06/29(火) 09:35:45 ID:l1ipti6Y
>>426

ありがとうございます。
仰るとおりcloneメソッドをオーバーライドしておりませんでした。
カスタムイベントクラスは、イベントクラスを継承しているのみになります。

お恥ずかしいのですが、私の知識と理解力では
cloneメソッドのオーバーライド以外にも気をつける点などがあったとしても、
見当がつかないので、他にも注意するポイントがありましたら
教えていただけないでしょうか。





428 :Now_loading...774KB:2010/06/29(火) 14:56:46 ID:nEhpkh2w
AS2.0で質問があります。
http://hfm-kenchan.com/Lesson/log_qa/D0806051.htm
この記事のスクリプトを参考に、ブログのxmlを読み込んで投稿時間に合わせてMovieClipの色を変化させています。
「12時間以内では赤色に」「1日以内は黄色」に変化するように設定。
しかし、午前0時を過ぎると前日までに経過した時間がリセットされてしまいます。
例えば、23時に投稿した場合、その日の23時59分までは赤く光るのですが、
残り11時間があるのに0時以降は黄色く光ってしまいます。時間の設定の箇所をどのようにすれば回避出来るのでしょうか?
宜しくお願い致します。

該当部分のソース
===================================
maru.onEnterFrame = function():Void {
if (Check && (dd<=(dNum)) && (hh<=hNum+12)) {
//trace(Check+"/"+dd+"/"+(dNum+1)+"/"+hh+"/"+hNum);
my_color = new Color(this); // Colorオブジェクトのインスタンス作成
my_color.setRGB(0xFF685C); // 'Color.setRGB'メソッドで黄色く(#FFFF00)着色
this._alpha += a;//_alpha値を増加させ、
//trace(this._alpha);
if (this._alpha>=100 || this._alpha<=0) {//リミッターを超えたら、
a = -a;//逆転させる
}
} else if (Check && (dd<=(dNum+1)) && (hh<=(hNum))) {
//trace(Check+"/"+dd+"/"+(dNum+1)+"/"+hh+"/"+hNum);
my_color = new Color(this); // Colorオブジェクトのインスタンス作成
my_color.setRGB(0xFCFF80); // 'Color.setRGB'メソッドで赤く(#FF0000)着色
this._alpha += a;//_alpha値を増加させ、
//trace(this._alpha);
if (this._alpha>=100 || this._alpha<=0) {//リミッターを超えたら、
a = -a;//逆転させる
}} else {//上の条件以外なら、_alpha値を0とする
this._alpha = 0;
}};};

429 :Now_loading...774KB:2010/06/29(火) 18:15:22 ID:sjyHar5j
>>428
次の日になると dd<=(dNum) が通らなくなるからじゃない?
dd<=(dNum+1) にすれば通るかも

てか、これだと1ヶ月前とかの12時間以内も色付いちゃわないかな?
それぞれの年と月と日を時間に変換して足したモノで比較した方が分かりやすいと思うが


430 :402:2010/06/30(水) 02:24:41 ID:WfJqdAAS
割り込みすみません

actionscript3.0で、
ファイルが存在するか確認するためには、
どのメソッドを使ったらいいのでしょうか?

LoaderとLoaderInfoを調べたのですが、
それらしいものが見当たらなかったので……。




431 :Now_loading...774KB:2010/06/30(水) 02:45:26 ID:7Eo9EuqM
読み込んでエラーでたらないじゃん?

432 :Now_loading...774KB:2010/06/30(水) 17:59:30 ID:gkgl9B2o
public class Hoge extends MovieClip{

としているのに、
hogeを呼び出すクラスで、以下のようにするとエラーが出てしまいます。
なぜでしょうか??

var hoge:Hoge = new Hoge();
addChild(hoge);
hoge.x = stage.stageWidth/2;
hoge.y = stage.stageHeight/2;

出現するエラーは以下二つです。
addChildまでは動作しているんですが、
MovieClipまで継承しているのに、このx,yが認識されない上に、
なぜ、x, y プロパティがパッケージと表示されるんでしょう

1202: パッケージ x 内の未定義のプロパティ hoge へのアクセスです。
1202: パッケージ y 内の未定義のプロパティ hoge へのアクセスです。

433 :Now_loading...774KB:2010/06/30(水) 18:13:07 ID:Ucj6s4Ae
AS3で質問です。
ポップアップウインドウを開いて、ポップアップウインドウ内にある
ボタンにフォーカスを移そうとしています。

buttton.setFocus();
でフォーカスは移っているみたいなのですが、
タブでフォーカスを移動したときのように
ボタンの輪郭が青く反転しません。
(この表現で伝わってますでしょうか)

ポップアップウインドウを表示したときに
ボタンの輪郭を青く反転させるには
どの様にすればよろしいでしょうか。

434 :Now_loading...774KB:2010/06/30(水) 20:02:38 ID:DtUw3O3Q
>>432
わからない
そのソースを見る限り普通にできそうだけど

>>433
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/fl/managers/IFocusManager.html#showFocusIndicator
これかな?


435 :Now_loading...774KB:2010/06/30(水) 20:17:20 ID:ItDk24ph
てすと

436 :433:2010/07/01(木) 08:42:31 ID:v0CUtcr8
>>434
ありがごうとございます。
まさにそれです。
おかげさまで輪郭を青く反転することができました。

437 :Now_loading...774KB:2010/07/01(木) 17:11:40 ID:xpi58Tze
【AS3】
for文で 連番の変数を宣言したいんだけど


for(var i : int =0; i<=5; i++){

 var hoge + i : Hoge = new Hoge("test"+i ) ;

}

これは出来ないんみたいで、どう書けばいいんだろう。

var hoge1 : Hoge = new Hoge(test1);
var hoge2 : Hoge = new Hoge(test2);

と作って行きたいんだ

438 :Now_loading...774KB:2010/07/01(木) 17:40:20 ID:WPNJn9l+
素直に配列使え

439 :Now_loading...774KB:2010/07/01(木) 18:24:41 ID:xpi58Tze
スマソ、普通にわからんのだけど、
仮に100個の変数をつくろうと思ったらどうしたらいいんだ?

440 :Now_loading...774KB:2010/07/01(木) 19:28:12 ID:bLXrOJ5S
var hoge:Vector.<Hoge>=new Vector.<Hoge>(100);
for(var i:int=0;i<100;i++){
hoge[i]=new Hoge("test"+i);
}

441 :Now_loading...774KB:2010/07/01(木) 19:57:59 ID:xpi58Tze
>>440
なるほど!トンクス!!
ちょっとトライしててそんなソースに辿り着きつつあったんだが、
また、ひとつ問題が。

new Hoge("test"+i) で

ここの引数の型がMovieClipなんだ。MovieClipはステージ上に存在してて
このままだと「StringをMovieClipに暗黙に変換してる」と言われてしまう・・・。

442 :Now_loading...774KB:2010/07/01(木) 22:26:51 ID:9mYvNye6
その MovieClip も配列に入とけば良いんじゃね?
で、hoge[i]=new Hoge(test[i]);


443 :Now_loading...774KB:2010/07/01(木) 23:19:45 ID:xpi58Tze
>>442

>>440
var hoge:Vector.<Hoge>=new Vector.<Hoge>(100);

データ型をHogeに限定してるからMovieClipを入れるのはむりぽ(´・ω・`)
んー、もうちょっと考えてみる。みんなありがとう

444 :437:2010/07/02(金) 00:04:33 ID:ZXzi2+Oc
>>440のヒントで>>441の理由だったんだが
>>442の意見も参考にして解決した。

new Hoge()の引数がMCでないとカスタムクラスが動かなったので
埋め込みアセットクラスで生成したらできた。

------------------------------------------------------------
import flash.display.MovieClip;

//Hogeはカスタムクラス
var hoge:Vector.<Hoge> = new Vector.<Hoge> (101);

//TestはMCの埋め込みアセットクラス
var test:Vector.<Test> = new Vector.<Test> (101);

for (var i:*=1; i<=100; i++)
{
test[i] = new Test();//MC生成
test[i].x = 100*i;
test[i].y = 400;
addChild(test[i]);

hoge[i] = new Hoge(test[i]);
}


マジでありがとう

445 :Now_loading...774KB:2010/07/02(金) 10:08:57 ID:/KWNCFrU
WPSevens, SWF2XNAで、Flash ゲームから
Windows Phone 7 のゲームを作成
- http://bit.ly/drNHby

446 :Now_loading...774KB:2010/07/02(金) 10:09:21 ID:kmAsk8uQ
ActionScriptを始めようかと思っているのですが、質問させてください
(すみません、技術交換スレに間違えて同じ質問をしてしまいました)
ActionScriptは動的にコンテンツを変えられるのでしょうか?

Bloomberg(http://www.businessweek.com/)の中段にあるようなスライドショー型のFlashで、新着ニュース毎に表示されるのかが知りたいです
例えば2chのような掲示板の新着スレッドが立つたびに上記のようなFlash内に勝手に組み込むような事は出来るのでしょうか?

それとも毎回自分や技術者が内容変更のたびにFLASHを作り直さなければいけないのでしょうか?

447 :Now_loading...774KB:2010/07/02(金) 10:22:16 ID:J8Lyavoa
2chのスレなら、http://[サーバー]/[板名]/subject.txt を読めばよい
でも、スレがたったらという条件で読み込むのは無理
定期的に読みに行く必要がある

448 :446:2010/07/02(金) 10:36:21 ID:kmAsk8uQ
>>447
良く考えてみると、自分Life-xを利用しているのですが、そこでは自分のアップした写真がすぐにFLASHコンテンツに表示されるのを思い出しました
例えばワールドカップの写真のようですが(http://www.sony.co.jp/united/football/impression/)、これなんかを考えると上で自分の質問したような事は可能なような気がしてきました

フォームからの投稿、又は隠しフィールドの<li>を追記していくようにする、とかを利用すれば動的にコンテンツを表示できるのでしょうか?

449 :Now_loading...774KB:2010/07/02(金) 20:45:31 ID:ALy7V41m
>>448
いやいや、作り直す必要こそないけど、やっぱり定期的に読みに行くしかないと思う
でないと、サーバーから個別の利用者に命令をぶち込んでることになる
定期的って言っても数秒ごとならラグもないから、普通はそうしてるハズ


450 :Now_loading...774KB:2010/07/03(土) 12:31:40 ID:eT1hb/ri
最近アクションスクリプトでいろいろ作るようになりました

よくNowLoading……○%って表示されるのがありますが
そのスクリプトってどのように記述すればいいですか?

Flash-MXです


451 :Now_loading...774KB:2010/07/03(土) 13:02:10 ID:KG7dp+zZ
flash NowLoading プリローダー 等で検索した方が絶対に早い

452 :Now_loading...774KB:2010/07/03(土) 13:15:01 ID:8BXEYOYO
;

453 :Now_loading...774KB:2010/07/03(土) 13:17:36 ID:8BXEYOYO
as3を使ってmcをドラッグしながら回転させたいのですが
回転させる角度を求める方法が知りたいです。


http://www.intentionallies.co.jp/content_normal.html



454 :451:2010/07/03(土) 13:38:17 ID:KG7dp+zZ
>450
検索した方が絶対に早いと思ったけど別に書いても時間かからないと思ったので
簡単なサンプル
ダイナミックテキストを用意。その変数をcountとする
アクションレイヤーに
stop();
onEnterFrame = function () {
count = Math.floor(getBytesLoaded()/getBytesTotal()*100);
if (count>=100) {
play();
}
};
これだけ。
ちょっとうろ覚えだけど2フレ目に書いたほうがいいかも

455 :Now_loading...774KB:2010/07/03(土) 13:39:44 ID:kO2rph2q
>>453
良く分からんが、Math.atan() とか Math.acos() とかじゃダメなん?


456 :Now_loading...774KB:2010/07/03(土) 13:45:38 ID:8BXEYOYO
>>455
mcの位置とマウスの位置から角度は出せるんですけどなんか違うような感じがするんです


457 :Now_loading...774KB:2010/07/03(土) 14:08:53 ID:eT1hb/ri
ありがとうございました

458 :454:2010/07/03(土) 14:50:00 ID:KG7dp+zZ
ちょっと補足
ルートでやってる場合
if (count>=100) { }の中に
delete onEnterFrame としとかないとだめだな
いつもMCの中でやってるからうっかりしてた
結局検索させた方が早かったなw


459 :Now_loading...774KB:2010/07/05(月) 16:54:55 ID:im/ZDvU1
お世話になっております。
AS3です。

サーバと通信するクラスを作成してその処理の中でサーバとの通信エラーや
セッションタイムアウトが発生したらポップアップでユーザに通知したいと考えております。

クラスはユーティリティクラスのようなものなので、
画面から呼び出されたり、他のユーティリティクラスから
呼び出されたりといった具合で利用されます。

PopUpManagerクラスのcreatePopUpメソッドの第一引数には
parent:DisplayObjectを指定しないといけないですが、
クラスからしてみればどこから呼び出されるか分からない状況なので
どう実装すればよいか悩んでおります。

クラスで処理を行うときに引数でparentを渡す方法もあるかもしれませんが、
ウインドウから呼びされるのではなく、他のユーティリティクラスから
呼び出すときがめんどくさいよなぁ。と考えていたりもします。

やりたいことは、ユーザにエラーを通知することなので、
createPopUpメソッドを使わずに同様のことが出来る方法か
createPopUpの第一引数に上手にパラメータを渡す方法を
アドバイスいただけると幸いです。

皆さんは通信処理とか画面の裏っかわで行う処理を元に
ユーザに何かを通知するときはどの様にされていますか?

460 :459:2010/07/05(月) 17:05:10 ID:im/ZDvU1
すみません。補足です。
Alertクラスは今のところ使用しない方向で考えております。


461 :459:2010/07/05(月) 17:46:53 ID:im/ZDvU1
すみません。
自己解決しそうです。

Alertクラスのshowメソッドの以下の記述を参考にして対応してみたいと思います。

var sm:ISystemManager = ISystemManager(Application.application.systemManager);
if (sm.useSWFBridge())
parent = Sprite(sm.getSandboxRoot());
else
parent = Sprite(Application.application);



462 :Now_loading...774KB:2010/07/05(月) 22:48:38 ID:/dLNnC1z
AS3,FlashCS4,WinXP
hitTestObject()の監視で質問です。

Stage上に2個のMC(mc0, mc1)があり、mc1をマウスドラッグしてmc0に
衝突させたとき1回のみ何から反応が出るようにしたいです。
 
  mc0     mc1
  ○  ← ← ●

※例えば trace("hit"); で hit と出力させる。

ところが、ENTER_FRAMEで監視するようにすると、hit は出ますが、衝突している
間はずぅーと hit が出ます(下記)。

addEventListener(Event.ENTER_FRAME,onFrame);
function onFrame(frameEvt:Event) {
if (mc1.hitTestObject(mc0)==true) {
trace("hit");
}
}

つまり1回の衝突では1回の出力にしたいです。
フラグとif文で、
 衝突 → フラグをtrue → trueならばtrace("hit");→ 直ぐにfalseにする
 → falseならばtraceしない
も考えられますが、もっと簡潔な方法を探しています。

宜しくお願い致します。


463 :Now_loading...774KB:2010/07/06(火) 08:29:08 ID:20rAnzWK
1:多なら、多の方に全部enterFrameのイベント付けて、
あたったらremoveEvent・・・とか?

いやフラグの方がいい気がする

464 :Now_loading...774KB:2010/07/06(火) 12:12:41 ID:bjRZq9no
FlashCS5 AS3

ヘルプのサンプルとかみてファイル保存の勉強中です。
このエラーの原因がどこにあるかまったく想像がつかないです。
原因があると思われる所はどの辺なんでしょうか。

このスクリプトのsaveをbrowseに変えてみたら
エラーもなく実行されました。

1061: 未定義である可能性のあるメソッド save を、
静的型 flash.net:FileReference の参照を使用して呼び出しました。

private function CLICK(e:MouseEvent):void
{
//保存
var str:String = "test";
var fileRef:FileReference = new FileReference();
fileRef.save(str, "test.txt");
}

465 :464:2010/07/06(火) 13:02:19 ID:bjRZq9no
すいません。今気がつきました。
パブリッシュの設定がプレイヤー9でした。
10に変更したら普通にいけました。
スレ汚しすみませんでした。

466 :Now_loading...774KB:2010/07/06(火) 14:34:30 ID:q9yEczbQ
そうだと思った。

467 :Now_loading...774KB:2010/07/06(火) 17:08:11 ID:NupPhx/J
【AS3.0】
スライドショーのサンプルコードを弄っていたんだけど、
このコードだと画像サイズが違う場合、下の画像が急に消えたようになってしまうんだ。
※removeしているので

上に画像が読み込まれる時に、下の画像をフェードアウトさせたいので

SlideShow.asの83行目あたりにTweenクラス書いてみたり、
dispatchEventでやりとりしようとしてみたり したんだがうまくいかず・・・

誰か助けてください。


ttp://www.rupan.net/uploader/download/1278403083.zip

468 :Now_loading...774KB:2010/07/06(火) 22:59:12 ID:qV8/3BDi
>>467
targetContainer.removeChildAt
の部分をフェードアウトしてからtargetContainer.removeChildAtするように変更すればおk

あと、imageNoが1〜3に対応してるみたいだけど、0〜2で考えられるように慣れたほうがいいよ



469 :462:2010/07/07(水) 00:40:21 ID:M6enjIRB
>>463
そうですね。やっぱフラグの方ですね・・・


470 :Now_loading...774KB:2010/07/07(水) 08:18:12 ID:fAhd24lO
>>468
>>0〜2で考えられるように慣れたほうがいいよ
トンクス

>>フェードアウトしてからtargetContainer.removeChildAtするように変更
そうなんだ、それはわかってるんだけど、どう書けばうまくいくのかわからないんだ。
イベント渡してみたりしたんだけど、挙動がおかしくなったり。

471 :Now_loading...774KB:2010/07/07(水) 09:33:21 ID:SQn1UhjW
>>470
フェードインのサンプルが中にあるんだからフェードアウトくらい簡単だろー

472 :Now_loading...774KB:2010/07/07(水) 12:56:25 ID:VPZcyMvd
Flashでアンケートを取るものを作りたいんですが
どういった用語で検索して勉強するといいですか?

473 :Now_loading...774KB:2010/07/07(水) 14:09:45 ID:VSi1KgSL
アンケート CGI
URLLoader

474 :Now_loading...774KB:2010/07/08(木) 17:54:40 ID:D57+etXO
flash上のボタンを押すとitunesにPoscastを登録するということがやりたいのですが方法はありますでしょうか?

475 :Now_loading...774KB:2010/07/08(木) 20:04:06 ID:D57+etXO
プロトコルを"itpc://"にすれば登録できました。
flash上のボタンを押してitunesを起動することは可能でしょうか?

476 :Now_loading...774KB:2010/07/09(金) 02:56:55 ID:FTgoSO+P
[環境]AS3.0

http://www.geocities.jp/flashiroha/script/viewer/as44.html

上記のサイトさんを参考にフォトビュアーを作製中なのですが、一番初めの
「スクリプト
_root、FRAME1に記述」
の_rootが何なのか解りません。Frame1はタイムラインのフレームの事だと思うのですが。
どなたか答えて頂けたら幸いです。

477 :Now_loading...774KB:2010/07/09(金) 11:52:27 ID:ts9AP+Lo
>>476
確かに_rootの定義が無いな。

var _root:MovieClip = new MovieClip();
_root = MovieClip(stage.getChildAt(0));

としたら?


478 :477:2010/07/09(金) 11:54:31 ID:ts9AP+Lo
(自己れす)
これってAS2じゃね?


479 :476:2010/07/09(金) 14:47:58 ID:+dnZnJct
>>478

レスありがとうございます。
AS2で書かれたものをAS3で動かすことはできますか?

480 :Now_loading...774KB:2010/07/09(金) 15:36:02 ID:LUJPL1/5
>>475
そんなことできるのかよ。すごいな

481 :Now_loading...774KB:2010/07/09(金) 17:57:58 ID:G8YbubE6
>>479
_alphaとか_xって書いてるあたり AS2.0だね。
_rootは一番上の階層(ステージ)って意味だと思う。そこの1フレーム目。

AS2と3は書き方が違うので、そのままぶっ込んでも動かない
ある程度変換は必要だと思う。

482 :Now_loading...774KB:2010/07/09(金) 21:33:01 ID:FYiIjbsV
AS3,FlashCS3,WinXPです。

すいません、Spark projectのsketchbookライブラリを使おうと思っているのですが、
ttp://sketchbook.libspark.org/index.html以降どうすれば使用できるのでしょうか?

ttp://www.trick7.com/blog/2008/04/02-232733.php には「svnで取得してクラスパスを通し」
と書いてありますが、ググってもこの意味が分かりません。


483 :Now_loading...774KB:2010/07/09(金) 22:03:05 ID:jIML3yVL
ttp://www.level-zyass.net/log/2008/05/spark-project.html

484 :Now_loading...774KB:2010/07/09(金) 22:48:29 ID:FYiIjbsV
>>483
ありがとうございます。
HP見ました。うーん、意外と面倒だ。


485 :Now_loading...774KB:2010/07/10(土) 03:03:43 ID:00ThXoXd
大量のパーティクルを動かす際の注意点って何になりますでしょうか。
spriteを継承して作ったボール(点)それぞれに、物理法則を適用してるんですが、
2000個ぐらいで既に重たくなってしまいます。
3万個ぐらいはグローフィルターまでつけてるのに、
余裕でいけてるのを見たことがあるんですが、どうやって作ればいいんでしょうか。
自分の場合、forで、とりあえず2000個ぐらいのボールを生成、
それらに毎フレーム個別に動きの関数を実行し続けるという感じです。



486 :名無しさん@そうだ選挙に行こう:2010/07/10(土) 06:42:33 ID:2vU9AMm8
>>485
spriteは重いから多分それで限界だと思う
俺のPCなんか100個くらいで動かなくなるから…

かなりやり方は変わるけど、
1つBitmapData作って、それにフレームごとにsetPixelするのがおそらく一番早いんじゃないかな
filterつけるならcopyPixelsかもしれんけど。適当すまん


487 :名無しさん@そうだ選挙に行こう:2010/07/10(土) 06:44:15 ID:2vU9AMm8
名前欄w

488 :名無しさん@そうだ選挙に行こう:2010/07/10(土) 07:44:21 ID:2vU9AMm8
気になってsetPixel作ってみたが
3万個だと若干チカチカするなぁ。すまん


489 :名無しさん@そうだ選挙に行こう:2010/07/10(土) 21:27:15 ID:00ThXoXd
>>486
ありがとうございます。485です
早速試してみますね

490 :名無しさん@そうだ選挙に行こう:2010/07/10(土) 23:19:51 ID:RgWYSMDG
WinXP,AS3でFlashCS4を使用

ステージ上のmc0の内部に入れ子で20個のtmpMCを生成しようとしています。
各tmpMCは子としてvalT_mcを持ち、さらにテキストフィールドvalTを含んでいます。
つまり親子関係では
 親] mc0 -- tmpMC -- valT_mc -- valT [子
です。

ここで各tmpMCに対し、tmpMC.valT_mc.valT.text = id0; として数値を入れて
for文でaddChild(tmpMC) した際に id0(0〜19) が表示されるようにしたいのですが、
valTに数字が全く表示されません(エラーも出ません)

試しに trace("Data= "+id0+", "+tmpMC.valT_mc.valT.text); としたところ、これは
正常に0〜19が表示されました。

まとめると、『入れ子の入れ子のテキストフィールドに数値を表示』をしたく思っています。
どうすれば良いでしょうか?


なお、getChildByName(「tmpMCの名前」) ではオブジェクトの存在が確認できましたが、
getChildByName(「tmpMCの名前」).valT_mc.valT.text では
「1119: 未定義である可能性が高いプロパティ valT_mc に静的型 flash.display:DisplayObject
の参照を使用してアクセスしています。」

というエラーになりました。


491 :490:2010/07/10(土) 23:48:32 ID:RgWYSMDG
(自己レス)
解決しました。原因は、テキストフィールド自体を回転させるようにしていたためです。


492 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 16:31:39 ID:0Hj7zA18
〈環境/FlashCS4、AS3.0〉

1:マウスイベントでボタンをクリックすると別のフレームに飛ぶようにしたいのですが、
クリックした際にボタンをフェードアウト、更に別フレームの画像をフェードインするような仕様を考えています。

2:画像をクリックすると指定の枠いっぱいに拡大、その後拡大画像をクリックするともとの大きさに戻る
という事をしたいのです。

1、2の両方で無くてもかまいませんのでお答え頂けたら嬉しいです。

493 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 18:16:22 ID:ojh/K3fg
>>492
1: ボタンをSimpleButtonとかで書くのではなくて、MCでやるとか。

「別のフレームに飛ぶようにしたい → 更に別フレームの画像をフェードイン」
この関連が分からん。フレームが別というより、ライブラリの画像を持ってくる
ということ?


2: 「画像 サイズ AS3」で検索した?


494 :492:2010/07/11(日) 21:32:47 ID:0Hj7zA18
>>493
回答ありがとうございます。
1の方は解決しました。

2に関してなのですが、サムネイルと元画像(拡大画像)を用意してあり、
並んだサムネイルをクリックすると元画像が枠いっぱいに表示されるようにしたいと思っているのです。


495 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 23:21:01 ID:XsiYQDx+
>>494
普通に、大きい画像をaddChildで表示すればいいんじゃないの?
大きい画像がクリックされたらremoveChildで消してさ


496 :492:2010/07/11(日) 23:41:42 ID:0Hj7zA18
>>495

何ぶん超が付く初心者で・・・そこにいたるまでのスクリプトが解りません。。。
何度もすみません。

497 :Now_loading...774KB:2010/07/12(月) 01:00:32 ID:2deXJ3Sq
ああごめんAdobeFlashはデザイン画面みたいなので作るんだっけ

じゃぁ最初にVisibleをfalseにした大きい画像を置いておいて
小さい画像がクリックされたら大きい画像のVisibleをtrueすればいいんじゃないかな
それはできる?


498 :Now_loading...774KB:2010/07/12(月) 08:29:57 ID:AHhqqQ5y
5年位前Swishでちょっと触ったくらいの初心者ですが、質問させてください
皆さんはFlash作成はやはりAdobeのCS5とか使って作られているのでしょうか?
それともテキストエディタ等でプログラムを打ち込んで作られているのでしょうか?

また、購入を検討している所なのですが、AdobeのCS系の利点というものはどういった所にあるのでしょうか?


499 :Now_loading...774KB:2010/07/12(月) 13:24:40 ID:VXqQ4hAD
お世話になります。

AS3で通貨計算を行う上で参考になるサイトなどないでしょうか?
浮動小数点の丸め誤差回避のクラスを作成しようと考えております。

標準のライブラリではそのようなものは無いようなので
アドバイスをいただけると幸いです。


500 :Now_loading...774KB:2010/07/12(月) 14:04:56 ID:wDMixZqG
>>498
例えば、「ある場所にある球のグラデーション」をコードのみで表現
しようとしたら大変だけど、AdobeのCS系ならお絵かきツールとしても
使えるのでGUI画面が手早く出来る。
※実際、そのままGIFやPNGに出来る。
値段は高いけど、作業スピードを考えればお得。


>>499
「通貨計算で浮動小数点の丸め誤差回避」の意味がよく分からない。
割り算とかで延々と小数点以下が出るのを4桁位で止めたい(有効数字を3桁
とかにしたい)ってこと?

もしそうなら、数値をString()で文字列化してlengthプロパティで判別するのも
一案かと。


501 :499:2010/07/12(月) 15:17:27 ID:VXqQ4hAD
>>500
金額の計算など、誤差の許されない計算を行うとき
ということをお伝えしたかったのですが、
分かりにくい表現で申し訳ありませんでした。

たとえば
1-0.56をすると0.44という値がほしいのですが、
0.439999・・・と続いてしまいます。

1*100
0.56*100
100-56=44
44/100
としてあげると0.44となるのですが・・・。
JavaでいうところのBigDecimal的なクラスが
あればその情報を頂きたいなと思った次第です。




502 :Now_loading...774KB:2010/07/12(月) 21:51:45 ID:Fes0qTnt
>>488
489です。すみません、あれからビットマップのsetPixelのほうで
試しているのですが、10000の壁を越えることが出来ないです。
(確かにspriteより速くなりました)

以下のやり方はまちがっていますでしょうか。

forループの中身で以下をひたすら繰り返します
表示位置はballというBitmapをずらして重ならないようにはしています

var ballBmp:BitmapData = new BitmapData(1, 1, false, 0xFFCCDD);
ballBmp.setPixel(1, 1, 0xFFFFFF);
var ball:Bitmap = new Bitmap(ballBmp);
addChild(ball);

503 :Now_loading...774KB:2010/07/12(月) 22:24:11 ID:5sIDZusR
>>498
俺はFlashdDevelop使ってるよ。タダだから

>>502
あんま詳しくないけど
BitmapDataとBitmapをいちいち作ってaddchildしてるのが遅いんじゃないかな
大きいBitmapDataを1つ作っておいて、そこにsetPixelしたほうが速そう


504 :492:2010/07/12(月) 22:38:03 ID:yZuSwzq3
>>497

わー!できました!
本当にありがとうございました!!

505 :492:2010/07/12(月) 23:22:04 ID:yZuSwzq3
>>497
すみませんはやとちり。。。別件と混同しました。
クリックすると見えるようにするというのは
smn1(サムネ).addEventListener(MouseEvent.CLICK,doClick);
function doClick(e:MouseEvent):void{
img1(元画像).visible = true;
}
でいいのでしょうか。(サムネが置いてあるフレームに直接書き込んであります)

それとVisbleをfalseで置いておくというのは単純に元画像を置いたフレームにvisible=falseでいいのでしょうか。
ほんと初心者すぎてすみません。

506 :Now_loading...774KB:2010/07/13(火) 02:12:36 ID:a9yfodxk
>>501
これって参考になるかな。

有効桁数の数え方・誤差 ttp://questionbox.jp.msn.com/qa5254399.html


507 :Now_loading...774KB:2010/07/13(火) 02:37:47 ID:zoJnyGIL
>>488
>>503
ありがとうございます!
デカイBitmapDataをつくって、その中でsetPixelでいけました
60000ぐらいは軽く表示できました。感動です。

そこで、setPixelしたものそれぞれのピクセルに対して、マウスに反応する等のインタラクティブな動きを
持たせようとしていますが場合、毎フレームsetPixelというのはわかるのですが、
座標情報は、Pointで管理するのが軽い処理なのでしょうか。
(ピクセル一つ一つに対してはマウスへの反応を仕込めないですよね・・・?)

それぞれのピクセルに対して、Tweener的な処理、
つまり、ある指定の座標まで、それぞれのピクセルが動かしたりしたいのですが、
setPixelでやる場合、どうしたらいいのか、悩んでます

508 :Now_loading...774KB:2010/07/13(火) 07:30:44 ID:8N3YWJ2G
>>507
うん。どっかに状態を保存しておかないと無理

Pointは余計なプロパティ持ってるから、若干遅いね
まぁそのぶん、便利な関数を使えるメリットはある(マウスとの距離を計算したりね)
自前でxとyだけを持ったclassを作ると無駄が無くて速いし、
加速度とか色みたいなプロパティも持てるから、柔軟性もある。ただ関数は使えない
一番便利なのは自前のclassにpointを持たせるやり方だけど一番遅い

と、ごちゃごちゃ描いたけど差は殆どないし、ボトルネックは画面初期化とsetPixelだから
あんまり気にしなくて良いと思う

ちなみに、配列を使うならArrayじゃなくてVectorの方が速い

>>505
そんな感じで出来ると思う


509 :Now_loading...774KB:2010/07/13(火) 09:44:34 ID:aLidT0FX
APIについて質問です(´・ω・)AS3使用です。

APIでyoutubeを埋め込んだ外部swfを親swfから停止させたいのですが
上手くいきません(´;ω\)
unloadClipでyoutubeを埋めた外部swfを停止させることは出来るのですが
youtube自体が停止されてないらしく、音声だけ流れている状態です。
どこかでdestroyを使うといいと言うのも読んだのですが、destroyだと
二度目の再生が出来ないとかなんとか・・

(´;ω;`)∩どなたかご存知の方がいらっしゃったら是非おしえて頂けると
うれしいです

510 :499:2010/07/13(火) 11:53:54 ID:jt+gXllv
>>506
ありがとうございます。
参考にさせていただきます!


511 :509:2010/07/13(火) 12:13:58 ID:aLidT0FX
ごめんなさい、AS3じゃなくてAS2です(;´A⊂)

512 :Now_loading...774KB:2010/07/13(火) 13:00:49 ID:kxeDfmkS
FlashCS4(AS3),WinXP
綺麗なS字曲線を書きたいのですが上手くできません。

http://uproda11.2ch-library.com/2526513kP/11252651.png
のように、始点とアンカーポイントを青,赤,黒の丸印、コントロールポイントを
×印としてなだらかな曲線を描きたいのですが、考え得る方法
では途中で(赤丸の位置で)鋭角が出てしまいます。
※「理想」の状態にしたい。

ググって調べましたが分かりません。
3次ベジェ曲線では ttp://www.kuma-de.com/blog/2010-04-14/1813
がありますが記述が多くて改造が困難です。

どなたか、アドバイス願います。


513 :Now_loading...774KB:2010/07/13(火) 14:11:01 ID:1vwD3yE+
>>512
moveTo(x0,y0);
curveTo(x1,y1,Ax,Ay);
curveTo(x2,y2,Bx,By);
curveTo(x3,y3,x4,y4);

curveTo追加してあげればいいんじゃない?
本屋にいってActionScript3.0による数学・物理学表現入門のP235に書いてある
から立ち読みしてくればw

514 :509:2010/07/13(火) 18:06:11 ID:aLidT0FX
解決しました(`・ω・)/

515 :509:2010/07/13(火) 18:25:28 ID:aLidT0FX
何度もごめんなさい(´;A\)やっぱり解決してませんでした。
親swfからytPlayerLoader.unloadClip(ytplayer); で消えはするのですが
youtube自体が止まっておらず音だけ流れている状態です。

どなたかご存知の方がいらっしゃったら是非ご教授頂けると
助かります。うう

516 :Now_loading...774KB:2010/07/13(火) 19:42:35 ID:LCw3dfJV
>>508
507です

ありがとうございます!
完全に理想の動きが実現できました。
オリジナルクラスでxpos, yposみたいな数値保持クラスを用意して、
あとは、Vectorで毎フレーム座標位置を計算みたいなかんじでやることで、
とりあえず30000パーティクル達成しました

毎フレーム bitmapData.dispose()して、
new BitmapDataで大きいのを一つ用意して、new Bitmapして、
dispose()で描画クリアしてみました。


517 :Now_loading...774KB:2010/07/13(火) 21:29:01 ID:T3VHBK5U
>>515
そういう専門的過ぎるのはこのスレじゃわからないかもなぁ…


518 :509:2010/07/13(火) 21:40:56 ID:aLidT0FX
>>517
ありがとうございます(´;ω\)なんだかんだで工夫してなんとかなりました!
頭を抱えてたので、書き込める場所があっただけでもよかったな〜なんて
思ってます(´∀`)お騒がせしました。

519 :492:2010/07/13(火) 23:17:12 ID:Hy5ETLug
フレームに写真を配置し、「visible = false」とだけ書いて再生したところ、


520 :492:2010/07/13(火) 23:20:11 ID:Hy5ETLug
バグったようです。連投しつれいします。

フレームに写真を配置し、「visible = false」とだけ書いて再生したところ、
「 型が見つからないか、コンパイル時定数ではありません」というエラーが出てしまいました。
写真はAS用に書き出し、クラスは「img1」基本クラスは「flash.display.MovieClip」としてあります。
なんども初歩的な質問をしてしまって申し訳ありません。

521 :Now_loading...774KB:2010/07/13(火) 23:27:51 ID:GTqaTo43
>>520
new Sprite() か new MovieClip() でインスタンス化した?


522 :520:2010/07/13(火) 23:29:26 ID:Hy5ETLug
>>521
わぁ!解決しました!!ありがとうございます!

これでなんとかなりそうです!!
質問に答えて下さった方々本当にありがとうございました!!

523 :Now_loading...774KB:2010/07/14(水) 01:40:16 ID:reymtUwH
Player10(AS3),FlashCS4,WinXP-Proです。

Vector3DやMatrix3Dを使って円柱を表現する方法をご存知の方いますか?

本やWebで調べましたが、複数の平面や立方体の表現はありますが円柱が
見つかりません。
※最終目標はPapervision3Dの基本形状(6種類?)をVector3DやMatrix3Dを
使って表現することです。

お願いします。


524 :Now_loading...774KB:2010/07/14(水) 08:21:35 ID:BUJep7eC
>>516
描画クリアは、fillRect()で全領域を背景色で塗りつぶした方が速そう。
背景が黒だったら、ColorTransformを使って前の画面の背景を少し暗くするようにすれば、
モーションブラーみたいにすることもできる。

525 : ◆pOS9RcTe/A :2010/07/14(水) 20:38:28 ID:QGDlCfGd
Win7 Ultimate x64、eclipse(AXDT)のFlex3です

korax Color Pickerを改造してPhotoshop用のカラーピッカープラグインを作っています
現在カラーピッカーで取得した色がPhotoshopに反映される状態にはこぎつけました
しかしカラーピッカーの動きが引っ掛かるような動きになります
AS初心者なりに考えたところマウスをドラッグして色を変更するたび
Photoshopに逐一情報を送っているためではないかと思いました

本題です。
マウスボタンを押していない状態の時だけdispatchEventを使用するにはどうしたらいいのでしょう?
if文やマウスイベントを試してみたのですが、理解が足りていなかったようです。

ソースコードは必要なら指定された場所に上げます
使えればいい程度に考えて作っていたのでとても汚いですが……

526 :Now_loading...774KB:2010/07/15(木) 04:56:26 ID:+uP3Sthi
マウスを放した時に情報を送るようにすれば?


527 :Now_loading...774KB:2010/07/15(木) 13:27:18 ID:+M9FfkVy
AS3で質問です。

ClassAで2の処理のイベントリスナーの登録
ClassBで3の処理のイベントリスナーの登録
をした後に以下の処理を行いました。

1.classAでサーバに通信を行う。

2.1の通信のresultイベントで受信したデータをArrayCollectionにするメソッドを呼んで
その処理が終わったらカスタムイベントを送出する。

3.ClassBで2のイベントをキャッチして処理を行う

としたときに、1→2→3と処理を進んでいってほしいのに
1→3→2となる場合が半分くらいあります。

2のArrayCollectionにするメソッドの処理が終わらないうちから
イベントを送出することってあるのでしょうか?

ソースは↓こんな感じです。

//ArrayCollectionにするメソッド 引数のeventはresultイベント
toArrayCollection(event);

dispatchEvent(myEvent);

回避策はありますでしょうか?

528 :Now_loading...774KB:2010/07/15(木) 21:07:20 ID:FJZnESey
【AS3】カスタムクラスでさ、以下みたいに設定
------------------------------------------------------------
package
{
import flash.display.DisplayObjectContainer;
public class Getstage
{
var stW : uint;
var stH : uint;

public function Getstage(container:DisplayObjectContainer)
{
this.stW = container.stage.stageWidth;
this.stH = container.stage.stageHeight;
trace(stW,stH);
} } }
------------------------------------------------------------
※flaファイルのステージサイズは500x500

var aaa:Getstage = new Getstage(this);
と実行すると、stHが400と表示されるんだ。

ENTER_FRAMEで実行し続けると2回目から500を出力するんだけど
一発目では読込みきれてないってことだよね。
なんかいい方法ないかな?


529 :528:2010/07/15(木) 23:29:38 ID:FJZnESey
すまん、自己解決した。
どうやらプロファイラを開いていると起こるバグのようだ。
ググレカスっていうね。

ttp://log.xingxx.com/2008/12/flash-cs4stagestageheight.html

530 :Now_loading...774KB:2010/07/16(金) 03:38:48 ID:Df/ZE5GV
as3と、phpを連携させてas3からphpに変数を投げて、結果をas3で受信というのをやってます。
ローカルのxampp環境では問題なく動いているのに、
サーバーにアップすると以下みたいなエラーが出ちゃいます
Error: Error #2101: URLVariables.decode() に渡される文字列は、名前/値のペアを含む、URL エンコーディングされたクエリー文字列でなければなりません。

php側からは、
test=3&test=5&test=9
みたいな吐き出しをしてます

なぜローカルサーバーだと動くのでしょうか??

531 :Now_loading...774KB:2010/07/17(土) 00:14:59 ID:PDUVOUZA
AS2.0で質問です

激突要塞や格闘ゲームみたいな、2つのオブジェクトの距離で画面の拡大縮小
を再現したいんですが、どうればいいでしょうか

構造は実際に拡大縮小されるフィールドMCの中に自分と敵のMCが入ってる構造です

532 :Now_loading...774KB:2010/07/17(土) 00:16:14 ID:PDUVOUZA
それとAS2.0でTwitterの最近の書き込みやツイート数やらアイコンを
取得する事ってできるんでしょうか?

533 :Now_loading...774KB:2010/07/17(土) 10:32:01 ID:NH45wRsf
>>531
MC内で格闘しているとして、距離の計算は三平方の定理→拡大縮小

とか。



>>532
ググれ。


534 :Now_loading...774KB:2010/07/17(土) 20:09:46 ID:7ROFMIdJ
AS3で教えてください。

DataGridでカスタムアイテムレンダラーを使用しています。

ほんでそのカスタムアイテムレンダラーでは
override public function set data(value:Object):void{
といった感じでレンダラーに渡されるデータを取得しているんですが、
valueの中に入ってくるデータって行のデータ全部がきますよね?

なのでvalueの中のhogeの値を取得したいときは
value.hogeと直接書いて取得しているんですが、
hogeの部分を動的にして、カスタムアイテムレンダラーを
使いまわせるようにしたいんですが、
どのようにすればよろしいでしょうか?

私の今の脳みそだとsetterを複数個用意することしか思いうかばないっす。

public function set hoge1(hoge1:Object):void //hoge1の値を設定
public function set hoge2(hoge2:Object):void//hoge2の値を設定
・・・でも、これって要領がわるいですよね?
DataGridColumnで設定したdataFieldプロパティの値を取得できるのが一番理想なのですが、
カスタムアイテムレンダラーからdataFieldの値を取得する方法ってあるのでしょうか?

535 :Now_loading...774KB:2010/07/17(土) 22:11:06 ID:4vzn2GB3
急に質問が増えたな。


536 :Now_loading...774KB:2010/07/18(日) 00:59:27 ID:Y/99TuYY
Twitterの画像アイコン取得のAPIを、
ASから直接たたいて、画像を取得するって出来ますか?
取得して画面にaddChildまでしたいんです。

URLLoaderでやっても、Loaderでやっても取得できないんです
以下の非公式APIを使おうとやってます
http://blog.livedoor.jp/dankogai/archives/51331768.html

読み込みに試しているのは、
http://api.dan.co.jp/twicon/dankogai/normal
というURLです

537 :Now_loading...774KB:2010/07/18(日) 01:05:46 ID:Y/99TuYY
あ、すみません、クロスドメイン問題ですかね・・・
PHP経由でやるってやつでしょうか

538 :Now_loading...774KB:2010/07/20(火) 12:33:18 ID:YEJkXa2m
ほしゅ


539 :Now_loading...774KB:2010/07/20(火) 23:58:41 ID:L+S0vZwh
AS3で一定時間待つことってできますか?
tiemrを使うとベツの関数に飛んじゃいますが、
一定時間まった後続きのコードを実行してほしいです。

540 :Now_loading...774KB:2010/07/21(水) 02:03:23 ID:OmYjeJqv
>>539
適当にこんな感じ
var timerObj:Timer=new Timer(100,1);
timerObj.addEventListener (TimerEvent.TIMER, doLater);
function doLater (timerEvt:TimerEvent) {
//処理
}
timerObj.start ();


541 :Now_loading...774KB:2010/07/21(水) 10:00:00 ID:BUyDuF5t
javaのsleepみたいなヤツだよね
俺も前に探したんだけど無かったな
timerでやるしかないと思われ


542 :Now_loading...774KB:2010/07/21(水) 16:55:48 ID:ycvrxeo5
質問です、お願いします

メニューボタンで以下のスクリプトがあります
stop();
_global.aboutbuttclicked = false;
_global.localbuttclicked = false;
_global.intlbuttclicked = false;
_global.pvbuttclicked = false;
_global.newsbuttclicked = false;
_global.careerbuttclicked = false;
_global.joinbuttclicked = false;
_global.contactbuttclicked = false;
about_mc.onEnterFrame = function(){
if(aboutover){
about_mc.nextFrame();
}else{
about_mc.prevFrame();
}
};
local_mc.onEnterFrame = function(){
if(localover){
local_mc.nextFrame();
}else{
local_mc.prevFrame();
}
};


これで、ボタンにリンクをはりたいときは、どうすればいいんでしょうか?

543 :Now_loading...774KB:2010/07/21(水) 17:41:55 ID:RDxEgwTz
>>542
それ、仕組みわかってる?
onEnterFrameじゃなくてonRollOverとか使ったほうがよくね?
メニューボタンで、ってどれがメニューボタンなの?
メニューボタン内にそのASが書いてあるの?

とりあえず、MCをそのボタンだと仮定すると
MC.onRelease=function(){this.getURL()}なんかでできるよ


544 :Now_loading...774KB:2010/07/21(水) 18:13:38 ID:ycvrxeo5
>>543
ありがトンです
まだ1か月たらずで、よくわかってないんです スマソ

元はここです
仕組みや動きがきれいだっので、分解して勉強しようと思っています
http://www.flashkit.com/movies/Basics/Interactivity/menu_wit-QW-12152/index.php

そしたらリンク先がつけれなくて・・・あきれてなかったら引き続きアドバイスお願いします

545 :Now_loading...774KB:2010/07/21(水) 18:42:09 ID:ytlMN5UX
>>544
とりあえず、
・簡単なサンプルが多数載ってる本を3冊位買おう
・Web上でのサンプルは http://hakuhin.jp/as.html がお薦め




546 :Now_loading...774KB:2010/07/22(木) 14:02:04 ID:/H2SA2DR
http://www.dotup.org/uploda/www.dotup.org1043661.jpg

上の図のようにmc1の表示部分にだけmc2を表示するためにはどうしたらいいのでしょうか?

547 :Now_loading...774KB:2010/07/22(木) 14:07:34 ID:iFRJEeF3
mask

548 :Now_loading...774KB:2010/07/22(木) 14:13:57 ID:/H2SA2DR
助かります

549 :Now_loading...774KB:2010/07/22(木) 23:28:45 ID:rbQblBAc
CS5で作ったflaをFlash8で読むにはどうすればよいでしょうか?

こちらの環境がCS5で諸事情で先方にflaファイルを渡すことに
なったのですが先方の環境がFlash8で開けないのです。
何らかの変換作業が必要になるとは思いますが……。

ちなみにFlash Lite 1.1のドキュメントですので8でも対応しているかと思います。

550 :Now_loading...774KB:2010/07/23(金) 00:36:29 ID:KB8oqFIk
>>549
名前を付けて保存でファイルの種類をCS4にして保存
そしたら今度はCS4でそのFLAを開いて同じことやってCS3で保存
そs(ry

FLAは1バージョンごとしか落とせないからね

551 :Now_loading...774KB:2010/07/23(金) 11:12:58 ID:zDBDcify
Flash lite 1.1でflaファイル間でシンボルを共有する方法はありますか?
1つのシンボルを2000近いflaファイルでコピペしているのですが、そのシンボルには
大量のスクリプトとキーフレームが入っていて、1つバグが見つかってスクリプトを
書き換えると残りは再パブリッシュするだけで反映されるようにしたいのです。
別板でリンケージ使えと言われましたがLite1.1では使えないようです……。
環境はFlash Professional 8とCS5を持っています。

552 :Now_loading...774KB:2010/07/23(金) 11:21:54 ID:nSZ9GXrX
>>551
キーフレームは無理だが、
ASは外部ファイル化すれば?

553 :Now_loading...774KB:2010/07/23(金) 14:53:07 ID:74WIoklK
Aが6時の何分かになったら、10分間でX軸を1800px移動するようなものを
作っているんですが、

onClipEvent(enterFrame){

var d:Date=new Date ();
var haba = 1800;
       var r= Math.floor(Math.random()*49)+1;

while ((hour==6)&&(min>=r && min<=r+9)){

min =d.getMinutes();

sec =d.getSeconds();

x=(min-r)*(haba/10)+(sec/60)*(haba/10);

this._x=haba-x;


}
}

この記述だとrの値が変わりつづけてしまいます。
なのでwhileに入るまではrが変わらずwhileを抜けたら
同じように1度rを取得してwhileに入るまで変わらない
というようにしたいのですが、どうすればいいのでしょうか。

554 :Now_loading...774KB:2010/07/23(金) 15:33:29 ID:nSZ9GXrX
>>553
AS1?
そもそも、whileループ抜けるまでは描画更新されないから
ループ内で少しずつ移動みたいな処理は無理
ifで条件指定してやればいい

555 :Now_loading...774KB:2010/07/23(金) 16:21:58 ID:74WIoklK
>>554
AS2です。
ifでやってみます。

556 :Now_loading...774KB:2010/07/23(金) 16:27:52 ID:74WIoklK
>>554
if文にはできましたが、やはりrが取得されつづけてしまいます。

557 :81:2010/07/23(金) 20:08:12 ID:GZXuz7xk
>>556
どう修正したの?

558 :Now_loading...774KB:2010/07/23(金) 21:00:20 ID:fCC3VmDl
【AS3】
親インスタンス:A 、子インスタンス:B 孫インスタンスC とあって、

Aの中にBがあり、
Bの中にCインスタンスが3つあったとするじゃん?

※こんな感じ
 A < B < C x3

これでAの子、Bを removeChild と null しても 

A . removeChild ( B );


Cを調べたら存在するってことは
Bを消しても、Cはまだ、メモリ領域を食ってるってこと?

ということは、Cから順番に null しないとだめってことかしら?

559 :Now_loading...774KB:2010/07/23(金) 21:02:21 ID:fCC3VmDl
あ、Cが3個存在する意味がなかった。
そこはスルーしてくれ・・・('A`)

560 :Now_loading...774KB:2010/07/23(金) 21:18:14 ID:Fll3CXND
Cへの変数もnullにすべきだけど順番は関係ない。
どこからも参照されなくなったらGCで掃除してくれるよ。

561 :Now_loading...774KB:2010/07/23(金) 22:01:41 ID:fCC3VmDl
>>560
マジスカ!

でもCを traceすると [ movie clip Object ]って出るのは気にしなくていいの?

562 :553:2010/07/23(金) 22:16:16 ID:BFf00Zys
>>557
すいません、このように修正しました。

onClipEvent(enterFrame){

var d:Date=new Date ();
var haba = 1800;
var r= Math.floor(Math.random()*49)+1;
trace("r=")
trace(r)
//while ((hour==6)&&(min>=r && min<=r+9)){
if ((hour==6)&&(min>=r && min<=r+9)){
min =d.getMinutes();

sec =d.getSeconds();

x=(min-r)*(haba/10)+(sec/60)*(haba/10);

this._x=haba-x;


}
}

563 :Now_loading...774KB:2010/07/23(金) 22:38:04 ID:VUUhZFvL
>>561
弱参照にすべし。


564 :523:2010/07/23(金) 22:40:12 ID:Hk0dzllA
(円柱の表現)
どなたか知りませんか?


565 :Now_loading...774KB:2010/07/24(土) 00:09:49 ID:DdXEz+AF
ムービークリップA側で、ムービークリップBの移動速度や拡大率を決めて
それをBに反映させたいんだけど、何か方法ある?

AからB内の変数をいじったりとか、AからBに値を渡すみたいなことができればいいんだけど。

566 :Now_loading...774KB:2010/07/24(土) 00:14:20 ID:inF/VrA9
>>565
使用環境を書くべし


567 :565:2010/07/24(土) 00:16:23 ID:DdXEz+AF
AS2です。FlashはMX2004。

568 :Now_loading...774KB:2010/07/24(土) 05:11:46 ID:NKsQd3ax
>>565
A) グローバル変数を使用
B) mcBのパスを使って、mcAより操作

好きな方でどうぞ。


569 :Now_loading...774KB:2010/07/24(土) 06:18:08 ID:LSom3PcH
>>562
rをグローバルにして、初期化時に一度代入。
あとはイベントハンドラの if が真から偽になった回だけ
rを更新すればいいんじゃない?

570 :81:2010/07/24(土) 06:27:38 ID:LSom3PcH
>>564
まず3角柱をつくってみよう。
で、それをn角柱にできるように汎用化。
n=12くらいで円柱っぽくなるんじゃないかな。

あと、Vector とか Matrix でっていうのはちょっと意味わかんない。
Vector3D の配列でとか?

571 :562:2010/07/24(土) 13:11:42 ID:0UKFVfBD
>>569
on/onClipEvent ハンドラ内でなくてはいけません。
_global.r

というエラーが出てしまいます。

572 :565:2010/07/24(土) 22:39:07 ID:DDRxgrcc
>>568
有り難うございます。

ちなみに、ASでグローバル関数ってどうやって宣言すればいいんでしょうか…。すいません。

573 :565:2010/07/24(土) 22:56:22 ID:DDRxgrcc
間違えた…、グローバル変数です。あとググったら解決しました。すいません。


574 :Now_loading...774KB:2010/07/25(日) 11:48:58 ID:B/R174s4
Flash Lite 1.1でeval使って大量に変数宣言した場合、それがずっとメモリに残り続けると思うけど
それを開放するにはどうやるんだろう。1.1ではnullもundefinedも使えないし……。

eval使う場合、なるべくMC上で行って、捨てるときはMCごと捨てるしかないのかな?


575 :Now_loading...774KB:2010/07/25(日) 17:00:33 ID:41Ckh//Q
deleteステートメントないっけ?

576 :Now_loading...774KB:2010/07/25(日) 22:53:44 ID:30rkVuh+
>>575
Lite2.0からですね。

577 :Now_loading...774KB:2010/07/26(月) 23:43:36 ID:UfcmS5YR
Flash Lite1.1って、数字キーの押しっぱなし判定できませんでしたっけ?

578 :Now_loading...774KB:2010/07/27(火) 00:22:38 ID:tsOvaYz3
AS2.0で右クリックメニューを完全に消したいのですが、どうすれば出来ますか?
右クリックを拾う方法は知ってます。
javaでメニューを透明にする事は出来るみたいなんですが

579 :Now_loading...774KB:2010/07/27(火) 15:12:51 ID:V84fRWGr
>>578
完全に消すことはできないはず

580 :Now_loading...774KB:2010/07/27(火) 15:42:46 ID:EThgrQif
>>578
やり方は色々あるけど、
ブラウザ側でハンドリングして、
JavascriptからAS側の関数叩くのが一番簡単かな。

581 :Now_loading...774KB:2010/07/28(水) 01:03:24 ID:EdgLgYSv
>>580
AS以外の言語は触った事無いから詳しく
せめて検索用ワードでも

582 :Now_loading...774KB:2010/07/28(水) 01:04:12 ID:EdgLgYSv
よく考えたら消してる訳じゃなくてあくまで透明なだけだから
偶然クリックしちゃう事もあるんですよね……

583 :Now_loading...774KB:2010/07/28(水) 01:36:41 ID:EpKGYG41
右クリックメニューってフラッシュの?
javaとかjavascriptの話になってるのがよく分からないけど

584 :Now_loading...774KB:2010/07/28(水) 03:31:57 ID:7WY02NAu
>>582
1.配置したFlashの上に同じサイズの<div>を css の position を使って上に重ねる
2.Javascriptで addEventListener / attachEvent でその<div>のイベントをハンドル
3.Javascript から Flash を叩く( Flash / JavaScript Integration Kit とか利用)
色々と副作用とかクセもあるが、あとは自助努力でガンバレ。

585 :Now_loading...774KB:2010/07/28(水) 16:29:59 ID:JwaII7s9
AS3でVectorを使用した、要素数指定の2次元配列(10x20)の定義の仕方が分かりません。
どなたか教えていただけないでしょうか?

var x:Vector.<Vector.<int>> = new Vector.<new Vector.<int>(20)>(10);



586 :Now_loading...774KB:2010/07/28(水) 17:49:33 ID:qIYXrJnD
var x:Vector.<Vector.<int>> = new Vector.<Vector.<int>>(10);
for(i = 0; i < 10; i++){
 x[i] = new Vector.<int>(20);
}

587 :Now_loading...774KB:2010/07/28(水) 18:12:02 ID:eePK+oHr
AS3なのですが

ルート上のムービーリップAから
ルートに戻って、他のムービーリップBを動かしたいのですが
参照の仕方がわかりません。

下記をムービーリップAに記載してみると
this.gotoAndPlay(2); ムービーリップA自体が動く

MovieClip(root).gotoAndPlay(2); ルート(シーン1)が動く

とここまでは分かったのですが、

MovieClip(root)test.gotoAndPlay(2); エラーが出てしまいます
(ムービーリップBのインスタンス名をtestとしてます)

宜しくお願い致します。




588 :587:2010/07/28(水) 19:27:46 ID:eePK+oHr
>>587です
すいません。。。自己解決しました。
MovieClip(root)test.gotoAndPlay(2);

MovieClip(root).test.gotoAndPlay(2);

ドットが抜けてました・・・

589 :585:2010/07/28(水) 19:59:35 ID:JwaII7s9
>586
有り難うございます。
簡潔に一行で定義することは出来ないのでしょうか?

590 :Now_loading...774KB:2010/07/28(水) 20:02:56 ID:KpSgaHpb
AS3で質問です。

flvファイルの中から任意の箇所のスクリーンショット(?)を取得するにはどうすればよいでしょうか?

flvファイルの1シーンの画像をサムネイルで表示したいのですが
やり方がわかりません。

教えていただけないでしょうか。


591 :Now_loading...774KB:2010/07/28(水) 22:40:10 ID:Oo+Xab5d
FlashLite1.1で質問です。
変数の型についてですが、整数と浮動小数点数の区別はとくにないのですか?
整数や少数をかけたりしているうちに、計算結果が0になったり、法則がよくわかりません。


592 :591:2010/07/29(木) 20:49:18 ID:QhEQjza8
自己解決しました。

593 :Now_loading...774KB:2010/07/30(金) 19:36:42 ID:azoRLk9/
Flash、AS共に初心者です
画像が動くFlash時計を作ってるのですが、以下の画像のようにフレームアクションを伸ばすと
毎回ASを読み込んでしまい、毎秒毎秒、時計を再表示してしまい、時計の部分が点滅してしまいます。
gotoやstop,startなどもやってみましたがどうもうまくいきません。
こういう場合はASを別ファイルにして外部から読み込んだほうがいいのでしょうか?
ttp://loda.jp/uploader777/?id=1236.jpg

環境はAS3.0
ADOBE Flash CS5です

594 :Now_loading...774KB:2010/07/30(金) 20:16:46 ID:azoRLk9/
自己解決いたした

595 :Now_loading...774KB:2010/07/31(土) 03:41:56 ID:0+vDSJnz
相変わらず、書き込むと解決する不思議なスレw


596 :Now_loading...774KB:2010/07/31(土) 06:59:56 ID:58r4SnHQ
次スレからは「書き込むともの凄い勢いで解決するスレ」にしようぜ

597 :Now_loading...774KB:2010/08/01(日) 04:53:27 ID:0Gf9btnD
AS3で質問です。
インスタンスを生成する際にAS2と同じようにString型を配列に入れMovieClipを生成したいのですが可能でしょうか?
下記がうまくいかなかったソースですorz
よろしくお願いします。

var arr:Array = ["mc"];
arr[0] as MovieClip
var Mc:MovieClip =new arr[0]();
addChild(Mc);

598 :Now_loading...774KB:2010/08/01(日) 05:56:54 ID:0Gf9btnD
すいません、自己解決しました。

599 :Now_loading...774KB:2010/08/01(日) 06:06:53 ID:600KvZ6f
いいってことよ

600 :Now_loading...774KB:2010/08/01(日) 21:44:12 ID:+f83K+Vp
AS3について質問です。
メインのswfに外部のswfを2個読み込んで、それぞれ違う座標に表示させたいのですが
うまく表示できません・・・

スクリプトは
//swf1個目
var test_obj : Loader = new Loader();
var url : URLRequest = new URLRequest("test1.swf");
MovieClip(root).test_obj.load(url);
test_obj.y = 5
test_obj.x = 100
stage.addChild(test_obj);

//swf2個目
var test2_obj : Loader = new Loader();
var url2 : URLRequest = new URLRequest("test2.swf");
MovieClip(root).test2_obj .load(url2);
test2_obj.y = 130
test2_obj.x = 50
stage.addChild(test2_obj);

最終的には3個表示させたいです。





601 :Now_loading...774KB:2010/08/02(月) 01:17:42 ID:GmylVeaB
FlashCS4(AS3,Player10),WinXPでaddEventListenerでのEvent.ADDED
の使い方で質問です。
(同じ処理が意図せず2回繰り返されて困ってます)

自作クラスScript_03のコンストラクタで
addEventListener(Event.ADDED, this_newed,false,0,true);
として、これのリスナー関数を下記のようにしました。
private function this_newed(evt:Event):void {
tmp();
removeEventListener(Event.ADDED, this_newed);
}

ここで tmp() は円を描く関数で、クラスScript_03がnewされたとき、tmp()内部の
addChild(en)により円が設置されます。

プレビューで円は出てきたのですが、tmp() の中に入れておいた確認用の
trace("円描画") が2回出てきてしまいます。
これは、addChild(en) とイベントフローによりどうやら子がADDEDされた時点でも
実行されるようで、実際、addChild(en)を無効化すると trace("円描画") は1回
しか実行されません。  (ただし、円が出ません(泣)

Event.ADDEDを使うのは「表示リストにオブジェクトが表示された事を参照する」
ためですが、余計な動作(1回多い動作)が入って困っています。
※evt.stopPropagation()でイベントフローを止めようとしましたがダメでした。

どうしたら良いでしょうか?


602 :Now_loading...774KB:2010/08/02(月) 01:25:45 ID:tDU9qGpB
>>600
var swfLoader:Loader=new Loader();
としておいて、

swfLoader.x=X座標;
swfLoader.y=Y座標;
addChild (swfLoader);
としたら?


603 :602:2010/08/02(月) 01:27:54 ID:tDU9qGpB
あ〜〜 良く見たら一緒だった。


604 :Now_loading...774KB:2010/08/02(月) 09:27:46 ID:GRMfuWjz
>>601
newされた時とaddedイベントの時の二回tmp()を呼びだしてるなら
二回出るのはあたりまえじゃないか?

605 :590:2010/08/02(月) 10:44:04 ID:mRocxjAR
再投稿申し訳ございません。

AS3で質問です。

flvファイルの中から任意の箇所のスクリーンショット(?)を取得するにはどうすればよいでしょうか?

flvファイルの1シーンの画像をサムネイルで表示したいのですが
やり方がわかりません。

教えていただけないでしょうか。

606 :Now_loading...774KB:2010/08/02(月) 13:47:41 ID:GRMfuWjz
Videoに読んでseekしてbitmapにdrawしたらいけるんじゃね?
全くやったことなんてないけど

607 :605:2010/08/02(月) 16:24:50 ID:mRocxjAR
>>606

レスありがとうございます。

> seekしてbitmapにdrawしたらいけるんじゃね?

仰るとおりだと思います。
seekする処理とbitmapにdrawする処理って
どのようにすればよいのでしょうか?




608 :601:2010/08/02(月) 20:04:58 ID:EKLBjDhM
>>604
さんきゅう。


609 :Now_loading...774KB:2010/08/02(月) 23:49:18 ID:caZGjzjQ
右クリックの件で質問した者ですが、
http://www.uza.lt/2007/08/19/solved-right-click-in-as3/
AS3.0では右クリックメニュー非表示にできるそうですが、上記URLの
AS部分をAS2.0で実装するにはどうすればいいのでしょうか?
3.0は触った事がないのでスクリプトが読めません

610 :Now_loading...774KB:2010/08/03(火) 10:17:07 ID:5e+UD8TZ
>>609
AS2
Stage.showMenu=false;

AS3
stage.showDefaultContextMenu=false;

611 :Now_loading...774KB:2010/08/03(火) 13:38:12 ID:4fDV4L3c
AS3のイベントハンドラで質問があります。

ActionScriptからのイベントハンドラを実装した場合、
hoge.addEventListener('hogehoge',hogeHandler);
と言った形でイベントハンドラを実装して、
イベントハンドラが不要になったら
hoge.removeEventListener('hogehoge',hogeHandler);
としますよね?

でも、mxmlタグで以下のように記述した場合って
特にremoveEventListenerを書かないですよね?
<mx:Button id="button" click="clickHandler(event)"/>

これってフレームワークのほうで
適宜removeEventListenerをしてくれていると解釈して良いですか?

もしフレームワークのほうでremoveEventListenerしてくれているのであれば
できるだけmxmlタグでイベントリスナを記述できるようにしておいたほうが
安全だし、使い勝手が良いなと思ったのですが、いかがでしょうか?


612 :Now_loading...774KB:2010/08/03(火) 13:54:56 ID:NstSMR7s
http://ameblo.jp/toney0407/entry-10374804565.html

613 :Now_loading...774KB:2010/08/03(火) 17:07:44 ID:Ss9vlLEi
勝手にリムーブされたら怖いわ

614 :611:2010/08/03(火) 19:41:10 ID:4fDV4L3c
>>613

では、mxmlタグで書いた場合もremoveEventListenerを書かないといけないということですか?
勝手にremoveされてるというよりかはオブジェクトが参照されなくなったら
"適宜"removeされるのかなと思っていたのですが違うのでしょうか?

615 :Now_loading...774KB:2010/08/04(水) 00:17:09 ID:h9hKgzuF
>>610
それだけなんですか!やったー!

616 :Now_loading...774KB:2010/08/04(水) 01:06:04 ID:0Dgjp3go
>>614
そのイベントリスナーが参照してるじゃん!

617 :611:2010/08/04(水) 08:31:35 ID:TCviP51z
>>616
そのイベントリスナが画面のmxml内に定義されているprivateなもメソッドだったら、
画面を閉じれば参照がなくなるってわけではないのでしょうか?

つまりmxml内に定義してイベントリスナはactionscript内で
removeを都度記述する必要があるということでしょうか?

無知ですみません。



618 :Now_loading...774KB:2010/08/04(水) 08:47:24 ID:1DDVUpbp
mxmlで定義したイベントは基本的には削除できない
つまり気にするなってことだ

619 :611:2010/08/04(水) 11:35:19 ID:TCviP51z
>>618
ありがとうございます。
その一言が欲しかったので、とても感謝しております。

できるだけmxml上でイベントリスナの定義が出来るように
システムを開発していきたいと思います。

どうもありがとうございました。

620 :Now_loading...774KB:2010/08/04(水) 16:49:17 ID:VOj9ZgyX
>>618
えーじゃあゾンビオブジェクトだらけになるの?
それとも弱参照?

229 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)