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

このエントリーをはてなブックマークに追加
1Now_loading...774KB
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

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

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 225
http://pc12.2ch.net/test/read.cgi/swf/1258749795
2Now_loading...774KB:2010/04/03(土) 23:47:03 ID:HPtRPROJ
今から勉強するならAS3でいいのか
2じゃだめなんですか
3Now_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の方だな。
(勉強時間とお金と入手できる本次第ってのもある)
4Now_loading...774KB:2010/04/06(火) 19:52:54 ID:vAOOQ0ry
3.0です。
設定などを保存してるオブジェクトやstageを他のオブジェクト内部で頻繁に使うのですが、
いちいちコンストラクタに引数で渡したりするのがめんどくさいです
何かうまい方法はありませんか?
5Now_loading...774KB:2010/04/06(火) 22:05:32 ID:Wq+oL78U
>>4
singletonでググレ
6Now_loading...774KB:2010/04/07(水) 00:29:37 ID:NLR1piyv
>>5
なんかそれっぽいの出てきました。
ちょっと勉強してみます。
ありがとうございます。
7Now_loading...774KB:2010/04/07(水) 01:34:06 ID:aQ608ZIW
質問です
Flashlite1.1 で シンボルの詳細や着色のカラー設定を変更する方法はないでしょうか?
setTransformがFlashlite2.0からのようなので
それに変わるものを探しているのですが、見つかりません
8Now_loading...774KB:2010/04/07(水) 17:41:50 ID:ZvF77rPK
num ||= 100;

こういう書き方見かけるんですが、
これはnumがfalseの場合100ってことでいいんでしょうか。
9Now_loading...774KB:2010/04/08(木) 00:50:30 ID:niMNoCLy
質問です。
AS2、FLVPlaybackでFLVを読み込んで表示させています。
再生中のシークバーハンドルの位置を取得できるプロパティを
探しているのですがわかる方いらっしゃいませんか。
109:2010/04/08(木) 01:06:45 ID:niMNoCLy
すみません、自己解決しました。
11Now_loading...774KB:2010/04/08(木) 20:24:49 ID:K6+4QAbO
AS3.0で質問させて下さい。
ムービークリップの特定色だけアルファ100%にして透過する方法がありますでしょうか?
特定色はどの色にする事も可能で、そこに背景を入れたいのです。
ブレンドモードなども試してみましたが、特定色だけ、透過するかしないかの状態だけで中間は
無い、というのがどうしても作れませんでした。
宜しくお願いします。
12Now_loading...774KB:2010/04/11(日) 05:47:34 ID:L4qcTg2p
>>11
ColorTransformでググれ
13Now_loading...774KB:2010/04/12(月) 07:52:11 ID:PgJX9Vp+
Loaderで読み込んだ画像を回転させたいのですが、
rotetionに角度を入力するだけだと、
縦横の比率が変わる上に画像のサイズが少しずつ大きくなっていきます。

画像を回転させるには、どのような方法があるのでしょうか?
14Now_loading...774KB:2010/04/12(月) 11:35:03 ID:w7Xl8gDd
ActionScriptで、以下のような文がエラーにならないのはなんで?

private function a(){
1;
}

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

逆に、これをエラーにしない事で得られるメリットってある?
15Now_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キーによるテキストフィールド間のフォーカス移動です。
アドバイス願います。
16Now_loading...774KB:2010/04/12(月) 22:06:20 ID:E2FuuD5I
ActionScript 3.0を仕事で使うことになりました
唯一Flashを触ったことがあるというだけで私が担当することになったのですが
最後に触ったのは数年前のFlash8でAS自体よくわかってないレベルです
書籍は何を買えばいいでしょうか?
17Now_loading...774KB:2010/04/13(火) 00:53:04 ID:Ef1Vv9Nz
詳説ActionScript3.0
18Now_loading...774KB:2010/04/13(火) 01:10:32 ID:XUA3qL5v
AS1.0です。
デフォルトのカーソルだと、ボタンに触れると形がポインターに変わりますよね。
それをカスタムカーソルでも再現したいんですけど、ASでまとめて変換する方法ありますか?
今は、代替案として、一つ一つのボタンにrollOverでフラグ立てをして、
カスタムカーソルMCのenterFrameでフラグを監視、ラベル移動をし画像を切り替えています。
1915:2010/04/13(火) 02:41:53 ID:khJoy34v
自己解決しました。
テキストフィールドが複数行になっていたのが原因でした。
(Tabを動かす→キャレットが改行位置に移動→結果改行状態)
単一行にしてOKでした。
2013:2010/04/13(火) 06:24:48 ID:kjpyhjaS
自己解決しました。
どうも
21Now_loading...774KB:2010/04/13(火) 11:24:34 ID:6Wjec+jj
2214:2010/04/13(火) 13:09:11 ID:qeYbMCdv
レスつかないね。

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

}

みたいなミスしちゃったときに、
Javaだとコンパイル時エラーになるのに
AS3だと実行時無限ループになるんで問題と思うんだが。
23Now_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のゲッターセッター作れば停止するように作れないこともない。
24Now_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);
↑ここで条件は未定義でありプロパティがありません。となります
25Now_loading...774KB:2010/04/13(火) 19:46:22 ID:NkVmHlnN
getChildByNameでググろう。
26Now_loading...774KB:2010/04/13(火) 22:35:57 ID:I6Lt3Ryp
as2です。
FLVPlaybackコンポーネントを使って
動画のストリーミング再生がしたいのですが
contentPathをrtmpで始まるパスにする他に
何か設定が必要でしょうか?
よろしくおねがいします。
2714:2010/04/14(水) 20:08:53 ID:xCkis+kb
>23

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

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

forの停止性については確かに些細な事かもしれないね。
28Now_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;"も内部変数の読み書き云々以前に
まずオブジェクトに対する「疲れた」というメッセージ送信だと
考えれば、そうおかしくはないとは思うのだが、どうだろう。
(説明が難しいね)
29Now_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は自分で処理を実装する必要があるのでしょうか。

どうかよろしくお願いいたします。
30Now_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

似たニュアンスでもいいんだがどっかに参考になるソースないかな?
31Now_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にデータを保持する方法」について何かアイデアがあれば
ぜひお教えください。
32Now_loading...774KB:2010/04/16(金) 17:35:47 ID:T6NlUhFB
>>31
SharedObjectで調べてがんばれ
3331:2010/04/16(金) 18:10:53 ID:x3N36rSx
>>32
今テストを行っていますがバッチリです。
とても助かりました!ありがとうございます。
3429: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への
操作を実装することで解決しました。

35Now_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の記述が推測できましたら教えて下さい。
3635:2010/04/18(日) 03:19:14 ID:DMeQ9Sqz
すいません。
現在 for..in の勉強もしているので、できたら
この書き方でお願いします。
37Now_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;
}
}
38Now_loading...774KB:2010/04/20(火) 01:01:34 ID:ui1FIrHy
>>37
forループと配列アクセス演算子を使う。
39Now_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;
}
40Now_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;
});
}
41Now_loading...774KB:2010/04/22(木) 21:11:41 ID:146cG/WK
>40
var oya:Sprite = e.target.parent;
これでthisの代わりに使えます。
42Now_loading...774KB:2010/04/23(金) 01:43:26 ID:CICI3dRj
ライブラリなどのzipを解凍したときによく出てくる
srcという名前のフォルダがありますが、
あのsrcってどういう意味なんでしょう?
43Now_loading...774KB:2010/04/23(金) 04:50:40 ID:pl5qZad8
>>42
source
44Now_loading...774KB:2010/04/23(金) 16:15:00 ID:PeTaPm/p
as3です
ライブラリのシンボル(mc1)をaddChildで設置したのですが、
そのインスタンスの中にある入れ子のインスタンス(mc2)に画像を読み込ませたいのですが出来ません。
入れの子インスタンス(mc2)へのアクセスは記述すればいいのでしょうか?

宜しくお願い致します。
45Now_loading...774KB:2010/04/23(金) 16:57:45 ID:PeTaPm/p
↑すみません解決しました
46Now_loading...774KB:2010/04/24(土) 12:22:01 ID:96RBWMzD
お絵かきぱっとのようなものを作っています。
graphics を使って 書いた絵を、ローカルに保存するやり方教えてください。
すいませんがよろしくお願いします><
47Now_loading...774KB:2010/04/24(土) 12:27:39 ID:Yhoy9p9/
>>46
Player10以上かAIRを使う。
→ 「save JPG OR PNG Flash OR AIR」 でググる。
48Now_loading...774KB:2010/04/24(土) 20:06:16 ID:lZSTBvdB
FlashDevelopでActionScript3.0を扱っています。
画像の中心を基点(軸)に回転させたいのですが、
基点が画像の左上になっているため、意図しない挙動になります。

基点を中心に移す方法か、そのためのアルゴリズムを
ご存知でないでしょうか?
49Now_loading...774KB:2010/04/24(土) 20:42:08 ID:SbsMv6Ug
>>48
回転後、左上と中央の距離分、移動させればいいです。
高校一年生の数学なので、中学生以下だったら「三角関数」でググってみよう。
50Now_loading...774KB:2010/04/24(土) 20:47:42 ID:TbVUsWLe
「actionscript 画像 回転」でぐぐれ
51Now_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の戻り値は何ですか?教えてください。
52Now_loading...774KB:2010/04/24(土) 21:56:16 ID:elJsaX+/
tf。型はDisplayObject。
53Now_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

日本語版はまだかよ。
54Now_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の高さ++;
}
のようにして、縦に伸長させることです。

よろしく願います。
55Now_loading...774KB:2010/04/25(日) 04:23:00 ID:vBLvdOY/
>>54
びっくりするぐらいわかってないので、ドキュメントなりリファレンスを読み直そう、
56Now_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);
57Now_loading...774KB:2010/04/25(日) 09:31:07 ID:89rleVAp
tmpYのfor文のループ条件が間違ってる。
最後の2行もよくわからない。
AS2なの?AS3なの?
58Now_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);
59Now_loading...774KB:2010/04/25(日) 22:35:03 ID:Oc7WDkOz
addEventListenerで追加したリスナーは
removeEventListenerで削除しないといけないというのは理解出来るのですが、
みなさんはどのようにして削除してますか?

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

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

皆様のお知恵を拝借したくよろしくお願いします。
60Now_loading...774KB:2010/04/25(日) 23:47:15 ID:/5VN9G7q
>>52

ありがとうございました。
61Now_loading...774KB:2010/04/26(月) 01:24:53 ID:Ov5inv8q
>>59
それはもう、泥臭くやるしかないよ。
62Now_loading...774KB:2010/04/26(月) 01:45:14 ID:7OZxlYp0
>>59
そういう場合は大元のウィンドウがまずウィンドウの外で発生する
イベントをlistenして、それを受けてウィンドウが改めてウィンドウ
内の子アイテムに向けたイベントを投げるか、bindingで更新通知が
飛ぶようにしている。Flexで部品の再利用性を高める場合ね。
63Now_loading...774KB:2010/04/26(月) 18:44:15 ID:TQSUfZUP
AS2です。
windowコンポーネントのタイトルバー部分の高さを取得する方法はあるでしょうか?
64Now_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);
}
65Now_loading...774KB:2010/04/26(月) 22:03:45 ID:AOFqqZBX
>>64
shapeってマウスイベント拾わないんじゃない?
66Now_loading...774KB:2010/04/26(月) 23:29:08 ID:VujJs4zo
>>64
ShapeとSpriteの違いを確認しろ
67Now_loading...774KB:2010/04/27(火) 00:15:40 ID:NgUUZROY
>>65
>>66
ありがとうございます。
ShapeをSpriteに変更したところ、無事実行できました。

Shapeは「Spriteより機能を減らす代わりに実行速度を上げたもの」だそうですね。
知りませんでした。
68Now_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
はありますが、階層数が得られるプロパティが見つかりません。
アドバイス願います。
69Now_loading...774KB:2010/04/27(火) 15:00:09 ID:CKdvaB76
各MCに階層用の変数を置いて、子を追加した時に親の値と比較して
親の値が子以下だった場合に子の値+1を代入する。
子の値+1を代入した場合は、その親にも同様の処理を行う。
70Now_loading...774KB:2010/04/27(火) 15:35:28 ID:W4t8YUgB
変数とか持たせるとバグの温床にならないか。
階層を取得したい時に、ルートから再帰呼び出しで数えた方が確実だと思う。
71Now_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);
}
72Now_loading...774KB:2010/04/27(火) 19:09:15 ID:G5NqhMtX
>>63にレスがもらえないのは何か情報が足りないから答えてもらえないのでしょうか?
お前の態度が気に入らないってパターンでしょうか?
誰も知らない(=方法が無い)だけでしょうか?
73Now_loading...774KB:2010/04/27(火) 21:30:11 ID:LQQSsJPC
>>72
知らない / 興味ない / 値を求めること自体が筋違い、じゃない?
今時AS2×コンポーネントなんてニッチだろうし。

Window とその子 MC mask_mc との bouns を比較すればわかるっぽいけど、
正直実装次第だし、やっぱり個人的には「値を求めること自体が筋違い」だと思うな。
コンポーネントなんだから、コンポーネントらしく使った方がいいよ。
7468: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を把握するにはどう改造すべきでしょうか?
75Now_loading...774KB:2010/04/27(火) 22:35:36 ID:8Z77s6yF
>>72
AS2でコンポーネント使ってないから、自分も知らないし興味ないです、すまん
76Now_loading...774KB:2010/04/27(火) 22:42:32 ID:LQQSsJPC
>>74
子 MC を追加する際、その MC が最深かどうか確かめ、最深 MC を Array にしておけば?
ちなみにその関数、最初の末端の MC 返すだけで、意味ないよ。
#あと、3行目「if (mc.numChildren==0) {」だよね。

結局何をしたいかがイマイチ明確じゃないんだけど、
「カスタムイベント」とか「二分木」とかでググると幸せになれるかも。
77Now_loading...774KB:2010/04/28(水) 03:25:20 ID:3BcT0o5R
>>72
具体例がないからわからんけど、AS2のコンポーネントって1フレームあと取るとうまく行く時があったような気がします。
なにかはわからないけど、好印象ではありませんでした。

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

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

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

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

79Now_loading...774KB:2010/04/28(水) 12:36:24 ID:FFMP5qrP
>>78
入力 [0.0-1.0] / 出力 [0.0-1.0] のイージング関数を用意。
( 経過時間 / 完了時間 ) で呼び出し、出力をスケール。
80Now_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;
}
81Now_loading...774KB:2010/04/28(水) 15:50:08 ID:FFMP5qrP
>>80
>カスタムイベント
やってることは、もろイベントバブル。

>二分木
親子関係の巡回は二分木の基本です。
82Now_loading...774KB:2010/04/28(水) 16:58:07 ID:QSc9RCqM
>>81
二分木なんて書くから深読みしちまったい。
「イベントバブル」「木の巡回」ってストレートに書いてくれないと
想像力豊かな俺っちは混乱するぜよw
8368&74:2010/04/28(水) 18:03:03 ID:0UK5pUP7
>>76
>>80-82
レスありがとうございます。
別件で直ぐには取り掛かれませんが、
結果が出ましたら報告します。
84Now_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)のようにキャストすると〜になるので、〜するためにリスナー関数内に書く]
という感じです。
すいませんが、宜しくお願い致します。
85Now_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。
8668&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さんの全部の行の先頭に全角スペースが入っています。
87Now_loading...774KB:2010/04/29(木) 00:08:43 ID:fYXUkGPD
勉強不足過ぎるだろ。
80のソースを読んで、解らない所は自分で調べて理解するべき。
88Now_loading...774KB:2010/04/29(木) 03:41:52 ID:dMiKRI0W
ローカルにデータを保存する方法を試しているのですが、
shadeObjectの関数clear()は、
「ローカルのデータ全てを消去する」という意味で合っているでしょうか?

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

よろしくお願いします。
89Now_loading...774KB:2010/04/29(木) 04:11:52 ID:1piemGqX
>>88
あってる
9088:2010/04/29(木) 04:24:04 ID:dMiKRI0W
そうでしたか!
ありがとうございます!
91Now_loading...774KB:2010/04/29(木) 10:26:23 ID:dZ5VRCQ2
actionscript3.0を使っています。
メモリ管理の点で何か注意しておくべきことはありますか?
思いつくことで結構ですので教えてください。よろしくお願いします
92Now_loading...774KB:2010/04/29(木) 13:44:16 ID:MTsDouAn
>>85
あんがと。
要はタイミングの問題ってことですね。
93Now_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: コンストラクタ関数はインスタンスメソッドでなければなりません。

なぜエラーになるのでしょうか?
やっていることは、メチャ初歩的なことなんですが・・・
9493:2010/04/29(木) 14:05:40 ID:2ow0LloQ
自己解決しました。
MCのライブラリ名とインスタンス名が同一だったのが原因でした。
95Now_loading...774KB:2010/04/29(木) 21:09:54 ID:RyLowC//
誰か教えて下さい

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

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

どのようなASを使ったら良いのでしょうか?
96Now_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
9795:2010/04/29(木) 23:53:29 ID:RyLowC//
有り難うございます。
やっぱりAS使わないで作るほうがいいんですかね?

頑張ってみます!
98Now_loading...774KB:2010/04/30(金) 00:04:22 ID:/j5KXvUK
>>95
あ〜ごめんAS使わないで作るほうがいいとはいってないよw
99Now_loading...774KB:2010/04/30(金) 14:19:16 ID:6RaCCChp
staticによる静的関数内から、
stageのフレームレートを取得するにはどうすればいいでしょうか。

stageプロパティが取得できません・・。
100Now_loading...774KB:2010/04/30(金) 15:23:24 ID:VIx6m0aW
>>99
その静的関数にstageへの参照を渡すか、ステージ上にある表示オブジェクトを渡す
stageへの参照を持った別の静的クラスを作って、そこから取ってくる等々
101Now_loading...774KB:2010/04/30(金) 18:39:25 ID:mNve1iaH
CS3/CS4のアクションフレームパネル左側にあるActionScriptの一覧表
(最上位から始まる表です)はどのようにして使うのでしょうか。
かなり検索しましたが使い方を説明したサイトをみつけることができま
せんでした。ご存知の方お願いします。
102Now_loading...774KB:2010/04/30(金) 18:53:33 ID:VIx6m0aW
>>101
関数の一覧のこと?
普段使わないけど、関数を調べたり、入力するためじゃろ
携帯向けのフラッシュ作るときはちょっとだけお世話になった
103Now_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

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

104101:2010/04/30(金) 19:38:47 ID:mNve1iaH
>>101 >>103
レスありがとうございました。
ActionScript2.0のころはわかりやすく表示してありましたが3.0は
Adobeサイトにも主だった説明がなく?、一般ユーザの方のサイト
にもみかけませんでした。
参考書「詳細!ActionScript3.0入門ノート」を買いましたがアク
ションツールボックス(名前もはじめて知りました)の説明が一切
なくエレメントを覚えていることを前提にして書かれているようです。
たまにしか使わないのでヒントがないと苦しいです。
105Now_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文使った場合
どう変更すればいいのでしょう?
106Now_loading...774KB:2010/05/02(日) 01:34:43 ID:4XZZ1671
エラー内容くらい書いてくださいよ
107Now_loading...774KB:2010/05/02(日) 01:55:16 ID:nYvHTbjZ
getDefinitionByName
108105:2010/05/02(日) 02:41:31 ID:XHQaxr1+
>>107

ありがとうございます。
文字列からクラス参照させる関数があったんですね。
解決しました_@。@_
109Now_loading...774KB:2010/05/02(日) 22:39:12 ID:tpzSggFJ
携帯用lite2のsharedobjectではまってます。
so=SharedObject.getLocal("mydata");
携帯だと↑のオブジェクト生成が完了するのにラグがあるみたいで
うまくプロパティを参照できません。
適当にフレーム回してからなら参照できることはできるのですが、あいまいなのでしっくりきません。
読み込み完了を教えてくれるメソッドか何かありますか?
110Now_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
111Now_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に負荷が掛かります。

この場合、どういう方法が考えられるでしょうか?
112111:2010/05/05(水) 02:14:46 ID:XKeFnd5I
(補足です)
あと、dispatchEventでイベント伝達も考えましたが、これもテキストフィールドの
変化を感知しないと始まらないので保留しています。
113111&112:2010/05/05(水) 12:26:18 ID:ZFG2ymMj
(自己レス)
すいません。自己解決しました。
親の関数を呼び出した際に、親の関数自体がその親を呼び出すように
すればOKでした。
114Now_loading...774KB:2010/05/05(水) 16:29:03 ID:EYTamvEr
なんで僕の質問にはものすごい勢いで回答してくれないんですか?
勢いはさておいて回答やレスすらありません。
ここの住人はくず場仮ですね
115Now_loading...774KB:2010/05/05(水) 17:14:05 ID:51qHU/u6
質問者は質問以降のレスに質問時のレス版を名前欄に入れること、等
質問スレにはそれなりのルールがある
ルールを無視した質問はスルーされる可能性が高い
まずそれをチェックしてくれ
次に質問が日本語になっているかチェックしてくれ
意味のわからない質問はまずスルーだ
あと誰が考えてもぐぐった方が早いとか、それ基本的な質問過ぎるだろ?ASの質問じゃねーじゃん
という質問もこのスレではスルーされることが多い
あと高度すぎるとかマニアックすぎるとか解答確率の低いと思われる質問にものすごい勢いでレスを期待するのは土台無理
できる人は暇人じゃないでしょう、このへんは結局運です
116115:2010/05/05(水) 17:16:00 ID:51qHU/u6
xレス版
○レス番
117Now_loading...774KB:2010/05/05(水) 17:18:08 ID:EYTamvEr
ありがとうございます。
なぜスルーされたのかも考えず感情的になり、見苦しい書き込みをして申し訳ありませんでした。
チェックする点を再度確認したうえでまた質問させていただきます。
>>115さん本当にありがとうございました。
118Now_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でアクセスするようにするにはどうすればいいでしょうか?
119Now_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;
120Now_loading...774KB:2010/05/06(木) 02:57:28 ID:xwuCRlPN
乙です!

めっちゃ助かりました!
121Now_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);
}
122Now_loading...774KB:2010/05/08(土) 07:23:16 ID:zxMS3DKd
BaseCharcterは何を継承した型なの?
123121:2010/05/08(土) 07:28:53 ID:BhLXeKtF
>>122
Sprite型です。
124Now_loading...774KB:2010/05/08(土) 07:43:31 ID:zxMS3DKd
BaseCharcterのtypoじゃないの?
125Now_loading...774KB:2010/05/08(土) 08:26:22 ID:THJOkjUn
mouseChildrenをfalseにしてないとか?
126Now_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]も動かないと思うのだが・・・
127121:2010/05/08(土) 22:33:44 ID:BhLXeKtF
>>124
>>125
>>126

evt.targetとevt.currentTargetに書き換えるとできました!
ありがとうございました。
128Now_loading...774KB:2010/05/08(土) 22:49:47 ID:volEqeu4
TextFieldについて教えていただきたいのですが

テキストフィールドを新しくASで作って
ステージへaddChildで配置。
そこへテキストを表示させる場合
表示させるテキストの文字数にあわせて自動的に
テキストフィールドの幅は広がるんでしょうか。
アルファベットで文を表示させた場合、右端が欠けるのですが
TextFieldにwidthで幅を指定するなどしなけないとかありますか。
129Now_loading...774KB:2010/05/08(土) 22:57:48 ID:zxMS3DKd
130128:2010/05/08(土) 23:11:18 ID:volEqeu4
>>129

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

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

指定したら文字にあわせて広がってくれました。
131Now_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に外部テキストキャプションがでません。
132Now_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");
133131: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したもので初心者でよくわかってません。
134Now_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;//こんな感じで番号からコメントを取得する方法を実装する
}
135131: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のキャプション(キャプションは変わらず)
となってしまいます。
136Now_loading...774KB:2010/05/09(日) 01:49:40 ID:9BVxXrjh
>>135
だから「s3.jpgサムネイルをクリック」のタイミングでNumを3にする処理を追加
137131: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に読み込みしてます。
138Now_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;
}

全体がわからないから完璧に動作するスクリプトは教えられないよ
今出てる情報でわからないなら先にちょっと勉強した方がいい
139Now_loading...774KB:2010/05/10(月) 22:17:39 ID:yU648Onj
AS3ですメモリの解放してみたいんですが例えば
menuっていう名前の子供をたくさん持つスプライトがあったとして
removeChildでmenuだけステージから切り離してnullを代入すれば
menuの子供達も自動的にメモリから削除されたりします?
140Now_loading...774KB:2010/05/10(月) 22:29:53 ID:JA6fK4mQ
>>139
基本的に参照がなくなればそのうち消される
参照がないっていうのはアクセスする手段がない状態やね
141Now_loading...774KB:2010/05/10(月) 22:35:31 ID:buzonY45
>>139
Flash はメモリ解放をしていいかを判断する方式に Mark & Sweep を使っていて、
stage からたどれる表示オブジェクトやそのオブジェクトが持つ参照、
また static な変数からの参照がされていないものを解放する。
つまり、たとえ null を入れたからと言って、そこからの参照が消えただけであって、
他のところで参照されていたらそのオブジェクトが置かれているメモリは解放されない。
ただ、null を入れることによってその解放されない現象が起きるのを抑えることができるから、
ローカル変数で確実に解放されるとかでなければやっておいて損はないかもね。
142131:2010/05/10(月) 23:12:01 ID:CSKrm7jV
>>138さん
どうもです。
自己解決しました。
ちゃんと勉強します・・・
143Now_loading...774KB:2010/05/10(月) 23:16:45 ID:yU648Onj
>>141
長文説明ありがとうございます半分くらい理解しました
>stageから辿れる表示オブジェクトやそのオブジェクトが持つ参照
にremoveされた親やその子供達は含まれますか?
ローカルで宣言して追加した子供は親以外の何処からも参照されませんよね?
宣言はグローバルなプロパティで、オブジェクトの生成と参照だけローカルな子達は親が絶縁されても生き残りますか?
質問多くてすみません
144109: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ではうまくいくのがなんとも。。
145Now_loading...774KB:2010/05/11(火) 01:29:41 ID:Fd9iZy5R
■質問です
AS3で麻雀の得点計算や和了判定するようなライブラリか例をご存じないでしょうか?
TempaiCheckerというのしか見つかりませんでした。
146Now_loading...774KB:2010/05/11(火) 12:10:00 ID:HbDO46Bm
>>145
麻雀ルールはよく分からんけど、本気なら自分で作ったら?
ほんで、試作品を公開して他の人の意見を元に改良するとか。
147Now_loading...774KB:2010/05/11(火) 23:53:02 ID:Fd9iZy5R
>>146
まあ、かなり勉強にはなるだろうなあ
でも他にも作りたい物あるし時間もないし、楽したいq
148Now_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サービスからの
取得値を返すようにするにはどの様な実装方法が
最適でしょうか。

つなたい質問で申し訳ないですが、
よろしく御願いします。
149Now_loading...774KB:2010/05/12(水) 18:07:26 ID:hFZkeQx+
集合画像を表示し、人物ごとにマウスオーバーしたらその人の名前を表示するというものを作りたいです。
プログラム、処理的にどんな感じになるのでしょうか?
150Now_loading...774KB:2010/05/12(水) 18:40:47 ID:usNnL4EA
>>148
難しいと思うねぇ。基本的にASのネットワーク処理は非同期で、完了
イベントを受けるには一旦関数を抜けてイベントループに処理を返す
必要があるだろうから、関数の戻り値としてネットワークから取得
した値を返すのは困難だと思う。

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

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

なので多少手間でも非同期で解決する方法を考えるべきだと思う。
**Deferred系のライブラリを使えば多少は非同期処理を書くのも楽に
なるので調べてみると良いかも。
151Now_loading...774KB:2010/05/12(水) 19:53:40 ID:ALQ6t+5X
>>150
おっしゃるとおりイベントリスナの実装をめんどく感じたのと、
getValueで値を取得できればいいなという考えから
質問させていただきました。

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

ありがとうございました。
152Now_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 になったら困るしね。
153Now_loading...774KB:2010/05/12(水) 21:33:25 ID:9g47jAEp
ごめん、リードミスがあったから連投すまない。

>>143
>宣言はグローバルなプロパティで、オブジェクトの生成と参照だけローカルな子達は親が絶縁されても生き残りますか?
親が絶縁されても stage からその子をたどれるなら、親は GC 対象になっても、子は GC 対象にはなりません。
逆に、親も子も stage からたどれないなら、両方とも GC 対象となります。
154Now_loading...774KB:2010/05/12(水) 22:40:52 ID:ozhFM2PX
datagridにコンボボックスを表示しています。
コンボボックスに表示されてる値とプログラムで
管理する値は別のを使いたいと考えています。

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

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

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

前回選択した内容は保持したまま、
変更があった場合のみ変更内容を反映させるにはどのようにすればよいでしょうか?
155Now_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]まで送りたい場合どういう記述をすればよいでしょうか?_
156Now_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日ハマって原因すら分かりません。
よろしくお願いします。
157Now_loading...774KB:2010/05/13(木) 11:51:59 ID:jJ1cYb0e
一旦バイナリで読む理由は何なのか。
Loaderのloadメソッドを使わない理由は何?
158Now_loading...774KB:2010/05/13(木) 12:42:48 ID:lKprTpR8
loadの前にaddEventListenerしないと駄目なんじゃないの
159Now_loading...774KB:2010/05/13(木) 20:27:00 ID:vCz3K5gk
>>156
普通にそのやり方でできるはずだけど、元のswfが壊れてるとかじゃないの?
160Now_loading...774KB:2010/05/14(金) 00:34:35 ID:jUEPrSV4
フォーカスにあるテキストフィールドの
内容を取得するにはどうすればいいですか?
selection.getFocus()
textfield.text
これらの組み合わせ方がわからないです
161Now_loading...774KB:2010/05/14(金) 02:26:07 ID:fdcBrRem
>>160
AS2.0? ちゃんと環境書いてもらわないとわからないよ。
Selection.getFocus() ではフォーカスが当たっているボタンやテキストフィールドへのパスの文字列を返すから、
そいつを"."で分割した配列などにして for ループで 1 階層ずつたどり、
まずはフォーカスのあたっているオブジェクトまでたどり着く。
次にそれが TextField、もしくはそいつを継承したやつかを確認したらキャストして text プロパティを見に行けばいい。
162Now_loading...774KB:2010/05/14(金) 03:06:31 ID:dPxmoQA1
AS3でfl.transitions.TweenのTweenを使ってて動作がカクカクだったんですけど、
調べたらTweenerとかTweenMaxとかいろいろあるんですね。

比較的単純で普通な(無茶なパーティクルとかしない)アニメーションやるなら
どれを使った方がいいとかあるんですか?
163Now_loading...774KB:2010/05/14(金) 19:12:23 ID:WnPwPJQx
Tweenerがいいと思う
164160:2010/05/14(金) 22:32:14 ID:jUEPrSV4
>>161
すみませんAS2です
教えてもらった通りsplit(".")でできました
ありがとうございました!
165162:2010/05/14(金) 22:53:55 ID:dPxmoQA1
Tweenがカクカクなのは処理が重いからというよりガベージコレクタにくわれるからでした。
一応直ったんですけどせっかくだしTweenerも使ってみます。
166Now_loading...774KB:2010/05/15(土) 17:03:27 ID:RzcihIVv
開発環境は
FlexBuilder3
ActionScript3
になります。

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

フラッシュが動作する環境に応じて、リクエスト先などのパラメータを
動的に変更する手段が分からないので
皆様の採られている方法をぜひ教えていただけないでしょうか。
167Now_loading...774KB:2010/05/15(土) 18:09:31 ID:rYlf2kOF
リクエスト先がflashが置かれているのと同じドメインにあるとか
いう仮定がおけるならApplication.urlで得られるSWFファイルの
URLを加工してリクエスト先のURLを作ったりするけど。
168Now_loading...774KB:2010/05/15(土) 20:08:16 ID:250udcIW
Actionscript3.0です

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

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

こういった処理のスタンダードなやり方・サンプル等はどこかで公開されていたりするのでしょうか?
169Now_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ではターゲット名が正しく出るのですが・・・
どこが間違っているのでしょうか?
170Now_loading...774KB:2010/05/16(日) 00:28:37 ID:0W0YIg+P
borderColorはuintです。
171169:2010/05/16(日) 00:43:22 ID:AYuEcfVd
>>170
さんきゅうです。
focusEvt.target.borderColor = parseInt("0xFF9900",16);
でOKでした。
172Now_loading...774KB:2010/05/16(日) 02:55:55 ID:trIv6TJf
なんで一回文字列にすんだよ
173Now_loading...774KB:2010/05/16(日) 03:05:54 ID:mQDD27NW
WinXP-ProでCS4のAS3.0ですが、テキストフィールドの文字(1文字のみ)が
ギリシャ文字(αとかΣとか)を含めて大文字か小文字かを判別するにはどうしたら
良いでしょうか?

Googleで ActionScript 3.0 正規表現 大文字 小文字 RegExp で検索しましたが
アルファベットでの判別方法は書いてありましたが、ギリシャ文字を含めての
方法はありませんでした。
文字コードで判別しようと思いましたが、ギリシャ文字のコードが分かりません。
どなたかお願いします。
174Now_loading...774KB:2010/05/16(日) 04:03:01 ID:uzphcoQx
やっほう!
Lite4のリファレンスが出来ていた。
ttp://help.adobe.com/ja_JP/flashlite/dev/4/WS9936fa0d5984e93b-24f57da112749c4355c-8000.html
175Now_loading...774KB:2010/05/18(火) 00:00:57 ID:14tBSgdJ
ほしゅ
176Now_loading...774KB:2010/05/18(火) 11:48:44 ID:Bm5gK/up
DataGrid内に2列カラムを用意して
1列目にはコード、2列目には名称を入力/表示したいと考えています。

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

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

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

177Now_loading...774KB:2010/05/18(火) 11:54:37 ID:Xe3ow5oE
>>176
開発環境と試しに記述したコードを書けば吉。
178Now_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>
179Now_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;

}
180179:2010/05/18(火) 16:59:59 ID:8h4QSHmI
すません 最後のメソッドfunction outfunc じゃなくてfunction outEventでした
181Now_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;
}
182Now_loading...774KB:2010/05/18(火) 17:23:33 ID:JzmopBfx
>179
点滅するのは、代えカーソルが表示されて「とあるMCからカーソルが外れるから」でしょうね。
代えカーソルがSpriteなら、hitAreaに適当なSpriteを設定すれば大丈夫だと思います。

そんな事より、mousemoveのイベントいくつ作る気ですか。
183Now_loading...774KB:2010/05/18(火) 18:59:02 ID:8h4QSHmI
ありがとうございまーす
点滅しないようになりました。

ついでにマウスイベントも一つになりましたw
184Now_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と表示するようにしてみましたが
なかなか上手く動いてくれません。
両方の文字変数を同じ文字にするとボタンを押せば次フレームに飛ぶのですが
キーボード入力すると、エラー判定になってしまいます
ぜひ、お教えくださいよろしくお願いいたします。
185Now_loading...774KB:2010/05/19(水) 01:57:07 ID:OGaLYc3x
FlashDevelopでUIコンポーネントって使えないんですか?
公式のActionScript 3.0 コンポーネントガイドからコピペすると
コンパイルは通るんですけどaddChildするときに、
「パラメータ child は null 以外でなければなりません。」
とエラーがでてしまいます。
186Now_loading...774KB:2010/05/19(水) 04:10:19 ID:ENQopVI4
使える、けどコピペで駄目か
どこのか教えてほしい
187Now_loading...774KB:2010/05/19(水) 11:33:18 ID:ZfKIjgpa
>184
キーボードで入力した文字は、どこでTextInputに代入しているんですか?

>185
もしFlexでコンパイルしているのであれば、Flexリファレンスを見てください。
FlashとFlexではパッケージが違います。
188Now_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イベントのデータを取り扱う方法を
教えていただけないでしょうか。

189Now_loading...774KB:2010/05/19(水) 14:33:54 ID:3fDnKI5R
>>188
MyEventクラスにデータを入れるプロパティ作って、
dispatchEventの時にnew MyEventでデータ突っ込めばいいんでないの
190188: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));
と、記述しています。


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

ありがとうございます。
おっしゃるとおり、引数を自由に設定することができました。
193Now_loading...774KB:2010/05/19(水) 19:43:42 ID:f+hxuBSr
>>192
結局どんな感じになったの?
194Now_loading...774KB:2010/05/19(水) 20:46:39 ID:u0jkbjN9
FlashDevelopで新しく追加したプロパティに入力支援が対応する条件は何でしょう
一度ファイルを閉じて開きなおすとか?
195Now_loading...774KB:2010/05/19(水) 21:39:54 ID:ENQopVI4
すぐ補完してくれると思うんだが
196Now_loading...774KB:2010/05/20(木) 08:10:25 ID:a+HbV2A+
>>194
たまにバグか何かでできなくなった場合がありましたが、
FlashDevelopを再起動すると直りました。

あと、すでに「メソッド名()」と入力している場合、
カッコを消してもう一度「(」を入力し、
「メソッド名(」の状態にして0.5秒くらい待つと
必要な引数の一覧が見れます。
197Now_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);
198Now_loading...774KB:2010/05/20(木) 08:37:33 ID:Bg30EyCr
>>197
bitmapdataにdrawしてからgetPixel32しなきゃだめかも
199188: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にサーバからの結果を取得することができました。
200Now_loading...774KB:2010/05/21(金) 14:28:28 ID:u6KOdRr7
>>199
レスてんきゅう
201Now_loading...774KB:2010/05/21(金) 15:56:54 ID:clwuVLNi
ツイッターの自分の発言を取得するにはどうしたらいいですか?
APIというものを使えば良いというのまではわかったんですが、
http://twitter.com/statuses/friends_timeline/ユーザー名.xml
をどう使ったらさっぱり手づまりです
202200:2010/05/21(金) 16:01:34 ID:clwuVLNi
http://twitter.com/statuses/user_timeline/ユーザー.xml
すみません、これですね

中身見たら同じのっぽいんですけど
どう違うんですか?
203Now_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引数はフィールド名のみでした。

宜しくお願い致します。
204Now_loading...774KB:2010/05/22(土) 15:05:12 ID:ahrlrNKG
>>203
Object内の順番は保証されないからインデックス番号でのアクセスは出来ない
205Now_loading...774KB:2010/05/22(土) 15:42:20 ID:KkXYGnva
>>204
物凄い勢いでのレス感謝
206Now_loading...774KB:2010/05/24(月) 00:51:18 ID:OJ3oC7fu
すいません。>>173はどなたか分かりますか?
207Now_loading...774KB:2010/05/24(月) 02:40:03 ID:0gTJumRz
>ギリシャ文字のコードが分かりません。
とか書いてるからスルーされる
文字コードなんてcharCodeAt使って調べろよっていうかググレば一発だし
同じStringクラスにあるcharAtとか使って1文字づつ調べりゃいいじゃん
208Now_loading...774KB:2010/05/24(月) 04:00:56 ID:8s/Td87T
ちょっと便乗質問になります
charCodeAtはutf-16の数値を返すようですが
utf-8でやりたい場合はByteArrayを使うほかないでしょうか
209173&206:2010/05/24(月) 08:21:58 ID:cCRs7xAe
>>207
成る程そうですね。charCodeAtで地道にチェックする方が近道ですね。
ほんで、ギリシャ文字を調べてみました。

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

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

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

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

よろしくお願いいたします。
212Now_loading...774KB:2010/05/24(月) 14:25:58 ID:MDDoo/qM
>>211
速攻でremoveしてるのが問題では?
通信は非同期で行われますから、イベントが起こってから(addした飛び先で)removeするのが常道だと思います
213Now_loading...774KB:2010/05/24(月) 14:38:20 ID:fHsgVScv
外部ファイル読み込みについての質問です。
制作環境
CS3 AS2.0 XP
複数の外部JPGデータを一つのMCにまとめて読み込ますには
どのように書けばいいのでしょうか?
よろしくお願いします
214Now_loading...774KB:2010/05/24(月) 15:05:42 ID:PlSYIfUs
>>213
普通にfor文じゃダメなん?
あるいは、onDataハンドラは?
215Now_loading...774KB:2010/05/24(月) 15:23:41 ID:LDZYV0dR
>>212
ご回答ありがとうございます。

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

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




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

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

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

蛇足ですが、リスナの追加と削除の処理の記述ですごい手間がかかりますね。。。
何かうまくまとめられないか考えてみたいと思います。
218Now_loading...774KB:2010/05/24(月) 16:07:04 ID:/eVzhLD8
>>209
亀レスでごめん。toUpperCaseで大文字に変換してみて比較して
みるというのはどうだろう。大文字に変換しても元の文字列と同じ
なら大文字、違う文字列になったら小文字みたいな。
とりあえずtoUpperCaseはギリシャ文字にも対応しているみたいだ。

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

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

}

実際にテストしたコードじゃないけど、概念的にはこんな感じ。
219Now_loading...774KB:2010/05/24(月) 19:11:52 ID:lsHX5veh
FlexSDKで文字にアンチエイリアスを掛ける方法が分かりません><
<embed>タグとかいうのでフォントを埋め込めばいいという所までは分かったんですが
具体的に何処にどうやって使えばいいのかがどうにも・・・
220Now_loading...774KB:2010/05/24(月) 20:35:23 ID:/eVzhLD8
>>217
removeEventListenerする理由は何?
221Now_loading...774KB:2010/05/24(月) 20:56:16 ID:LDZYV0dR
>>220
イベントリスナーが不要になった場合は、EventDispatcher.removeEventListener() を呼び出して、イベントリスナーを削除します。
削除しない場合、メモリの問題が発生する可能性があります。
と、アドビのサイトに書かれてあったのと、他のサイトでも、
同様の記事があったためです。
222Now_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;
}
}
223Now_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が存在していないと予想。
224Now_loading...774KB:2010/05/25(火) 18:43:51 ID:Z54saU6Q
超初心者なのですが、すみません。
ttp://www.flashiroha.com/script/textEffect/as27.html
を見ながらテキストにエフェクトかけてみましたが
最後にムービーを繰り返さず、フェードアウトしたいのですが
どうしたらいいのでしょうか?
よろしくお願いします。
225Now_loading...774KB:2010/05/25(火) 22:32:56 ID:zyp7SKsH
>>223
>5フレームにimg1が存在していないと予想。
そうです、1フレーム目に画像1、5フレーム目に画像2がある状態です。
226224:2010/05/25(火) 22:56:50 ID:Z54saU6Q
できました。お騒がせしました。
227Now_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フレームに書かないと。
228Now_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にキャレットを表示させようと試みていますが
うまくいきませんでした。
よろしくお願いします。
229Now_loading...774KB:2010/05/26(水) 11:19:16 ID:bBeL17tt
コピペでご希望通りの動きをしてるんだけど
230Now_loading...774KB:2010/05/26(水) 13:22:03 ID:ZfaiGg3+
>>229

私のほうでは同じソースを使ってもやはり期待通りの動きをしてくれませんでした。
環境によって挙動が変わることがあるのでしょうか?
231Now_loading...774KB:2010/05/26(水) 13:39:55 ID:bBeL17tt
ああすまんブラウザで見てみたらキャレット出てなかったわ
FlashDevelop上なら出るんだがなぁ・・・
232Now_loading...774KB:2010/05/26(水) 19:43:06 ID:rzghBUrP
外部swfの再生終了のイベントとかはASだけで簡単にとれるのでしょうか
外部swfのコードは触らない前提で
233Now_loading...774KB:2010/05/26(水) 22:28:10 ID:ULZDy/tP
ルートのタイムラインににベタなムービーなら_totalframesと_currentframeで
それ以外なら何を持って終了とするかってことで、簡単にとはいかんでしょう
234Now_loading...774KB:2010/05/27(木) 02:48:14 ID:suMeLfh+
AS3のタイマー制御関数を使って、ある一定の時間内のみ処理を実行するためにはどのようにすればいいんでしょうか
235Now_loading...774KB:2010/05/27(木) 04:07:59 ID:ZRrVc8E2
一定の時間が始まるところでタイマー開始すればいいんじゃないの
236Now_loading...774KB:2010/05/27(木) 05:36:04 ID:lDawrLs5
最近AS3を始めた超初心者です。
お訪ねしたいのですが、マウスアクションでクリックするとその場所に花が咲くようなスクリプトってありますか?
又はクリックした場所から花びらがぱっと散るようなものが書きたいのですが・・・。

回答よろしくお願いします。
237Now_loading...774KB:2010/05/27(木) 07:54:25 ID:odYbc1MD
>>236
先ずAS3の良書(自分に合った本)を見つけて勉強する。
238Now_loading...774KB:2010/05/27(木) 16:33:44 ID:SXPtDeBR
スクリプトじゃなくてアニメーションなんじゃないの
花が咲くアニメなら探せば見つからなくもないかもしれないけど
それを読み込んでクリックで再生させるスクリプトは自分で作るしかない
239Now_loading...774KB:2010/05/27(木) 16:41:37 ID:ZRrVc8E2
CSもってるかどうかも大事
240Now_loading...774KB:2010/05/27(木) 18:46:06 ID:CNrz9c1P
>238はクリックしたとこにアタッチムービーだろ?
入門書読めばわかるな
俺はAS3知らんからあれだけど
241Now_loading...774KB:2010/05/27(木) 18:47:13 ID:CNrz9c1P
アンカーミス。。。236だった
242Now_loading...774KB:2010/05/28(金) 13:53:25 ID:R/P51F5R
コンパイル時間がクソ長いのによく作るなお前らw
243Now_loading...774KB:2010/05/28(金) 15:56:14 ID:kNDS7kk8
cs4, player9, as3
オーサリングツールで作成されたShapeに、スクリプトでビットマップの塗りを適用することってできますか?
Shapeはやや複雑な形なので、lineToとかで描くのは厳しいです。
ごく普通に出来てもよさそうだと思ってたんですが、
beginBitmapFillで矩形を塗って、それをマスクで抜くしか方法はないんでしょうか。
24481:2010/05/28(金) 19:20:23 ID:wNQhxYeU
>>242
だからみんな fcsh 使うんじゃないの?
245Now_loading...774KB:2010/05/31(月) 04:27:17 ID:OOJ+AV+d
cs5使ってみたが、だめだこりゃ

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

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


246Now_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;
}
247Now_loading...774KB:2010/05/31(月) 21:56:36 ID:DUci6nHV
>>246
removeEventListenerと弱参照はペアにする
248246:2010/05/31(月) 21:59:40 ID:IACTP8Vn
http://sugar310.dip.jp/cgi/upload/source/up24189.swf

↑が上のテスト用に作成したswfなんですが、ロード/アンロードを繰り返しても無限にメモリが増えていくわけじゃないみたいです。
しばらく経つとある程度までは減りますが、ロードする前の水準には戻りません。
(右クリックでメモリ状況のグラフを表示できます)
ローカルでのスタンドアロンプレイヤーによる再生では、メモリが無限に増えていってしまいます。
この挙動は普通なのでしょうか?
ちなみに子swfにカスタムクラスが一切含まれいない場合には、すぐにキレイサッパリGCされます。
249246: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」を参考にしたので、何がいけないのか一日中悩んでいます。
250246:2010/06/01(火) 09:22:16 ID:7FLTDGkz
連投してすみません。
どうやらこちらの検証環境の方の問題だったようで、別PCのFlashPlayerで再生したところ問題なくGCされていました。
不可解なのは同じバージョンのFlashPlayerでもPCによって挙動が違ったりすることです。
(同じPC上のFlashPlayerでも通常版はOK、Debug版はNGなんてことも)
ブラウザ再生でもGoogle ChromeだとダメだったのにFirefoxやIEだと大丈夫という、よくわからない結果になっています。

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

251246:2010/06/01(火) 11:00:41 ID:7FLTDGkz
さらに検証したところ、どうやらFlashPlayerのバージョンによる挙動の違いの線が濃厚です。
最新版のFlashPlayer「10,0r45」だと外部swfのunloadでクラス定義がGCされなかったのですが、
「10,0r42」で試したら大丈夫でした。
252Now_loading...774KB:2010/06/01(火) 11:24:23 ID:xf7SApY/
ん? 結局、unloadと当時にGCさせたいってこと?
それとも、環境によってGCのタイミングが違うのが困るってこと?
253Now_loading...774KB:2010/06/01(火) 14:15:53 ID:XVZgfmVa
AS3です。

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

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

どなたかアドバイスを頂けないでしょうか。
25481:2010/06/01(火) 15:37:11 ID:PCqn1aMA
>>253
change イベントで監視すれば?
んでフォーマットに沿ってるかは正規表現で判断。

間違った入力を突っぱねるのを「バリデート」、
正しい入力に修正するのを「サニタイズ」と言います。
ググればいっぱい情報あると思うよ。
255246:2010/06/01(火) 21:56:37 ID:lfd+xv/1
>>252

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

とりあえず判っている事は、最新版のFlashPlayer「10,0r45」だとメモリリークして、「10,0r42」だと無問題ってことです。
256Now_loading...774KB:2010/06/03(木) 23:41:47 ID:lvtPmgTp
AS2.0でマウスが動いているかどうかif文で調べたいのですが、
どうしたらいいですか?mouseMoveでは出来ない気がするのですが。

出来ればマウスがどう動いているか(左から右、下から上など)も
取得できればいいのですが。配列にマウスの座標を入れて調べるしか
ないですかね?
257Now_loading...774KB:2010/06/03(木) 23:49:49 ID:raM2LFfu
>>256
>mouseMoveでは出来ない気がする

気がするだけだろw

実際にどういう結果を期待して、どういうASを書いたのか
もっと具体的に示してみれば、どこで間違っているのかわかると思う
258Now_loading...774KB:2010/06/03(木) 23:54:11 ID:lvtPmgTp
>>257
マウスが動いてればtrue、動いてなかったらfalseって返したいとして
mouseMoveでtrueには出来ますよ?止まったらfalseに出来ないのです……
259Now_loading...774KB:2010/06/04(金) 00:05:37 ID:ZVPUZVyS
止まっている状態をどう定義するのか知らんけど
mousemoveイベント使う以外方法はないよ
動いている方向は前回の位置から角度を計算すれば出来る
260Now_loading...774KB:2010/06/04(金) 00:08:09 ID:26yBWkRO
>>259
やっぱりフレーム毎にマウス座標を配列に突っ込んで
数フレーム間変化がなければfalse返すって方法しかないんすか
重たいからなるべく別の方法があればと思ったのですが…
261Now_loading...774KB:2010/06/04(金) 00:22:33 ID:ZVPUZVyS
>>260
俺だったらタイマー使って指定秒後に動いていませんフラグを立てるか、
最後に動いた時刻を残しておいて、動いてるか調べるときに現在時刻と比較するかな
とりあえず配列使う方法は思いつかないわ
262Now_loading...774KB:2010/06/04(金) 05:30:23 ID:Ajqh5Qw0
RTMFPについていい感じにまとめてる所はまだないのかな
263Now_loading...774KB:2010/06/04(金) 09:04:01 ID:VWFOfJWw
FLASHゲームのスコアランキングを作りたいです。

FLASHからcgiにスコアを送信するときに、
スコアを偽造されない、うまい方法ってありますか?
264Now_loading...774KB:2010/06/05(土) 07:24:39 ID:5UThyxCp
>>263
暗号化。
とは言っても Flash のプロセスメモリいじれば偽造は簡単だから、
厳密なのは難しいかなあ。
265Now_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あたりでググれ
266263:2010/06/05(土) 13:46:01 ID:OhwaQ2Wn
>>264,265
回答ありがとうございます。
暗号化だと、暗号化のためのキーを、Flash内部に持たないといけないのでは?
暗号キーと暗号化関数を、Flashから引っこ抜いて、
自前でニセのハイスコア暗号文を生成、httpでサーバに送りつけたら、
偽装できますよね。

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

原理的に不可能なら、暗号キーの断片をswf各所に散りばめるとかして
難読化しようかと思ってます。
267Now_loading...774KB:2010/06/05(土) 17:21:14 ID:r/nikbQl
ぶっちゃけクラックを完全に防ぐ方法は無い
気休めで良かったらリプレイデータも鯖に送りつけて後の検証やり易くするくらいか
268Now_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;
}
}
269Now_loading...774KB:2010/06/06(日) 04:47:08 ID:fDmZ+fpk
関数とメソッドの違いについて。
判らなくなって、いろいろ調べてみたら、return で返すのが関数で、メソッドは違う。とあったんだけど。

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

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

String(dataA);

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

dataA.String();

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

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

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

って考えてみた。
この考え方あってますか?
270Now_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);
271Now_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);


よろしくお願いします。
272Now_loading...774KB:2010/06/06(日) 12:46:26 ID:oIXXp2Fy
AS3で質問です。

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

ある記述をしておかないと挙動が不安定になるなど
注意点があれば教えていただけないでしょうか。
273268:2010/06/06(日) 14:54:49 ID:+IElA0fz
>>270
ありがとうございます。長く伸びてるんじゃなくて、
無限ループで暴走してエラーで止まってただけだったんですね。
直したらちゃんと動きました!
274Now_loading...774KB:2010/06/06(日) 15:46:35 ID:PXjVV57G
>>271
AS3 Player 10 File でググる
275274:2010/06/06(日) 20:21:03 ID:dXvM42NE
>>271
間違えた 「AS3 Player 10 FileReference クラス」 だった
276Now_loading...774KB:2010/06/06(日) 21:35:57 ID:kUMPEpEV
>>269
うん、全然違う
Adobeがアフォで独自用語使いまくってるから混乱してるんだろうけど
普通の言語なら クラス名.メソッド名 って形式のは静的メソッドと呼ばれる
逆に インスタンス変数名.メソッド名 は動的またはインスタンスメソッドと言う
そして関数ってのは、値を返すメソッドのこと
ちなみに静的と動的の違いはクラス内変数スコープの違いかな、ざっくり言うと
インスタンス毎に変数管理しなきゃならない場面でなきゃどっち使ってもいいよ
277Now_loading...774KB:2010/06/06(日) 21:52:36 ID:fDmZ+fpk
えええ?
いわゆるfunction関数でも returnしないものは、実は関数でない??
278Now_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はステージに表示されない。

なんでだろう?
教えてもらえないでしょうか。
279Now_loading...774KB:2010/06/07(月) 01:15:25 ID:yx5S1nM3
>>278
変数のスコープについて調べると良かろう
280Now_loading...774KB:2010/06/07(月) 01:27:00 ID:jHCOvDYv
>>278
それで問題ないはず。
281278:2010/06/07(月) 07:10:27 ID:BpTFr76s
ありがとう。

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

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

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

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

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

よろしくお願いします。
284Now_loading...774KB:2010/06/07(月) 22:15:08 ID:6IwJuZGh
サーバ上のファイルを更新するのはCGIを挟まないと無理じゃないの
285Now_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等で一度受ける必要も無く、また、出来ればそういった手順も踏みたくないと思っております。

どうすれば文字化けを回避出来るでしょうか。
ご教授願います。
286Now_loading...774KB:2010/06/08(火) 00:31:47 ID:/vCeSj75
初心者です。
actionscriptとPHPと連携するプログラムを作成しようとしています。

actionscripにはsendAndLoad関数や、LoadVarsオブジェクトを使って、
PHPと通信するプログラムが作成できるらしいのですが、
FlashDevelopでプログラムを組むことは可能でしょうか?
それともFlashCSとか使わないとだめでしょうか?
287Now_loading...774KB:2010/06/08(火) 01:06:34 ID:s5fIGMK6
>>286
お薦めの2冊
「FLASH BOOKS Version 02.Communication」水野 俊也 (著), 松本 一馬 (著)
「ラーニングバイブル Flash MX ActionScript サーバサイドスクリプト編」胡鵡 (著)
288Now_loading...774KB:2010/06/08(火) 01:39:05 ID:/vCeSj75
>>287!!
ラーニングバイブルFlashMX〜
はちょうど以前アマゾンで買って手元にあります!!
FLASH MXを使ってPHPとの連携のプログラミングが解説してあるから、
FLASHMXを使ってプログラミングするのが近道でしょうか?
289Now_loading...774KB:2010/06/08(火) 01:46:00 ID:nSdnPmmb
>>288
別になんでもいいんじゃないの?
バージョンは
290Now_loading...774KB:2010/06/08(火) 01:58:34 ID:/vCeSj75
>>288
最新のバージョンだと
adobe flash ビルダーとか、adobe flash pro cs5
とかみたいですが、actionscriptを使ってPHPと連携するプログラム作るという目的
(FLASHムービーは今のところ作る予定はないです)
ではadobe flash ビルダーでもいいでしょうか?
291Now_loading...774KB:2010/06/08(火) 02:16:20 ID:nSdnPmmb
>>288
お前あっちゃこっちゃで聞きまくるのはだめだぞ。
マルチは今後気をつけるように。
actionscriptを使ってPHPと連携するプログラム作るという目的
ということをおれはやったことがないので、なんとも
いえないが本があるんでしょう?
それ見て作ればいいんじゃないの?
なにが目的なん?
作品として会社に見せたいの?
292Now_loading...774KB:2010/06/08(火) 02:38:55 ID:/vCeSj75
2Chのルールがよくわからず申し訳ないです。
趣味で将棋とかオセロの対戦ゲームを作るのが目的です。
(市販の将棋とかオセロのソフトやYAHOOのネットゲームの方が
完成度が高いのは十分わかっているのですが、
プログラミングが子供のころからの憧れなので)
actionscript+PHPの関係の本は参考文献が少なくて、
知りたいのはサーバサイドとクライアントサイドのデータのやり取りの方法なのですが
解説はADOBEのソフトを使うことが前提で書かれていて
FLASHムービーを作らないのにADOBEのFLASH用ソフト買うかどうかも
いまいち踏みきれないところで迷ってるんです。
会社に見せる気はあまりありませんが、
pya!とかで紹介してもらえるプログラムができるといいなあと思ってます。
293Now_loading...774KB:2010/06/08(火) 02:56:12 ID:wZuWwNyR
googleで「as3 php」で検索するとたぶん読みきれない程の情報が出てくるよ
294Now_loading...774KB:2010/06/08(火) 03:12:34 ID:MebAOQJb
2chのルールというか、基本的な掲示板のエチケットでしょ。
よくそれで、ウェブの作品を作れるもんだね。

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

>>294 
ご指摘ありがとうございます。
いろいろ経験して出直してきます。
296Now_loading...774KB:2010/06/09(水) 12:15:48 ID:hFwioXtg
AS2.0を使用しております

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

アバターみたいなムービークリップが配置してあり、
先読みしておいた服のリストから服を選んで入れ替えたりできるようなイメージです。
297Now_loading...774KB:2010/06/09(水) 12:26:54 ID:iH9XkECn
>>296
単純な方法としては、そのswfを表示して、指定したフレームとかに
gotoAndStopじゃないの?
あるいはattachMovieとかattachBitmapとか
298Now_loading...774KB:2010/06/09(水) 12:46:38 ID:hFwioXtg
レスありがとうございます

外部SWFが全部別のSWFになっているため、
別のフレームに飛ぶような処理では実装が難しいです。
attachMovieは呼び出す側のライブラリに無いMCはアタッチできないと思ったのですが
外部SWFもアタッチできるのでしょうか
299Now_loading...774KB:2010/06/09(水) 13:12:59 ID:iH9XkECn
>>298
> 外部SWFが全部別のSWFになっているため、
> 別のフレームに飛ぶような処理では実装が難しいです

ちょっと上記の意味がわからない
attachMovieの仕様もその通りだけど、やりたいことと状況がもっと具体的に
わからないと、何が可能で何が不可能なのかこちらでは判断できんです
ただ、場合によっちゃ設計変えたほうがいいんじゃないのか?
大抵の場合、問題となるのはASじゃなくて、設計だと思うよ
そしてこの場合、難しくなるような作りになってること自体に問題があるんじゃないのかな
300Now_loading...774KB:2010/06/09(水) 13:25:49 ID:69hX2kpo
【環境】AS3.0/CS4

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

フォームにテキストを入力してもらってから、フォントを選んでプレビュー部に反映させる部分の仕組みがわからず苦労しているんですが、いいやり方はありますかね?
301Now_loading...774KB:2010/06/09(水) 13:31:51 ID:hFwioXtg
絵が大量にあるため一つのファイルにまとめると容量が大きくなり、
転送コストが大きくなる為、必要な絵のみを取得するような仕様が必要になっております。

ASについては初心者のためどういう設計にすればいいのかが今一つ判っておりません。
302Now_loading...774KB:2010/06/09(水) 13:32:35 ID:VYECB02c
埋込フォントの使い方は知ってるの?
303Now_loading...774KB:2010/06/09(水) 14:12:49 ID:iH9XkECn
>>301
なるほど、ちょっとわかった

まず、swfのなかから、一部だけを読み込むということはできないよ
画像を1ファイルにまとめられないのはいいが、いくつかにはまとめられているということ?
大量の画像のなかのどれかひとつを読み込む、という仕様なら問題ない気もするが
304296:2010/06/09(水) 14:21:19 ID:hFwioXtg
すべて個別のアニメもしくは静止画のSWFを必要な数だけ先読みするような仕様にするつもりです。
305Now_loading...774KB:2010/06/09(水) 14:34:44 ID:iH9XkECn
>>304
「先読み」の定義が、よくわからないな
たとえば、表示すべき箇所に、表示すべきswfやjpgなどが読み込まれているなら
swfやjpgの表示/非表示を切り替える、当該swfの任意のフレームに飛ぶ、
といった処理で問題なさそうに思われる
そうでないなら、「先読み」されているのは、どこに、なにが?
もし「先読み」されているファイルの内容を複製して表示したいなら、
再度、読み込みが必要になる(ただし「先読み」の恩恵で、キャッシュからの読み込みになり
ロード時間は短縮する)
そして読み込み完了後に、任意のフレームに飛ぶ

設計によっては、読み込まれたファイル上にattachMovieやattachBitmapを
することでも意図するような動作は実現できるようにも思うけどね
306Now_loading...774KB:2010/06/09(水) 14:51:39 ID:K5GW17sl
>>300
つまり任意のフォントで文字を出す方法が分からないってことか?
307300:2010/06/09(水) 21:11:47 ID:69hX2kpo
>>306
簡単に言うとまさにその通りです!
入力したテキストを読み取る→任意のフォントに変更→書き出す

ができるようにしたいです。
308Now_loading...774KB:2010/06/10(木) 02:28:17 ID:wETRQM74
309Now_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
310Now_loading...774KB:2010/06/10(木) 12:51:33 ID:+f7Jwbbp
JavaScriptからExternalInterface.addCallback経由で渡すんじゃね
311Now_loading...774KB:2010/06/10(木) 15:56:39 ID:z4gBB6d4
FLASHをActionscript以外の言語で動かすことってできますか?
翻訳機とかあるんでしょうか
Actionscriptはまるきり初心者です。
312Now_loading...774KB:2010/06/10(木) 18:43:07 ID:wETRQM74
>>311
ない
313ドラえもん吉:2010/06/10(木) 19:39:52 ID:N7DoTqDv
はなそ!
314Now_loading...774KB:2010/06/10(木) 20:26:58 ID:fI2mo7Zg
>>310 javascriptを使うの?actionscriptからじゃダメ?
315Now_loading...774KB:2010/06/10(木) 20:29:09 ID:znF7aWBI
ちょっと何言ってるかわからないっすね
316Now_loading...774KB:2010/06/10(木) 21:44:52 ID:ybLkqGqd
>>314
どうあってもJSがイヤってんならPHP側でWebサービス実装してXMLLoader使え
317Now_loading...774KB:2010/06/10(木) 22:16:00 ID:fI2mo7Zg
>>314返答ありがとう。
いつかは理解できるかもしれないけれど今の自分の知識では少しハードルが高い。
他スレで聞いてみる。
318Now_loading...774KB:2010/06/12(土) 02:01:04 ID:Tqy/LQKC
startDrag()を適用してあるMCのドラッグ中に再びstartDrag()を指定してドラッグ可能範囲を動的に変更しようとすると、マウスとの動きの連動が変になるのですが、回避方法は無いのでしょうか?
319Now_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

正直自分の力では手詰まりなので、ヒントだけでもいただければ幸いです。
よろしくお願いいたします。
320Now_loading...774KB:2010/06/12(土) 13:23:46 ID:YgD0h3IN
>>312
遅くなりましたが返答ありがとうございます。
321Now_loading...774KB:2010/06/12(土) 13:32:51 ID:eJjBSHET
>>319
function d_wheel(){ が閉じてないような気がするんだけど、これはコピペミス?

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

あとfunction d_wheel(){ が閉じてないのはコピペミスでした……
323Now_loading...774KB:2010/06/12(土) 16:03:53 ID:5d1wvIF+
AS3で質問です。

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

324263:2010/06/12(土) 17:10:01 ID:k0PLy2M/
>>323
flash.utils.describeType()関数を叩くと、
型に関する情報がXMLで返ってくるから、
XMLの中のaccessor要素を見る。
325Now_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;
}
}


ご教示お願いいたします。
326Now_loading...774KB:2010/06/14(月) 01:27:41 ID:8uBuTTPk
>>325
bg.gotoAndStop(2);
}
private var bg;

ここがよく分からん。bgって何? バックグラウンド?
もしかしてステージ?
327Now_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上では可能

どなたかアドバイス願います。
328Now_loading...774KB:2010/06/14(月) 04:00:36 ID:LmqNkXKW
>>325
bgがMCだとして…
まずbgをインスタンス化しないと。
今の状態じゃ、生まれてない子供にあーしろこーしろ言ってるのと同じ。
そもそもなんでbgの宣言をわざわざそこでしてるかも謎だけど…
329Now_loading...774KB:2010/06/14(月) 10:37:07 ID:mdJLtbtH
AS3.0で質問があります。
テキストフィールドを使用する際に、入力した文字列のまま取得出来る場合と、
HTMLタグが付加されて取得する場合があるのですが、これらをあらかじめどちらかに
設定しておくことは出来ますでしょうか?特にタグ情報を省略する方法をお教えください。
よろしくお願いします。

合ってるかは分かりませんが、テキストフィールドの変数に.text()を付けてみたんですが、なんか取れませんでした。
330Now_loading...774KB:2010/06/14(月) 10:58:44 ID:LF0nISGG
>>329
TextField.onChangedメソッドでタグの <〜〜> を検出し処理するとか。
331Now_loading...774KB:2010/06/14(月) 11:26:51 ID:uCKGjp7b
>>330
それは2.0では?
あとメソッドなのそれ?w

>>329
htmlTextを調べるとタグ付きで返ってくるので、textを調べれば良いと思う。
332329: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();
って書いてました。
333Now_loading...774KB:2010/06/14(月) 11:52:22 ID:uCKGjp7b
wk_loadtext = _parent.p_text.text;
でいいと思う。

って、_parentはAS2.0だよね?
3.0と2.0どっちよw
334329:2010/06/14(月) 12:13:08 ID:mdJLtbtH
すいません自己解決しました。

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

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

>>333レスありがとうございます。
作ってるもんのプロパティ見てみたら2.0って書いてました…
ずっと3.0だと思って作ってました、色々ホントすいません。
.textは将来3.0で作る際に使ってみます。
335325:2010/06/14(月) 13:07:21 ID:V7Rxt6dm
326さん、328さんありがとうございます。

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

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

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

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

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

336Now_loading...774KB:2010/06/14(月) 13:16:57 ID:LF0nISGG
>>335
根本的に間違ってる気がする&文章自体が意味不明。
どんな本を買ってるの? 
ネットに情報は溢れているけど、最低2冊は買った方がいいよ。
337Now_loading...774KB:2010/06/14(月) 14:37:34 ID:V2+Tdyia
ActionScriptを使ったらこんなことができる!ってのを紹介するために
FLASHだけのサイトやActionScriptも使ってるサイトを比較したいと思ってるんですけど、
良さそうな場所知りませんか?
338Now_loading...774KB:2010/06/14(月) 20:44:18 ID:LmqNkXKW
>>335
F8は「シンボルに変換」であって、雛型を作る作業なの。
変数の宣言は決まりがあるわけではないけど、特別な理由がない限りクラス宣言のすぐあとに書くのが普通。
とりあえず本当に基本的な理解が足りてないから、「actionscript 入門」あたりでググってみてください。
別に意地悪してるわけじゃなく。
339Now_loading...774KB:2010/06/15(火) 04:49:56 ID:HMsbaTL5
AS2の質問です。
ボタン(flashの)を押してキー入力ってできますか?
on (release) { ctr + w を押す/macならcommand + w
}
のような感じの。
ウィンドウを閉じる(ctr+w)、お気に入りに追加(ctr+D)など
キー操作で出来るものをJSを使わずにできるようになると
楽かなぁと。
340Now_loading...774KB:2010/06/15(火) 10:03:58 ID:GWJYQokG
>>339
Key.getAscii()とかKey.getCode()とかKey.isDown(Key.SPACE)で
ググり組み合わせる。
341Now_loading...774KB:2010/06/15(火) 13:34:36 ID:ye6D9STK
>>339
Key入力はできるが、Flash外の動作はFlashだけではできないから
JS経由とかになるんじゃないかな
342327:2010/06/15(火) 23:49:06 ID:ZKoQuKOQ
どなたかお願いします。
343Now_loading...774KB:2010/06/16(水) 04:29:17 ID:0B4yhz/h
>>327
分からない。普通にできちゃう
試しにパブリッシュの設定→Flashタブ→スクリプト設定ボタン→ドキュメントクラスのチェック
でちゃんと外部ASを読み込めているかチェック。それくらいしか思いつかない
344327:2010/06/16(水) 22:15:14 ID:XRTR0HOr
>>343
原因(?)が分かりました。
一言で言うと、DL→解凍したフォルダ以外でパブリッシュしたためでした。
素直に解凍フォルダ内部で作業すればOKでした。

ただし、他のフォルダでも作業できるようにクラスパスを解凍フォルダに設定
しましたが不可でした。
解凍したフォルダ以外では本当にダメなのかも知れません。
345Now_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つほど出ます。何かおかしなところがあればご指摘ください。
勝手なことですが、早く教えていただけたら幸いです。よろしく御願いします。

346Now_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;
}
347Now_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作れます。
348Now_loading...774KB:2010/06/20(日) 14:52:48 ID:6qM6b+f9
AS3で質問です。

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

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

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

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

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

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

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

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

このあたりは仰る通りだと思います。
ユーザに入力値が妥当でないことを通知しつつ、
使い勝手のよいUIを実現するにはどうしたら良いのか悩んでいます。。。
351Now_loading...774KB:2010/06/21(月) 14:44:37 ID:EsRm/a5P
ロックとフォーカスの強制移動をしないで、通知だけすればよかろう
352Now_loading...774KB:2010/06/21(月) 15:31:20 ID:RUyr30xp
>>350
「悲観的ロック」でググるといいことあるよ!!
楽観ロックはマズイ気がする
353Now_loading...774KB:2010/06/21(月) 16:59:15 ID:y9RNdcVk
>>351
なるほどですね。通知だけ行ってユーザに修正を促すのは
ユーザにも優しい設計ですよね。

>>352
ありがとうございます。
悲観的ロック・・・・、今までずっと排他制御は避けておりましたが
調べてみたいと思います。
354Now_loading...774KB:2010/06/21(月) 18:01:33 ID:9yH7WUYN
多次元配列のソートをする場合に連想配列の形をとらず
配列にはいってるオブジェクトのプロパティ(int)でソートすることはできますか?
355Now_loading...774KB:2010/06/21(月) 20:35:51 ID:l0qTYTw3
どなたか教えてください。
b1からb4まで名前をつけたボタンをロールオーバー時にはフェードアウト、ロールアウト時にはフェードインさせたいのです。
ロールオーバー時は思い通りの動きをするのですが、ロールアウト時は一回分だけフェードインして止まってしまいます。
現在このように書いています。
356Now_loading...774KB:2010/06/21(月) 20:39:01 ID:X3GYQI/o
阻止
357Now_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;
}}
358Now_loading...774KB:2010/06/21(月) 20:41:04 ID:l0qTYTw3
分割で書き込んでスンマセン。
そして阻止された・・・。
どなたかご享受お願いします。
359Now_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;
}
}

ただし、コンパイルはしていない
360Now_loading...774KB:2010/06/21(月) 22:41:33 ID:X3GYQI/o
>>354
Arrayのsortに比較関数渡してあげて
361Now_loading...774KB:2010/06/21(月) 23:20:25 ID:X3GYQI/o
>>357
すまん出来た
ROLL_OVERとROLL_OUTのイベントでENTER_FRAMEのイベントを
addする前に、それぞれのエフェクトとは逆のENTER_FRAMEのイベントを
removeしてやったらいいっぽい

そうしないと、二つのENTER_FRAMEが平行するので、動作は不定かな?
ちょっと詳しいことは分からないので、偉い人に教えてもろうて
362Now_loading...774KB:2010/06/22(火) 01:51:13 ID:E4VCjkUz
下の形でMCを回転させたいのですが、設定値に近付くにつれて回転を
緩め、設定値で回転を止めるにはどうすればいいですか?

MC.onEnterFrame = function(){

}
363Now_loading...774KB:2010/06/22(火) 02:27:01 ID:KjMEQu9+
>>362
現在の値と設定値の差を固定値で割る
で一個IF文を入れて十分近づいたら設定値を入れてフレームイベントを外す
364Now_loading...774KB:2010/06/22(火) 02:31:15 ID:E4VCjkUz
>>363
ありがとうございます!
さっそく、試してみます。
365Now_loading...774KB:2010/06/22(火) 02:44:27 ID:KjMEQu9+
>>364
読み返したら説明足りてなかった
> 現在の値と設定値の差を固定値で割る
これで得た結果を現在の値に加算
366Now_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で流れていた音楽が再びフェードインしながら流れる という指定をしたいのですが、
どのようなスクリプトを書いたら良いのでしょうか。
367Now_loading...774KB:2010/06/22(火) 09:16:17 ID:a1C7gqPT
MovieClipLoaderじゃダメ?
368Now_loading...774KB:2010/06/22(火) 16:51:24 ID:ORZiJy84
>>359
ありがとうございます。出来ました。
初心者なもので、やり方がこれしか考えられませんでした。
369Now_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()とかは適宜使用のこと
370369:2010/06/22(火) 17:26:58 ID:KBvEMdPj
>1フレーム目から同期ストリーミングで貼り付けた
→MP3を貼り付けたと言う意味ね
ストリーミングの場合loadMovie()の次のフレームに記述しても一応動作するけど
その他の場合はプリローダーとかで読み込み待ちしないと駄目ってことが言いたかった
音楽ファイルをメインのほうにまとめるなんて手もあると思うけど
371Now_loading...774KB:2010/06/22(火) 18:24:59 ID:ORZiJy84
>>359
このやり方でもやってみましたが、
条件は未定義であり、プロパティがありません。
とエラーがでてしまいました。
372Now_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
373Now_loading...774KB:2010/06/23(水) 10:08:34 ID:jr8RZdqA
仕様
374Now_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(……」を使う方法
について、どなたかご存知の方、よろしくお願いします。
375Now_loading...774KB:2010/06/24(木) 06:19:30 ID:94MMoRWZ
tabEnabled
376Now_loading...774KB:2010/06/24(木) 08:58:38 ID:svAgYMtW
stage.focus
377Now_loading...774KB:2010/06/25(金) 16:43:44 ID:Yqu/dN5L
本当に初歩な質問で申し訳ないですが、AS3の質問です。
3つのMC(a,b,c)があったとして、それを別々のタイミングで動かす場合
どのようにすればいいのか全く分かりませんw
方法としては、いくつかスタンダード?なやり方があると思っているのですが
参考書には、そういう基本的な事書いてないしサイトも見つからないです・・・。
ヒントみたいなのでも良いので、教えてください。
Flash CS3使ってます。
378Now_loading...774KB:2010/06/25(金) 17:07:50 ID:PQXQIGKT
>>377
Tweenっていうのを使うんだけど
たぶん一番有名なのはTweenerかな
http://code.google.com/p/tweener/
Tweenerだったら開始するタイミングも指定できる

まぁとりあえずas3 tweenで検索を
379Now_loading...774KB:2010/06/25(金) 20:40:22 ID:VXGihNo1
AS3の話なのにいきなりTweenで正解なの?
具体的に言ってくれないと「MCを動かす」ってのが良くわからん…俺がアフォなのか
380Now_loading...774KB:2010/06/25(金) 21:05:00 ID:JmVbkYnw
てぃ・・・Timer
381Now_loading...774KB:2010/06/25(金) 21:05:17 ID:X76PQ/0l
いや、自分も「別々のタイミングで動かす」ってだけじゃ
エスパー以外無理じゃね?と思ったが…
382Now_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で可能なのでしょうか?
383Now_loading...774KB:2010/06/25(金) 23:25:51 ID:PQXQIGKT
>>382
tween
384Now_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を使ったり、開始した時間と今の時間の差を見て判断したり、だね

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

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

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

>>387
結構アバウトな部分があるのですね。
精密に動かしたい場合、Timerにすれば良いという事でしょうか?
少し調べましたがTimer難しそうですっ
389Now_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();
}

このプログラムは無事コンパイルされました。
これって何故でしょうか?
390Now_loading...774KB:2010/06/27(日) 00:07:39 ID:+AWUYdzL
もう夏休みか。まぁいいけど

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

なので変数名を変えて

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

なら通るはず
391Now_loading...774KB:2010/06/27(日) 00:36:36 ID:4BvaOhbb
レスありがとうございます
何故最後のプログラムは名前の衝突が起こらないんでしょうか?
やってる事は同じような気がするんですが…
392389:2010/06/27(日) 00:39:52 ID:4BvaOhbb
すみません、>>391=>>389
最後のプログラムというのも>>389の最後に書かれてるプログラムの事です
393Now_loading...774KB:2010/06/27(日) 01:26:53 ID:JQ40G8uQ
>>389
コンパイルエラー?警告じゃなくて?

1番目から3番目の例については変数定義が重複しているので
エラー(警告?)
394Now_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を頭の中で実行して定義が重複してるなって判断するけど)
コンパイラは何もいわずにコンパイルを通してくれる

まあ普通はそんな宣言しないので問題にはならない
395Now_loading...774KB:2010/06/27(日) 01:54:25 ID:nKktP0gX
てすと
396389: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();
}

と書いた方がいいっぽいですね。ほんとすみません
397Now_loading...774KB:2010/06/27(日) 02:52:17 ID:bVJ5NNEs
一番最後は実行できたのかな
as詳しくないから分からないけど最後はtestのスコープがfor内だからコンパイル通ったって事じゃない?
一回目のfor内でtestが宣言される>一回目のfor終了とともにtest破棄>二回目のforでtest作り直し
だから衝突が起きてないってことに見えるけど、実行してエラーが出たなら>>394ってことなのかな
forの外側でtestが使えるかどうか試せば分かるけどあくまで予想なんで他の詳しい人の話を聞いたほうが良さそうか
398Now_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ってことっぽい、実行は出来ないって事なのかな
399389:2010/06/27(日) 03:08:40 ID:4BvaOhbb
>>397
レスありがとうございます。
おお、あり得るかも?と思ったんですが多分そんな事はなさそうです
試しにこんなのを書いてみたんですが
for(var i=1;i<=10;i++){
}
trace(i);
結果11となりました…これ別の意味で注意が必要ですね
400Now_loading...774KB:2010/06/27(日) 03:28:02 ID:90kQ3r5k
他はCとJavaしか知らんが、どっちもブロック見るのにね
ループ用の変数を外に出したり違うのにしたり美しくないんだよなぁ

何でこんな仕様にしたんだろ
401Now_loading...774KB:2010/06/27(日) 04:44:38 ID:GGk8LZmZ
4番目はホイストでコンパイル時に変数定義が先頭に移動してるんじゃないの?
402Now_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;
}

ネットで探ってみたのですが、どうも解決できません。
どなたかご存知の方、よろしくお願いします
403Now_loading...774KB:2010/06/27(日) 11:31:33 ID:zCiq2PlT
evt.currentTargetはLoaderではないって事。
たぶんLoaderInfo型。
404402: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座標を変更したいのですが……。
405402:2010/06/27(日) 11:55:26 ID:mZu0/R29
連続ですみません
Loader型を遡ってDisplayObject型に書き換えてやってみたのですが駄目でした。


var オブジェクト:DisplayObject型 = evt.currentTarget as DisplayObject型;
オブジェクト.x = 何らかの値;

という書き方で、オブジェクトの座標を書き換えることはできないのでしょうか?
406Now_loading...774KB:2010/06/27(日) 12:18:00 ID:9nW2NFfJ
それならenv.targetだな
407402:2010/06/27(日) 12:56:38 ID:mZu0/R29
>>406
どうも!
しかし、targetもだめでした……

408Now_loading...774KB:2010/06/27(日) 13:30:10 ID:9nW2NFfJ
どういう風に?
409Now_loading...774KB:2010/06/27(日) 13:40:50 ID:9nW2NFfJ
くわー違った
evt.target.loaderだったわすまん
410402: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」は見つかりませんでしたが……。
411389:2010/06/27(日) 16:29:00 ID:4BvaOhbb
>>401
遅くなりましたが、間違いなくこれですね!
ホイストって知りませんでした。なんか今までAS3のサンプルとか見ていて
納得いかない事が結構あったのですが、こんな仕様があったんですね
ありがとうございました!
412Now_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は存在しません」 というようなエラーになってしまいました。
413Now_loading...774KB:2010/06/27(日) 21:04:19 ID:zCiq2PlT
>410
evt.targetがLoaderInfo型で、loaderはそのプロパティ。

>412
MovieClipにTimerを参照するプロパティを作ってるだけなので
for文を使ってe.targetとtimeを比較するしかないかな。
他の方法を考えた方が良い。
414Now_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);
}
}

こんな感じで一応できたよ
415402:2010/06/27(日) 21:51:17 ID:mZu0/R29
>410
ありがとうございます!
理解できました。
416Now_loading...774KB:2010/06/27(日) 21:56:16 ID:TfPCHaIC
>>413
>>414
レスありがとう御座います。
ソースが家に無いのですぐには試せませんが、明日にも繁栄させてもらいます。
417Now_loading...774KB:2010/06/27(日) 23:08:12 ID:0L8+qol7
【AS3】
参考書のサンプルソースをみてるんだが、

Point.normalize()

ってのがイマイチよくわかんなくて、
参考書も詳しく書いてないし、ヘルプみてもわからないので

分かりやすい説明とか載ってる場所ないかな?
そもそもベクトルってなんだよってレベルなんだけどね。
418Now_loading...774KB:2010/06/28(月) 00:26:46 ID:LoapBtJZ
何やるか分かってもベクトルわからんと使いようないぞ
419Now_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) になります。

だってさ
便利だなこれ
420Now_loading...774KB:2010/06/28(月) 01:48:50 ID:U3mP6eZ5
ベクトルに関しての記述をみつけたが
大体頭にいれておけばおk?

ttp://www.geocities.co.jp/Technopolis/1505/vx_index.htm
421Now_loading...774KB:2010/06/28(月) 05:36:34 ID:bkFdzXZ2
このサイト、簡単な事を難しく考えさせようとしてない?w
422Now_loading...774KB:2010/06/28(月) 15:26:06 ID:U3mP6eZ5
もっと分かりやすいサイトがあったら頼む
423Now_loading...774KB:2010/06/28(月) 18:49:52 ID:r+NgELk6
>422
座標だけ分かれば他は必要ないよ
そのサイトで言うと「ベクトルとは」だけでいい、で

var po:Point = new Point(3,4);

これは、横座標が3で、縦座標が4の点をあらわすpoって名前の変数を作る、って意味ね
ここまで分かれば>>419でわかるでしょ
424Now_loading...774KB:2010/06/28(月) 20:10:16 ID:U3mP6eZ5
>>423
Point解説サンクス
内積(その1)くらいまで読んじまった。

ということは、normalize=標準的にするって意味らしいから、
説明通りベクトルが、指定された数値に勝手に拡大縮小されるってことか。

あ、なるほど、サンプルの意味もなんとなく分かってきた!
ありがとう
425Now_loading...774KB:2010/06/28(月) 20:54:23 ID:8bpCcW54
AS3で質問です。

mx.rpc.events.ResultEventのイベントリスナの中で
カスタムイベントクラスを生成して
dispatchをしています。

カスタムイベントクラスのプロパティには
mx.rpc.events.ResultEventを保持するプロパティも用意して
dispatchをする直前にカスタムイベントクラスの
プロパティに設定しているのですが、
Nullになってしまいます。

イベントクラスのプロパティには他のイベントのオブジェクトを
保持できないとかあったりしますか?
426Now_loading...774KB:2010/06/28(月) 21:12:10 ID:9Jm8hi3M
>>425
そのカスタムイベントクラスはどんな実装なの?
cloneメソッドのオーバライド忘れとかかも
427425:2010/06/29(火) 09:35:45 ID:l1ipti6Y
>>426

ありがとうございます。
仰るとおりcloneメソッドをオーバーライドしておりませんでした。
カスタムイベントクラスは、イベントクラスを継承しているのみになります。

お恥ずかしいのですが、私の知識と理解力では
cloneメソッドのオーバーライド以外にも気をつける点などがあったとしても、
見当がつかないので、他にも注意するポイントがありましたら
教えていただけないでしょうか。



428Now_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;
}};};
429Now_loading...774KB:2010/06/29(火) 18:15:22 ID:sjyHar5j
>>428
次の日になると dd<=(dNum) が通らなくなるからじゃない?
dd<=(dNum+1) にすれば通るかも

てか、これだと1ヶ月前とかの12時間以内も色付いちゃわないかな?
それぞれの年と月と日を時間に変換して足したモノで比較した方が分かりやすいと思うが
430402:2010/06/30(水) 02:24:41 ID:WfJqdAAS
割り込みすみません

actionscript3.0で、
ファイルが存在するか確認するためには、
どのメソッドを使ったらいいのでしょうか?

LoaderとLoaderInfoを調べたのですが、
それらしいものが見当たらなかったので……。


431Now_loading...774KB:2010/06/30(水) 02:45:26 ID:7Eo9EuqM
読み込んでエラーでたらないじゃん?
432Now_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 へのアクセスです。
433Now_loading...774KB:2010/06/30(水) 18:13:07 ID:Ucj6s4Ae
AS3で質問です。
ポップアップウインドウを開いて、ポップアップウインドウ内にある
ボタンにフォーカスを移そうとしています。

buttton.setFocus();
でフォーカスは移っているみたいなのですが、
タブでフォーカスを移動したときのように
ボタンの輪郭が青く反転しません。
(この表現で伝わってますでしょうか)

ポップアップウインドウを表示したときに
ボタンの輪郭を青く反転させるには
どの様にすればよろしいでしょうか。
434Now_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
これかな?
435Now_loading...774KB:2010/06/30(水) 20:17:20 ID:ItDk24ph
てすと
436433:2010/07/01(木) 08:42:31 ID:v0CUtcr8
>>434
ありがごうとございます。
まさにそれです。
おかげさまで輪郭を青く反転することができました。
437Now_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);

と作って行きたいんだ
438Now_loading...774KB:2010/07/01(木) 17:40:20 ID:WPNJn9l+
素直に配列使え
439Now_loading...774KB:2010/07/01(木) 18:24:41 ID:xpi58Tze
スマソ、普通にわからんのだけど、
仮に100個の変数をつくろうと思ったらどうしたらいいんだ?
440Now_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);
}
441Now_loading...774KB:2010/07/01(木) 19:57:59 ID:xpi58Tze
>>440
なるほど!トンクス!!
ちょっとトライしててそんなソースに辿り着きつつあったんだが、
また、ひとつ問題が。

new Hoge("test"+i) で

ここの引数の型がMovieClipなんだ。MovieClipはステージ上に存在してて
このままだと「StringをMovieClipに暗黙に変換してる」と言われてしまう・・・。
442Now_loading...774KB:2010/07/01(木) 22:26:51 ID:9mYvNye6
その MovieClip も配列に入とけば良いんじゃね?
で、hoge[i]=new Hoge(test[i]);
443Now_loading...774KB:2010/07/01(木) 23:19:45 ID:xpi58Tze
>>442

>>440
var hoge:Vector.<Hoge>=new Vector.<Hoge>(100);

データ型をHogeに限定してるからMovieClipを入れるのはむりぽ(´・ω・`)
んー、もうちょっと考えてみる。みんなありがとう
444437: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]);
}


マジでありがとう
445Now_loading...774KB:2010/07/02(金) 10:08:57 ID:/KWNCFrU
WPSevens, SWF2XNAで、Flash ゲームから
Windows Phone 7 のゲームを作成
- http://bit.ly/drNHby
446Now_loading...774KB:2010/07/02(金) 10:09:21 ID:kmAsk8uQ
ActionScriptを始めようかと思っているのですが、質問させてください
(すみません、技術交換スレに間違えて同じ質問をしてしまいました)
ActionScriptは動的にコンテンツを変えられるのでしょうか?

Bloomberg(http://www.businessweek.com/)の中段にあるようなスライドショー型のFlashで、新着ニュース毎に表示されるのかが知りたいです
例えば2chのような掲示板の新着スレッドが立つたびに上記のようなFlash内に勝手に組み込むような事は出来るのでしょうか?

それとも毎回自分や技術者が内容変更のたびにFLASHを作り直さなければいけないのでしょうか?
447Now_loading...774KB:2010/07/02(金) 10:22:16 ID:J8Lyavoa
2chのスレなら、http://[サーバー]/[板名]/subject.txt を読めばよい
でも、スレがたったらという条件で読み込むのは無理
定期的に読みに行く必要がある
448446:2010/07/02(金) 10:36:21 ID:kmAsk8uQ
>>447
良く考えてみると、自分Life-xを利用しているのですが、そこでは自分のアップした写真がすぐにFLASHコンテンツに表示されるのを思い出しました
例えばワールドカップの写真のようですが(http://www.sony.co.jp/united/football/impression/)、これなんかを考えると上で自分の質問したような事は可能なような気がしてきました

フォームからの投稿、又は隠しフィールドの<li>を追記していくようにする、とかを利用すれば動的にコンテンツを表示できるのでしょうか?
449Now_loading...774KB:2010/07/02(金) 20:45:31 ID:ALy7V41m
>>448
いやいや、作り直す必要こそないけど、やっぱり定期的に読みに行くしかないと思う
でないと、サーバーから個別の利用者に命令をぶち込んでることになる
定期的って言っても数秒ごとならラグもないから、普通はそうしてるハズ
450Now_loading...774KB:2010/07/03(土) 12:31:40 ID:eT1hb/ri
最近アクションスクリプトでいろいろ作るようになりました

よくNowLoading……○%って表示されるのがありますが
そのスクリプトってどのように記述すればいいですか?

Flash-MXです
451Now_loading...774KB:2010/07/03(土) 13:02:10 ID:KG7dp+zZ
flash NowLoading プリローダー 等で検索した方が絶対に早い
452Now_loading...774KB:2010/07/03(土) 13:15:01 ID:8BXEYOYO
;
453Now_loading...774KB:2010/07/03(土) 13:17:36 ID:8BXEYOYO
as3を使ってmcをドラッグしながら回転させたいのですが
回転させる角度を求める方法が知りたいです。


http://www.intentionallies.co.jp/content_normal.html

454451: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フレ目に書いたほうがいいかも
455Now_loading...774KB:2010/07/03(土) 13:39:44 ID:kO2rph2q
>>453
良く分からんが、Math.atan() とか Math.acos() とかじゃダメなん?
456Now_loading...774KB:2010/07/03(土) 13:45:38 ID:8BXEYOYO
>>455
mcの位置とマウスの位置から角度は出せるんですけどなんか違うような感じがするんです
457Now_loading...774KB:2010/07/03(土) 14:08:53 ID:eT1hb/ri
ありがとうございました
458454:2010/07/03(土) 14:50:00 ID:KG7dp+zZ
ちょっと補足
ルートでやってる場合
if (count>=100) { }の中に
delete onEnterFrame としとかないとだめだな
いつもMCの中でやってるからうっかりしてた
結局検索させた方が早かったなw
459Now_loading...774KB:2010/07/05(月) 16:54:55 ID:im/ZDvU1
お世話になっております。
AS3です。

サーバと通信するクラスを作成してその処理の中でサーバとの通信エラーや
セッションタイムアウトが発生したらポップアップでユーザに通知したいと考えております。

クラスはユーティリティクラスのようなものなので、
画面から呼び出されたり、他のユーティリティクラスから
呼び出されたりといった具合で利用されます。

PopUpManagerクラスのcreatePopUpメソッドの第一引数には
parent:DisplayObjectを指定しないといけないですが、
クラスからしてみればどこから呼び出されるか分からない状況なので
どう実装すればよいか悩んでおります。

クラスで処理を行うときに引数でparentを渡す方法もあるかもしれませんが、
ウインドウから呼びされるのではなく、他のユーティリティクラスから
呼び出すときがめんどくさいよなぁ。と考えていたりもします。

やりたいことは、ユーザにエラーを通知することなので、
createPopUpメソッドを使わずに同様のことが出来る方法か
createPopUpの第一引数に上手にパラメータを渡す方法を
アドバイスいただけると幸いです。

皆さんは通信処理とか画面の裏っかわで行う処理を元に
ユーザに何かを通知するときはどの様にされていますか?
460459:2010/07/05(月) 17:05:10 ID:im/ZDvU1
すみません。補足です。
Alertクラスは今のところ使用しない方向で考えております。
461459: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);

462Now_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しない
も考えられますが、もっと簡潔な方法を探しています。

宜しくお願い致します。
463Now_loading...774KB:2010/07/06(火) 08:29:08 ID:20rAnzWK
1:多なら、多の方に全部enterFrameのイベント付けて、
あたったらremoveEvent・・・とか?

いやフラグの方がいい気がする
464Now_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");
}
465464:2010/07/06(火) 13:02:19 ID:bjRZq9no
すいません。今気がつきました。
パブリッシュの設定がプレイヤー9でした。
10に変更したら普通にいけました。
スレ汚しすみませんでした。
466Now_loading...774KB:2010/07/06(火) 14:34:30 ID:q9yEczbQ
そうだと思った。
467Now_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
468Now_loading...774KB:2010/07/06(火) 22:59:12 ID:qV8/3BDi
>>467
targetContainer.removeChildAt
の部分をフェードアウトしてからtargetContainer.removeChildAtするように変更すればおk

あと、imageNoが1〜3に対応してるみたいだけど、0〜2で考えられるように慣れたほうがいいよ

469462:2010/07/07(水) 00:40:21 ID:M6enjIRB
>>463
そうですね。やっぱフラグの方ですね・・・
470Now_loading...774KB:2010/07/07(水) 08:18:12 ID:fAhd24lO
>>468
>>0〜2で考えられるように慣れたほうがいいよ
トンクス

>>フェードアウトしてからtargetContainer.removeChildAtするように変更
そうなんだ、それはわかってるんだけど、どう書けばうまくいくのかわからないんだ。
イベント渡してみたりしたんだけど、挙動がおかしくなったり。
471Now_loading...774KB:2010/07/07(水) 09:33:21 ID:SQn1UhjW
>>470
フェードインのサンプルが中にあるんだからフェードアウトくらい簡単だろー
472Now_loading...774KB:2010/07/07(水) 12:56:25 ID:VPZcyMvd
Flashでアンケートを取るものを作りたいんですが
どういった用語で検索して勉強するといいですか?
473Now_loading...774KB:2010/07/07(水) 14:09:45 ID:VSi1KgSL
アンケート CGI
URLLoader
474Now_loading...774KB:2010/07/08(木) 17:54:40 ID:D57+etXO
flash上のボタンを押すとitunesにPoscastを登録するということがやりたいのですが方法はありますでしょうか?
475Now_loading...774KB:2010/07/08(木) 20:04:06 ID:D57+etXO
プロトコルを"itpc://"にすれば登録できました。
flash上のボタンを押してitunesを起動することは可能でしょうか?
476Now_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はタイムラインのフレームの事だと思うのですが。
どなたか答えて頂けたら幸いです。
477Now_loading...774KB:2010/07/09(金) 11:52:27 ID:ts9AP+Lo
>>476
確かに_rootの定義が無いな。

var _root:MovieClip = new MovieClip();
_root = MovieClip(stage.getChildAt(0));

としたら?
478477:2010/07/09(金) 11:54:31 ID:ts9AP+Lo
(自己れす)
これってAS2じゃね?
479476:2010/07/09(金) 14:47:58 ID:+dnZnJct
>>478

レスありがとうございます。
AS2で書かれたものをAS3で動かすことはできますか?
480Now_loading...774KB:2010/07/09(金) 15:36:02 ID:LUJPL1/5
>>475
そんなことできるのかよ。すごいな
481Now_loading...774KB:2010/07/09(金) 17:57:58 ID:G8YbubE6
>>479
_alphaとか_xって書いてるあたり AS2.0だね。
_rootは一番上の階層(ステージ)って意味だと思う。そこの1フレーム目。

AS2と3は書き方が違うので、そのままぶっ込んでも動かない
ある程度変換は必要だと思う。
482Now_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で取得してクラスパスを通し」
と書いてありますが、ググってもこの意味が分かりません。
483Now_loading...774KB:2010/07/09(金) 22:03:05 ID:jIML3yVL
484Now_loading...774KB:2010/07/09(金) 22:48:29 ID:FYiIjbsV
>>483
ありがとうございます。
HP見ました。うーん、意外と面倒だ。
485Now_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
の参照を使用してアクセスしています。」

というエラーになりました。
491490: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」で検索した?
494492:2010/07/11(日) 21:32:47 ID:0Hj7zA18
>>493
回答ありがとうございます。
1の方は解決しました。

2に関してなのですが、サムネイルと元画像(拡大画像)を用意してあり、
並んだサムネイルをクリックすると元画像が枠いっぱいに表示されるようにしたいと思っているのです。
495名無しさん@そうだ選挙に行こう:2010/07/11(日) 23:21:01 ID:XsiYQDx+
>>494
普通に、大きい画像をaddChildで表示すればいいんじゃないの?
大きい画像がクリックされたらremoveChildで消してさ
496492:2010/07/11(日) 23:41:42 ID:0Hj7zA18
>>495

何ぶん超が付く初心者で・・・そこにいたるまでのスクリプトが解りません。。。
何度もすみません。
497Now_loading...774KB:2010/07/12(月) 01:00:32 ID:2deXJ3Sq
ああごめんAdobeFlashはデザイン画面みたいなので作るんだっけ

じゃぁ最初にVisibleをfalseにした大きい画像を置いておいて
小さい画像がクリックされたら大きい画像のVisibleをtrueすればいいんじゃないかな
それはできる?
498Now_loading...774KB:2010/07/12(月) 08:29:57 ID:AHhqqQ5y
5年位前Swishでちょっと触ったくらいの初心者ですが、質問させてください
皆さんはFlash作成はやはりAdobeのCS5とか使って作られているのでしょうか?
それともテキストエディタ等でプログラムを打ち込んで作られているのでしょうか?

また、購入を検討している所なのですが、AdobeのCS系の利点というものはどういった所にあるのでしょうか?
499Now_loading...774KB:2010/07/12(月) 13:24:40 ID:VXqQ4hAD
お世話になります。

AS3で通貨計算を行う上で参考になるサイトなどないでしょうか?
浮動小数点の丸め誤差回避のクラスを作成しようと考えております。

標準のライブラリではそのようなものは無いようなので
アドバイスをいただけると幸いです。
500Now_loading...774KB:2010/07/12(月) 14:04:56 ID:wDMixZqG
>>498
例えば、「ある場所にある球のグラデーション」をコードのみで表現
しようとしたら大変だけど、AdobeのCS系ならお絵かきツールとしても
使えるのでGUI画面が手早く出来る。
※実際、そのままGIFやPNGに出来る。
値段は高いけど、作業スピードを考えればお得。


>>499
「通貨計算で浮動小数点の丸め誤差回避」の意味がよく分からない。
割り算とかで延々と小数点以下が出るのを4桁位で止めたい(有効数字を3桁
とかにしたい)ってこと?

もしそうなら、数値をString()で文字列化してlengthプロパティで判別するのも
一案かと。
501499: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的なクラスが
あればその情報を頂きたいなと思った次第です。


502Now_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);
503Now_loading...774KB:2010/07/12(月) 22:24:11 ID:5sIDZusR
>>498
俺はFlashdDevelop使ってるよ。タダだから

>>502
あんま詳しくないけど
BitmapDataとBitmapをいちいち作ってaddchildしてるのが遅いんじゃないかな
大きいBitmapDataを1つ作っておいて、そこにsetPixelしたほうが速そう
504492:2010/07/12(月) 22:38:03 ID:yZuSwzq3
>>497

わー!できました!
本当にありがとうございました!!
505492: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でいいのでしょうか。
ほんと初心者すぎてすみません。
506Now_loading...774KB:2010/07/13(火) 02:12:36 ID:a9yfodxk
>>501
これって参考になるかな。

有効桁数の数え方・誤差 ttp://questionbox.jp.msn.com/qa5254399.html
507Now_loading...774KB:2010/07/13(火) 02:37:47 ID:zoJnyGIL
>>488
>>503
ありがとうございます!
デカイBitmapDataをつくって、その中でsetPixelでいけました
60000ぐらいは軽く表示できました。感動です。

そこで、setPixelしたものそれぞれのピクセルに対して、マウスに反応する等のインタラクティブな動きを
持たせようとしていますが場合、毎フレームsetPixelというのはわかるのですが、
座標情報は、Pointで管理するのが軽い処理なのでしょうか。
(ピクセル一つ一つに対してはマウスへの反応を仕込めないですよね・・・?)

それぞれのピクセルに対して、Tweener的な処理、
つまり、ある指定の座標まで、それぞれのピクセルが動かしたりしたいのですが、
setPixelでやる場合、どうしたらいいのか、悩んでます
508Now_loading...774KB:2010/07/13(火) 07:30:44 ID:8N3YWJ2G
>>507
うん。どっかに状態を保存しておかないと無理

Pointは余計なプロパティ持ってるから、若干遅いね
まぁそのぶん、便利な関数を使えるメリットはある(マウスとの距離を計算したりね)
自前でxとyだけを持ったclassを作ると無駄が無くて速いし、
加速度とか色みたいなプロパティも持てるから、柔軟性もある。ただ関数は使えない
一番便利なのは自前のclassにpointを持たせるやり方だけど一番遅い

と、ごちゃごちゃ描いたけど差は殆どないし、ボトルネックは画面初期化とsetPixelだから
あんまり気にしなくて良いと思う

ちなみに、配列を使うならArrayじゃなくてVectorの方が速い

>>505
そんな感じで出来ると思う
509Now_loading...774KB:2010/07/13(火) 09:44:34 ID:aLidT0FX
APIについて質問です(´・ω・)AS3使用です。

APIでyoutubeを埋め込んだ外部swfを親swfから停止させたいのですが
上手くいきません(´;ω\)
unloadClipでyoutubeを埋めた外部swfを停止させることは出来るのですが
youtube自体が停止されてないらしく、音声だけ流れている状態です。
どこかでdestroyを使うといいと言うのも読んだのですが、destroyだと
二度目の再生が出来ないとかなんとか・・

(´;ω;`)∩どなたかご存知の方がいらっしゃったら是非おしえて頂けると
うれしいです
510499:2010/07/13(火) 11:53:54 ID:jt+gXllv
>>506
ありがとうございます。
参考にさせていただきます!
511509:2010/07/13(火) 12:13:58 ID:aLidT0FX
ごめんなさい、AS3じゃなくてAS2です(;´A⊂)
512Now_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
がありますが記述が多くて改造が困難です。

どなたか、アドバイス願います。
513Now_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
514509:2010/07/13(火) 18:06:11 ID:aLidT0FX
解決しました(`・ω・)/
515509:2010/07/13(火) 18:25:28 ID:aLidT0FX
何度もごめんなさい(´;A\)やっぱり解決してませんでした。
親swfからytPlayerLoader.unloadClip(ytplayer); で消えはするのですが
youtube自体が止まっておらず音だけ流れている状態です。

どなたかご存知の方がいらっしゃったら是非ご教授頂けると
助かります。うう
516Now_loading...774KB:2010/07/13(火) 19:42:35 ID:LCw3dfJV
>>508
507です

ありがとうございます!
完全に理想の動きが実現できました。
オリジナルクラスでxpos, yposみたいな数値保持クラスを用意して、
あとは、Vectorで毎フレーム座標位置を計算みたいなかんじでやることで、
とりあえず30000パーティクル達成しました

毎フレーム bitmapData.dispose()して、
new BitmapDataで大きいのを一つ用意して、new Bitmapして、
dispose()で描画クリアしてみました。
517Now_loading...774KB:2010/07/13(火) 21:29:01 ID:T3VHBK5U
>>515
そういう専門的過ぎるのはこのスレじゃわからないかもなぁ…
518509:2010/07/13(火) 21:40:56 ID:aLidT0FX
>>517
ありがとうございます(´;ω\)なんだかんだで工夫してなんとかなりました!
頭を抱えてたので、書き込める場所があっただけでもよかったな〜なんて
思ってます(´∀`)お騒がせしました。
519492:2010/07/13(火) 23:17:12 ID:Hy5ETLug
フレームに写真を配置し、「visible = false」とだけ書いて再生したところ、
520492:2010/07/13(火) 23:20:11 ID:Hy5ETLug
バグったようです。連投しつれいします。

フレームに写真を配置し、「visible = false」とだけ書いて再生したところ、
「 型が見つからないか、コンパイル時定数ではありません」というエラーが出てしまいました。
写真はAS用に書き出し、クラスは「img1」基本クラスは「flash.display.MovieClip」としてあります。
なんども初歩的な質問をしてしまって申し訳ありません。
521Now_loading...774KB:2010/07/13(火) 23:27:51 ID:GTqaTo43
>>520
new Sprite() か new MovieClip() でインスタンス化した?
522520:2010/07/13(火) 23:29:26 ID:Hy5ETLug
>>521
わぁ!解決しました!!ありがとうございます!

これでなんとかなりそうです!!
質問に答えて下さった方々本当にありがとうございました!!
523Now_loading...774KB:2010/07/14(水) 01:40:16 ID:reymtUwH
Player10(AS3),FlashCS4,WinXP-Proです。

Vector3DやMatrix3Dを使って円柱を表現する方法をご存知の方いますか?

本やWebで調べましたが、複数の平面や立方体の表現はありますが円柱が
見つかりません。
※最終目標はPapervision3Dの基本形状(6種類?)をVector3DやMatrix3Dを
使って表現することです。

お願いします。
524Now_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文やマウスイベントを試してみたのですが、理解が足りていなかったようです。

ソースコードは必要なら指定された場所に上げます
使えればいい程度に考えて作っていたのでとても汚いですが……
526Now_loading...774KB:2010/07/15(木) 04:56:26 ID:+uP3Sthi
マウスを放した時に情報を送るようにすれば?
527Now_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);

回避策はありますでしょうか?
528Now_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を出力するんだけど
一発目では読込みきれてないってことだよね。
なんかいい方法ないかな?
529528:2010/07/15(木) 23:29:38 ID:FJZnESey
すまん、自己解決した。
どうやらプロファイラを開いていると起こるバグのようだ。
ググレカスっていうね。

ttp://log.xingxx.com/2008/12/flash-cs4stagestageheight.html
530Now_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
みたいな吐き出しをしてます

なぜローカルサーバーだと動くのでしょうか??
531Now_loading...774KB:2010/07/17(土) 00:14:59 ID:PDUVOUZA
AS2.0で質問です

激突要塞や格闘ゲームみたいな、2つのオブジェクトの距離で画面の拡大縮小
を再現したいんですが、どうればいいでしょうか

構造は実際に拡大縮小されるフィールドMCの中に自分と敵のMCが入ってる構造です
532Now_loading...774KB:2010/07/17(土) 00:16:14 ID:PDUVOUZA
それとAS2.0でTwitterの最近の書き込みやツイート数やらアイコンを
取得する事ってできるんでしょうか?
533Now_loading...774KB:2010/07/17(土) 10:32:01 ID:NH45wRsf
>>531
MC内で格闘しているとして、距離の計算は三平方の定理→拡大縮小

とか。



>>532
ググれ。
534Now_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の値を取得する方法ってあるのでしょうか?
535Now_loading...774KB:2010/07/17(土) 22:11:06 ID:4vzn2GB3
急に質問が増えたな。
536Now_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です
537Now_loading...774KB:2010/07/18(日) 01:05:46 ID:Y/99TuYY
あ、すみません、クロスドメイン問題ですかね・・・
PHP経由でやるってやつでしょうか
538Now_loading...774KB:2010/07/20(火) 12:33:18 ID:YEJkXa2m
ほしゅ
539Now_loading...774KB:2010/07/20(火) 23:58:41 ID:L+S0vZwh
AS3で一定時間待つことってできますか?
tiemrを使うとベツの関数に飛んじゃいますが、
一定時間まった後続きのコードを実行してほしいです。
540Now_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 ();
541Now_loading...774KB:2010/07/21(水) 10:00:00 ID:BUyDuF5t
javaのsleepみたいなヤツだよね
俺も前に探したんだけど無かったな
timerでやるしかないと思われ
542Now_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();
}
};


これで、ボタンにリンクをはりたいときは、どうすればいいんでしょうか?
543Now_loading...774KB:2010/07/21(水) 17:41:55 ID:RDxEgwTz
>>542
それ、仕組みわかってる?
onEnterFrameじゃなくてonRollOverとか使ったほうがよくね?
メニューボタンで、ってどれがメニューボタンなの?
メニューボタン内にそのASが書いてあるの?

とりあえず、MCをそのボタンだと仮定すると
MC.onRelease=function(){this.getURL()}なんかでできるよ
544Now_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

そしたらリンク先がつけれなくて・・・あきれてなかったら引き続きアドバイスお願いします
545Now_loading...774KB:2010/07/21(水) 18:42:09 ID:ytlMN5UX
>>544
とりあえず、
・簡単なサンプルが多数載ってる本を3冊位買おう
・Web上でのサンプルは http://hakuhin.jp/as.html がお薦め


546Now_loading...774KB:2010/07/22(木) 14:02:04 ID:/H2SA2DR
http://www.dotup.org/uploda/www.dotup.org1043661.jpg

上の図のようにmc1の表示部分にだけmc2を表示するためにはどうしたらいいのでしょうか?
547Now_loading...774KB:2010/07/22(木) 14:07:34 ID:iFRJEeF3
mask
548Now_loading...774KB:2010/07/22(木) 14:13:57 ID:/H2SA2DR
助かります
549Now_loading...774KB:2010/07/22(木) 23:28:45 ID:rbQblBAc
CS5で作ったflaをFlash8で読むにはどうすればよいでしょうか?

こちらの環境がCS5で諸事情で先方にflaファイルを渡すことに
なったのですが先方の環境がFlash8で開けないのです。
何らかの変換作業が必要になるとは思いますが……。

ちなみにFlash Lite 1.1のドキュメントですので8でも対応しているかと思います。
550Now_loading...774KB:2010/07/23(金) 00:36:29 ID:KB8oqFIk
>>549
名前を付けて保存でファイルの種類をCS4にして保存
そしたら今度はCS4でそのFLAを開いて同じことやってCS3で保存
そs(ry

FLAは1バージョンごとしか落とせないからね
551Now_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を持っています。
552Now_loading...774KB:2010/07/23(金) 11:21:54 ID:nSZ9GXrX
>>551
キーフレームは無理だが、
ASは外部ファイル化すれば?
553Now_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に入るまで変わらない
というようにしたいのですが、どうすればいいのでしょうか。
554Now_loading...774KB:2010/07/23(金) 15:33:29 ID:nSZ9GXrX
>>553
AS1?
そもそも、whileループ抜けるまでは描画更新されないから
ループ内で少しずつ移動みたいな処理は無理
ifで条件指定してやればいい
555Now_loading...774KB:2010/07/23(金) 16:21:58 ID:74WIoklK
>>554
AS2です。
ifでやってみます。
556Now_loading...774KB:2010/07/23(金) 16:27:52 ID:74WIoklK
>>554
if文にはできましたが、やはりrが取得されつづけてしまいます。
55781:2010/07/23(金) 20:08:12 ID:GZXuz7xk
>>556
どう修正したの?
558Now_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 しないとだめってことかしら?
559Now_loading...774KB:2010/07/23(金) 21:02:21 ID:fCC3VmDl
あ、Cが3個存在する意味がなかった。
そこはスルーしてくれ・・・('A`)
560Now_loading...774KB:2010/07/23(金) 21:18:14 ID:Fll3CXND
Cへの変数もnullにすべきだけど順番は関係ない。
どこからも参照されなくなったらGCで掃除してくれるよ。
561Now_loading...774KB:2010/07/23(金) 22:01:41 ID:fCC3VmDl
>>560
マジスカ!

でもCを traceすると [ movie clip Object ]って出るのは気にしなくていいの?
562553: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;


}
}
563Now_loading...774KB:2010/07/23(金) 22:38:04 ID:VUUhZFvL
>>561
弱参照にすべし。
564523:2010/07/23(金) 22:40:12 ID:Hk0dzllA
(円柱の表現)
どなたか知りませんか?
565Now_loading...774KB:2010/07/24(土) 00:09:49 ID:DdXEz+AF
ムービークリップA側で、ムービークリップBの移動速度や拡大率を決めて
それをBに反映させたいんだけど、何か方法ある?

AからB内の変数をいじったりとか、AからBに値を渡すみたいなことができればいいんだけど。
566Now_loading...774KB:2010/07/24(土) 00:14:20 ID:inF/VrA9
>>565
使用環境を書くべし
567565:2010/07/24(土) 00:16:23 ID:DdXEz+AF
AS2です。FlashはMX2004。
568Now_loading...774KB:2010/07/24(土) 05:11:46 ID:NKsQd3ax
>>565
A) グローバル変数を使用
B) mcBのパスを使って、mcAより操作

好きな方でどうぞ。
569Now_loading...774KB:2010/07/24(土) 06:18:08 ID:LSom3PcH
>>562
rをグローバルにして、初期化時に一度代入。
あとはイベントハンドラの if が真から偽になった回だけ
rを更新すればいいんじゃない?
57081:2010/07/24(土) 06:27:38 ID:LSom3PcH
>>564
まず3角柱をつくってみよう。
で、それをn角柱にできるように汎用化。
n=12くらいで円柱っぽくなるんじゃないかな。

あと、Vector とか Matrix でっていうのはちょっと意味わかんない。
Vector3D の配列でとか?
571562:2010/07/24(土) 13:11:42 ID:0UKFVfBD
>>569
on/onClipEvent ハンドラ内でなくてはいけません。
_global.r

というエラーが出てしまいます。
572565:2010/07/24(土) 22:39:07 ID:DDRxgrcc
>>568
有り難うございます。

ちなみに、ASでグローバル関数ってどうやって宣言すればいいんでしょうか…。すいません。
573565:2010/07/24(土) 22:56:22 ID:DDRxgrcc
間違えた…、グローバル変数です。あとググったら解決しました。すいません。
574Now_loading...774KB:2010/07/25(日) 11:48:58 ID:B/R174s4
Flash Lite 1.1でeval使って大量に変数宣言した場合、それがずっとメモリに残り続けると思うけど
それを開放するにはどうやるんだろう。1.1ではnullもundefinedも使えないし……。

eval使う場合、なるべくMC上で行って、捨てるときはMCごと捨てるしかないのかな?
575Now_loading...774KB:2010/07/25(日) 17:00:33 ID:41Ckh//Q
deleteステートメントないっけ?
576Now_loading...774KB:2010/07/25(日) 22:53:44 ID:30rkVuh+
>>575
Lite2.0からですね。
577Now_loading...774KB:2010/07/26(月) 23:43:36 ID:UfcmS5YR
Flash Lite1.1って、数字キーの押しっぱなし判定できませんでしたっけ?
578Now_loading...774KB:2010/07/27(火) 00:22:38 ID:tsOvaYz3
AS2.0で右クリックメニューを完全に消したいのですが、どうすれば出来ますか?
右クリックを拾う方法は知ってます。
javaでメニューを透明にする事は出来るみたいなんですが
579Now_loading...774KB:2010/07/27(火) 15:12:51 ID:V84fRWGr
>>578
完全に消すことはできないはず
580Now_loading...774KB:2010/07/27(火) 15:42:46 ID:EThgrQif
>>578
やり方は色々あるけど、
ブラウザ側でハンドリングして、
JavascriptからAS側の関数叩くのが一番簡単かな。
581Now_loading...774KB:2010/07/28(水) 01:03:24 ID:EdgLgYSv
>>580
AS以外の言語は触った事無いから詳しく
せめて検索用ワードでも
582Now_loading...774KB:2010/07/28(水) 01:04:12 ID:EdgLgYSv
よく考えたら消してる訳じゃなくてあくまで透明なだけだから
偶然クリックしちゃう事もあるんですよね……
583Now_loading...774KB:2010/07/28(水) 01:36:41 ID:EpKGYG41
右クリックメニューってフラッシュの?
javaとかjavascriptの話になってるのがよく分からないけど
584Now_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 とか利用)
色々と副作用とかクセもあるが、あとは自助努力でガンバレ。
585Now_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);

586Now_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);
}
587Now_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としてます)

宜しくお願い致します。


588587:2010/07/28(水) 19:27:46 ID:eePK+oHr
>>587です
すいません。。。自己解決しました。
MovieClip(root)test.gotoAndPlay(2);

MovieClip(root).test.gotoAndPlay(2);

ドットが抜けてました・・・
589585:2010/07/28(水) 19:59:35 ID:JwaII7s9
>586
有り難うございます。
簡潔に一行で定義することは出来ないのでしょうか?
590Now_loading...774KB:2010/07/28(水) 20:02:56 ID:KpSgaHpb
AS3で質問です。

flvファイルの中から任意の箇所のスクリーンショット(?)を取得するにはどうすればよいでしょうか?

flvファイルの1シーンの画像をサムネイルで表示したいのですが
やり方がわかりません。

教えていただけないでしょうか。
591Now_loading...774KB:2010/07/28(水) 22:40:10 ID:Oo+Xab5d
FlashLite1.1で質問です。
変数の型についてですが、整数と浮動小数点数の区別はとくにないのですか?
整数や少数をかけたりしているうちに、計算結果が0になったり、法則がよくわかりません。
592591:2010/07/29(木) 20:49:18 ID:QhEQjza8
自己解決しました。
593Now_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です
594Now_loading...774KB:2010/07/30(金) 20:16:46 ID:azoRLk9/
自己解決いたした
595Now_loading...774KB:2010/07/31(土) 03:41:56 ID:0+vDSJnz
相変わらず、書き込むと解決する不思議なスレw
596Now_loading...774KB:2010/07/31(土) 06:59:56 ID:58r4SnHQ
次スレからは「書き込むともの凄い勢いで解決するスレ」にしようぜ
597Now_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);
598Now_loading...774KB:2010/08/01(日) 05:56:54 ID:0Gf9btnD
すいません、自己解決しました。
599Now_loading...774KB:2010/08/01(日) 06:06:53 ID:600KvZ6f
いいってことよ
600Now_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個表示させたいです。



601Now_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()でイベントフローを止めようとしましたがダメでした。

どうしたら良いでしょうか?
602Now_loading...774KB:2010/08/02(月) 01:25:45 ID:tDU9qGpB
>>600
var swfLoader:Loader=new Loader();
としておいて、

swfLoader.x=X座標;
swfLoader.y=Y座標;
addChild (swfLoader);
としたら?
603602:2010/08/02(月) 01:27:54 ID:tDU9qGpB
あ〜〜 良く見たら一緒だった。
604Now_loading...774KB:2010/08/02(月) 09:27:46 ID:GRMfuWjz
>>601
newされた時とaddedイベントの時の二回tmp()を呼びだしてるなら
二回出るのはあたりまえじゃないか?
605590:2010/08/02(月) 10:44:04 ID:mRocxjAR
再投稿申し訳ございません。

AS3で質問です。

flvファイルの中から任意の箇所のスクリーンショット(?)を取得するにはどうすればよいでしょうか?

flvファイルの1シーンの画像をサムネイルで表示したいのですが
やり方がわかりません。

教えていただけないでしょうか。
606Now_loading...774KB:2010/08/02(月) 13:47:41 ID:GRMfuWjz
Videoに読んでseekしてbitmapにdrawしたらいけるんじゃね?
全くやったことなんてないけど
607605:2010/08/02(月) 16:24:50 ID:mRocxjAR
>>606

レスありがとうございます。

> seekしてbitmapにdrawしたらいけるんじゃね?

仰るとおりだと思います。
seekする処理とbitmapにdrawする処理って
どのようにすればよいのでしょうか?


608601:2010/08/02(月) 20:04:58 ID:EKLBjDhM
>>604
さんきゅう。
609Now_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は触った事がないのでスクリプトが読めません
610Now_loading...774KB:2010/08/03(火) 10:17:07 ID:5e+UD8TZ
>>609
AS2
Stage.showMenu=false;

AS3
stage.showDefaultContextMenu=false;
611Now_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タグでイベントリスナを記述できるようにしておいたほうが
安全だし、使い勝手が良いなと思ったのですが、いかがでしょうか?
612Now_loading...774KB:2010/08/03(火) 13:54:56 ID:NstSMR7s
613Now_loading...774KB:2010/08/03(火) 17:07:44 ID:Ss9vlLEi
勝手にリムーブされたら怖いわ
614611:2010/08/03(火) 19:41:10 ID:4fDV4L3c
>>613

では、mxmlタグで書いた場合もremoveEventListenerを書かないといけないということですか?
勝手にremoveされてるというよりかはオブジェクトが参照されなくなったら
"適宜"removeされるのかなと思っていたのですが違うのでしょうか?
615Now_loading...774KB:2010/08/04(水) 00:17:09 ID:h9hKgzuF
>>610
それだけなんですか!やったー!
616Now_loading...774KB:2010/08/04(水) 01:06:04 ID:0Dgjp3go
>>614
そのイベントリスナーが参照してるじゃん!
617611:2010/08/04(水) 08:31:35 ID:TCviP51z
>>616
そのイベントリスナが画面のmxml内に定義されているprivateなもメソッドだったら、
画面を閉じれば参照がなくなるってわけではないのでしょうか?

つまりmxml内に定義してイベントリスナはactionscript内で
removeを都度記述する必要があるということでしょうか?

無知ですみません。

618Now_loading...774KB:2010/08/04(水) 08:47:24 ID:1DDVUpbp
mxmlで定義したイベントは基本的には削除できない
つまり気にするなってことだ
619611:2010/08/04(水) 11:35:19 ID:TCviP51z
>>618
ありがとうございます。
その一言が欲しかったので、とても感謝しております。

できるだけmxml上でイベントリスナの定義が出来るように
システムを開発していきたいと思います。

どうもありがとうございました。
620Now_loading...774KB:2010/08/04(水) 16:49:17 ID:VOj9ZgyX
>>618
えーじゃあゾンビオブジェクトだらけになるの?
それとも弱参照?
621Now_loading...774KB:2010/08/05(木) 08:00:34 ID:fvGBHVrN
失礼します

FlashDevelopでAS3を使った開発をしている者です。
ソフトのバージョンアップをしようとして、コピー&ペースト後、フォルダの名前を
変更したところ、「条件は未定義であり、プロパティがありません。」
と動作をしなくなりました。
エラーが出る箇所はSharedObjectに関する記述についてです。



var soData:SharedObject = SharedObject.getLocal("so" + String(inNum));
var backgroundCircle:Sprite = new Sprite();

backgroundCircle.graphics.beginFill(soData.data.badgeData[0]); //←ここでエラーが出る。フォルダ名をコピー元と同じにするとエラーは出ない
  backgroundCircle.graphics.drawCircle(0, 0, 200);
backgroundCircle.graphics.endFill();
addChild(backgroundCircle);


なぜでしょう?
622Now_loading...774KB:2010/08/05(木) 12:49:40 ID:2dUlRfWR
>>621
フォルダの名前って何のフォルダですかw
どうせ画像のパスが合わなくなったとかじゃないの?
623Now_loading...774KB:2010/08/05(木) 16:20:00 ID:05LAt9AR
mMonth = 5;

if(mMonth < 10){
mMonth += "0";
}

これって結果は50になるんですが、本当は05にしたい場合どうすればいいですか?
624Now_loading...774KB:2010/08/05(木) 22:33:39 ID:pnhTn89n
>621
getLocalの第2引数を変えないと駄目。

>623
mMonth="0"+mMonth;
625624:2010/08/05(木) 22:40:46 ID:pnhTn89n
>621
引数変えても古いデータは同じアドレスからしか読めないから無理だわ
626Now_loading...774KB:2010/08/06(金) 20:39:32 ID:hvQW82R7
白で塗りつぶした円と、同じく白で塗りつぶした円が小さくなって消えるMCを作って、それを適当な角度に移動させる。
作って。
白い円が移動している間はずっと白い円のMCと同じ場所に一定間隔で小さくなる方のMCを、複製させ続ける。
そうして移動している白い円の後を追うように小さくなって消えるMCが表示される。

っていうのを作ろうとしているんだけど、仕組みが分からない。
これが探していた中で一番イメージに近い。
http://tail.s68.xrea.com/html/movie/lab/effect/effect01.html
これってMCをちまちま張り付ければ可能なんだろうけど、そうしたらすっごい重くなっちゃうよね…
627Now_loading...774KB:2010/08/06(金) 23:48:28 ID:UwEihzsa
AS1.0のswfとAS3.0のswfの間で2Mバイト程度のObject型のデータをやり取り
しようとしています。
で、LocalConnectionを使う方法が候補に上がったのですが、受け渡しの
データサイズが40KBまでというのがあり、データを細かく分割して送信しないと
いけません。

ここで悩んでいるのが、データをどう分割して送るか、です。
AS3.0であれば、ByteArrayをうまく使うとObject型のデータを単純なバイナリ
に変換し、40KBで区切って何度か送るという方法で出来そうなんですが、
このByteArrayがAS1.0には無いためちょっと無理っぽいです。

お知恵を貸してください...。
628Now_loading...774KB:2010/08/07(土) 19:03:14 ID:R/4YoWxS
自分で作ったクラスを継承して新たなクラスを
作ろうとしているのですが、以下のエラーが出て上手くいきません。

No default constructor found in base class PutImage

「PutImage」というのはスーパークラスの名前です。
どなたか、お答えいただけないでしょうか?
629Now_loading...774KB:2010/08/07(土) 19:04:58 ID:R/4YoWxS
テスト
630Now_loading...774KB:2010/08/07(土) 20:38:51 ID:/H5dda2P
>>628
PutImageのコンストラクタには引数が必須なのに
派生クラスでは何も渡してない時のエラー
派生クラスのコンストラクタ内で super(arg); とかすればよい
631Now_loading...774KB:2010/08/08(日) 12:47:05 ID:eS6MFvdd
>>630
ありがとうございます!
きちんと動作させることができました。

どうもです!
632Now_loading...774KB:2010/08/09(月) 22:43:48 ID:NHvED1Tl
このActionScriptを使用しても、やっぱりジョイスティックは使えませんか?
633Now_loading...774KB:2010/08/09(月) 23:22:22 ID:jyjHNfsY
>>627
Stringで送ればいいと思ったけど、
両方でのインタプリタの実装がめんどくさそうだし、Objectの構造によってはAVM1の速度がネックになりそうであんまり考えたくない状態だね。
AVM2にAVM1を読ませてオブジェクトを操作できるとか聞いたけど、そっち方面での研究もしてみたらどう?
634Now_loading...774KB:2010/08/10(火) 02:44:10 ID:Wp3xTnvd
質問です。 例えば、
インスタンス名 Aaa1 Aaa2 Aaa3 Aaa4 と、_global.Bbb[0]には1〜4の数字・・・とある場合に、
for (i=1; i<5; i++) {
 if (_global.Bbb[0] == i) {
  this._parent.Aaa._alpha = 100;
  }else{
  this._parent.Aaa._alpha = 0;
 }}
このようにループで処理したいのですが、
this._parent.Aaa._alpha の部分を、Aaa+i(forのi)のようにうまく記述できるのでしょうか?
説明が下手で申し訳ないです
635Now_loading...774KB:2010/08/10(火) 10:27:59 ID:2ZBwLPfN
>>634
配列アクセス演算子
636Now_loading...774KB:2010/08/10(火) 11:38:16 ID:O60EHwfq
>>634
>>635が一番良いけど、getChildByNameでもいいとおもう。
637Now_loading...774KB:2010/08/10(火) 16:47:01 ID:5t9pqscP
月によって、表示される画像の振り分けをしたいと思ってます。
例えば、8月だったらこの画像を表示、9月だったらこの画像を表示という感じです。
↓って、ぜんぜん違ってますでしょうか?

// ローカル時間を取得
var date = new Date();

year_t.text = date.fullYear; // 年
month_t.text = date.month + 1; // 月
date_t.text = date.date; // 日
day_t.text = ary[date.day]; // 曜日
hours_t.text = date.hours; // 時間
minutes_t.text = date.minutes; // 分
seconds_t.text = date.seconds; // 秒
milliseconds_t.text = date.milliseconds; // ミリ秒

});

if(date.month + 1 == 8) {
  _root.mc.gotoAndStop(2);
}
638634:2010/08/10(火) 17:59:59 ID:Wp3xTnvd
配列アクセス演算子でggったら出てきました!
無事に出来ました。ありがとうございます。
639637:2010/08/10(火) 18:16:13 ID:5t9pqscP
すみません、解決しました。
if文ではなくフレームに振り分けでできました。
640Now_loading...774KB:2010/08/11(水) 18:17:35 ID:7Pp5oWKZ
FlashDevelopでAS3を使って画像描画の基本的な事を試してみています。

サンプルソースを元にmain.asというファイルに組み込んだら、サクっと描画ができたので、
じゃあ描画用の関数を作成してみるか、とdraw.asというソース作り、処理を分けたら描画しなくなりました…。

draw.asの方でbitmap情報を設定し、main.asの方でその戻り値を取得してaddChild()を呼ぶと表示されるのですが、
draw.asの方でaddChildを呼んでも描画されないみたいです。

mainの方にaddChildを呼ぶと描画されるけど、その他のasファイルだと描画されない状態です。

そういう仕様のものなのか、この原因がわからないのですが、どなたかお教え頂けないでしょうか?
よろしくお願いします。
641Now_loading...774KB:2010/08/11(水) 20:22:33 ID:PkS3RZ8b
>>640
drawでaddChildするとdrawに描かれるからだと思う
draw自体をmainにaddChildするか、main.addChildってすれば行けるかも
642Now_loading...774KB:2010/08/11(水) 22:59:22 ID:jy6iOUzc
>>641
mainクラスをdrawの方にimportして
main.addChildで読んだら描画できました。
こういうやり方が出来るのですね。

drawに描画しても反映されないって事は、main自体が描画元になってるのかな…。
ここら辺の仕様がまだ分からない。

とりあえず目的の処理ができました。 ご教授ありがとうございます。
643Now_loading...774KB:2010/08/12(木) 11:22:00 ID:cz8TWpkf
>>640,642
解決したみたいだからいいけど、
なんか仕様について根本的な誤解があるように感じる。

どこに違和感があるのかがわからない。
644Now_loading...774KB:2010/08/12(木) 20:10:54 ID:VNLP5ii4
AS2.0でXPathAPIでつまづいてます。
_rootのタイムライン上でimport mx.xpath.XPathAPI;
を定義した後でasファイル内でXPathAPIを使用するにはどうしたらいいんでしょうか?

■_rootタイムライン上
import mx.xpath.XPathAPI;
var LoadXMLObj:LoadXML = new LoadXML();
LoadXMLObj.ふぁんくしょん(this);

■.asファイル内
class LoadXML {
function ふぁんくしょん(callObj:Object) {
trace(callObj.XPathAPI.selectSingleNode(aNode.firstChild, "/hoge/hogege/"));
}

みたいに書いてもXPathAPIが動作してないみたいです
645Now_loading...774KB:2010/08/13(金) 00:48:50 ID:gipTkNwH
Test
646Now_loading...774KB:2010/08/13(金) 19:31:32 ID:DD6IGy6E
AS3なんですが、

DataGridににTextInputとButtonを並べた
自作のアイテムエディタを設定しました。

TextInputのfocusOutイベントをキャッチしたら
特定の処理を施しているのですが、
イベントがDataGridのitemEditEndの後に発生してしまいます。

focusOutイベントを先に発生させるにはどのようにすればよろしいでしょうか。
647Now_loading...774KB:2010/08/14(土) 22:46:11 ID:gRRW6R2Z
AS2で
最後まで来たら指定した秒数一時停止して
(フレームを増やす方法もあるかもしれませんが増やさないでできる方法)
また最初からスタート
という風にできませんでしょうか?
648Now_loading...774KB:2010/08/15(日) 12:58:39 ID:AunZk5Vm
>>647
getTimer()かsetInterval
649Now_loading...774KB:2010/08/15(日) 16:22:20 ID:QEUCkTYD
>>648
ありがとうございます
_root.stop();
var hensuu = 30000;
stopID = setInterval(function () {
_root.play();
clearInterval(stopID);
}, hensuu);
でできました
テキストを動的にして、変数を使って数を表示させることに関しての質問です。
例えば テキストボックスの変数をtext1と言う名前をつけて、text1 = 10 と言うふうにレイヤーに書くと、テキストに10が表示されます。
しかし、このテキストが、ムービークリップの中にある場合、_root.ムービークリップ名.text1と、ムービークリップ名の後につけ足しても表示されません。
解決方法はありますか?
651Now_loading...774KB:2010/08/17(火) 20:16:35 ID:qoWpySq4
外部クラスの関数を呼びたいのですが、
その関数を呼ぶ為に

var func:[外部クラス] = new [外部クラス]
func.関数()

みたいに記述してるのですが、
これだと、使いたい時に毎回コンストラクタが呼ばれてしまいます。

一度だけ、インスタンスを生成して、それ以降はそのインスタンスを参照して使い続けるような処理は可能でしょうか?


C++だと、グローバル変数にインスタンスを用意して、そのインスタンスをゲットする関数を作り外部でも参照できるようにしてたのですが…。
652Now_loading...774KB:2010/08/17(火) 20:25:47 ID:7nnl/l8A
>>651
シングルトン
653Now_loading...774KB:2010/08/17(火) 21:11:37 ID:qoWpySq4
>>652
ありがとうございます、シングルトンでぐぐったら参考になりそうなサイトが見つかりました!
654Now_loading...774KB:2010/08/17(火) 21:13:17 ID:8vbzbytd
>>650
どっかスペルミスかインスタンス名抜けてるとかそんなとこじやね?
655Now_loading...774KB:2010/08/18(水) 02:29:52 ID:6OQMQlKB
FlashCS4(WinXP),AS3(Player9)です。
ブザー音MP3の連続再生が上手く行きません。

このMP3は約993[ms]の長さがあり、目標は「ブーーーーー」と
途切れずに連続させて鳴らすことですが、単純に繰り返すと
「ブー、ブー、ブー、ブー」と断続状態になります。

対策として(間の無音部分を消す意味で)次の音を993[ms]より終了
1フレーム分の時間約30[ms]だけ前にずらして鳴らしましたが同じ
でした。

何か良い方法はありますでしょうか?
656Now_loading...774KB:2010/08/19(木) 01:50:39 ID:hjK4zeMP
このような文字列を
Wed, 18 Aug 2010 15:41:04 +0000

このような数値にするに葉どのようなコードを書いたらよいでしょうか?
154104
657Now_loading...774KB:2010/08/19(木) 02:40:40 ID:4zVMXLPM
>>656
数値? Asciiコードじゃなくて?
ぱっと考え得るのは、getCharCodeAt() → 10進変換
658Now_loading...774KB:2010/08/19(木) 04:30:55 ID:Vgi0tsSk
>>656
正規表現か、Date系の関数
659607:2010/08/19(木) 10:31:16 ID:GUG/X6Li
> seekしてbitmapにdrawしたらいけるんじゃね?
上記件についてどなたかお知恵を貸していただけないでしょうか
660Now_loading...774KB:2010/08/19(木) 11:04:26 ID:6uC/XUMX
>>656
文字列Wed, 18 Aug 2010 15:41:04 +0000から任意の文字取り出して
数値154104にすればいいだけなら

my_str = "Wed, 18 Aug 2010 15:41:04 +0000";
a_str = my_str.substr(17, 2)+my_str.substr(20, 2)+my_str.substr(23, 2);
a_num = parseFloat(a_str);
みたいなかんじでいいんじゃね

Asciiコードやら正規表現やら考える必要ないだろ?
661Now_loading...774KB:2010/08/19(木) 15:57:59 ID:YVz4I0My
>>654
ありがとうございました。タイピングミスでした。
662Now_loading...774KB:2010/08/20(金) 11:49:32 ID:UUBYF9/2
AS2.0or3.0でマウス位置を指定座標に移動するにはどうしたら良いのでしょうか
663Now_loading...774KB:2010/08/20(金) 12:00:35 ID:1FucO5Xp
できません
664Now_loading...774KB:2010/08/20(金) 17:04:22 ID:GRtGveQC
AS3.0でjpgを一枚、埋め込み画像に登録して、
UVアニメーションを行いたいのですが、どのようにすれば可能でしょうか?
665Now_loading...774KB:2010/08/20(金) 18:10:45 ID:jZQUtqwI
AS3.0でボタンが押されるとJSを実行したいのですが、どのようにJSを実行させればいいのかわかりません。
ExternalInterface.callやgetURLなど試しましたがシンタックスエラーを消せません・・。
http://creazy.net/2008/02/sl_js.htmlにあるsl.jsを実行させる場合の記述方法を教えていただけないでしょうか
666Now_loading...774KB:2010/08/20(金) 23:14:36 ID:FtEuMcTO
質問です。
解説書に「1フレームだけのスクリプトは一回しか実行されない」と書いてあるのに
on enterFrameが何度も来るのはなぜですか?バグでしょうか?
667Now_loading...774KB:2010/08/21(土) 00:13:20 ID:Plw+cYRd
さらにフレーム2以降にMCのモーションをつけたのですが、
MCは回転したままで指定のモーションが実行されません。なぜでしょうか?

MC.onMouseDown = function() {
MC._rotation+=5;

}
668Now_loading...774KB:2010/08/21(土) 00:15:49 ID:Plw+cYRd
間違えました↓です。上のonMouseDown ではモーションが実行されました

MC.onEnterFrame = function() {
MC._rotation+=5;

}
669Now_loading...774KB:2010/08/21(土) 19:56:22 ID:+QayCaUC
>>666
onEnterFrameはその解説書とやらで和訳すればわかるんちゃうの?
バグではないなw何度も来なけりゃ意味ないだろ?

>667-668はなんでだろね?俺もわからんわw
これに限らず頭で考えたことと実際にやってみて差異があることがたまにあるけど
こういう仕様だと思うのがソフトの正しい使い方なんじゃないの?
それで思い通りの効果を得るにはどうすればよいか考えるのが面白いみたいな…
方法はあるよ
670Now_loading...774KB:2010/08/21(土) 22:31:05 ID:ey6n0qZG
AS3で
copyPixelsでやっても重いのですが

var enemy8Data:BitmapData = new enemy8png(37,31);
var enemy8:BitmapData = new BitmapData(37,31);
enemy8.copyPixels (enemy8Data, enemy8.rect,new Point(0,0));
for(i=0;i<100;i++){
var enemy8Bitmap:Bitmap = new Bitmap(enemy8);
enemy8Bitmap.x = -18.5
enemy8Bitmap.y = -15.5
enemy8Bitmap.rotation = Math.random() * 90 - 45;
obj.addChild (enemy8Bitmap);
}

ひとまず、この書き方でも軽くなるのでしょうか?あってるのでしょうか?
671Now_loading...774KB:2010/08/21(土) 23:38:44 ID:T3OIhvsF
>>670
addChild()が遅いからcopyPixels()にしないといけないのに
addChild()100回したら意味ないじゃん

とりあえず最後のaddChildをcopyPixelsに変える事を考えよう

ヒントというか殆ど答えかも
・描画用のBitmapDataとそれを内包するBitmapをつくって描画対象のMovieClipにaddChild()する
・ループ内で描画用のBitmapDataに対してcopyPixels()で描画
672Now_loading...774KB:2010/08/21(土) 23:53:52 ID:ey6n0qZG
>>671
ありがとうございます
これだとあってるのということでしょうか?

var enemy8Data:BitmapData = new enemy8png(37,31);
var enemy8:BitmapData = new BitmapData(37,31);
enemy8.copyPixels (enemy8Data, enemy8.rect,new Point(0,0));
for(i=0;i<100;i++){
obj.addChild (new Bitmap(enemy8));
}

この場合だと、回転と中心点を変更することができないのですが・・・
673655:2010/08/22(日) 01:38:24 ID:wIy5yGFy
すいません、どなたか良いアイディアありますか?
ちなみにこれはブブゼラを作っているのでは無いです。
674Now_loading...774KB:2010/08/22(日) 17:42:49 ID:pbB0eoi8
先ほど、flex4、jdkをインストールしました。
適当なサイトのソースコードをいくつかコピーして
mxmlc -static-link-runtime-shared-libraries=true Main.asでコンパイル?し、
swfファイルをクリックすると表示はされるのですが真っ白で何も描写されません。
なぜでしょうか。
675Now_loading...774KB:2010/08/22(日) 19:16:26 ID:FS7LpAEN
きっとコードに問題があるのでしょうね
676Now_loading...774KB:2010/08/22(日) 22:25:53 ID:pbB0eoi8
>>675
試したコードは
http://www40.atwiki.jp/spellbound/pages/15.html
http://www40.atwiki.jp/spellbound/pages/16.html
などです。
それとOSはwindowsではなくてlinuxです。
677Now_loading...774KB:2010/08/23(月) 19:50:18 ID:PrXvuSSE
>>673
アタマとケツに無音部分があるんだろ
そこ避けてシークしろ
678Now_loading...774KB:2010/08/24(火) 01:01:47 ID:0wELcMyq
質問です。

http://www.oiran-sendai.net/wp/

このサイトのように花びらを降らしたいのですが

なにか良いasは無いでしょうか?
679Now_loading...774KB:2010/08/24(火) 04:06:30 ID:pokG6QKc
678
宣伝にしてはかっけーな
680Now_loading...774KB:2010/08/24(火) 07:50:59 ID:Epktccas
開発環境 FlashDevelop+Flex Actionscript3

他ソフトで作成したswfファイル(中身は連番のbitmap)を読み込んで表示し、
再生をコントロールしたいのですが、

private var embedSwf1:MovieClip;
[Embed(source = "splash.swf")]

embedSwf1= new EmbedSwf();
addChild(embedSwf1);

embedSwf1.gotoAndStop(2);

画面上に表示させ、embedSwf1.scaleX = 0,5;などと表示の大きさを変更することは成功したのですが、
gotoAndStop、gotoAndPlayなどは動作しません、
外部swfの再生をコントロールする方法はないでしょうか。
681Now_loading...774KB:2010/08/24(火) 07:54:00 ID:Epktccas
ソースコード一部訂正

private var embedSwf1:MovieClip;

[Embed(source = "splash.swf")]
private var EmbedSwf:Class;

embedSwf1= new EmbedSwf();
addChild(embedSwf1);

embedSwf1.gotoAndStop(2);

でした
682Now_loading...774KB:2010/08/24(火) 10:12:52 ID:oSe60SZO
>>678
「1ランク上の技を身につけるFlashの強化書」(毎日コミュニケーションズ)の
p108に似たようなものがある(こっちは雪)


それにしても、在籍、少なくねーか?
683Now_loading...774KB:2010/08/24(火) 13:50:30 ID:OJBSnDSM
今、ブラウザ上でリアルタイム通信するFlash作ってるんだけどphpとの連動がいまいち掴めない

ネット対戦可能なFlashのソースってありませんか?
もしかして板違い?
684Now_loading...774KB:2010/08/24(火) 15:01:31 ID:Km7zqmor

flash.ui.ContextMenuクラスのオブジェクト"cMenu"を生成し、
contextMenuクラスに存在するはずの、clipboardItemsやclipboardMenuといったプロパティを使いたいのですが、
cMenu.clipboardItems
cMenu.clipboardMenu
といった書き方をすると、
「未定義である可能性の高いプロパティclipboardItemsに、静的型flash.ui:contextMenuの参照を・・・」というメッセージが出ます。」
cMenu.clipboardMenuでも、同じく「未定義である可能性の高い・・・」というメッセージが出ます。

一旦Object型のインスタンス”obj”を作って、
obj = cMenu;
としたあとで
obj.clipboardItems
だとコンパイルエラーは出ませんが、結局動作中に、clipboardItemというプロパティ名が見つからない、といわれて動作しません。

eclipse3.3で開発をしており、Flexのバージョンは3.0です。
eclipseの設定から、Tomcatのソース・パスにも以上がないことを確認しましたが、やはり同じです。
どうしたら、これらのプロパティを使えるようになるでしょうか?
Flexやeclipseのバージョンを落とすと上手くいきますか?
685Now_loading...774KB:2010/08/24(火) 18:28:31 ID:i1P3S3eV
clipboardItemsなんかはFlash Player 10, AIR 1.5じゃないと無いみたい。
686Now_loading...774KB:2010/08/24(火) 18:30:53 ID:nlblj3na
>>683
現時点で通信はどうやってんの?
AMFで通信しようとしてるの?
687Now_loading...774KB:2010/08/24(火) 18:50:45 ID:nlblj3na
>>684

>eclipse3.3で開発をしており、Flexのバージョンは3.0です。
SDKのバージョンは?

http://livedocs.adobe.com/flex/3_jp/langref/flash/ui/ContextMenu.html
>clipboardItems プロパティ
>clipboardItems:ContextMenuClipboardItems
>言語バージョン: ActionScript 3.0
>ランタイムバージョン: Flash Player 10, AIR 1.5

Flash10以上だけど、そこんところは大丈夫なの?
688Now_loading...774KB:2010/08/24(火) 19:45:46 ID:P3jmLB/2
>>684
現時点で通信出来てないんです
今までActionScript以外の言語触った事がなかったので、
phpとjavascriptが、簡単なものならなんとか読めるようになった程度です

類似事例を探しても、サンプルばかりでコードを見る事が出来ず困ってたんです
689Now_loading...774KB:2010/08/24(火) 21:42:14 ID:N0VTh2ra
AS3です。
uintの範囲の乱数がほしくて、

trace(uint(Math.random() * uint.MAX_VALUE));

って書いたら、奇数しか返さないんですが、なにか間違ってる?
690689:2010/08/25(水) 03:25:19 ID:m2zaxmk1
すんません、自己解決しました。

ttp://www.adobe.com/jp/devnet/actionscript/cookbook/random_number.html

の通り、
trace(Math.round(Math.random() * uint.MAX_VALUE));
としたら、いい感じの値がとれました。
691Now_loading...774KB:2010/08/25(水) 09:52:43 ID:4YSuWQSr
illustratorで作ったswfファイルの図形の
色を変更したいのですが、
どのような方法があるでしょうか?

ちなみに「図形」は文字のアウトライン化を
行ったもので、単色(黒)です。
692Now_loading...774KB:2010/08/25(水) 11:00:07 ID:7Mum5Jkm
>>691
illustratorでswfを書き出す必要があるのでしょうか?

そうでなければFlashにコピペした後に右クリック→分解でシェイプにする事が出来ます
動的に色を変えたいのであれば、シンボル化したあとにインスタンス名をつけてスクリプトで制御できます

var ctf:ColorTransform=new ColorTransform(1,1,1,1,0,0,0,0)

//0~255までの値
ctf.redOffset=50
ctf.blueOffset=50
ctf.greenOffset=50

//mcはシンボル化したインスタンス名
mc.transform.colorTransform=ctf
693691:2010/08/25(水) 11:08:16 ID:4YSuWQSr
>>692

すみません、書き忘れました。
FlashDevelopを使って作業をしているので、
CUIの環境しかないのです……。

ColorTransformですか。
それを使ってやってみます。ありがとうございました!
694Now_loading...774KB:2010/08/25(水) 11:51:06 ID:8VE2p1fB
>>688
アンカーが違うっぽいが、
サーバプッシュを第一に考えるならPHPは使いたくないなぁ。
おれならJavaでBlazeDSを第一に考える。

ActionScript3が書けるならJavaの習得にそれほど時間はかからんとおもうが。
695Now_loading...774KB:2010/08/25(水) 14:28:27 ID:Rs256L7Y
>>694
>>688,>>683です
本当にFlash以外知らなかったので手当たり次第という感じです
Javaは一段落したら勉強を始めるつもりです

今はUnion Platformというものを見つけたので、それで試行錯誤しております
696Now_loading...774KB:2010/08/25(水) 14:56:25 ID:8VE2p1fB
具体的に作りたい対戦ゲームってリアルタイムな物なの?
となると、サーバプッシュが欲しいところだけど、PHPではわからん。

リアルタイム&PHPが前提ならソケット通信するのが一番近道だとおもう。
http://blog.asial.co.jp/275
Flashのソケットは簡単でいいよね。

そこまでのリアルタイム性がなくてもいいのであれば(例えばチャット程度のレスポンス)、
SabreAMFとかAMFPHPとかのライブラリを使って
AMF通信&ポーリングでやるのがActionScript3側が楽で良いと思う。

MMOとかを視野に入れてるんだったら、PHPはあきらめた方が
結果的に早いと思うが、サーバの調達上の問題もあるし
むずかしいところだね。
697Now_loading...774KB:2010/08/25(水) 18:49:05 ID:3YmSfyKr
物によるけど今ならRTMFPとかどうなの
具体的にどういうもの作りたいか分からないから知らないけど
698Now_loading...774KB:2010/08/25(水) 19:08:12 ID:8VE2p1fB
>>697
UDP使うからポート開けろとかやると面倒。
回避するのにSTUNサーバとか準備してらんない。
699Now_loading...774KB:2010/08/25(水) 20:13:04 ID:TXLmekXZ
>>696
リアルタイムものですね
Union Platform使って簡単な接続は出来たんですが、今度は話題になってるようにレスポンス速度で頭を抱えております

とりあえずPHPを使わずともほぼFlash単体で通信が行えているので、このまま突っ走ろうかなと思っております
今は用意されているお試し用サーバーを使っており、そこを自前で用意出来ればいくらかマシになるんじゃないかと期待して...
700Now_loading...774KB:2010/08/25(水) 21:47:04 ID:0UOyDnBR
始めまして。FlashDevelopでAS3.0を使っています。

BitmapData.mergeを使って、ある絵から別の絵に滑らかに切り替えたいのです。
BetweenAS3を使って、お手軽にやろうと思っているのですが、
引数の値を少しずつ変化させて関数を実行するようなことはできるのでしょうか?

↓xxxの値を少しずつ変化させながら実行したい。
bmpData1.merge(bmpData2, bmpData1.rect, new Point(0,0), xxx, xxx, xxx, xxx);
701Now_loading...774KB:2010/08/26(木) 07:32:14 ID:k19/7WYA
702Now_loading...774KB:2010/08/26(木) 12:41:05 ID:Yuwy4ltB
VBのように、名前に番号をつけて、変数化して認識はできないのですか?
以下のように、temp1 から temp20 まで、あります。
一つ一つ_visible=0;とするのは面倒なので、
名前の一部に変数を割り当てて、以下のように
して、for next 文で一括に処理したいと思います。
です。

for(var i = 0; i<20;i++)


{

a="temp"+i


trace(a);

a._visible=0;

}

trace で確かめても、 aは temp1 temp2 temp3 … temp20
となりません。
いい方法はありませんか。
ご教授ください。
703Now_loading...774KB:2010/08/26(木) 12:45:18 ID:Yuwy4ltB
すみません
上の文の間違いです。traceではきちんとtemp1と表示されるのに、
a._visible=0;; 文はうまくいきません。
704Now_loading...774KB:2010/08/26(木) 15:34:48 ID:NRzovzXZ
aだけだと、ただのStringだからね。
this[a]._visible=false;
705Now_loading...774KB:2010/08/26(木) 18:07:41 ID:Yuwy4ltB
>>704
感激しました。ありがとうございました。
706Now_loading...774KB:2010/08/26(木) 19:00:04 ID:394GWYGd
AS3で作成しています。

MP4を再生するFLASHを作ったのですが、
スペックの低い方のPCでは正常に動作し、
別のスペックの高いPCでは初回再生時のみ音声が消えたり
途中で動画が止まる現象が起きています。

動作しないPCではFlashPlayerのバージョンが9.0.115にしてあるので、
もしかしたらそこが原因かもしれませんが…

原因だけでも特定したいので、どなたかアドバイス頂けないでしょうか。


動画は以下の用にエンコードしました。
・映像ビットレート:2048kbps
・音声サンプリングレート:11,025HZ
・30fps
・1024×768
・容量は10M〜20M程度

うまく動作しない方のPCスペック
・Quad Core2.3G
・メモリ4G
・ATI Radeon HD5450 1GB
707Now_loading...774KB:2010/08/26(木) 21:34:07 ID:w6bY1Prc
>>701
そういう感じです!
それをBetweenAS3(Tweenerでもいいです)でやりたいのですが、
何か方法はあるのでしょうか?
708Now_loading...774KB:2010/08/28(土) 07:56:43 ID:fNs7ajHO
VBはかじったことがあるのですが、これに関しては初心者ですみません。
教えてください
100enというムービークリップを5〜500までの間を横方向にゆっくり移動させるには、以下のように
考えますが、エラーになります。
なぜなんでしょう?

i=50;

while ( i < 500 )
{
this.100en._x=i;
this.100en._y=50;

++i;
709Now_loading...774KB:2010/08/28(土) 12:34:58 ID:KX63lM3Y
MC名の最初の文字はアルファベットでなければならないとかそんな事があったような
710Now_loading...774KB:2010/08/28(土) 12:47:38 ID:VWbAn53h
>>708-709
変数やMC名の先頭は数字以外($やアンダーバーも可)。
++i; → i++;
711Now_loading...774KB:2010/08/28(土) 15:38:41 ID:vHLXQLNF
>>708
そもそもwhileやforのループ処理が終わるまでは、描画更新されないから
ちょっとずつアクションを起こすという目的に、これらのループは使えないはず
ASのバージョンがわからないが、Event.ENTER_FRAMEとかMC.onEnterFrameとかを
使えばいいと思う
712Now_loading...774KB:2010/08/29(日) 14:32:41 ID:VIY/7k/1
http://www.kao.co.jp/kawatsuku/special/rooms/
↑ここのトップと同じようなFlashを作りたいのですが
どうやって作っているかわかる方教えて頂けないでしょうか?
713Now_loading...774KB:2010/08/29(日) 14:45:15 ID:HuzUYZFE
>>712
ポイントは、ハートの動きと写真のイフェクト
で、言葉でどう説明すればいいのかわかんないけど^^;
決して難しいモーションじゃないですよ
ASでもモーションでもできる動きです

でも問題ありw
Firefox系でFlashが見られない
714Now_loading...774KB:2010/08/29(日) 16:16:26 ID:CCEp1wQW
>>713
Firefox3.6.8で見れるぞ。
というか、ビビアンスー ・・・ 老けたなあ・・・
715シンボルの色を変えることはできますか:2010/08/29(日) 22:17:02 ID:CiVGIH2H
たとえば、my_symbol._alpha=50;
というように、透明度はかえることができますが、
「alpha」にあたるところで、colorのを使って色を変えることはできないのですか?
みなさんどうしていますか。
もともと青のmy_symbolを赤にしたい場合どう書けばよいのでしょう。
716Now_loading...774KB:2010/08/30(月) 00:52:43 ID:vpOG9eMO
PHPでは、
$c = 'stdClass';
$o = new $c;
というように、文字列で任意のクラス名を指定して、
オブジェクトを生成することができます。
ActionScript3でもこれと同じようなことはできますか?
717Now_loading...774KB:2010/08/30(月) 07:33:05 ID:8SxKc40j
>>715
var my_color = new Color(インタンス名);
my_color.setRGB(0xFF0000);
718Now_loading...774KB:2010/08/30(月) 08:28:31 ID:Alyihosi
>716
getDefinitionByName
719Now_loading...774KB:2010/08/31(火) 04:31:07 ID:TeM8za2n
>>718
トントン
720Now_loading...774KB:2010/08/31(火) 08:27:51 ID:hDnazprR
初心者なので教えてください
a1からa9までのインスタンスを10ずつ平行移動させて、xの価が300のところで停止させ並べて表示させようとしています。
function setXPosition()
{
if (this._x >= 300)
{
this._x = this._x ;
delete this.onEnterFrame;
}
this._x = this._x +10;
}

var i=1;
while (i<=9)
{
a="I"+i;
this[a].onEnterFrame=setXPosition;
++i;
}
ここで、
this._x = this._x ;
delete this.onEnterFrame;
}
this._x = this._x +10;
}
が問題で、このままだと並べて表示せずに重なってしまいます。いくらか試してみましたが、うまくいきません。
a1〜a10まで、重ならずに10ずつ間を開けて、並べて表示する方法を教えてください。
721Now_loading...774KB:2010/08/31(火) 09:13:30 ID:vf3SwfCi
720==708だな?
なんかやりわすれてることあるだろ?
722Now_loading...774KB:2010/08/31(火) 14:54:57 ID:hDnazprR
704です。
723Now_loading...774KB:2010/08/31(火) 16:35:01 ID:OIPROwwl
何したいのか画像なり用意しないと分かりにくそうなのと
文法的に色々おかしそうなところがある気がする
724Now_loading...774KB:2010/08/31(火) 16:41:43 ID:/Ap88SEE
ProgressBarについて質問させてください。
例えばdataModelというクラスに、progressというバインダブルな変数があったとして、
それをプログレスバーにバインドさせて、目盛りを動かす方法を探してます。
たとえばprogressの値が(100%中)、50なら目盛りが真ん中まで来て、
30なら目盛りが3分の1弱くらいまで来るようなイメージです。

プログレスバーの存在する画面に切り替わるたびに、
setProgress(dataModel.progress,100)などとやってもいいのですが、
それでは重くなってしまうため、バインドさせて、
dataModelの値が変わるたびにすぐ変わるような仕様にしたいです。

方法をご存知の方いますか?
725Now_loading...774KB:2010/08/31(火) 20:41:45 ID:A8ASy2hU
>>724
setProgress(dataModel.progress,100)ってやると重くなるってどういう意味?
726Now_loading...774KB:2010/09/01(水) 10:51:00 ID:kssD4fkt
>>725
724です。変身が遅くなり申し訳ありません。

今、プログレスバーをタスクの進捗状況とかを表すためではなく、
単にメーターとして使っています。
そのメーターは、画面生成処理の実行のたびに再度dataModelの値を見に行き、
それを元にメーターの表示が行われるので、
画面生成の度にいちいち引数を使ったメソッドを走らせていると、
値が変わっていなくてもメソッドが走るので重い、ということです。

なので、画面生成の際は、datamodelの値を見ることはせず、
dataModelの値が変わるたびにそれを見に行き、メーターの値を変えたいです。

なので、それが達成できれば、setProgressというメソッドを使うこと自体は問題ないかと思います。
どなたかご教授お願いします。
727Now_loading...774KB:2010/09/01(水) 11:39:31 ID:iyrwOWgZ
>>726
バインドしたいって分かっているんだから
その単語で検索すればいいじゃないか

ActionScript バインド

でググばすぐ見つかると思うけど
728Now_loading...774KB:2010/09/01(水) 11:55:36 ID:PtoApvqd
>>726
datamodelの値を見ることはせず、
dataModelの値が変わるたびにそれを見に行き

って全く意味が分からないんだが?
setProgressくらいで重くなるとは思えないんだけど、1秒に何回くらい処理してんの?
setProgressが特に重いのであれば、現在のバーの値をdataModelの値を比較してから実行するとか
dataModelにchangeイベントを実装するとか
729Now_loading...774KB:2010/09/01(水) 19:17:57 ID:jwa/+na3
質問です。AS2.0で配列の中に代入された関数を実行してその関数が入ってる一つ親の配列を削除することはできますか?
例えば、_rootにあるEnemyData[0][0][1]の中にRemoveという関数があって、そのRemoveを実行してEnemyData[0][0][1]を削除するといった具合です。

Remove( ){
 delete _root.EnemyData[0][0][1];
}

このように、RemoveでEnemyDataの1次元目からの番地の数字(この場合なら0 , 0 , 1)を指定する方法ならできるのですが、
その方法は使わずに、ムービークリップで_parentを使って親のムービークリップを参照するのと同じようにRemoveから相対パスで指定して削除したいのですが不可能でしょうか。
730Now_loading...774KB:2010/09/02(木) 13:29:02 ID:NVkzv4zE
遅くなりました。726です。
アドバイスいただき、ありがとうございます。
一応、検索したりAPIを見て調べたのですが、
今の自分がまだ基本的なことを分かっていないのか、バインドという形で実現する方法がよく分からず、そもそもバインドという言葉の意味を自分の中で分かってなかったみたいで、
方法が見つかりませんでした(>_<)

ただ、新しいカスタムコンポーネントを作って使うことにしました。
値が変わるたびにメーターが変わるっていう機能は、そちらで実現できました。
なので、今回は無事解決です。
どうもすみませんでした。もっと勉強します・・・。
731Now_loading...774KB:2010/09/02(木) 16:43:43 ID:i4oJQB9v
AS3の flash.utils.getTimer():int 関数って、
24日後(?)にはオーバーフローしそうですけど、
実際はどうなるんですか?
732Now_loading...774KB:2010/09/02(木) 22:06:43 ID:KMogjNhn
Flex用wonderflスクリプトをCS4用に変更できなくて困っています。

色相環カラーピッカー(HSV色空間)の記述がttp://wonderfl.net/c/cukM/にあったので
左のpackage以降をコピーして「class Base extends Sprite」よりメインの記述部分「Base.as」
としてASファイル化(ドキュメントファイル化)しました。

そしてCS4のFlaファイルに適当な名前を付けてプレビューしたところ、
 5008: 定義 'CircleColorPiker' の名前にこのファイルの場所が反映されていません。
 このファイル内の定義の名前を変更するか、ファイルを移動してください。

というエラーが出ました。ところがCircleColorPikerの名前でドキュメントファイル化
すると、70個近いエラーが表示されます。

元の記述をどう細工すれば良いのでしょうか?
733Now_loading...774KB:2010/09/03(金) 04:14:47 ID:0/0uaoJz
AS2で質問です。
フルフラッシュのサイトを作りたいのですが、今まで
resizefunc();
Stage.align = "TL";
//リサイズリスナー
resizeListener = new Object();
resizeListener.onResize = function(){
resizefunc();
}
Stage.addListener(resizeListener);
resizeListener.onResize;
//リサイズ用の関数
function resizefunc(){
logo_mc._y = Stage.height - 189;
logo_mc._x = Stage.width - 494;
menu_mc._y = Stage.height - 92;
menu_mc._x = 0;
このASを使っていたのですが、小さいモニターで見た場合に背景が半分以上見えなくなってしまいます。
背景だけアスペクト比を変えずに拡大・縮小したい場合どんなASを使ったらよいのでしょうか?
解りづらい質問ですみません。
734733:2010/09/03(金) 06:33:19 ID:0/0uaoJz
連投すみません。

http://cute.urecco.jp/

こんな感じにしたいです。

よろしくお願いします。
735Now_loading...774KB:2010/09/03(金) 23:11:52 ID:9/QfaqTN
>>733
Stage.scaleMode = "noScale";
736Now_loading...774KB:2010/09/04(土) 11:46:48 ID:T3Z7KDr5
ムービークリップについて質問です。
.attachMovieでどんどんインスタンスを変数を用いて複写して、
作業が終わった後、また、1から始めるのに すべてを消して
初期状態に戻す方法を教えてください。

this.attachMovie(myINS, this.getNextHighestDepth()
でつくったものを
removeMovieClip();
で一部しか消すことができません。
737Now_loading...774KB :2010/09/05(日) 15:56:39 ID:mspovP2l
ボタンを押すと音が出て、尚且つキーボードを押しても音が出る(if文使用)ようにしていたのですが、if文がボタンとキーボードでそれぞれ出てきてしまい上手くいきません。
いろいろ試してはみたのですが、キーボードクリックで音(押すごとに頭出しされる)を出すやり方はあるのでしょうか?
お手数ですが、ご教授いただけると大変助かります。

《現在ボタン》
var mySound = new SoundData();
var mySoundChannel = new SoundChannel();
function playSound(e:MouseEvent):void{
if(mySoundChannel){
mySoundChannel.stop();
mySoundChannel = null;
}
mySoundChannel = mySound.play();
}

BTN.addEventListener(MouseEvent.CLICK,playSound,false,0,true);

《現在キーボード》
stage.addEventListener(KeyboardEvent.KEY_DOWN,dok);
function dok(e:KeyboardEvent):void
{
if (e.keyCode == 49)
{
mySound.play();

※ボタン計16個
738Now_loading...774KB:2010/09/06(月) 00:48:03 ID:oRzmr08C
FlashLite1.1でURLデコードするサンプル

encoded_string = "Hello%2C%20how%20are%20you%3F";
status = fscommand2("unescape", encoded_string, "normal_string");
trace (normal_string); // 出力 : Hello, how are you?

を実行しても、undefined (normal_stringが定義されてない)と表示されてしまうのですが、
原因がわかるかたいますでしょうか。

使用flashはcs5で、FlashLite1.1でパブリッシュしてます。
739Now_loading...774KB:2010/09/06(月) 01:45:53 ID:Yq9jaBZE
>>737
意味がわからない

>>738
てきとーにググったけど
引数は"unescapeTxt"ってなってるが?
ttp://www.adobe.com/jp/devnet/devices/articles/clock_flashlite.html
740Now_loading...774KB:2010/09/06(月) 04:06:02 ID:78NYSOLg
>>737
問題を分割して、それぞれ最小限のコードで試し、最終的に課題となる点が見つかってから再質問汁
741Now_loading...774KB:2010/09/06(月) 05:43:53 ID:vGWMW84m
ProgressionのLoadSWFを使って外部ファイルのswfとpng画像を読み込んだんですが、複数addChildすると1つ目が消えてしまいます。
bitmapDataにすれば良いことはわかっているのですが、その方法がわからず困っています。
どなたか教えていただけないでしょうか。
IndexScnene.as
//画像読み込み
for (var i:int = 0; i < 9; i++) {
new LoadSWF(new URLRequest("img1/" + i + ".png"),new CastLoader(), { resGroup:"item1Group" } ),
new LoadSWF(new URLRequest("swf1/" + i + ".swf"), new CastLoader(), { resGroup:"item2Group" } ),
}
〜省略〜
//リソースから画像を配列として取得
var loaders1:Array = getResourcesByGroup("item1Group", true);
var loaders2:Array = getResourcesByGroup("item2Group", true);

//画像を縦に並べて表示
for(var i:int=0;i<9;i++){
new AddChild(hoge,loaders1[i].data as CastLoader;).execute();
hoge.x = 0;
hoge.y = i*50;
new AddChild(hoge,loaders2[i].data as CastLoader;).execute();
}
//1つめの横にタイル上に表示
//ここで表示させようとすると1回目の表示したほうが消えてしまいます。
for(i:int=0;i<9;i++){
new AddChild(hoge,loaders1[i].data as CastLoader;).execute();
hoge.x = 50;
hoge.y = i*50;
new AddChild(hoge,loaders2[i].data as CastLoader;).execute();
}
742732:2010/09/06(月) 09:45:30 ID:ZZ4BW1dJ
すいません。目的はwonderflスクリプト→CS4用に変換です。
どなたか分かりますか?

元文中の
 左のpackage以降をコピーして「class Base extends Sprite」よりメインの記述部分「Base.as」
 としてASファイル化

というのは、単にドキュメントファイル名を「Base.as」にしたという意味です。
743Now_loading...774KB:2010/09/06(月) 16:17:34 ID:OF15qRMU
test
744Now_loading...774KB:2010/09/06(月) 16:35:26 ID:OF15qRMU
質問させてください。
BitmapDataのsetPixel32またはgetPixel32の動作が思った通りに動いてくれません。
具体的に申しますと、
setPixelした直後にgetPixelしてちゃんとその値が入ったかどうかを確認したのですが、
なんと値が微妙に違っている場合があるのです。


下のプログラムでそれを確認できます。

var bd:BitmapData;
bd = new BitmapData(32, 32, true, 0x0);
changeColor(0xb74a90bd);//NG
changeColor(0x64FF0000);//ok
changeColor(0xFF4a90bd);//ok
changeColor(0x234a90bd);//NG
function changeColor(toColor32:uint):void{
trace("今から(0,0)をtoColor32にtoColor32の値をセットしますよー")
trace("changeColor()", toColor32, toColor32.toString(16));//【1】
bd.setPixel32(0, 0, toColor32);
trace("[0][0]:"+bd.getPixel32(0, 0), bd.getPixel32(0, 0).toString(16));//【2】
}
【1】と【2】の値は同じものでなければならないのに、微妙に違う場合があります。
これはadobeちゃんのバグなんでしょうか? それとも私のボンミスなのでしょうか?

ちなみにFlashBuilder4とFlashCS5で確認しました。
もしadobeのバグだった場合、BitmapDataクラスを直でいじって直すことはできるでしょうか?

お助けください。おねがいします。
745744:2010/09/06(月) 17:58:45 ID:OF15qRMU
>>744
半分自己解決しました。

ドキュメントにありました。燈台元暗しでした、すいません。
http://help.adobe.com/ja_JP/AS3LCR/Flex_4.0/flash/display/BitmapData.html#getPixel32()

要するに仕様だそうです
746Now_loading...774KB:2010/09/06(月) 18:15:00 ID:A/P9Ui2l
残り半分の疑問点は?
747Now_loading...774KB:2010/09/06(月) 18:30:40 ID:zDR47/02
>>741
BitmapDataのdraw第1引数に画像を入れて
そのBitmapDataを参照するBitmapを量産すれば良いのかな。
748Now_loading...774KB:2010/09/07(火) 00:47:00 ID:x0/HdLJF
質問です。
flashCS3でデバッグ中に、変数パネルに変数の値と@xxxxxxxという
7桁の数値が表示されますが、この7桁の数値をスクリプト側で取得したり、
traceで出力できますか?
あと、この値はなんと呼ばれるのでしょうか?

環境はwinXP,FlashCS3です。
749733:2010/09/07(火) 04:37:07 ID:Km6oVV4Y
>>735

Stage.scaleMode = "noScale"; も試したのですが

そうすると

menu_mc._y = Stage.height - 92;
menu_mc._x = 0;

この部分が利かなくなってしまいます・・・

どうしたらよいのでしょう?

何度も質問すみません
750Now_loading...774KB:2010/09/08(水) 01:24:25 ID:KdsFt4An
画像(静止画)のムービークリップをタイル状に並べていれたスプライトがあります。
このスプライトの一部分だけ表示している場合、画面に表示されていない部分の画像
は描写処理されてCPUに負担をかけますか?
751Now_loading...774KB:2010/09/09(木) 21:00:40 ID:WidPf3cj
AS3のフォーカスマネージャーの仕組みや
イベントの仕組みや挙動について、
深く学べる書籍やサイトを教えていただけないでしょうか?

DataGridのカスタムコンポーネントでイベントを発生させたときや、
カスタムコンポーネント間でのフォーカスの制御でいつもつまづくので
基礎からみっちり学びたいと思っています。

どうかよろしくお願いいたします。
752Now_loading...774KB:2010/09/10(金) 00:13:40 ID:W5LgLkLu
>>751
コンポーネントのソースコードをもってきてビルドし、それをデバッグする
とかどうでしょう。
コンポーネント関連の情報が少なくて自分もよくつまづきます。
753751:2010/09/10(金) 08:25:46 ID:rVNwSbD0
>>752

ありがとうございます。
やっぱりそうなりますかねぇ。。。

自分もソースコードを追っかけながら
やっているところがあるのですが時間が掛かるのが
ちょっと辛いところです。。。
754Now_loading...774KB:2010/09/12(日) 15:52:24 ID:KiPHBJ84
配置している複数のMouseEevnt.CLICK・ROLL_OVER・ROLL_OUTのイベントをaddEventListenerしているSpriteボタン
(Spriteには、サムネイル画像のビットマップをaddChildしている)
を押すと、サムネイルに対応した原寸画像を表示するという事をしていて
原寸画像を表示する際、一時的にこの複数のSpriteボタンのマウスイベントを利かなくしたいのですが
イベントリスナーを外す以外の方法として
原寸画像をaddChildしている大きいSpriteで、複数のサムネイルボタンをすべて覆うという方法でも問題は無いのでしょうか?
一応これでも、原寸画像のSpriteの下になっているSpriteボタンのイベントは利かなくなってはいるようですが・・・
755Now_loading...774KB:2010/09/13(月) 00:19:56 ID:w5rfH+Xh
わからん
フラグ立てて、イベント来てもreturnさせれば確実なんじゃないの?
756Now_loading...774KB:2010/09/13(月) 02:15:49 ID:ANMcr0V7
FlashCS4(AS3,Player10)WinXP-Pro使用
複数のMCをマウスで選択する方法で質問です。

FlashCS4や他のドローソフトのように複数のオブジェクト(この場合は●印)を
マウスの矩形(四角形)で
http://uproda11.2ch-library.com/262945wkI/11262945.png
のように囲み
http://uproda11.2ch-library.com/262946ZBk/11262946.png
と選択し、まとめてドラッグ移動したく思っています。

最初、マウスで1個づつクリックして選択指定しようと思ったのですが、
やはり一般的なドローソフトのように「囲んで選択」の方が楽なのでこれを
再現したいです。

どんな方法が考えられますでしょうか?
757Now_loading...774KB:2010/09/13(月) 04:11:55 ID:w5rfH+Xh
座標でガッチガチにやる位しか想像つかないなぁ
マウスダウン座標と現在マウス座標の内にあるものを選択状態にして、マウスアップで選択確定
マウスダウンがMC内なら選択MCをドラッグ開始、MC外なら選択解除。。みたいな
758Now_loading...774KB:2010/09/13(月) 12:13:35 ID:oiszRDTx
AS3で質問です。

TabNavigatorの下にVBoxを3つほど置いて
各VBoxのLabelプロパティに
タブに表示する文字列を設定しているのですが、
画面を表示したときにタブに表示されている文字が切れてしまいます。

マウスカーソルを合わせると、全部の文字が表示されるのですが、
タブの幅や高さ、文字サイズなど色々変えてみても、
どうしても一番最初は文字が切れてしまいます。
そして、文字が切れるのは一番左のタブ(一番最初に選択されているタブ)だけになります。

最初から文字全体を表示させるにはどのようにすればよろしいでしょうか?
759Now_loading...774KB:2010/09/13(月) 12:43:07 ID:mx7rMXpS
>>756
範囲指定開始時のマウスダウン時の座標を保存しておいて、範囲指定後のマウスアップで、
MC内の子オブジェクトのリストが範囲内かチェックすれば良いだけだとおもうが。
760Now_loading...774KB:2010/09/13(月) 13:19:38 ID:2QsXV/Sb
>>758
状況がいまいち分からんけど、文字列の最初に空白を入れるとか
761758:2010/09/13(月) 13:35:10 ID:oiszRDTx
>>760
たとえば、
左から
あいうえお
かきくけこ
さしすせそ
とタブに表示するように設定したとします。

あいうえおのタブは
あいう..
となり、それ以外のタブは
かきくけこ
さしすせそ
と正しく表示されます。

そして、あいうえおのタブに
マウスカーソルを持ってくると
あいうえお
と表示されるのです。

空白も最初や最後に入れてみたりしたのですが、
解決にはいたりませんでした。

タブ幅、高さ、フォントサイズなどいじったのですが、
解決できませんでした。
762Now_loading...774KB:2010/09/13(月) 14:25:31 ID:ZrsMKdxA
>>761
タブってテキストフィールド(TF)のこと?
763Now_loading...774KB:2010/09/13(月) 14:27:13 ID:hf+77JE6
>>757,759
なるほど座標でこまめにチェックですね。
試してみます。
764Now_loading...774KB:2010/09/13(月) 14:51:13 ID:mx7rMXpS
>>763
こまめって、範囲選択時しかやらなくて良いでしょ。
範囲指定するときに、範囲指定の線とか描くんだから、
マウスダウンで描き始めて、マウスアップで範囲判定だとおもうんだが。
765761:2010/09/13(月) 16:13:49 ID:oiszRDTx
>>762
TabNavigatorに各タブのラベルになります。
伝わりにくい内容ですみません。



766Now_loading...774KB:2010/09/13(月) 23:01:09 ID:j1IP+bG/
>>764
アクティブに判定しないと、どれが選択状態になってるか分からないじゃない
767Now_loading...774KB:2010/09/14(火) 01:46:53 ID:ewz/1gBG
>>761
VBoxを置く意味が全く分からん

TabNavigatorのタブ幅って指定できなかったっけ?
768Now_loading...774KB:2010/09/14(火) 03:57:00 ID:ep6miq2D
>>764
マウスアップの判定時に選択状態のものは
リストにつっこんどくのが普通だとおもうんだが。
そうすると、Ctrl+クリックとかで選択除外or追加もできるし。
選択対象オブジェクトのドラッグスタートとかで
選択範囲の物すべて移動するとかが簡単になるし。
769Now_loading...774KB:2010/09/14(火) 08:43:20 ID:KmCzywyW
_等幅
_ゴシック

のように、"_"で始まるフォント名は他に何があるか教えてください。
770761:2010/09/14(火) 09:51:38 ID:x5hxJTJt
>>767
Vboxを置く意味は各タブにLabelとかTextInputとかを配置するためなんです。
いろんなサイトのサンプルを見ていくと
そのような形で実装されてるのを多く見かけたので私もそのようにしております。

タブ幅や高さを変えてもダメででした。
ただし、フォントサイズを6とか極端に小さくすると最初から正常に表示されるのですが、
それだと根本的な解決にはなっていないので悩ましいところです。。。
現在のフォントサイズは12を指定しています。
771Now_loading...774KB:2010/09/14(火) 11:26:04 ID:ewz/1gBG
>>770
TabNavigatorの下というか、TabNavigatorの中にってこと?
下に置いたら隠れるだけだと思うんだが。

ButtonStyleNameとかで、Buttonのpaddingを多く指定するとかは?
772Now_loading...774KB:2010/09/14(火) 14:03:41 ID:ulY6kZal
ドラクエ風の戦闘シーンを作っています
攻撃をしたときや、攻撃を受けた際に「〜に○○ダメージ」という表記をしたいのですが
計算で出したダメージの値を、テキストの○○の部分に入れたいのですがどうすればいいですか?
773770:2010/09/14(火) 14:17:47 ID:x5hxJTJt
>>771
もうしわけありません。
仰るとおり、TabNavigatorの中という意味です。

ButtonStyleNameについては
スタイルが指定できなさそうなのですが・・・。

他に似たような項目も見当たらず・・・。

774Now_loading...774KB:2010/09/14(火) 16:33:22 ID:9kC4vuFo
>772
Text = MonsterName + "に" + Damage + "ダメージ";
775Now_loading...774KB:2010/09/14(火) 16:55:56 ID:ulY6kZal
>>774
ありがとうございます
助かりました
776Now_loading...774KB:2010/09/14(火) 20:40:40 ID:TK2KzzkV
CS4スレにも書いたんだけど、こちらでも聞きたいので。
Flash Builder 4のプロファイラやデバッガーが動かなくなる現象をちらほら聞くんだけど、おまえらの所はどうですか?
うちはOS X10.6.4でスタンドアロン版使ってるんだけど、
どうも4.0.1にアップデートしたあたりからtrace()が効かなくなった。
本体、playerともに再インスコしたり関係しそうなコンパイラオプション試したりしたけど効果なし。
もし解決策があればお聞きしたいのですが。
777Now_loading...774KB:2010/09/15(水) 10:53:27 ID:yXwiYFj1
いまのところもんだいなし。
778Now_loading...774KB:2010/09/15(水) 11:33:36 ID:IXlpRavY
779Now_loading...774KB:2010/09/16(木) 23:44:17 ID:uGzGRUBN
他のソフトにすれば解決するよ
780Now_loading...774KB:2010/09/17(金) 11:24:03 ID:J3Ak8CjG
AS3で質問です。

editableがfalseのDataGridの初期処理で
任意の行位置を表示するようにスクロールさせるにはどの様にすればよいのでしょうか?

editableがtrueなら
editedItemPositionに行と列の位置を指定してあげればよいと思うのですが・・・。

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

781Now_loading...774KB:2010/09/17(金) 12:58:58 ID:hkpO5bmY
すいません、適当なスレッドがみつからなかったのでここで質問させてください。
windowsから外部MIDI機器にMIDI信号を送信出来るFLASH用のプラグイン、
FlashMIDIというのを使ってみようと思ったんですが
プラグインを追加してもまずサンプルページ自体が表示されません。
2005年のプラグインでAS2.0仕様らしいんですが、
フラッシュプレイヤーのバージョンが新しくなったために、
もはや表示すらされなくなってしまったのでしょうか?
ちなみに自分のプレイヤーのバージョンはWIN 10,0,45,2です。(winXp)

どなたかサンプルページ表示出来る方いますか?
プラグイン
http://www.alexisisaac.net/products/flashMidi/install.exe
サンプルページ
http://www.alexisisaac.net/products/flashMidi/samples/chord.html
フラッシュプレイヤーのバージョン表示
http://www.adobe.com/jp/support/flashplayer/ts/documents/tn_15507.htm
782780:2010/09/17(金) 13:28:33 ID:J3Ak8CjG
事故解決しました。

selectedIndexと
scrollToIndexを利用すれば解消できました。
783Now_loading...774KB:2010/09/17(金) 14:14:48 ID:xVT6VhSc
AS3です。

Sprite型のオブジェクトで「graphics」を使って図形を描画しました。
この図形の色情報を取得する方法を、
ご存知の方いらっしゃらないでしょうか?


色のついた四角をたくさん用意して、
四角をクリックしたときに、
別の図形の色が変化するようなものを作りたいのですが……。
784Now_loading...774KB:2010/09/17(金) 14:28:46 ID:KnEw8D9z
四角のみを描いたSpriteをたくさん置いて、
Spriteのクリックでいろいろしてやればいい。
785Now_loading...774KB:2010/09/17(金) 15:06:35 ID:rMaeB4eZ
graphicsから色情報は取得できないと思ふ
786Now_loading...774KB:2010/09/17(金) 19:10:03 ID:98lVe4OE
acの経験は浅いけど元プログラマです。自分ならこうする

選択開始時、始点を記憶
選択終了時 終点を記憶
始点と終点の矩形からできる透明のmcを作成
透明mcと各mcをhitTest
配列変数にhitTestで該当するmcをすべて入れる
ドラッグで移動などの処理は配列内のmcすべてに対して行う
787Now_loading...774KB:2010/09/17(金) 19:11:23 ID:98lVe4OE
786は>>756
788Now_loading...774KB:2010/09/17(金) 21:37:18 ID:FILoV1wS
同フレーム内にMCが4つあり、どれかのMCの上にマウスカーソルが乗っかったら
それぞれ別のフレームへ移動したい」
if(_root..mc1.onRollOver) {
○○;}else if(_root.mc2....
とか考えてみたんですけどうまくいきません
フレームアクションだけでなんとかしたいんですが、都合いいアクションスクリプトはありますか?
もしくは「現在マウスカーソルが乗っているMCの名前を返す」とか…
789788:2010/09/17(金) 21:38:44 ID:FILoV1wS
すみません、AS2でお願いします
790Now_loading...774KB:2010/09/18(土) 13:11:04 ID:HNrvuLg8
>>788
イベントハンドラメソッドの使い方を復習すること
それで普通に解決する

通常マウスはひとつしかない
if文にする意味があるのかどうか?
791783:2010/09/18(土) 13:56:40 ID:NNnHU7PE
>>784
>>785

ありがとうございました!
graphicsからは色の情報は取得できないのですね……。
別の方法(新規にクラスを作って、「色」のプロパティを設ける)
でできました。

792783:2010/09/18(土) 14:08:37 ID:NNnHU7PE
>>783の者ですが、もう一つ質問させてください。

AS3、開発環境はFlashDevelop、マウス操作についてです。
自作クラスで、オブジェクト外(ステージ上)でのマウスアップを実装しようとしています。
ですが、

stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);

以上のような書き方しか知らないので、
「stage」を引数にしてコンストラクタに渡していかなければなりません。
それがひどく冗長に感じるので、簡単な書き方がないか模索しています。


1.「stage」を引数にして渡さずに済む方法
2.「stage.addEventListener……」というようにstageを使わずに
  オブジェクト外でのマウスアップを実装する方法
3.その他の方法

のいずれかのスマートなやり方はないでしょうか?
793792:2010/09/18(土) 14:37:38 ID:NNnHU7PE
0.自作クラス(Spriteを継承したもの)から「stage」を参照する方法

を追加させてください。
普通に
「stage.addEventListener……」と書くと、
当然ですがエラーが出ます。
794Now_loading...774KB:2010/09/18(土) 14:43:47 ID:spGjMUEb
stageってDisplayObjectを継承してるクラスならプロパティにあるから
わざわざ渡す必要なくね?
795788:2010/09/18(土) 18:10:43 ID:hcHURHqv
>>790
ありがとうございます

でも説明が足りずすみません
フレーム内にMCとさらにMCが無いステージ?の部分があり、
そこにマウスが移動したときも違う処理をさせたかったんです

それでいちいちRollout使って1個1個指定も面倒だなぁと思って、
マウスがMCに乗っかっていないときはelseでひとくくりにできないか、と使った次第です
ものぐさ太郎すぎましたすみません。
ありがとうございました
796Now_loading...774KB:2010/09/18(土) 19:24:07 ID:vU7PQzsc
>>792
最終的に何をやりたいのかがわからんのだが、

自作クラス上で発生しないイベントだから、stageで拾おうとしてるんだろうけど、
そのイベントでなぜ、stageを渡して新しくクラスを作成する必要があるんだ?

さらに、>>793で言ってることもよくわからん。
自作クラス内で、親(みたいなもの)にイベント追加しようってしてるわけだよな?
その自作クラスが、stageのmouseUpの度に作られるとしたら、
さらにイベントが上書きされることになるが、意図してる?

何か具体的に、こうしたいのだけどという質問の方が、
より適切なやり方を教えてもらえそうだと思うんだが。
797Now_loading...774KB:2010/09/18(土) 21:49:29 ID:ltBSuvQw
FLEXについての質問です。初歩的な質問で、もし既出の場合はお許しください。
Groupコンポーネントから子を、idによって取得したいのですが、getChildByName()のようなメソッドが見つかりません。
どのような方法で実装すれば良いのでしょうか?
798Now_loading...774KB:2010/09/18(土) 22:21:50 ID:vU7PQzsc
nameプロパティにidと同じ物指定するわけにはいかんの?
799Now_loading...774KB:2010/09/18(土) 22:48:54 ID:ltBSuvQw
>>798
たしかにその方法でできますね。
ということは、idから取得することはしないでnameを設定して取得するのが普通なのですか?
javascript等idから直接取得することができる言語に比べて二度手間な感があるのですが・・・。
800Now_loading...774KB:2010/09/18(土) 23:27:10 ID:vU7PQzsc
MCってIDを必ず定義しないと作れないことないでしょ?

だったら、二度手間じゃないと思わない?

javascriptだって、jQueryとかのライブラリ使わなかったら、
name属性にidと同じ奴入れてないとまずいブラウザもあるんだから、
同じ事だと思うけどねぇ。
MXMLでエレメント書いてるとそう思えるかもしれないけど、
ActionScript3のみでやれば、id属性は必要な物にしか付けないし、
階層構造無視してアクセスしたいなら、自前でListにつっこんでおけばいいし、
やり方は一つじゃないってことなんだけど、それじゃ納得できないかなぁ?
801Now_loading...774KB:2010/09/18(土) 23:40:36 ID:ltBSuvQw
>>800さんのおっしゃるとおりですね。
idで管理することに固執していたようです。
まだ勉強不足でlistを使用することまで考えつきませんでした。
大変参考になりました。回答ありがとうございました。
802Now_loading...774KB:2010/09/19(日) 00:11:34 ID:8ISC22qq
ごめん。正確にはListって無いね。ArrayとかVectorとかになるか。もしくはObjectを使ったMap。

プロトタイプベースに慣れてると、クラスベースの面倒なところが煩わしく感じるし、
あっても良いじゃんとおもうメソッドとかないけど、それ以上のものがある
AS3はいいとこ取りでできるから、俺は好き。
Dynamicクラスとか動的にプロパティ増やせるし、自由度高い。
あと少し高速に動けばなぁとはおもうけど。
803Now_loading...774KB:2010/09/19(日) 00:16:39 ID:8ISC22qq
なんか、読み返してえらそうだった。ごめん。
さらにArrayListがあるね。すんません。
804Now_loading...774KB:2010/09/19(日) 00:28:44 ID:BwCQjQ1P
お知恵をお借りします。

AS3で組んでます。
ドキュメントクラス内に以下のようにキーボードイベントのリスナーを使ってるのですが

this.stage.addEventListener(KeyboardEvent.KEY_DOWN,keydown);
〜〜〜〜
private function keydown(event:KeyboardEvent):void
{
if(event.keyCode==Keyboard.RIGHT){
 this.nextFrame();
}
}
キーボード操作ではシーンを変更するためにつかい。

メインタイムラインの各フレームに、子ムービークリップを入れ各シーンの詳細アニメを流すようにしてます。
そのムービークリップ内の詳細アニメを見進めるには、ムービークリップ内のボタンを操作するようにしています。

子ムービークリップ内のボタンを操作したのち、
そのムービークリップが再生されると、その操作してたボタンが消える内容になっています。

そのムービークリップのボタンが消えてしまったあとでは、マウスによってFLASH画面内の
どこかをクリックしないとキーボードのイベントが働きません。

event.targetをtraceで出してみると、マウスクリックしたボタンに対して
都度targetを変更するらしく、
選択していたtargetのボタンが再生中消えてしまうと、そのままではキーボード操作しても
イベントを発してくれないようです。
このような現象に対応するにはどうすればよいでしょうか。

よろしくお願いします
805Now_loading...774KB:2010/09/19(日) 00:42:45 ID:ksTOR4LR
ボタンを消えないようにしてステージ外に移動させるとか?
806804:2010/09/19(日) 00:48:29 ID:BwCQjQ1P
>>805
お世話になります。
event.targetが変更されたらば、強制的にまたstageに戻すようなことはできませんでしょうか。
そうしたtargetを変更するメソッドはあるのでしょうか。
私の探し方が下手なのかもしれませんが。そうしたメソッドが見つけられずにいます。
807Now_loading...774KB:2010/09/19(日) 01:50:54 ID:8ISC22qq
stage.forcusでいけるんじゃないかな。
あとは、そもそものkeyEventをすべてstageで処理するとか。
808804:2010/09/19(日) 02:45:25 ID:BwCQjQ1P
stage.focus = stage;
で解決できましたありがとうございます。
809Now_loading...774KB:2010/09/19(日) 11:00:46 ID:0AsnLu8A
画像の上にポインタ合わせると指定したフレーム、
もしくはラベルへ飛ぶようにするには
on (rollOver) {gotoAndPlay(フレーム番号);}

でおkなんでしょうか?
810Now_loading...774KB:2010/09/19(日) 12:56:14 ID:+kz8Kiy3
>>803そんなことないですよ。
ArrayListを今リファレンス読みましたが、かなり便利そうです。
また質問あるときはよろしくお願いします。
811Now_loading...774KB:2010/09/19(日) 19:15:31 ID:9VovLHe2
AS3、Flash10です

ゲームを作っています。
そのなかで使う数値を変更し、難易度を変えたりできるようにするためのMCが作ってあります。
その中に各値に対応したスライダ及びテキストインプットが作ってあり、ゲーム本体は使う度にその値を呼び出しています。
対応するスライダとテキストインプットの値は常に同じになるようになっています。

IEやFireFoxなどでの設定の画面と同じように、フレームごとに整理してタブ(クリックでフレームが移るリスナー付き)で切り替えたいのですが、
タブ(フレーム)を切り替えるとスライダ、テキストインプットの値が初期値に戻り、設定がすべてリセットされてしまいます。

そのため、スライダ、テキストインプットの値が変更されるたびに別の変数に代入し、
再びタブが表示されるときにその変数の値をスライダ、テキストインプットの値に代入し、
ゲームからの呼び出し先もその変数に変更する方法を考えたのですが、
フレームが変わってもスライダ、テキストインプットの値の変更が保存されるような方法はないでしょうか?
質問の意味わかってもらたでしょうか?
812Now_loading...774KB:2010/09/19(日) 21:03:47 ID:JHQfM5Dw
>>811
普通はそういう設定を保持するためのクラスを用意し、
タブが開いたときにその設定保持クラスから情報を引っ張ってくるように設計すると思うよ。

もしフレームが変わっても情報を保持するには、
画面外にでもいればいいから、それでうまくやり過ごすしかない。
813Now_loading...774KB:2010/09/19(日) 21:08:28 ID:9VovLHe2
>>812
ありがとうございました
814Now_loading...774KB:2010/09/20(月) 22:42:00 ID:Ufvd9CEy
as3.0、flash10、flex4+flashdevelopでswfを作ってます。
Bitmapクラスで透明なBitmapを作成して、背景画像の上にaddchildすると、当然Bitmapは透過されるのですが、
Bitmapのscalexやscaleyを2.0などに変えると、体感アルファ値0.1くらいの不透明な四角形が表示されてしまいます。
でも右クリックメニューで「拡大」すると、不透明な四角形は見えなくなります。
何が原因なのでしょうか?
815Now_loading...774KB:2010/09/21(火) 03:20:40 ID:iR8jVFbp
てすと
816Now_loading...774KB:2010/09/21(火) 18:33:45 ID:93xuI6IV
質問です
複数のLoaderで、大きい画像をそれぞれのLoaderで同時に読み込み表示し
複数のLoader全てで読み込み表示が完了したら、そのまま数秒待機
その後複数のLoaderの読み込んだデータを破棄して
またその複数のLoaderで、新たに大きい画像を読み込み表示。。。を繰り返すというswfを作ってみて思ったのですが

今は画像ファイルをハードディスクに置き、それをLoaderで読み込む形でflashdevelop上のテストで動いてますが
このswfと読み込む画像をFFFTP等で上げてインターネット上で動かした場合
サーバーの負担がとんでもない事になったりする危険性というのは無いのでしょうか?
こういった大きい画像をやたらと読み込む処理を行うような事は止めたほうがいいのでしょうか
817Now_loading...774KB:2010/09/21(火) 22:48:04 ID:4sK0o2AG
「http 同時接続数」とかでググるといいと思うよ
818Now_loading...774KB:2010/09/22(水) 01:28:57 ID:HnrbDPfz
>>816
他人のサーバを使ってそれをやるのはどうかと思う。
自前サーバならやればいい。

大画像をタイル状に分割して、複数のセッションで読み込むというのは
結構よくやる手ではあるが。
819Now_loading...774KB:2010/09/22(水) 17:31:54 ID:av9tcooG
複数のインターフェイスを多重実装して名前の衝突が発生した場合、
片方のインターフェイスをいじって名前を変えるしかないのでしょうか?
AS3 / Flex SDK3.3です。
820Now_loading...774KB:2010/09/22(水) 17:41:43 ID:sVTnpnkU
web上ではなくhtmlやswfがローカル上(HDD等)
にあるとして、同じフォルダ内に 01.swf 01.html 02.swf 02.htmlがあるとします
ブラウザで01.htmlが開かれている状態で、同じ言ウインドウで02.htmlに切り替えたい場合
getURL("02.html","_self ");
で正しいでしょうか?


821Now_loading...774KB:2010/09/22(水) 17:57:26 ID:W/RHt6BN
Flex3なんですが、
画面内にActiveXコンポーネントを呼び出すような
VBScriptを記述して、実行させるにはどの様にすればよいでしょうか?


822Now_loading...774KB:2010/09/22(水) 18:00:28 ID:E1jspyfc
>>819
完全修飾で書けば行けるはず。
com.hoge.IInterface
com.foo.IInterface
というインターフェースがあった場合
public class Test implements com.hoge.IInterface, com.foo.IInterface {
こんな感じ。

名前が変えられるというのであれば、自作物ってことだよね。
なのになぜ、インターフェースがかぶるのかがわからん。
同じ機能を無駄に実装しているように思える。
823Now_loading...774KB:2010/09/22(水) 18:04:05 ID:E1jspyfc
>>820
やってみたらどう?

>>821
Flash上で動かすことは出来ないと思う。
ただ、ExternalInterfaceを使ってやれば、
HTMLにはアクセスできるから、それに近いことができるかもしれん。
824819:2010/09/22(水) 18:04:44 ID:av9tcooG
>>822
ごめん、説明不足でした。

public interface IEntity
{
 function update():void;
 (以下略)
}

public interface IState
{
 function update(entity:IEntity):void;
 (以下略)
}

public class HOGE implements IEntity, IState
{
 アッー!
}

こんな状態なんです。
825Now_loading...774KB:2010/09/22(水) 19:10:37 ID:E1jspyfc
う、これはわからん…。
あり得る状況だな。
C#だったら回避できるか。あとDelphiだと。
826Now_loading...774KB:2010/09/22(水) 21:43:21 ID:027aiJgs
namespaceの問題かな
IState::updateみたいに「::」使えば行けないかな?
827816:2010/09/22(水) 21:50:58 ID:T0va5ymr
>>817-818
ありがとうございました、やっぱり危ないんですかね
自分で調べてみた所では、Loaderで読み込んだ画像はブラウザのキャッシュに入り、そこから読み込まれるといった話や
破棄の際にuinload()をしても、リファレンスにはプレイヤー内のインスタンスを削除するという解説もあって
ブラウザキャッシュは残るようだし大丈夫?と勝手に考えていましたが・・・
ブラウザキャッシュがあっても、結局サーバーの通信負担はキャッシュからの場合でも同様に起こってしまうのでしょうか?

因みにやっている処理の詳細は、サイトのギャラリーページで表示する用の数十枚の大きな画像のURLを
ランダムで無造作に選び、複数のLoaderで読み込み表示・破棄を繰り返すという
ローテーションを繰り返すという流れです
828Now_loading...774KB:2010/09/22(水) 22:43:21 ID:027aiJgs
サーバから読み込んだ画像とかは確かにキャッシュされるね
一度キャッシュされれば同一のURLでアクセスする限り通信は発生しないと思う、多分
829814:2010/09/22(水) 23:59:07 ID:IxsXi48k
>>814
のコードです。32ビット値で0なのに、64x64の明るい灰色の矩形が表示されてしまいます

var canvasBmpdata:BitmapData = new BitmapData(128, 128, false, 0xC0C0C0);
var canvasBmp:Bitmap = new Bitmap(canvasBmpdata);
addChild(canvasBmp);

var transBmp:BitmapData = new BitmapData(32, 32, true, 0);
transBmp.setPixel32(16, 16, 0xFFFF0000);
var transLayer:Bitmap = new Bitmap(transBmp);
transLayer.scaleX = 2.0;
transLayer.scaleY = 2.0;
addChild(transLayer);
830781:2010/09/23(木) 20:54:12 ID:AxIG6Vml
すいません、>>781誰かわかりませんか
831816:2010/09/23(木) 23:54:12 ID:1mDEwvbl
>>827
ありがとうございます
使用するサーバーというのもレンタルサーバーで
流石に、最初のプリロード時に全部の画像を読み込む→ロード時間増大・動作が激重になるでしょうし

一応ブラウザキャッシュに頼るという方法もアリ?という感じなんでしょうかね

832819:2010/09/24(金) 06:03:03 ID:1onaPKJb
>>826
AS3に::あるのかなって思いつつも試してみましたが、だめぽいですね。
シンタックスエラーが飛んできます。
833Now_loading...774KB:2010/09/24(金) 13:07:45 ID:vdIVakUm
>>830
ここで聞くよりflash-jpとかで聞いた方がいいとおもう。

834Now_loading...774KB:2010/09/25(土) 09:12:28 ID:EJROVGfU
質問です。右側からM1 M2 M3とならんだインスタンスを横に平行移動あせてM1の_xが400で止めようと思います。
しかし、以下ではM1 M2 M3 の_xがすべて400になり重なってしまいます。
重ならないように平行移動して止めるにはどのように書き加えればいいですか?
教えてください。



var i=1;
while (i <= 3)
{
a = "M" add i;
this[a].onEnterFrame = setXPosition;
++i;
}


function setXPosition()
{

if (this._x >= 400)
{
delete this.onEnterFrame; } // end if

this._x = this._x + 1;

}
835Now_loading...774KB:2010/09/25(土) 13:29:13 ID:Ho5U0nZF
>834
また来たのかwよそ行ってくれ
>708>720
こいつ答えても反応ないからスルー推奨
836Now_loading...774KB:2010/09/25(土) 17:07:48 ID:zqa6A004
AS2.0でとか、前提条件を何も書かずにいきなりだし、
反応無い奴に返事するのは確かにむかつくな。スルーしとくか。
837Now_loading...774KB:2010/09/25(土) 17:45:35 ID:cfcmPo6d
以前自分が書いたレスも全然参考にされてないし…
もうずっとwhileのなかにいればいいよ
838Now_loading...774KB:2010/09/26(日) 01:37:29 ID:vP3QwXSq
マジで?
じゃおれもスルーで。
でもみんなそういうのよくわかるな
839Now_loading...774KB:2010/09/26(日) 06:00:41 ID:rtjRH+yk
do{
お礼=回答();
} while(お礼);
840Now_loading...774KB:2010/09/27(月) 01:23:11 ID:G7ptY4r7
お札って読んて吹いちまったじゃねえかw

do{
お札=怪盗(お札);
} while(お札);
841Now_loading...774KB:2010/09/27(月) 01:49:35 ID:1gpdqSRI
動画の中にユーザーの名前を埋め込んだり、
ユーザーの画像を埋め込んで動画を生成するコンテンツがありますが、
あれって、一本のFLVを書き出してるんではなく、
FLVとFLVの間に、
MovieClipを挟み込んで実現したりしてるんでしょうか?
FLV動画A→MC→FLV動画B
みたいなのがオーソドックスなやり方ですか?

たとえば、大分前のものになりますが、ドミノピザの配達ムービーで、
配達ムービーの途中で、注文主の名前が表示されたりするFlashです。
842Now_loading...774KB:2010/09/27(月) 16:14:10 ID:lX/HRGX4
>>84
先ず、開発環境を書きましょう。

ニコ動で言うなら、コメントが流れる動画ってこと?
レイヤーでやれば一発解決だと思うが。

逆に何か試作してここで改善点を聞いたら良いと思う。
843Now_loading...774KB:2010/09/27(月) 16:14:52 ID:lX/HRGX4
アンカー間違えた。
>>841さん宛です。
844Now_loading...774KB:2010/09/28(火) 06:31:48 ID:bW1e382u
wixxp AS3 CS3
での制作環境になります。
main_mcの中にa_btnとb_btnがありクリックすると
フレーム移動をさせたいのですが再生すると
TypeError: Error #1009: null
と出てしまいす。
初歩的な質問になりますがよろしければ
ご指導、ご意見よろしくお願いします。

main_mc.a_btn.addEventListener(MouseEvent.CLICK, onClick01);
function onClick01(event:MouseEvent):void
{
main_mc.gotoAndStop("2");
}
main_mc.b_btn.addEventListener(MouseEvent.CLICK, onClick02);
function onClick02(event:MouseEvent):void
{
main_mc.gotoAndStop("3");
}
845Now_loading...774KB:2010/09/28(火) 08:25:30 ID:418FRjUp
main_mc、a_btn、b_btnのどれかにnullがあるんだろうね。
インスタンス名の設定をしてないとかじゃない?
846Now_loading...774KB:2010/09/28(火) 08:41:18 ID:bW1e382u
>>845さん
ありがとうございます。
インスタンス名はプロパティから設定はしているのですが
これだけでは足りないのでしょうか?
よろしければ引き続きよろしくお願いします。
847Now_loading...774KB:2010/09/28(火) 17:21:13 ID:HSkB+gsn
AS3でサーバから受信するデータをXML形式で扱おうと思っています。
取り扱うファイルのサイズが20MBを超えてしまいそうなんですが、
クライアントの環境によっては重くなりそうでちょっと怖いです。

皆さんは大量のデータにアクセスするときはどの様にされてますか?

今回はあるマスターのデータを一度
DataGridに読み込む処理なんですが・・・。

20MBくらいならまだまだ余裕でしょうか?
848Now_loading...774KB:2010/09/28(火) 19:48:46 ID:gfLgqZJo
XMLを使わずAMF一拓。
他でも使うWebServiceとして公開してるなら仕方ないが。

LAN経由でも20Mだと躊躇するなぁ。
1ページ100件表示とかにして、ページングするとか。
849Now_loading...774KB:2010/09/29(水) 00:41:58 ID:DFzPXB6o
http://isvalid.jp/actionscriptLab/ASlesson/actionsctipt_keyisDown.html
↑のページを元にキー入力に関するメソッドの扱い方を勉強していたのですが、

↓のスクリプトをフレームに記述して問題なく動作するか試してみたところ、全く反応しませんでした。
 因みに同じサイトにあるスクリプト入門の所を最初から最後まで全部動作を確認してみましたが、
 全く反応しないのはこの項目だけです。
 ifのカッコ内を(Key.isDown(Key.UP) == true)とか試してみてもダメでした、エラーすら出ません。

if(Key.isDown(Key.UP)){
trace("上矢印キーが押された");
}

OS:WindowsVista
ソフト:Adobe Flash CS4

原因って何なんでしょう…(´・ω・`)
850Now_loading...774KB:2010/09/29(水) 02:06:31 ID:gxzRuvMr
AS3.0の設定になってるとか。
851Now_loading...774KB:2010/09/29(水) 02:12:54 ID:2SDg3bHI
AS3はキー入力関係全然違うからなー
852847:2010/09/29(水) 08:34:23 ID:s2YsVhT9
>>848

今回のサービスは他でも使う想定でいるので
AMFにすることが難しいのです。
AMFにラッピングするライブラリを作るしかないのでしょうか。。。

困りものなのは、たんに読み込むだけであればいいのですが、
入力時に一覧表表示してレコードを選択させることもあります。

困りもんです。

853Now_loading...774KB:2010/09/29(水) 11:29:03 ID:tScpabrl
>>849ですが、スクリプトは2.0の奴を使っています。
他の講座も全部2.0で統一してやっていました。
854Now_loading...774KB:2010/09/29(水) 11:55:51 ID:KXdwT3tW
>>852
サーバサイドがJavaだと言う前提であれば、
そのサービスのラッパーつくるのはそれほど難しい物じゃないと思うよ。
BlazeDSとか使って楽できるし。
855Now_loading...774KB:2010/09/29(水) 11:57:04 ID:V0ldGWFm
>849のif文をどこに書いているの?
キーを押していてもif文が実行されなければ何も起きないよ。
856847:2010/09/29(水) 14:23:28 ID:s2YsVhT9
>>854
残念ながら、今回はPHPなのです。

PHPでもAMFで通信が出来るようなのですが、
まだスキル的にハードルが高いので
いっきに飛びつくことが出来ない状況なんです。



Flexの開発サポートをしているところって
クラスメソッドさん以外にもあるもんなんですかねぇ〜
857Now_loading...774KB:2010/09/29(水) 15:19:00 ID:KXdwT3tW
AMFPHPにしてもSabreAMFにしても、それほど難しくないぞ。
FxUGで質問しながらで行けると思うんだが。

あとは、少しでも軽くするために、JSONで行くとか。半分にはなると思う。
858Now_loading...774KB:2010/09/29(水) 18:36:06 ID:9P2w1lga
849ですが、自己解決しました。

>>855
その文以外何も書いていません。
返答どうもありがとうございました。
859Now_loading...774KB:2010/09/29(水) 18:43:05 ID:KXdwT3tW
ミスの内容を書いてよ。参考になる人もいるかもしれんし。
860847:2010/09/29(水) 21:12:16 ID:s2YsVhT9
>>857

ありがとうございます。
AMFを少し勉強したいと思います。

なるほどJSONという選択肢もありますね。
半分近くになるのは魅力的ですね。

場合によっては急ぎの部分だけJSONで実装して
おいおい他の部分にも広げていきたいと思います。

861Now_loading...774KB:2010/09/30(木) 03:00:52 ID:Ee5OykZD
FlashCS4(AS3.0,Player10)WinXP

FileReferenceのsaveで保存先を一旦指定してSWFを終了し、再度SWFを起動して
ファイルを保存する時に前回指定したファイル保存先が(ブラウジングせずに)最初に
出てくることは可能でしょうか?

つまり、SWFの有るディレクトリ→(移動)→保存先という作業無しに、「localhostで
ダウンロード先を選択します」のウインドウで直接前回の保存先が出る形式です。

セキュリティ上、最初から保存先は指定できませんが、ユーザーが一旦指定したディレクトリ
ならOKかなあと思って質問しました。
862Now_loading...774KB:2010/09/30(木) 14:46:07 ID:2fFSoM1z
Flex3で開発してますが、
カスタムコンポーネント間のフォーカスの移動をスムーズに実装するコツを
教えていただけないでしょうか。

たとえば
A,B,Cというカスタムコンポーネントがあって、
α画面ではA,Bだけ配置して
Aの次にはBにフォーカスを移動するようにする。

β画面ではA,Cだけ配置して
Aの次にはCにフォーカスを移動するようにする。

となった場合、各画面で
Aがフォーカスを失うときには
次のコンポーネントにフォーカスを設定するって
都度都度ASで記述してますか?
863Now_loading...774KB:2010/09/30(木) 14:50:32 ID:mWknIZok
>>862
フォーカスを自分で設定とかあまりやらんなぁ。
キーボードのみで素早く操作させるためなんだろうけど。

ユーザーのストーリーがあれば、それ通りにフォーカスをASで記述すればいいんじゃないの?
864sage:2010/09/30(木) 15:24:56 ID:ly1sf6A9
AS2.0です。
attachMovieで作ったムービークリップの絵を
別のシンボルに変えたいのですが、

そのまま attachMovie →2つできちゃう
removeMovieClip後attachMovie →座標情報がなくなっちゃう

シンボルだけ変える方法を教えてください。
865Now_loading...774KB:2010/09/30(木) 15:44:24 ID:dsm+8Cmb
>>864
すまん、正確な意味がわからん
絵をかえるってのは、要するに最初にattachしたMCを廃棄して
別のMCをattachしたいってこと?
ならremoveMCする前に、座標情報どっかにもっとけばいいように思えるが
そういうことじゃないの?
866Now_loading...774KB:2010/09/30(木) 16:00:24 ID:Vy03zOKW
透明の何もないムービークリップを間にかまして
root-空mc-attachMovieしたmcA
座標を動かすときはAでなく空mcを動かす
空mcからremoveMc,AttachMovieしてmcBに
とやればどうか

867864:2010/09/30(木) 16:02:47 ID:ly1sf6A9
はい。ムービークリップAを ムービークリップBにしたいのです。
確かに座標を変数に保持して remove→attach でできるのですが
他に方法はないのでしょうか?

・オセロで 白→黒
・ボタンを押したら 別のボタン(押された絵)にする
・カーソルキーの右を押したら 主人公を右向きにする
こういった場合も remove→attach で実現するのがAS2.0では一般的でしょうか?
868864:2010/09/30(木) 16:04:33 ID:ly1sf6A9
>>866
なるほど!
2段階にするのですね。ありがとうございます、やってみます。
869Now_loading...774KB:2010/09/30(木) 16:14:44 ID:Vy03zOKW
FlexとかでなくFLASHでやっているなら、
ムービークリップのタイムラインの一フレーム目に絵柄A、
二フレーム目に絵柄Bを置いて
アクションスクリプトで一コマ目にstop();を入れておく
で外からmc.gotoAndStop(1)、mc.gotoAndStop(2)で絵柄が切り変わる。
オセロのコマや左向き右向きの切り替えくらいならこれでもできるのでは
870Now_loading...774KB:2010/09/30(木) 16:25:53 ID:yoA/gBq7
>867
一応書くけど
>こういった場合も remove→attach で実現するのがAS2.0では一般的でしょうか?
そこに書いてる例だけだとAttachMovie使う必要があるのかどうか疑問
オセロの白黒なんかはMC内のフレーム1、2の移動でやるのが自然だと思う
2番目も同様
向きをかえるだけなら_xscale*=-1とかでいい
871864,867:2010/09/30(木) 16:35:17 ID:ly1sf6A9
場合によって使い分けがよさそうですね。
フレームを使うのと 2階層にするので 両方試してみます。
ありがとうございました。
872862:2010/09/30(木) 17:51:10 ID:2fFSoM1z
>>863
そうなんです。
キーボードですばやく入力したいという要件があるからなんです。

ひとまずASで各画面に記述していく方向で考えていきます。
873Now_loading...774KB:2010/09/30(木) 18:49:04 ID:mWknIZok
>>872
あるよねそういう要件。

キーボードイベントをベースで受け取ってステートにあわせて処理する
ディスパッチャー作った方が楽かもね。
874862:2010/09/30(木) 21:38:02 ID:2fFSoM1z
>>873

なるほどです。

今考えていたのが
A、B、Cのそれぞれのカスタムコンポーネントのプロパティ
next○○
というプロパティを持たせて、各々、次のフォーカスのコンポーネントを
保持させようかと考えてました。

ご意見参考にさせていただきます。
875初心者:2010/10/02(土) 11:24:43 ID:BFEJHZ7M
AS3.0です。初心者です。
photoフォルダにある画像を10枚ステージに読み込みたいのですが、
うまくいきません。
「thum」というmc作って、識別子「thum」でリンケージしています。
配列の処理の仕方が悪いのでしょうか・・・
よろしくお願いします。

var sks:Array = new Array();
for (i=1; i<10; i++) {
str = "sks" + String(i);
_root.attachMovie("thum",str,i);
eval(sks[i]);
loadMovie("photo/"+i+"/1.jpg",sks[i]);
sks[i]._x = 520-125*(10-i);
sks[i]._y = 100;
}

876Now_loading...774KB:2010/10/02(土) 13:04:38 ID:66ZnddLZ
AS3.0で書かれていないんだけど、どゆこと?
877Now_loading...774KB:2010/10/02(土) 13:37:05 ID:5Nf5UE3S
atatchMovieはAS3にはないはずだが…
878875:2010/10/02(土) 15:02:33 ID:BFEJHZ7M
すみません、AS2.0でした。
879Now_loading...774KB:2010/10/02(土) 18:23:14 ID:X5+EWsIL
>>875
これ何処(何)を参考にしたの?
>配列の処理の仕方が悪いのでしょうか・
って配列空っぽだよ
てか配列使うとこかな??
配列アクセス演算子を先に勉強したほうがいいんじゃないかな?
880Now_loading...774KB:2010/10/02(土) 21:14:13 ID:Ti1z+Hku
CS5の環境です。
Flashのエディターで複数行をまとめて閉じても、
自動フォーマットすると開いてしまうのですが
これを回避する方法はあるのでしょうか?
設定で「閉じたもの」には適用しないとか・・・
881Now_loading...774KB:2010/10/03(日) 16:57:12 ID:IteZEgba
>>834
Actionsdriptの機能からいって、一つのフレームないで収めることは不可能です
882Now_loading...774KB:2010/10/04(月) 09:39:40 ID:QU8OUbjk
※拡散希望 (これを見た人は10ヶ所に貼って下さい)
〜「尖閣渋谷2600人デモ」 CNNやロイターなど海外メディアは大々的に報道、日本のマスコミは全く取り上げず。〜

現在問題となっている尖閣諸島問題に対して渋谷で2600人がデモ行進を行ったのはご存じだろうか。
このことは日本よりも海外のメディアが大々的に報じておりなんと日本の地上波テレビニュースや
そのほかメディアでは全く取り上げられていない。

CNNのサイトでは「China accused of invading disputed islands」という見出しで取り上げており、
写真も掲載されている。日本では希にない大規模デモ。最近では外国人参政権反対デモなどが記憶に新しいだろうか。

実際にGoogleで検索してみても出てくるのはブログばかりでマスコミは一切出てこない。
デモ隊は「尖閣諸島は日本固有の領土です 中国の領海侵犯をゆるさない」や
「中国の圧力恫喝に屈した弱腰の民主党政府を許さない!」などと書かれたプラカードを手に持ち行進している。
中には英文に訳された物まである。

今回のデモ行進はマスコミだけでなく民主党側も華麗にスルーしそうだ。

http://getnews.jp/archives/79444
http://getnews.jp/img/archives/001586.jpg
http://getnews.jp/img/archives/002228.jpg
http://getnews.jp/img/archives/00391.jpg

Twitterのリツート数2600超え
http://topsy.com/getnews.jp/archives/79444
動画
http://www.youtube.com/watch?v=zrrYUDqrjbk
本スレ
携帯http://goo.gl/SESJ PChttp://goo.gl/w2ur
883Now_loading...774KB:2010/10/05(火) 16:15:39 ID:0KYhAytH
AS1.0です。
AS1.0で一枚絵を奥行きのあるようにする関数や方法は存在するでしょうか?
地面の絵を用意して低空飛行しているような感じにしたいのですが……。擬似3D?
分かる方がいたらお願いします。
884Now_loading...774KB:2010/10/05(火) 19:36:28 ID:M0bt5C5m
(AIR環境の)AS3です。
Loaderクラスのload()を使って外部swfを読み込み表示する場合には
LoaderのLoaderInfoのurlプロパティに読み込んだswfのURLがセット
されるわけですが、loadbytes()を使ってバイナリデータを格納した配列から
読み込んだらurlプロパティはセットされません。これは当たり前といえば
当たり前なんですが、その外部swfがmp3などをアセットとして参照している
場合には、アセットを読み込めなくなってしまうわけです。
さる理由でload()がつかいたくないんですが、loadbytes()を使うシチュエーションで
urlプロパティを自由に制御するようなテクニックって存在するもんでしょうか?
885Now_loading...774KB:2010/10/05(火) 22:15:35 ID:Qhyds+W8
AS3.0を始めたいのですが、flexの3と4はどちらをダウンロードすれば良いですか?
flex3でもAS3.0をサポートしてるようですが4のほうがいいのでしょうか?
886Now_loading...774KB:2010/10/05(火) 23:14:54 ID:RvGHwsny
Flex4でいいよ。
887Now_loading...774KB:2010/10/06(水) 00:47:20 ID:WF7kLs/2
ありがとう。4をインストールしました
888Now_loading...774KB:2010/10/06(水) 06:11:39 ID:zLH6mFBf
>>883
ASの前に日本語を学んでから来い
889Now_loading...774KB:2010/10/06(水) 08:41:42 ID:m2rJvlbb
>>888
レス厳しいな。
俺はAS2.0でZ軸を対数関数でとって奥行きを表現した(擬似3D)。
AS1.0で出来るかは不明。
890Now_loading...774KB:2010/10/06(水) 11:30:14 ID:38EgxsLk
要はSFCのマリオカートみたいなことしたかったんでしょう。
891Now_loading...774KB:2010/10/06(水) 13:22:58 ID:2113f96j
AS2です。
ボタンにしたテキストの、背景色と文字色のつけ方が知りたいです。
ボタンにしていないテキストだと、以下のコードで色が変わりましたが、
ins_memobtn.textColor = 0xff0000;
ins_memobtn.backgroundColor = 0x00ffff;
この「memobtn」というテキストをボタンにすると、色が変わらなくなります;
892Now_loading...774KB:2010/10/06(水) 14:33:08 ID:Eg28wsYG
Flash CS5、ActionScript3.0です。

DataGridコンポーネントで、
セルに入っているテキストの高さに応じて
各行の高さをそれぞれ変更させることは可能でしょうか?

CellRendererで定義してみてもなかなかうまくいきません・・・。
893Now_loading...774KB:2010/10/06(水) 14:43:54 ID:Eg28wsYG
>>891
textColor、backgroundColorプロパティは
TextFieldに対するプロパティなので
「ins_memobtn」がボタンシンボルになってしまうとそのスクリプトは機能しませんね

またスクリプトはボタンシンボルに対して投げかけても作動しないので、
どうしてもボタン内のテキストをスクリプトで制御したいのであれば、
ボタンはムービークリップシンボル「ins_memobtn」で構築して、
その中に配置したテキストのテキストボックスにインスタンス名「_textfiled」などを割り振って

ins_memobtn._textfield.textColor = 0xff0000;
ins_memobtn._textfield.backgroundColor = 0x00ffff;

と記述すれば、メインタイムラインから
ボタンクリップ内のテキストを操作できると思いますよ
894Now_loading...774KB:2010/10/06(水) 15:56:49 ID:gPuAyNT4
AS3.0で質問させてください。
初心者でVista、CS4使用しています。

ボタンのムービークリップにROLL_OVERとROLL_OUTの設定をして書き出しました。
マウスポインタを普通の速さでボタンの上を通過させると
正しく動作するのですが、
ものすごい速さで通過させると、ROLL_OUTが反応しない時があります。
記述は下記のような感じです。

btn01.addEventListener(MouseEvent.ROLL_OVER, btnOver);
function btnOver(evt:MouseEvent):void {
trace("hoge");
}
btn01.addEventListener(MouseEvent.ROLL_OUT, btnOut);
function btnOut(evt:MouseEvent):void {
trace("moge");
}

解決策ご存知でしたらよろしくお願いします。
895Now_loading...774KB:2010/10/06(水) 15:59:32 ID:QMA2SsiC
FlashCS5で作成したswfに画像ファイルを埋め込みたいと考えています。
画像をライブラリに登録する事によってswfファイルに画像ファイルを埋め込む事は出来ました
しかし、スクリプトでEmBedによって埋め込む事は出来ませんでした
コードでパスを指定して埋め込める方が自分のやろうとしている事に近いのですが
CS5上のアクションスクリプトでEmBedやそれ以外でもいいので
コード上でファイルを指定してファイルを埋め込む事は出来ませんか
896Now_loading...774KB:2010/10/06(水) 16:18:38 ID:Eg28wsYG
>>894

少なくともその記述とボタンの配置のみの環境では
反応漏れは確認できませんでした。
何か他のオブジェクトの挙動が
リスナー通知を上書きしちゃったりしてる可能性はないでしょうか?



>>895

EmbedコードはFlex用のコンパイラの仕様なので
デフォのFlashでは使えません。
Flashでの画像埋め込みはライブラリへの埋め込みが基本になっているようです。
897Now_loading...774KB:2010/10/06(水) 17:02:21 ID:gPuAyNT4
>>896
回答ありがとうございます。
実際はもう少しごちゃごちゃした記述をしているので
おっしゃるとおり何かが干渉しているのかもしれません。
一度シンプルにして構築しなおしてみます。
898Now_loading...774KB:2010/10/06(水) 21:52:05 ID:QMA2SsiC
>>896
ありがとうございます
とりあえずライブラリを使ってやりたいと思います
899Now_loading...774KB:2010/10/06(水) 22:14:22 ID:WF7kLs/2
ttp://wonderfl.net/c/yu6U
こんな感じのページは、何のツールで生成してるのですか?
900Now_loading...774KB:2010/10/07(木) 01:26:34 ID:b36cAP3O
そうめんっていうライブラリーだな
まあ下見てみてよ。
なんかドキュメント重くてごめん。貼れなかったけど。
http://www.project-nya.jp/modules/weblog/details.php?blog_id=1027
901Now_loading...774KB:2010/10/07(木) 18:37:42 ID:QIQ1lb6v
自分にはスレッドとか難しくて、まだ理解出来そうにないってのがわかりました。
教えてくださって、ありがとうございました
902Now_loading...774KB:2010/10/08(金) 14:09:53 ID:J73GPwIk
AS2.0で質問です

短形のMCが複数個あってMCが移動する際に、それらが絶対に重ならないようにしたいのですが
どうすればいいのでしょうか
903Now_loading...774KB:2010/10/08(金) 14:15:28 ID:fpHqw2ph
座標で衝突判定したらいいんじゃないの?
904Now_loading...774KB:2010/10/08(金) 16:46:00 ID:J73GPwIk
>>903
座標で判定くらいはなんとか取れるんですけど…
絶対に重ならないってのは短形が移動した時の話で
たとえばBは静止しててAが勢いよくBに激突した場合、Aは摩擦で止まってBが吹っ飛ぶ
みたいな物理演算をしたいのです。

onEnterFrame
//移動量
dx = 10
this._x += dx;
if(_root.B.hitTest(this._x+10,this._y,true)){
_root.B.dx = 5;
dx = 0;
}

こんな感じでやってます。実際には"B"が30個くらいあります

905Now_loading...774KB:2010/10/08(金) 16:47:01 ID:J73GPwIk
>>904の移動量dxはload内で行ったって事で
906Now_loading...774KB:2010/10/08(金) 16:57:58 ID:mP9fWHct
物理演算したいって、>>902と話がだいぶ変わってるけど・・・
Box2Dとかの物理演算ライブラリ使えば?
たいていはAS3用だけど、AS2用のもあるみたいだし
907Now_loading...774KB:2010/10/08(金) 17:06:04 ID:EedkAsa7
>>904
その衝突でAが止まるのは摩擦じゃなくて反作用があるからだぞ
素直に物理エンジン使っといた方がいいんじゃね
908Now_loading...774KB:2010/10/08(金) 17:16:52 ID:J73GPwIk
Fladeっての見つけましたけど英語ですか・・・
パンピーでも理解できそうなエンジンがあったら教えて下さいまし
909Now_loading...774KB:2010/10/08(金) 17:47:11 ID:J73GPwIk
エンジンとかマジ無理wwwwwwwwww
ジサクジエンでふっとばせ!みたいな対向衝突を拾って、
MC同士が重ならないように移動させたいだけなんですけど
910Now_loading...774KB:2010/10/08(金) 17:50:34 ID:fpHqw2ph
物理演算をするわけだから、物理的にどうなって欲しいとわからないと難しいのはしょうがないのだが。

あなたが書いてるA,Bの例だと足りない要素がある。
Aは何に対する摩擦なの?

 A  B
 ↓ ↓
 □ ○
~~~~~~~~~←C これの摩擦係数とかが必要になったりする

パンピーでもやりたいんだったら、最低限の事は覚えないと無理。
911Now_loading...774KB:2010/10/08(金) 17:58:37 ID:J73GPwIk
多分地面(C)です。摩擦の計算はお手本ページがあったので一応出来そうです

 A  B
→□ ○←
~~~~~~~~~C
こんな風にAとBがぶつかって、仮にAの方が強い(速さ×重さ)としたらBを
ふっ飛ばし、Aも多少なり反動を受けて後退・・・な感じです
912Now_loading...774KB:2010/10/08(金) 18:20:39 ID:fpHqw2ph
お手本があって、それがわかるんだったら、
衝突時の跳ね返り係数とかも理解できると思うんだが。

物理演算って基本的には初期値を与えたらあとは勝手にやってくれるモンだし。
913Now_loading...774KB:2010/10/08(金) 18:24:11 ID:J73GPwIk
と思ってFladeを開いてみたら知らない単語ばかり踊っていて断念しました。
てっきりfunctionに数値を入れるだけだと思ってたので
914Now_loading...774KB:2010/10/08(金) 20:07:50 ID:zUdtSz6e
「5005:バイトコード最適化中に不明なエラーが発生しました。」
てのが出て困ってる。
とあるサイトに
 このエラーはパブリッシュ時にFlashのコンパイラがメモリ不足になったときにでるエラーだそうです。
 このエラーを回避するには、Flashのコンパイラへのメモリ割り当てを増やす必要があります。
 〜(8)[変数名]ボックスに「JAVA_TOOL_OPTIONS」、[変数値]ボックスに「-Xmx256M」と入力します。
あって、試してみたけど、やっぱりだめみたい。
アドビには、5005エラーにつての記述が無いし
そもそもこのエラーがメモリ不足が原因かどうかの確証も無さそうなんだけど
誰かこのエラーについて詳しいかたいませんか?

915Now_loading...774KB:2010/10/08(金) 20:20:15 ID:fpHqw2ph
916Now_loading...774KB:2010/10/08(金) 20:35:30 ID:zUdtSz6e
申し訳ない、そのサイトもみて
asoファイル回りも試してみたんだ。
cs4だと、最適化の削除ができなったりしたんだけど
他の事は一通りためしてみたよ
917Now_loading...774KB:2010/10/08(金) 23:52:33 ID:J73GPwIk
もう物理演算は諦めました
今度は矩形をドラッグして動かせるようにして、他の矩形(静止状態)に
重なりそうになったら重ならないように退いてもらうってのを再現したいのですが
静止状態の矩形にどうASを書けばいいか分かりません。助けて下さい
_________
 ■   ■   |
  ■ |
    □ ■ |
   ■ |
------------------
白がドラッグ可能な矩形です。流石に隅っこまで追いやった場合は動かせない仕様
918Now_loading...774KB:2010/10/08(金) 23:57:35 ID:J73GPwIk
AAずれ過ぎワロタ
919Now_loading...774KB:2010/10/09(土) 00:19:33 ID:pHIUNCRE
ライブラリーを使えよ。
920Now_loading...774KB:2010/10/09(土) 00:24:43 ID:HCfydDuX
1.ドラッグしてる矩形の中心と、重なった矩形の中心を結ぶベクトルを計算
2.重なる矩形を1.のベクトルと180度反対の方向に移動させる
こんな感じ?
921Now_loading...774KB:2010/10/09(土) 00:29:01 ID:R19gHqpu
>>920
そんな感じです
反対の方向だと逆にめり込んでくるんじゃ……変な事言ってたらすいません
922Now_loading...774KB:2010/10/09(土) 07:57:44 ID:FYwzy2qO
ピアアシストネットワークを利用したアプリを作成しているのですが、
初回接続時に表示されるはずのピアアシストネットワークダイアログが表示されず、ピアアシストネットワーク機能を利用できません。

NetConnectionについてはいずれの環境でも接続に成功します。
また、GroupSpecifier.peerToPeerDisabledをtrueにすると、NetGroupの接続に成功します。

http://www.macromedia.com/support/documentation/jp/flashplayer/help/settings_manager09.html
↑の設定パネルで「常に許可」とすると、SafariでのみNetGroupの接続に成功します。
「常に確認」の場合は、いずれの環境でもダイアログが表示されずに「NetGroup.Connect.Rejected」のイベントになります。
923Now_loading...774KB:2010/10/09(土) 08:12:26 ID:FYwzy2qO
>922

おっと、途中で送信すいませんw

flex_sdk_4.1.0.16076でswfを作成してます。
$ mxmlc -target-player=10.1 hoge.mxml

ピアアシストネットワーク機能を利用したサンプルアプリなんかをコンパイルしても、
ピアアシストネットワークダイアログが表示されません。

このへんの謎をどなたかお願いします><
924Now_loading...774KB:2010/10/09(土) 12:32:33 ID:dEQsnrKu
AS2.0です。ドラッグされたmcのインスタンス名を取得する方法を教えてください。

var ff = new drag();
_root.attachMovie("mc_pic","mc_1", _root.getNextHighestDepth(), ff);
_root.attachMovie("mc_pic","mc_2", _root.getNextHighestDepth(), ff);

function drag() {
  this.onPress = function() {
    this.startDrag(false);
    //ここで ドラッグされたのが mc_1 か mc_2 か
    //わかるように thisから インスタンス名を取得したい
  };
}
925Now_loading...774KB:2010/10/09(土) 13:52:21 ID:dEQsnrKu
>924
this._name でいけました。お騒がせ。
926Now_loading...774KB:2010/10/09(土) 20:21:01 ID:FYwzy2qO
>922
謎が解けました。
playerglobalというのが10.1用ではなく、10.0用だったみたいです。
失礼しました。。。
927Now_loading...774KB:2010/10/09(土) 22:58:35 ID:rj/TuqOj
初心者質問ですみません。
FLASH CSで用意されているボタンやカラーピッカー等のUI部品をActionScript(とエディタ)のみで用意することはできるんでしょうか?
928Now_loading...774KB:2010/10/10(日) 07:19:19 ID:zyprj24I
自分で作るしかない
929Now_loading...774KB:2010/10/10(日) 09:28:34 ID:jj6rModc
お絵かきツールを作ろうと思っています。
MinimalCompsのColorChooserで色を選択することで


private function onMouseMove(event:MouseEvent):void
{
graphics.lineStyle(4.0, 0x0);
graphics.moveTo(prev.x, prev.y);
graphics.lineTo(mouseX, mouseY);

prev.x = mouseX;
prev.y = mouseY;
}
 
ここの線の色を変えたいのですが、



private function onChange(event:Event):void
{
trace(event.currentTarget) // [object ColorChooser]
var color:ColorChooser = event.currentTarget as ColorChooser;
trace(color.value.toString(16).toUpperCase()); // 色(16進数で表示される)

}

ここの部分にどう書けば変えられるのでしょうか?
930Now_loading...774KB:2010/10/10(日) 10:37:30 ID:zyprj24I
http://wonderfl.net/c/4jHe
参考にしてね
931Now_loading...774KB:2010/10/10(日) 10:43:27 ID:zyprj24I
932Now_loading...774KB:2010/10/10(日) 17:37:50 ID:fe6GDn+R
// --------------------------------------------------
//
// Test ...............: One snapshot per second
// Media ..............: any
// Content ............: any
//
// This test script exemplifies the code structure
// of an automated test.
// It takes one snapshot of the complete device
// screen every second. One way to do so is the
// use of setInterval().
//
// --------------------------------------------------
933929:2010/10/11(月) 01:45:35 ID:o4uLrLnF
できました…。
はー長かった。
どうもでした。後は画像の保存だー。
934Now_loading...774KB:2010/10/12(火) 13:15:58 ID:X2LKnJm2
すみません。RemoteObjectについて質問させて下さい。
Flex Builder3にて

_service = new RemoteObject("test");
_service.endpoint = 'http://******/';
_service.source= "HelloWorld";
_service.showBusyCursor = true;
_service.echoHelloWorld.addEventListener(FaultEvent.FAULT, faultHandler);
_service.echoHelloWorld.addEventListener(ResultEvent.RESULT, resultHandler);
_service.echoHelloWorld();

という処理を実装し、サーバ上に実装したHelloWorldクラスの
echoHelloWorldメソッドを呼び出しているのですが、良く分からない点が2点あります。

1. 上記スクリプトを実行すると、処理自体は実行されるものの
 ブラウザのステータスバー欄に「応答を待っています」の文字が表示され、ずっと消えない。

2. 1番に関連しているのかも分かりませんがBUSYカーソルがBUSYのままです。
 resultHandler内で明示的に falseに設定しないとダメでしょうか?

ご教示頂けますと幸いですm(_ _)m
935Now_loading...774KB:2010/10/12(火) 14:24:09 ID:3owaR6yI
>1. 上記スクリプトを実行すると、処理自体は実行されるものの
> ブラウザのステータスバー欄に「応答を待っています」の文字が表示され、ずっと消えない。
2のせい

>2. 1番に関連しているのかも分かりませんがBUSYカーソルがBUSYのままです。
> resultHandler内で明示的に falseに設定しないとダメでしょうか?
ダメ。
936Now_loading...774KB:2010/10/12(火) 14:41:07 ID:fdeuLwkL
教えてください。AS2.0です。
ダイナミックテキストの文字を選択した状態にしたいのですが
方法がわかりません。

ダイナミックテキストのインスタンス名を text_1 として、
setForcus(text_1); としても
text_1.setForcus(); としても 特に画面に変化はないです。
そもそも setForcus()では 選択状態にならない気もします。
よろしくお願いします。
937Now_loading...774KB:2010/10/12(火) 14:58:04 ID:3owaR6yI
>>935の補足
> resultHandler内で明示的に falseに設定しないとダメでしょうか?
resultHandlerだけじゃなく、faultHandlerでもやらないとだめ。
938Now_loading...774KB:2010/10/13(水) 13:30:00 ID:YMlUUGpg
ものすごーく基本的な部分だと思うのですが、質問させてください!
Flexにて、メインのmxmlの初期化関数の中で下記ソースを書いたのですが
画面に表示されません。こちら、どのような原因なのでしょうか。。
初歩的すぎて大変恐縮ですがよろしくお願い申し上げます。

var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xFF0000);
mc.graphics.drawRect(0, 0, 100, 80);
mc.graphics.endFill();
mc.x = 80;
mc.y = 60;
addChild(mc);
939Now_loading...774KB:2010/10/13(水) 17:34:28 ID:78DABcxi
>>938
mc.width=100;
mc.height=100
を入れるとか?
940Now_loading...774KB:2010/10/13(水) 22:22:25 ID:J9jafZYr
>>938
UIComponentのサブクラスじゃないクラスをFlexコンテナに入れる場合、
UIComponentでラップしてやらなくちゃ駄目。

var uc:UIComponent = new UIComponent();
uc.addChild(mc);

addChild(uc); //Flex3
addElement(uc); //Flex4
941Now_loading...774KB:2010/10/14(木) 21:17:50 ID:kV+okh4L
AS3で読み込んだXMLファイルの「内部実体」は使えませんか?
<!ENTITY PATH "image/a/">で&PATH;を文字列に置換するやつです。
traceすると「& PATH;」となるのですが
942941:2010/10/14(木) 21:19:58 ID:kV+okh4L
って、3行目のPATHの前のampが消えてる
943Now_loading...774KB:2010/10/16(土) 17:00:31 ID:hVmuZ35O
質問です。失礼します。

removeChildをしたときに、Event.REMOVE_FROM_STAGEで指定した
関数が実行されるというのを聞きました。
そこで、
removeChildメソッド

Event.REMOVE_FROM_STAGEで指定したメソッド

TimerEvent.TIMERで指定したメソッドで、ステージから消えるエフェクト

全てのイベントリスナー、オブジェクトの消去

ステージから全消去

というようなことをしたいのですが、TimerEventが思うように
実行されないようです。


  removeChild(オブジェクト名);

の表記だけで、
TimerEventを実行するのは可能でしょうか?
944Now_loading...774KB:2010/10/16(土) 20:10:16 ID:CKHWJW7p
function Check():Boolean{
 var unitok:Boolean = true;

 for(i = 0; i < 10; i++;){
  for(k = 0; k < 10; k++){
   if(myArray[i][j] && myArray2[i][j]){  unitok = false;};
   };
 };

};

var listCheck:Boolean = false;

listCheck = Check();

みたいな感じに書いたんですが、「条件は未定義であり、プロパティがありません」と出ます。
指摘されているのは"Check()"なのですが、いくら見直してもミスらしいミスが見つかりません。
で、何より恐ろしいのが上書き保存をした後だと一回だけ正常に動作する事。
これって関連する変数のどれかが正常に初期化されてないって事ですかね?
945944:2010/10/16(土) 20:11:34 ID:CKHWJW7p
あ、すみません。実際のCheck関数の最後には

return unitok;

がついてます。入れ忘れてました。
946Now_loading...774KB:2010/10/16(土) 20:17:32 ID:GNkENfQL
for(var i:int = 0; i < 10; i++) {...}
じゃね?
あと i++; とか }; のセミコロンがすっごい余計
947944:2010/10/16(土) 20:48:45 ID:CKHWJW7p
たびたびすみません。自己解決しました。
どうも配列の外側を参照していたらしくて、それで未定義とか出てたみたいです。

>>946
i++;は誤記です。
};はC言語のクセで、ついてないと落ち着かないので・・・
948Now_loading...774KB:2010/10/17(日) 01:03:45 ID:28xwweJO
>>943
removeChildした時点でステージから消えるので、Timerでエフェクト掛けたいなら、
エフェクトスタート→エフェクト終了時にremoveChild、という流れにしないとだめだと思う
949Now_loading...774KB:2010/10/17(日) 20:09:33 ID:lSnstp8W
moveToで移動した場所は取得できるんでしょうか
自分で保存しないとダメ?
950Now_loading...774KB:2010/10/19(火) 10:46:16 ID:5x4ErHf2
AS3/FlashCS5

Mainのクラスに
public var kekka:String;
public function Main()
{
var keisanki:MovieClip = new Keisanki();
stage.addChild(keisanki);
}
と書いてFlashのライブラリにあるリンケージした計算機MCをaddChildしました。
計算機MCのクラスには計算機の機能を一通り作ってあります。
計算機として問題なく動いているのですが、
計算機MCのイコールボタンを押したときに
計算機MCの計算結果を表示してあるテキストフィールドの文字列を
stage.kekka = display.text;
と書いてMainクラスのkekkaに入れようとしたのですが、
コンパイルエラーがでてしまいます。
1119: 未定義である可能性が高いプロパティ kekka に静的型 flash.display:DisplayObject の参照を使用してアクセスしています。

リンケージしたMCのクラスから、Mainクラスの変数を使うにはどうすればいいのでしょうか。
951950:2010/10/19(火) 11:58:03 ID:5x4ErHf2
すいません今気づきました。
計算機MCクラスに引数で渡せばいいだけだったんですね。
952Now_loading...774KB:2010/10/19(火) 14:05:27 ID:auIFTQ4c
>>951
その解釈はおかしい。
動けばOKであればそれでいいけど。

>var keisanki:MovieClip = new Keisanki();
keisankiはMovieClipとして、宣言してあって、
MovieClipには、kekkaと言うプロパティは無いから
>1119: 未定義である可能性が高いプロパティ kekka に静的型 flash.display:DisplayObject の参照を使用してアクセスしています。
このようなエラーが出ている。
953Now_loading...774KB:2010/10/19(火) 14:39:45 ID:bcofFJ0G
>stage.kekka = display.text;
stageにkekkaというプロパティがないって言われてるんじゃないのか
kakkaそのままとかthis.kekkaでアクセスすればいいと思うけど
954Now_loading...774KB:2010/10/19(火) 15:22:42 ID:mKMf4QqU
>>950
Mainクラスにある
public var kekka:String; を
public static var kekka:String; にすれば
Main.kekkaでアクセスできると思うけど。

そもそもMainクラスにあるプロパティにどうしてstage.kekkaでアクセス
できると思ったのかが意味不明。

>>953
外部クラスからのアクセスなんだからthisじゃ参照できないよ。
955943:2010/10/19(火) 16:12:31 ID:p/nbz0wI
>>948

ありがとうございます!
ああ、やっぱりそうなりますか……。

removeChildだけでいけたら
ソースが綺麗になるなと思っていたのですが……。

956Now_loading...774KB:2010/10/20(水) 00:27:26 ID:qkw3nAFM
ものすごく初歩的なことだと思うのですが
CS5体験版を入れてActionScript3.0 クラスというのを選んで起動したのですが
これを実行するにはどうすれば良いのでしょうか
メニューのデバッグには「ムービーをデバッグ」とかいうのしかないし
デバッグコンソールの▼みたいなボタンは無効だし

もしかして、.flaのプロジェクトじゃないと実行は無理ですか?

コード
package {
public class Main {
public function Main() {trace("hello world"); }
}
}
957Now_loading...774KB:2010/10/20(水) 01:19:42 ID:qkw3nAFM
956ですが自己解決。flaとセットじゃないとダメってことですね
958Now_loading...774KB:2010/10/20(水) 13:42:50 ID:zWdQmAox
FlashCS4(AS3,Player10)WinXP-ProでXMLの扱いを勉強していますが、名前空間(Namespace)を
使った要素の値参照で困っています。 ※下は使用したXMLです(すいません全部記載します)
var klmObj:XML = <topNS:kml xmlns:topNS="http://com/kml/2.2">
<?xml version="1.0" encoding="UTF-8"?>
<topNS:Document xmlns:docNS="http://com/kml/docNS">
<docNS:Placemark placeNS:idx="0" xmlns:placeNS="http://com/kml/placeNS0">
<placeNS:name>名前0</placeNS:name>
<placeNS:description>詳細1</placeNS:description>
<placeNS:Point sub="0123">
<coordinates>118.169172,30.0547,436.3</coordinates>
</placeNS:Point>
</docNS:Placemark>
<docNS:Placemark placeNS:idx="1" xmlns:placeNS="http://com/kml/placeNS1">
<placeNS:name>名前1</placeNS:name>
<placeNS:description>詳細1</placeNS:description>
<placeNS:Point sub="1234">
<coordinates>118.169172,30.054,436.3</coordinates>
</placeNS:Point>
</docNS:Placemark>
</topNS:Document>
</topNS:kml>;

ここで、var placeNS:Namespace = klmObj..docNS::Placemark[0].namespace("placeNS");
とすれば(上から辿る形にすれば)、下の2つはOKです。
trace("idx= "+klmObj..@placeNS::idx);// 0 が出る
trace("name= "+klmObj..placeNS::name);// 名前0 が出る

しかし、要素の値を名前空間を直接指定して参照しようとしましたが何も出ません。つまり、
var placeNS_:Namespace = new Namespace("placeNS", "http://com/kml/placeNS0");
trace("name_= "+klmObj..placeNS_::name);// 何も出ない

このように、上から辿る形でなく直接参照することは不可なのでしょうか?
959Now_loading...774KB:2010/10/20(水) 15:24:30 ID:FmGF/v3R
mc.constructorを使ってmcを動的生成した時に、
mc2.txt=""みたいな感じで動的生成したmcの中身にアクセスすると
"未定義"のエラーがでます。
フレームを変えてアクセスするとうまくいくのですが、同じフレームで対処する方法はありますか?
960Now_loading...774KB:2010/10/20(水) 15:40:20 ID:muF7TSQL
AS2のやりかただっけ?
961Now_loading...774KB:2010/10/20(水) 15:43:59 ID:FmGF/v3R
すいません、AC3です
962Now_loading...774KB:2010/10/20(水) 16:49:20 ID:muF7TSQL
AC3 アーマークラス 3ということは、まだ装備がそろってないって事か。

AS3では、constructorの返値ってClassじゃないっけ。
フレーム変わるとアクセスできるのが不思議な感じがするが、
ダイナミックプロパティなんだろうか?
963light:2010/10/20(水) 17:15:53 ID:iQJlb5m5
いまFlash CS4 ゲーム制作教科書という本で神経衰弱のゲームを作成しているのですがエラーが出てしまい進まなくなっています。解決策を教えてください。
エラーが出る文章は↓

addEventListener(MouseEvent.CLICK,Change_Card);

function Change_Card(event:MouseEvent):void{
var click_Name:String = parent.name; //trase ( "click_Name= " +click_Name);
Object(root).click_Card( click_Name);
Object(root).gotoAndPlay("omote"); //Object(parent)
}

でムービーに変換して実行すると
TypeError: Error #1006: click_Card は関数ではありません。
at _fla::Back_Card0_2/Change_Card()

と出てしまいます。
どこがエラーになってる原因なのでしょうか…?

964Now_loading...774KB:2010/10/20(水) 18:18:27 ID:eOto7fzO
test
965Now_loading...774KB:2010/10/20(水) 21:04:32 ID:dKopR9IU
>>958
XMLに特に詳しくもないんで的外れだったらゴメンだけど、

>var placeNS_:Namespace = new Namespace("placeNS", "http://com/kml/placeNS0");

これって新たに別のNamespaceオブジェクト作ってるだけであって、klmObjとは全く関係ないオブジェクトじゃないの?
ここからklmObjの情報が取れるとはちょっと思えないんだが
966Now_loading...774KB:2010/10/21(木) 08:02:57 ID:U/xnH6ZN
AS3、FlashDevelopで開発中の者です。

マスクについて質問をさせてください。

一方がマスクとなってもう一方を切り取りとるような、2つのオブジェクトがある場合、
その2つのオブジェクトに対して、更にマスクをかける方法はあるでしょうか?


具体的な話をすると、
文字の形の図形の色をFlash上で変更できるようなシステムを作っていて、

colorChar   → Sprite型から継承したクラスのオブジェクト。
charMask    → colorChar内、Loader型のオブジェクト。文字の形の画像をcolorFieldのマスクにする。
colorField   → colorChar内、Sprite型のオブジェクト。色のついた面。この図形の色を変えることで、文字の色が変わる

というような形で実装しています。
その色のついた文字をいくつか使って、枠の中に配置していこうとしています。
枠というのはSprite型で作った長方形で、そこと重なっている部分だけ、
文字を表示したいのです。

そこでマスクをかけようとしたのですが、上手くいきませんでした。
マスクとして使用されているcharMaskや、
すでにマスクをかけられているcolorFieldにマスクをかけられないのは
想定通りでしたが、
その2つを内包するcolorCharにもマスクがかけられませんでした。
そういうものなのでしょうか?

何らかの解決方法をご存知の方、よろしくお願いします。
967Now_loading...774KB:2010/10/21(木) 16:08:42 ID:ZGN/4HED
AS2.0で ドラッグできるMCの上に 何もできないMCを重ねて隠してるのですが
下に隠してあるMCをドラッグできてしまいます。
ドラッグできなくするにはどうしたらよいでしょうか。
968Now_loading...774KB:2010/10/21(木) 16:53:13 ID:mp7rzkMN
>>296
やり方違うけど、BitmapAssetでPNG画像読み込んで、
PNGの透過部分で画像をマスクしたときは、4枚ぐらい重ねたけど問題なく出来た。
969Now_loading...774KB:2010/10/21(木) 17:39:01 ID:M7WoBnDC
>>967
MC.enabled=false
970967:2010/10/21(木) 17:48:37 ID:ZGN/4HED
ありがとうやってみます。
対象がいっぱいあるので 一段階別のMCに入れた方がよさそうですね。
971Now_loading...774KB:2010/10/21(木) 17:51:57 ID:mp7rzkMN
>>968 の安価は >>296じゃなくて>>966 でした。
972967:2010/10/21(木) 18:50:03 ID:ZGN/4HED
enabledでできましたが
空MC
 ├ ドラッグできるMC1
 ├ ドラッグできるMC2
 ├ ドラッグできるMC3
にして
空MC.enabled=false;
で 1〜3も使えなくなるようにできれば、と思ったのですができないようです。
1個づつenabledを変更するしか手はないのでしょうか。
973Now_loading...774KB:2010/10/21(木) 19:06:03 ID:M7WoBnDC
>>972
空MCにonPressとかのイベント(アクションは未定義でオッケ)を定義しておけば、
下のイベントは拾わなくなる

forループなどを使えば、一斉に変更するのはそれほど手間じゃないと思う
974Now_loading...774KB:2010/10/21(木) 20:32:55 ID:0FXOXJ5V
AS2.0でアクションゲームを作成しようとしています。
壁を作るにあたって、ムービークリップ同士の衝突判定をしようとhitTestで判定を行おうとしているのですが、
プレビューをしてみたところ判定が行われず、壁のムービークリップをすり抜けてしまう状態です。
判定部分は以下になります。

if (this.hitTest(_root.hero.getBounds(_root).xMax, _root.hero._y, true)) {
this._x -= 5;
}
if (this.hitTest(_root.hero.getBounds(_root).xMin, _root.hero_y, true)) {
this._x += 5;
}
if (this.hitTest(_root.hero._x, _root.hero.getBounds(_root).yMax, true)) {
this._y -= 5;
}
if (this.hitTest(_root.hero._x, _root.hero.getBounds(_root).yMin, true)) {
this._y += 5;
}

※hero=キャラクターのムービークリップ名

問題点等ありましたらご指摘よろしくお願いいたします。
975967,972:2010/10/21(木) 20:55:53 ID:ZGN/4HED
ということは 上に重ねるMCに
onPressイベントを定義しておけばいけそうですね。
やってみます。ありがとうございました。
976Now_loading...774KB:2010/10/22(金) 00:13:13 ID:WR2g1UAq
>>974
なんかよくわからんのだけど
thisは何なの?
heroがthisならこれ壁が出てきてないじゃないか

if(hero.hitTest(壁MC)){
方向転換処理
}
見たいな感じにするんじゃないかな?
977958:2010/10/22(金) 02:06:17 ID:i3N+ngFS
>>965
レスさんきゅう!
確かに、対象全体のXMLオブジェクトのklmObjと関連付ける記述が無いですよね。

とりあえず、楽しようとせずに klmObj..placeNS::[要素とか] の形式で書きます。
978Now_loading...774KB:2010/10/22(金) 04:48:51 ID:5b0lO25L
環境:CS4,WinXP,AS3(またはAS2),Player10

随時変化するグラデーション背景を持つ親SWFに子SWFを読み込ませようとしていますが、
親子間で背景が一致せず悩んでいます。 ※常に子のステージの色があるため

理想的には、子SWFが透過GIFのように絵柄(MC)だけだったり、AIRの透明ウィンドウアプリケーション
のようにして親に読み込ませることです。

特にAS3には拘りません(AS2は「ある意味」自由度が大きいですしw)
よろしく願います。
979978:2010/10/22(金) 05:13:02 ID:5b0lO25L
(上の補足)
開発環境もFlashCS4に拘りません(Flexとか)。Player10.1でも実現可能なら導入します。
980Now_loading...774KB:2010/10/22(金) 10:22:18 ID:507scNeO
>>978
子swfのオブジェクトが何もない部分は普通に透過するとおもうけど。AS2だけど
AS3だと透過しないのか??

俺何か読み間違いしてる?
981974:2010/10/22(金) 10:29:22 ID:o5tZ+nmQ
>>976
レスありがとうございます。
thisは壁のムービークリップになります。
上記のソースは壁のムービークリップに持たせてあります。
説明不足で申し訳ありませんでした。

下記URLに問題をまとめた画像を用意しました。
ご覧いただければと思います。
http://www1.axfc.net/uploader/Img/so/98162
982Now_loading...774KB:2010/10/22(金) 12:53:10 ID:507scNeO
>>981
heroはどういう風に動いてんの
>>974の部分だけ和訳すると
壁とheroの右端の一点が重なったとき壁を横にー5動かす
壁とheroの左端の一点が重なったとき壁を横に+5動かす
壁とheroの下端の一点が重なったとき壁を縦に+5動かす
壁とheroの上端の一点が重なったとき壁を縦にー5動かす
になる
一切heroに指示出してないんだけど
heroの向きを変えたいんじゃないの?
983978:2010/10/22(金) 20:12:51 ID:I5++075G
>>980
すいません。検証不足でした。
確かに子SWFの背景は透明になります。
984Now_loading...774KB:2010/10/23(土) 00:40:08 ID:vVi2A2ii
AS2.0で質問です

root上に400*300の親MCを設置(手動)して、rootのフレームからさっきのMC内に
20*196くらいの子MCをattachMovieで縦に40個くらい呼び出した後、
親MC内でtrace(this._height)とやると400と出てしまいます。
縦幅20の子MCが縦に40個の場合ですので800という値が欲しいのですが、
どうすればよいのでしょうか。ちなみに無理やり_height=800と
記述すると親MCが正規の縦幅で表示されなくなります。(縦に伸びた感じ?)
985Now_loading...774KB:2010/10/23(土) 00:54:31 ID:jcNzJsRE
親のmcでthis.heightやってるんだから、親=thisで親のheightが表示されている=400で正しいわけだが。
986Now_loading...774KB:2010/10/23(土) 01:17:30 ID:4qgUJuXw
えぇ?そうかぁ?
ちょっと今、親よりでかい子1個で実験したら
子MCの_heightが返ってきたんだけど?
>>984
traceするタイミングか場所間違えてない?
てか俺がなにかまちがえてるのかなぁ?w

とりあえずもう寝ます。また明日
987Now_loading...774KB:2010/10/23(土) 01:18:26 ID:YTff8VPR
>>984
_root.親MC._heightで、求める高さが出るよ
988Now_loading...774KB:2010/10/23(土) 06:44:57 ID:1eoNlHd8
AS3のWinXP(FlashCS4)です。

SWFが再生されたとき、それが「ブラウザか何かに埋め込まれている」か
「単独(スタンドアローン)か」をASで判別する術はありますか?
989Now_loading...774KB:2010/10/23(土) 16:58:18 ID:uyYxp6hb
>>988
flash.system.Capabilites.playerType

あとはjavascriptオン前提で環境が限られるけどExternalInterface使ってブラウザかそれ以外かを判別かな
990Now_loading...774KB:2010/10/23(土) 17:01:42 ID:uyYxp6hb
>>988
ああ…タイプミスすみません↓が正しいです
flash.system.Capabilities.playerType
991Now_loading...774KB:2010/10/23(土) 17:09:55 ID:vVi2A2ii
>>985-987
1フレームしか使ってないのでタイミングとかは平気だと思います。
もしかしてMC内からのtrace(_height)とルート上からtrace(親mc._height)って
値が違うなんてあります?
992Now_loading...774KB:2010/10/23(土) 17:25:27 ID:97+3rjer
trace(this._height)だとthisを間違えてる場合正しい答えにならんから
trace(親mc._height)で確認できるってことでしょ
とりあえずやってみそ
値が違う場合はthisが親mcでなかったってことで
993Now_loading...774KB:2010/10/23(土) 17:36:43 ID:uyYxp6hb
>>991
ルートに400×300ピクセルのインスタンスpMCを配置
高さ20ピクセルのcMC(識別子cMC)をシンボルで作成

for(i=0; i<40; i++){
MC = pMC.attachMovie('cMC', 'cMC'+i, i);
MC._y = i*20;
}
trace(pMC._height)

これでちゃんと800がトレースされるはず
パスか、座標か何か間違えてると思います
994Now_loading...774KB:2010/10/23(土) 17:46:40 ID:uyYxp6hb
追記
1フレームしか使ってないということですが
ちゃんとattachMovieが終わった後にトレースするようになってますか?
ルートのタイムラインやムービー内のタイムラインに分散してスクリプトを書くような場合は、
レイヤーの読み込み順や処理順をきちんと考慮しないと期待する値が返ってこない場合があります
995Now_loading...774KB:2010/10/23(土) 19:35:02 ID:2yuPMWuR
javaスクリプトで応答信号を作っておくとか?
996988:2010/10/23(土) 19:49:54 ID:8Wazg/Wz
>>990
なるほど。Playerのタイプで判別でつね。



あと、どなたか次スレ準備願います。
997Now_loading...774KB:2010/10/24(日) 12:42:20 ID:aGV7pB0h
建てました

ActionScript 誰かが物凄い勢いで解答するスレ27
http://hibari.2ch.net/test/read.cgi/swf/1287891645/
998Now_loading...774KB:2010/10/24(日) 14:38:01 ID:yQh4M9eM
>>997
Thx
999Now_loading...774KB:2010/10/24(日) 20:44:33 ID:/c1FxQjv
ume
1000Now_loading...774KB:2010/10/24(日) 20:46:15 ID:/c1FxQjv
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。