[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/29 17:01 / Filesize : 316 KB / Number-of Response : 902
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:Now_loading...774KB [2008/07/08(火) 15:08:44 ID:37ODdv7N]
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

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

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 19
pc11.2ch.net/test/read.cgi/swf/1205361771/
関連スレ
Flashの超基本的な質問はここでしろ! part37
pc11.2ch.net/test/read.cgi/swf/1202144062/l50
Flash製作初心者の質問スレッド レイヤー38
pc11.2ch.net/test/read.cgi/swf/1202151748/l50

521 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 19:29:35 ID:Li8Y4T1n]
スコープでブレースを使う多くの言語の中で、改行を推奨する言語なんてAS以外にあるっけ?

522 名前:223.4.100.220.dy.bbexcite.jp mailto:sage [2008/09/10(水) 19:48:16 ID:uNHkqmF5]
最近の Microsoft の規約は大体そうでしょ
何故そこだけ Sun Java 的にならなかったのか謎だけど

523 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 19:51:14 ID:f39TfBvC]
>>520
あーそんな深い意味で言った訳じゃ無いんだけど、>>521が言うようなプログラミング業界(?)全体的な意味でw
この改行すんごい違和感あるんだけど、改行するメリットって見やすさかしら

524 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 20:03:15 ID:AJTMLu9R]
なんだろね?ブロックを把握しやすくするとかかね?

525 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 20:09:56 ID:e6nacen+]
慣れなんだろうけど、昔からこの書き方違和感あって読み辛いし馴染めなかったなあ


526 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 20:48:37 ID:McByLcsR]
改行を好む人と好まない人がいるよね。

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

// comments
trace(i);
}

こう書く人と

for (var i = 0; i < 10; i++) {
// comments
trace(i);
}

こう書く人がいるのね。規約に従うと万人がこうなって、
コミット時に精神衛生上よろしくなりました。

for (var i = 0; i < 10; i++)
{
// comments
trace(i);
}



527 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 21:02:16 ID:f39TfBvC]
>>526
おぉ〜かなり納得できる理由だっ! ちょっと規約に従う気になれました。

528 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 22:23:28 ID:lqrF0YFV]
>>515
TextFieldの画像表示でハマッてました・・・
解決したけど、画像なら素直にnavigateToURLの方がいいかな?

private var url:String;

private function imageClickHandler(e:MouseEvent):void
{
if (url != null)
{
var request:URLRequest = new URLRequest(url);
navigateToURL(request, "_blank");
}
}

private function urlLoadCompleteHandler(e:Event):void
{
FlashConnect.trace("urlLoadComp");
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
url = vars.url0;
}

529 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 01:03:47 ID:r5skrcaQ]
AS3で、MovieClipやSpriteのオブジェクトの「中心点」を操作できるプロパティってありますか?
Livedocで調べたりしてみたんですがそれっぽいのが見つかりませんでした
今は以下のように中心を計算して操作してるんですが、書いてたらそれ用のプロパティがあるような気がしてきて・・・

var xx:Number = stage.stageWidth / 2;
var yy:Number = stage.stageHeight / 2;
var mm:MovieClip = new MovieClip();
mm.x = xx - (mm.width / 2);
mm.y = yy - (mm.height / 2);
addChild(mm);




530 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 06:29:16 ID:13AYJM+Q]
画像を外部から読み込んでいるフラッシュがあるのですが、
特定の日付以降になると、その日付のファイル名の画像ととりかえたいのです。

531 名前:530 mailto:sage [2008/09/11(木) 06:39:58 ID:13AYJM+Q]
途中送信してしまった…
たとえば、8月12日までは main.loadMovie(image/0711.png)
8月13日になったら main.loadMovie(image/0813.png)にきりかわるようにしたいのです。

月と日付を取得してそれを以下ので4桁にして、
today = ("0"+mm).substr(0, 2)+("0"+dd).substr(0, 2);

0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
todayよりその数字が大きくなったら、その部分を取り替えて新しい日付の画像を読み込ませたいのですが、if文がよくわからなくなってしまいました。
お手数おかけしますが、よろしければご教授ください。


532 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 07:21:27 ID:tcBQ2exE]
>>531
日付の比較はDate自体ですればいんじゃないかな
var targetDate:Date = new Date(2008,9-1,12);
var today:Date = new Date();
trace(targetDate < today);

533 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 07:24:23 ID:tcBQ2exE]
あ、こっちだなw
trace(targetDate.getTime( )<today.getTime());

534 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 15:26:55 ID:eKrSoIzd]
>>531
あなたの書いた文だとよくわからんところがあるが

>0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
この0123とか0222は、それぞれ1月23日、2月22日ってことかな?
で、今日が1月30日だとすると、0123.pngを表示したいってことだよね?
ま、そうだと仮定すると、こんな感じかなぁ

var dtArr:Array = [ "0123", "0222", "0309", ...];
var today:Date = new Date;
var result:String = "";
for each( var dtStr:String in dtArr ) {
    var showDate:Date = DateField.stringToDate( dtStr, "MMDD" );
    if ( showDate.getTime() < today.getTime() ) {
        result = dtStr;
    } else {
        break;
    }
}
trace ( "result:" + result );


535 名前:Now_loading...774KB [2008/09/11(木) 15:46:35 ID:eKrSoIzd]
ちゃんと実行してみたら、まちがってた・・・・。
正しくは

var today:Date = new Date;
var result:String = "";
var fm:DateFormatter = new DateFormatter();
fm.formatString = "YY";
for each( var dtStr:String in dtArr ) {
    var showDate:Date = DateField.stringToDate( fm.format(today)+dtStr, "YYMMDD" );
    trace( fm.format( showDate ) + " " + fm.format( today ) );
    if ( showDate.getTime() < today.getTime() ) {
        result = dtStr;
    } else {
        break;
    }
}


536 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 18:23:58 ID:vCS/oIpm]
初歩的な質問ですが、下のような記述はやってもいいのでしょうか

if(A && B || C)
{

}

これだと、条件が「AかつB、または、C」なのか「A、かつ、BまたはC」なのか定まらない気がします…。説明が下手ですいません。
ちなみにAS1.0です。

537 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 18:40:15 ID:Bo2l1Y+f]
>>536
定まらないってことはないです。
それだけの事をなぜ試してみないのでしょうか。
また、なんでそれをやりたいのか理解に苦しみます。


538 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 19:08:32 ID:5JiCGQfN]
>>536
普通のプログラミング言語なら,演算子には
優先順位と(同一順位での)実行順序が決められています。
必ず結果は一意に定まります。

539 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 19:09:05 ID:ucNAtdoc]
>>536
演算子には優先順位や結合性といった規則があります。
これは、異なる演算子が同時に表記されたときに、どのような順番で実行されるのかを決めるものです。
例えば 5 + 3 * 6 という式ではまず 3 * 6 を実行しますよね?
これは+よりも*の方が優先順位が高いからなのです。

この優先順位は全ての演算子に決められていて、&&と||の場合は&&の方が優先順位が高いことになっています。
(詳しくはリファレンスを読めば載ってる・・・・はず)

よって A && B || C と書いた場合は必ずA&&Bが先に評価され、
> AかつB、または、C
となります。

というわけでそのような記述はして構いません。
ただ、慣れないうちは括弧をつけた方がわかりやすいかもしれませんね。
Ex. if( (A && B) || C )



540 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 20:37:29 ID:Xp0IiQNA]
AS3の質問です。

ドキュメントクラスので宣言したオブジェクトに
メインのタイムラインからならアクセスできると思うんですけど
メインタイムラインにインスタンス名をつけて設置したムービークリップからは
どうやってアクセスするんですか?

そのムービークリップの1フレーム目にキーフレームをセットして
アクションにroot.hoge.func();ってやってもアクセスできないです。

rootってドキュメントクラスとは違うんですか?

541 名前:Now_loading...774KB mailto:sage [2008/09/11(木) 22:10:18 ID:DWF+Q7IN]
AS3で質問です。
あるswfファイルから他所のswfファイルを呼び出すとき

test.swf?param=abc

みたいに、GETパラメータみたいにデータを渡す事って可能ですか?
それとも もっと良い方があるのでしょうか?

542 名前:536 mailto:sage [2008/09/11(木) 22:38:08 ID:vCS/oIpm]
>>537
確かに、試せば済む事でした。すいませんでした。

>>538 >>539
なるほど、優先順位という物があるんですね。分かりやすく説明していただきありがとうございます。

543 名前:540 mailto:age [2008/09/12(金) 00:27:12 ID:K/AgP6Fb]
すみませんスルーしてください。
rootはドキュメントクラスでした。

544 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 01:30:03 ID:Gp7WZnSK]
>>541
可能です。
LoaderInfo.parameters
あたりでググってみてください。

545 名前:Now_loading...774KB [2008/09/12(金) 06:22:50 ID:44hRgaAX]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

Matrixクラスで質問です。

インスタンスを傾斜を加えながら回転させるため、Matrixクラスの変換機能を使う
ことにしました。
ここで参考にしたサイトは、ttp://www.flashiroha.com/script/matrix/as68.html
なのですが、Flash8-Proのヘルプと照らし合わせたところ不明な点が浮かんだの
で質問することにしました。

サイト中に var myMatrix:Matrix = new Matrix(a, b, 0, 1, 200, 200); という記述
があります。一方ヘルプでは、傾斜用のマトリックスの要素と、コンストラクタが

 0 SKy 0
 SKx 0 0
 0  0  1

 Matrix([a:Number], [b:Number], [c:Number], [d:Number], [tx:Number], [ty:Number])

になっており、a → 0, b → SKy, c → SKx, d → 0 (平行移動は省略)になる筈で
すが、サイトのMatrix(〜)定義と異なっています(例:0になるべきaの値がサイトでは
「var a」で定義されている)。

※SKx,yはx,y軸方向にスライドする量です

自作のMCでもサイトのASで目的の動作は出来ましたが、何故この記述で可能なの
でしょうか?

546 名前:Now_loading...774KB [2008/09/12(金) 08:26:21 ID:3Moz3j0n]
Flashデザインラボ -プロに学ぶ、一生枯れない永久不滅テクニック
www.sbcr.jp/books/products/detail.asp?sku=4797348521

この本買ってただいまAS3を勉強中なんですが
AS2と3のサンプルが混在してます。AS3に作り直したいんですが
AS2→3変換するのに参考になるようなサイトありますか?

3をマスターしてからやればいいんだけど、ちょっと急いでまして・・・

547 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 11:36:01 ID:A7U1lIF/]
>>546
急いでるならプロに頼めばいんじゃね

548 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 14:37:55 ID:tSCrohbh]
それ捨ててAS3の本を買えばいい

549 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 15:00:28 ID:QUgAVx+L]
>>545
ASの話じゃなくて行列計算の話じゃん
数学板でも行くか数学の入門書でも買って読めばいいよ



550 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 17:29:24 ID:eTsVjFLg]
ボタンアクションで全く同じ処理で押すボタンだけを複数したいのですが良い方法が思いつきません。

例えば上キーか下キーを押したとき同じ処理をする場合
on(keyPress"<Up>") {
 //長ーい記述
}
on(keyPress"<Down>") {
 //上と同じ記述
}
上のやり方しか思いつきません。記述が長いのでできれば一つにまとめたいのですが……。分かる方がいましたらお願いします。SWF7です。

551 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 18:24:43 ID:MhCs3KCg]
>>550
一言で言うと

functionを使うべし

552 名前:545 mailto:sage [2008/09/12(金) 21:37:48 ID:Pm1dpESb]
>>549
すみません、紙上で演算しても、本(行列・ベクトルの本)
を読んでも分かりません。

解説をお願いします。


553 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 22:18:10 ID:jBiyDvgh]
>>545
いまちょっと確認できないけど、ヘルプはバージョンによって行列の記述が間違ってるから、
結果から正しい定義を見出したほうが良いよ。

554 名前:Now_loading...774KB mailto:sage [2008/09/12(金) 22:31:46 ID:QUgAVx+L]
>>552
サイトに書いてあるのは回転と傾斜をするためのパラメータ
あなたが引っ張ってきたのは傾斜だけのパラメータ
違ってて当たり前なんだけど、紙上で演算しても気づかなかったの?
本当に計算できるなら気付いて当たり前だから、入門書読んだら?と勧めたんだけど
Matrixクラスの使い方ならともかく、その動作原理なんてスレ違いもいいとこだし

555 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 02:08:58 ID:vGrTszC3]
>>550
function

ルートのフレーム1にでも書いておく↓

function botandetukau() {
//長ーい記述
}

これで botandetukau() というアクションがセットされたことになるので、使いたい場合は

on(keyPress"<Up>") {
botandetukau();
}
とか

on(keyPress"<Down>") {
_root.botandetukau();
}

などで最初に定義したのと全く同じ処理をたった一行の命令でさせられます。
functionの使い方の詳細はググれ。

556 名前:545 mailto:sage [2008/09/13(土) 06:36:47 ID:qsfxqZIr]
>>553-554
さんきゅうです。

「回転と傾斜をするためのパラメータ 」
ああそうか、回転作用を見落としていた。


557 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 06:50:33 ID:89RRUaTA]
理系の大学入れば1年の最初で線形代数習うよ

558 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 11:29:05 ID:8H2ps9gO]
>>523
1行目をコメントアウトするだけでスコープになるからデバッグしやすい。

559 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 11:41:08 ID:8H2ps9gO]
>>556
行列の3*3それぞれのパラメータの意味分かってる?
とりあえず、aとbだけマウスの座標にあわせてグリグリ動かしてみな。



560 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 14:10:43 ID:RB9oiSHO]
すみません教えてください!
tmpArrayという配列に、10個のMovieClipを格納しました。
その中でvisible=trueのものを1つだけx=100にしたいのですが、

for each (var m:MovieClip in tmpArray) {
 if (m.visible) {
  m.x = 100;
  break;
 }
}

と書いたのですが、一件も処理されません。
ちなみにbreakを外すと、全部のMovieClipがx=0になります。

どこがおかしいのでしょうか!?

561 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 16:58:06 ID:FYlNsvuR]
>>551
>>555
遅レスになりましたが初心者級の質問に答えてもらいありがとうございました!そんな便利な関数?(関数を作る関数ってことですかね)があったんですね。おかげさまでできました!

562 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 18:42:24 ID:Awdzv9Mo]
>>560
どこにもxに0を代入する文がないのに
全部0になるの?

563 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 18:48:06 ID:yuty1s/G]
>>560
>ちなみにbreakを外すと、全部のMovieClipがx=0になります
デフォが0じゃないのに0になるってこと?
俺のエスパー能力は他の場所に問題があるってよ

564 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 19:24:07 ID:RB9oiSHO]
>>562
>>563
すいません、「全部x=100になる」の間違いです!!!!


565 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 19:43:33 ID:yuty1s/G]
>>560
書き方に問題はないっぽい。
tmpArrayの一つ目が処理されてることに>>560が気づいてないんじゃないかな。
breakの前にtrace入れるとかして確かめてみたら?

566 名前:Now_loading...774KB mailto:sage [2008/09/13(土) 20:16:47 ID:p6C70/Cx]
livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/

↑の検索ボックスからの検索って正常に行えます?

567 名前:Now_loading...774KB mailto:sage [2008/09/14(日) 01:17:49 ID:SmmHzNmF]
稀に検索できることがある

568 名前:Now_loading...774KB [2008/09/14(日) 13:37:20 ID:bkvVbWVJ]
AS3のコンポーネント ComboBoxのリスト部分の文字をでかくしたい!
選択されているところは、

var tf:TextFormat = new TextFormat();
tf.size = 50;
InstanceName.labelField.textField.setStyle("textFormat", tf);

でいけるのに。。。
ComboBox内のListがReadOnlyだから?
どうにかならん????


569 名前:Now_loading...774KB mailto:sage [2008/09/14(日) 16:17:58 ID:pqCIPrSB]
リスト項目全部に設定すりゃいんじゃね



570 名前:Now_loading...774KB [2008/09/14(日) 21:00:12 ID:kUfVg168]
>>560

”一件も処理されません。 ”ってのは、m.x=100 にならないってこと?
どうやって確かめた?

571 名前:Now_loading...774KB [2008/09/15(月) 02:41:16 ID:5uJPuCG3]
指定座標を中心に地図を拡大縮小するにはどうしたらいい?
地図をクリックする場所はユーザーが自由に決めれたらいいんだが。
matrixで画像を動かしたりはできるけど、、
もう一つまだ掴めてないっす。

572 名前:Now_loading...774KB mailto:sage [2008/09/15(月) 02:54:24 ID:28GbVigF]
>>571
予め元の地図の下にに(深度を下に)もう一枚おく。
→ 下の地図はマウス座標に追従するようにして、クリックしたら上下が入れ替わる。
→ このとき下の画像の拡大縮小もする。

ではどう?

573 名前:Now_loading...774KB [2008/09/15(月) 02:56:35 ID:UyWqr5ne]
入れ子MCの消去で質問です。
ソフトはFlash8-ProのAS2.0で、OSはWinXP-Proです。

親MC(mcA)の入れ子MCとしてmc1, mc2, ab1, ab2・・・ があったとき、これらを
一括して消去する方法はありますでしょうか?

for文で指定すれば良いのですが、状況により入れ子MCが細かく変わるので、
インスタンス名に関わらずclear()の様に消したく思っています。


574 名前:Now_loading...774KB mailto:sage [2008/09/15(月) 03:29:49 ID:N6tdtdpv]
>>573
・親MCを消す
・for in で消す

575 名前:Now_loading...774KB [2008/09/15(月) 03:34:25 ID:5uJPuCG3]
571っす
>>572
マウスに追従してきてたら、指定の箇所をクリックして、
拡大にはなんないよ。
中心座標を毎回計算しないとダメだと思うので、
マトリックスを使わないとダメみたいで、
その正しい使い方がいまひとつわからないです

576 名前:Now_loading...774KB [2008/09/15(月) 04:25:56 ID:yAUknH1/]
AS2のswfからAS3のswfをloadMovieした場合、
子のAS3swfから親のAS2swfの関数を呼ぶのは
どうしたらよい?displayObject.rootとかやってみたけど
だめなんだ。


577 名前:573 mailto:sage [2008/09/15(月) 04:39:54 ID:UyWqr5ne]
>>574
あんがと。


578 名前:Now_loading...774KB mailto:sage [2008/09/15(月) 04:55:39 ID:DFR6R1mV]
>>576

AS2とAS3は互いにアクセスできなかったような気がするけど

579 名前:Now_loading...774KB mailto:sage [2008/09/15(月) 07:45:53 ID:2QoVj6ou]
>>532-535
ありがとうございます!
説明わかりづらくて申し訳ない。



580 名前:Now_loading...774KB mailto:sage [2008/09/15(月) 12:50:10 ID:eOmUEHkg]
test

581 名前:Now_loading...774KB mailto:sage [2008/09/15(月) 15:41:00 ID:cwMsq1Cf]
flash8、AS2に関する質問です。
フレームでmenuとmainに分けたサイトのmenu部分にflashを置いて、flash内のボタンを押すと
main部分が切り替わるようなものが作りたいのですが、

getURL("top.html", "main");

のように自サイト内のページを開くときは問題ないんですが

getURL("blog.xxxx.com", "main");

みたいに外部サイトを参照したときのみ、なぜか画像やスタイルシートが読み込まれません。文章は表示されるんですが・・・
getURL("blog.xxxx.com", "_blank");で外部ウィンドウで表示させれば問題なく読み込まれました。
allowscriptaccess="always"とかも関係ないっぽいですし、解決策が分からないです。
ご指導お願いします。

582 名前:Now_loading...774KB [2008/09/15(月) 18:48:30 ID:nQYCYh1u]
わざわざフルパスにする必要ないからいいんじゃないの?


583 名前:Now_loading...774KB [2008/09/15(月) 20:47:33 ID:mbaHHWXi]
As2.0 WIN XPです。
マウスが近づくとMCが拡大するというスクリプトをMCに書いて
実行させています。
これをrootのタイムラインにfunctionとして定義して、
MCにはfunctin();にて実行させる場合、
rootにはどのように書けばいいのでしょうか?
多分、xm、ymあたりの変数あたりに工夫をしなければならない
と思うのですが、迷路に入り込んでいます。
よろしくお願いいたします。
//
onClipEvent (enterFrame) {
xm = _xmouse;
ym = _ymouse;
span = Math.sqrt(xm*xm+ym*ym);
if (span>100) {
mcScale = 80;
} else {
mcScale = 80+(span-100)*-20/100;
}
this._alpha = this._xscale=this._yscale=mcScale;
}


584 名前:Now_loading...774KB mailto:sage [2008/09/16(火) 00:11:38 ID:GSu0om6T]
>>583

//onEnterFrame
onClipEvent (enterFrame) {
  _root.HOGE(this)
}

//_root
function HOGE(mc:MovieClip) {
  xm = mc._xmouse;
  ym = mc._ymouse;
  span = Math.sqrt(xm*xm+ym*ym);
  if (span>100) {
    mcScale = 80;
  } else {
    mcScale = 80+(span-100)*-20/100;
  }
  mc._alpha = mc._xscale=mc._yscale=mcScale;
}


585 名前:Now_loading...774KB mailto:sage [2008/09/16(火) 00:39:42 ID:6xqxL9rV]
>>582
サイトの構造的に、どうしても新規ウインドウを開かずに表示したい

586 名前:Now_loading...774KB mailto:sage [2008/09/16(火) 02:27:25 ID:K06s6cYa]
AS3でSpriteやMovieClipオブジェクトの基準点を指定(変更)する方法ってありますか?
FlashCS3でシンボル変換時に出るウィンドウの9つの点で指定出来るやつです

587 名前:Now_loading...774KB mailto:sage [2008/09/16(火) 10:59:51 ID:Wsjd8HP6]
>>584
お陰様で無事実装できました。
ありがとうございました m(_)m

588 名前:Now_loading...774KB mailto:sage [2008/09/16(火) 19:41:29 ID:bK4IUF1/]
>>581
問題の絞込みはどこまでやってる?
ちょこっと試して見たけど問題ないみたいだった。
ASの問題じゃないだろ?
その他の環境によるもんじゃないのかな?

つか>>582は解決策暗示してんじゃないの?
>フルパスにする
まぁ、パクリサイトだったらいじれないから無理だろうけど、

589 名前:Now_loading...774KB [2008/09/16(火) 20:39:18 ID:s2/Veykc]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

入れ子MC内のテキストフィールドのハイパーリンクで質問です。

URLが指定されたテキストをクリックすると当該HPにジャンプするようなムービーを作るため、
あらかじめ空のテキストフィールドを含んだMCをfor文とattachMovie()で10個生成しました。

確認のため、TextFormat()で太字になるように設定したところ、テキストフィールドの文字列
は狙い通りに10個全て太字になりましたが、生成されたテキストフィールドにマウスポインタを
重ねてもリンク動作をしません(下はASの抜粋です)。

fmt_name.url = "www.yahoo.co.jp/"; //URL設定
fmt_name.html = true;
fmt_name.bold= true;
//
this["textM"+id].txt = id; //idは0〜9で、縦に0〜9が表示
this["textM"+id].txt_ins.setTextFormat(fmt_name); //太字にはできる

どうしたら良いでしょうか?



590 名前:Now_loading...774KB mailto:sage [2008/09/16(火) 21:04:53 ID:ujAwUn32]
Flash8です。

loadMovieで外部のフラッシュを
完全に読み込んでから次のフレームに進みたいです。

完全に読み込んでから次のフレームに進むスクリプトを
教えてください。

591 名前:Now_loading...774KB [2008/09/16(火) 22:15:54 ID:SavpeRG8]
>581
自分が言ってるように、
フレームの場合のCSSの定義をもう一度確認した方がいいんじゃないかな。
スタイルシートは外部ファイルだよね?



592 名前:Now_loading...774KB mailto:sage [2008/09/16(火) 23:31:56 ID:N0mY7K2a]
なんだかクソスレ化してきたなw

593 名前:Now_loading...774KB mailto:sage [2008/09/17(水) 00:43:50 ID:JKJE719G]
今までどんだけ良スレだったんだよw

594 名前:589 mailto:sage [2008/09/17(水) 00:49:09 ID:MlH37Gk0]
すいません。目標とは若干違いますが、TextFormat()をMCの
フレームアクションとして指定し、getURL()で表示出来るように
なりました。

つまり、MCで
this.onPress = function() {
フォーマット指定
getURL("http://〜");
}
という感じです。

これでクリックすると目標のHPが表示され、数字の太さや色も
指定できました。

595 名前:Now_loading...774KB [2008/09/17(水) 04:39:56 ID:FCyk1IHm]
WinXP-ProでFlash8を使用。

指定したディレクトリ(パス)にあるファイル名の一覧を得るにはどうしたら良いでしょうか?
よくソフトなどで、フォルダを階層毎に開いて、目的のフォルダの中身を表示する感じです。
出来ればAS2.0以下で願います。

先ずは、trace()表示をしたく思います。


596 名前:Now_loading...774KB mailto:sage [2008/09/17(水) 10:02:09 ID:tnMIb4Rw]
>>595
import flash.net.FileReferenceList;
import flash.net.FileReference;
var listener:Object = new Object();
listener.onSelect = function(fileRefList:FileReferenceList) {
trace("onSelect");
var list:Array = fileRefList.fileList;
var item:FileReference;
for (var i:Number = 0; i<list.length; i++) {
item = list[i];
trace("name: "+item.name);
}
};
var fileRef:FileReferenceList = new FileReferenceList();
fileRef.addListener(listener);
fileRef.browse();

597 名前:Now_loading...774KB [2008/09/17(水) 12:17:51 ID:MRmnZX1b]
>>592
クソが言うなら間違いないでしょww

598 名前:Now_loading...774KB [2008/09/17(水) 13:57:51 ID:p+3YDTsR]
質問です

ボタンで外部swfを空mcに読み込み、表示されるコンテンツを切り替えたいのですが
初期でロードするムービークリップにリンケージで識別子を設定して読み込んでいる
モノがあり、ボタンで他のに切り替えても、残ってしまいます。

完全に他のswfに切り替えたいのですが、どなたかよろしくお願いします。

599 名前:Now_loading...774KB [2008/09/17(水) 13:58:26 ID:MTrr1q0f]
mcBoxを、シフトキーを押しながらクリックした場合は
onShiftClickというファンクションを呼び出したいんだけど、
それはどのようにaddEventLisntenerしたらいい?

mcBox.addEventListener(ここがわからない);



600 名前:Now_loading...774KB mailto:sage [2008/09/17(水) 14:54:16 ID:a0YqYiNg]
>>599
試してないけど、多分こう。

mcBox.addEventListener( MouseEvent.MOUSE_CLICK, onClick );

public function onClick( e:MouseEvent ):void{
  if( e.shiftKey == true ) trace( "shiftキーを押しながらクリックされました。" );
}

601 名前:Now_loading...774KB mailto:sage [2008/09/17(水) 14:58:16 ID:QPxJsoy0]
>>596
レス有難うございます。
早速、試してみます。


602 名前:595 [2008/09/17(水) 17:43:56 ID:QPxJsoy0]
(ファイル名一覧の取得)
>>596さんの方法を元に、browse()のヘルプを参照し、JPGのみを選択するように

fileRef.browse(); → fileRef.browse([{description:"Images", extension:"*.jpg"}]);

と加工しました。
しかし出来れば、任意のパスを指定して、そこにある全てのJPG名を自動的に取得
したく思っています。一応、考えられる箇所を細工しましたが駄目でした。

どうすれば良いでしょうか? 再度アドバイス願います。

603 名前:Now_loading...774KB [2008/09/17(水) 18:00:10 ID:MNJurFNW]
そんなんできたらローカル環境のファイルリストを勝手にどっかに送られんだろ
ユーザーが手で選択するしかできないようになってんだよ

604 名前:Now_loading...774KB [2008/09/17(水) 19:23:22 ID:MTrr1q0f]
>>600
ありがとうございます。
バッチリできました〜!!

605 名前:595&602 mailto:sage [2008/09/17(水) 23:41:44 ID:xbqfJnCv]
>>603
有難うございます。
確かにそうですね。

606 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 03:14:55 ID:VObT4N/z]
煮詰まってしまったので質問させて下さい。

ボタンなんですが、上レイヤーのボタンを押すと下レイヤーの
ボタン(…といっても、わけあってhitTestで作ってます、しかも大量)まで反応します。
#タイムラインを使えばいいんですが、再ロードさせたくないので、単に無効になってくれるのが理想です。

一般的なenabledや空ボタン程度だとダメっぽいのです。
何とか簡単に下レイヤーのhitTestを無効化出来ないでしょうか。

607 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 05:19:51 ID:MnhKerfn]
>>606
要は、100個位あるMC型のボタンの1個を押すと、その1個のみを
Onの状態にしたいということ?

attachMovie()でインスタンス生成(ボタンMC生成)すれば、レイヤーを考慮せずに
好きな数だけ好きな位置に配置できるが・・・ 
(ただし、この場合には、各深度に注意)

タイムラインも、gotoAndStop()で制御すれば、各ボタン単位で有効/無効が設定
できるよ。これじゃ駄目?


608 名前:606 mailto:sage [2008/09/18(木) 09:46:19 ID:av1fhiPK]
>>607
いえ、その方法が使えません…
具体的には塗り絵Flashで、100個くらいあるシンボルにhitTestで色付けする方法を採っています。
で、その上に「○○しますか?はい いいえ」的なダイアログを出したいんですが、下の
シンボルが反応してしまうので困っている次第ですw

609 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 10:15:01 ID:O4g/dmhW]
どう作ってるのか知らないけど、
それならダイアログだしたらhitTestの処理なくせばいいんじゃない?



610 名前:Now_loading...774KB [2008/09/18(木) 13:54:46 ID:kq5/cFrH]
ドキュメントクラスの中で
public宣言して作成した関数hoge()を、
ムービー内の一つのmcBtnがクリックされたときに呼び出したいけど
うまくいかないです。
普通に
mcBtn.addEventListener(MouseEvent.CLICK, hoge);
と書くだけじゃ駄目ですか?

611 名前:606 [2008/09/18(木) 15:53:14 ID:Rh63+pHt]
>>609
有り難うございます。
結局for++iで100個のMC全部指定するか各MCにひたすらhitTestオフ条件を書き込む
ベタな方法でしか回避できないんですかね…

612 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 17:33:52 ID:gWGFd90t]
>>610

引数の型をMouseEventにした?

613 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 17:36:25 ID:1tHlJm9w]
>608
シンボルクリックしたら全体を覆うMCを表示させる

614 名前:Now_loading...774KB [2008/09/18(木) 17:57:41 ID:kq5/cFrH]
>>612
610です。
すみません、省略し過ぎました。
もう少し詳しく書きます。

ドキュメントクラスmain.as内で、
public function hoge():void{
trace("きてます");
}

としておいて、

ムービークリップの、mcBtnのフレームアクション上で、

mcBtn.addEventListener(MouseEvent.CLICK, onJump);
function onJump(e:MouseEvent):void{
hoge();
}

としています。これを実行すると、
「1180:未定義である可能性が高いメソッドhogeの呼び出しです」
となってしまいます。root.hoge()でも駄目でした。
何が駄目なんでしょう?

※ドキュメントクラス内からの命令でhoge()は普通に呼び出せます。



615 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 18:13:19 ID:gWGFd90t]
>>614

MovieClip(root).hoge();

616 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 18:27:53 ID:O4g/dmhW]
>>611
AS2だけど、こんな感じでフラグたてればいいだけじゃない?

www.uploda.org/uporg1677159.zip.html
Pass : swf

617 名前:Now_loading...774KB mailto:sage [2008/09/18(木) 18:38:50 ID:qqfvG/t6]
教えてください
タイムラインのMcPageの1フレーム目にTOPページ、
2フレーム目に2ページと置いて、各ページの中に
mc001、その中に入れ子にしてBtn001というボタンが
いくつかあり、ボタンをロールオーバーするとswapDepthsにて
最上層に出てくるような感じにしています。
(ロールオーバすると吹き出しが出るようになっていて、重なり防止のため)
rootには
var depth:Number = 0;
と書き
外部Asには
Mcpage.mc001.Btn001.onRollOver = function() {
this._parent.swapDepths(_root.depth++);
と書いて、TOPページ内ではSwapDepthsが効いているのですが
2ページ目になるとSwapされていません。
ご教授よろしくお願いいたします。

フラッシュ8使用です

618 名前:Now_loading...774KB [2008/09/18(木) 21:44:49 ID:kq5/cFrH]
>>615
610です。
ありがとうございます。
無事できました!!思いつきませんでした・・・!
感謝いたします。

619 名前:Now_loading...774KB mailto:sage [2008/09/19(金) 17:44:00 ID:fb6qmjPM]
AS3で、TextFieldの文字の色を赤→緑→青と変えたいのですが
上手くいきません。以下コードです。

var f = new TextFormat("Arial", 12, 0xFFFFFF, false, false, false);
var t = new TextField();
t.defaultTextFormat = f;
addChild(t);

Tweener.addTween(f, {color:0xff0000, time:0, delay:0.0});
Tweener.addTween(f, {color:0x00ff00, time:0, delay:1.0});
Tweener.addTween(f, {color:0x0000ff, time:0, delay:2.0});
...

なんとなく書き方自体ダサい気がするんですが何か方法はないでしょうか。



620 名前:619 mailto:sage [2008/09/19(金) 18:35:13 ID:fb6qmjPM]
自己レスです、MovieClipでフレームアクションさせたらうまくできました。
お騒がせしました。

621 名前:Now_loading...774KB mailto:sage [2008/09/19(金) 19:56:23 ID:a7Md/rG7]
突然ながら質問が。

AS2.0の_url(絶対パスをとるやつ)から最後のファイル名を除いたフォルダパスだけとるにはどうしたらいいんですか?

できるだけRegExpとかは使いたくないです。

622 名前:sage [2008/09/19(金) 23:32:49 ID:O0Pn9FxL]
>>621
trace( str.lastIndexOf( "/" ) );出力10
trace( str.substr( 0, 10 ) );


623 名前:Now_loading...774KB mailto:sage [2008/09/19(金) 23:57:13 ID:Q1m+63Rt]
>>622

最後のファイル名の長さを調べてそれ以外を抜き出すのですね。

回答ありがとうございます。

624 名前:Now_loading...774KB mailto:sage [2008/09/19(金) 23:58:27 ID:Q1m+63Rt]
最後の/の位置ですね。

625 名前:Now_loading...774KB mailto:sage [2008/09/20(土) 10:02:27 ID:3vGib9u4]
>>617
全ての深度をしっかり紙に書いて把握してみれ
いい加減に作るとわけわかんなくなるよ

626 名前:Now_loading...774KB mailto:sage [2008/09/20(土) 11:33:40 ID:4Os7R83x]
現在パー速クリエイタースレで人員募集中です。
現行スレ&テンプレ
ex14.vip2ch.com/test/read.cgi/news4gep/1221872491/

・html、CSS、SNSを作れる言語が書ける人(一番大変な部分です。数人必要かも。)
・Flashができる人(お絵かき、通信等)
・aiやpsdをいじれる人
・宣伝活動に長けている人
・ちょっとしたスキルがある方(動画作成等)

他にもどしどし募集中。
勉強中の方からプロの方まで、気軽にお願いします。

627 名前:Now_loading...774KB mailto:sage [2008/09/20(土) 22:22:26 ID:TTTyQOrz]
Flashのゲームが作りたくて、本を読んで勉強しています
ある本のサンプルにジグソーパズルの作り方が載っていて
その本ではjpegをライブラリに入れて、ジグソーパズル全体の大きさの四角
を「塗りのカラー」をビットマップとしてjpeg画像を塗り込み、それを線で切って
ピースとしています。
この方式は理解出来たのですが、Jpeg画像の枚数を増やすとSWF自体が
大きくなってしまうので、画像を外部から読み込めないか考えています。
外部Jpegの読み込みに関しては理解していますので、どなたかヒントを
よろしくお願いします

628 名前:Now_loading...774KB mailto:sage [2008/09/20(土) 23:01:56 ID:7XsEm7lK]
>>627
バージョンは?
何がわからないの?

629 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 00:39:54 ID:O2iVbcSU]
ローカルの画像を取り込んで、それを変形させるものを作りたいのですが、
ローカルの画像を読み込ませる方法についてヒントをください。
おおざっぱな流れとして、
1.ボタンとかでダイアログを開いて、画像を選択。
2.読み込み開始
3.BitmapDataとかに入れる
を考えているのですがどのように出来るでしょうか?
とりあえず、埋め込みで画像を変形できるところはできているので、
とにかくBitmapDataに入れられればこっちのものと考えているのですが…。
開発はFlashDevelopで、AS3書いています。



630 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 00:44:59 ID:NRPdhyww]
それはプレーヤー10から実装される機能だから無理
weblogs.macromedia.com/akamijo/archives/2008/07/flash_player_10_5.html
個人でテストしてみる分にゃ問題ないんじゃね?

普通は画像DBサーバー用意してそこにアップロードしてもらったのをムービーに読み込む

631 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 00:55:11 ID:O2iVbcSU]
なるほど…。9までは一旦サーバ側に保存して、そこから読み出すのが定石なんですね。
あくまで趣味程度なんで fileReference に手を出してもいいかもしれません。
ありがとうございます。

632 名前:Now_loading...774KB [2008/09/21(日) 08:06:50 ID:Op68wWqx]
基本的な質問になるかもしれないですがどなたか教えていただければ。。。

シーン1の1フレーム目にAというムービークリップがあり
Aの中にplayというフレーム名を設定しているとします、
同じくシーン1の2フレーム目にBというムービークリップ
があり(この時同じ2フレームにAはありません。)、
Bの中にあるボタンをon(release)でAのplayというフレーム
には飛ばせないのでしょうか?

同じフレーム内になければ_root.A.gotoAndPlay("play");
では動かないことまではわかったのですが、その場合の
動かし方がわかりませんでした。

ちなみに、playから動かしたいので、シーン1のフレーム1
に飛ばす方法は取れない状態です。

FlashCS3のAS2で記述しています。

633 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 09:33:51 ID:ExkPAyGw]
・1フレームにA(タイムラインを持ちフレーム名"play"がある)、2フレームにB
・Bを押して1フレに戻ると、Aが"play"へ飛んでいる
ってことに置き換えていいなら、フラグを用意するといい

//1フレームアクション
this.stop();
this.A.stop();
if (flg == undefined) {//flgが定義されていなければ初再生
flg = 0;
}
this.A.onRelease = function() {
this._parent.gotoAndStop(2);
};
if (flg) {
this.A.gotoAndStop("play");
} else {
this.A.gotoAndStop(1);
}
//2フレームアクション
this.B.onRelease = function() {
flg = 1;
this._parent.gotoAndStop(1);
};

634 名前:Now_loading...774KB [2008/09/21(日) 10:01:27 ID:Op68wWqx]
>>633
632です、
ありがとうございます!
早速設置してみます!

635 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 12:29:52 ID:w4Dwe9YB]
最近「FLASH CS3&AS3.0」を勉強しはじめた初心者です。

「タイトル画面」→「ゲーム画面」→「ゲームオーバー画面」→「タイトル画面」・・・
という流れの、簡単なシューティングゲーム作りを通してAS3.0を覚えようとしています。

スクリプトは全てasファイルに書きたいと思っているのですが、「addFrameScript」を使うのが一般的なのか、
「addFrameScript」を使わないで書くのが一般的なのか、いまいちよくわかりません。

「addFrameScript」を使ったほうが簡単のような気もするのですが・・。
どちらが一般的なのでしょうか?

ちなみに、手元にあるAS3.0の本には載っていませんでした。。


以上、よろしくお願いします。

636 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 12:35:58 ID:eAUhmQ4X]
>>635
ASオンリーでいくなら使わないのが一般的
addFrameScriptはリファレンスに載ってない隠しAPIだから
これを使うと流れがわかりにくくなってしょうがない

637 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 14:26:07 ID:w4Dwe9YB]
>>636
あ、かえってわかりにくくなるんですね。
ではaddFrameScriptを使わずに作ってみます。

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

638 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 17:11:44 ID:P37WDfX1]
質問です。

スペースで区切られた文字列を分解する方法を教えてください

"abc def ghi" -> ["abc","def","ghi"]

639 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 17:14:48 ID:P37WDfX1]
自己解決しました。

split関数を使えば良いですね



640 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 20:43:59 ID:tEegqrXh]
教えてください!
A_mcのフレームに
onClipEvent (load) {
var imgFlder:String = "mein/sub/img/BtnImage";
//
loadMovie(imgFlder+"1.jpg", this.sum_01_mc.board);
loadMovie(imgFlder+"2.jpg", this.sum_02_mc.board);
loadMovie(imgFlder+"3.jpg", this.sum_03_mc.board);
と書いて外部から画像を読み込ませています。
これを外部テキスト、もしくは外部XMLに書いて読み込ませ、
実行させる場合にはどのようにしたらよいのでしょうか???

今日、朝からやってて疲れました・・・・

641 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 21:30:57 ID:f4CJrqyl]
>>640
LoadVarsクラスでテキスト内容を読み込む

642 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 21:34:55 ID:P37WDfX1]
actionscriptの質問なのですが、ブラウザでflashを実行したとき、
そのswfファイルが置かれていたサーバのIPを取得するにはどうすればいいですか?

643 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 21:46:07 ID:/2CLYRzH]
>>642マルチ

644 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 21:49:36 ID:P37WDfX1]
>>643
質問は放置する癖にそういうことだけは素早いですね。

645 名前:Now_loading...774KB mailto:sage [2008/09/21(日) 22:02:29 ID:/2CLYRzH]
>>644
テンプレ読んでな
掲示板のルール理解してな
ルール理解する気がないならromってるかどっか行ってな

646 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 01:04:46 ID:MeHJvrfG]
>>644
逆切れw

647 名前:Now_loading...774KB [2008/09/22(月) 12:40:57 ID:BkvG6UuJ]
var my_lv: LoadVars = new LoadVars();
my_lv.onLoad = function(success: Boolean) {
if (success) {
trace(this.toString());
} else {
trace("Error loading/parsing LoadVars.");
}
};
my_lv.load("http: //www.helpexamples.com/flash/passvars.php");


648 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 15:17:08 ID:Em2KzTUV]
flash上で書き込んだデータを同じflashに保存するには(ニコ動みたいな感じ)
どうすればいいかわかる人、教えてくださいませんか?

649 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 15:29:56 ID:dTXx/bN6]
>>648
> flash上で書き込んだデータを同じflashに保存する
こういう事はできません。
データを保存するためには別途サーバーサイドのプログラムを用意して、それにデータを渡すしかありません。
ニコ動のコメントは外部のデータベースにアクセスしてます。

ただし、保存場所がローカルで良ければSharedObjectで実現可能です。
(この場合保存したデータに他の人からはアクセスできません。)



650 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 17:13:31 ID:8HHf2bZX]
526 名前:Now_loading...774KB[sage] 投稿日:2008/09/22(月) 14:06:59 ID:Em2KzTUV
ニコニコ動画みたいに、動画とコメントを同期させて表示させるにはどうするんでしょうか?
だれかわかる人います?


651 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 19:36:36 ID:dTXx/bN6]
>>648
マルチポストって知ってます?
複数の場所で同じ質問をする事です。
これってインターネット上で共通のマナー違反なんです。次からやめましょうね。

652 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 19:44:44 ID:lApgHlK/]
すぐに知りたいことだからここに書き込むんです。
すぐに情報が引き出せないなら別のところに移ります。
マルチポストかどうか判定されるまでに情報が引き出せなければあきらめるだけです。
そして次の新しい質問は別のIDでポストすればいいですからね。

653 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 19:45:27 ID:lApgHlK/]
マナー違反?知ったこっちゃない。
すぐにレスポンスが返せないやつが悪いんだよw

654 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 20:01:13 ID:96vD5jSN]
まぁ結果を急ぐあまり解答が貰えなくなる君が一番損をするからどうでもいいんだけど

655 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 20:03:27 ID:WVP9KMKi]
>>653
他力本願の人間が言う言葉ではないなw
頭悪過ぎてまともな質問文も書けないみたいだから
どこいったって駄目だと思うよ
自分で解決しなさい。

656 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 20:24:17 ID:lApgHlK/]
俺がここに書くことは20分以内に解決しろ。
20分あれば大抵解決するからな。

657 名前:Now_loading...774KB [2008/09/22(月) 20:27:05 ID:P8JVubbf]
>>656
自分で解決しろ。


658 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 20:28:44 ID:lApgHlK/]
お前らに解決させて、その時間で俺は別の問題を解決する。
いわば並列処理

659 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 20:55:26 ID:8Z1q56Lc]
NGID登録:ID:lApgHlK/
これですべて解決



660 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 20:58:37 ID:lApgHlK/]
別のIDを使って、もっとおしとやかに質問するので無問題

661 名前:Now_loading...774KB mailto:sage [2008/09/22(月) 21:20:17 ID:FL13m+We]
(´・ω・`)おっぱい

662 名前:Now_loading...774KB mailto:sage [2008/09/23(火) 03:34:42 ID:gHzMX3Uq]
あれ?夏休みってもう終わったんじゃ・・・

663 名前:Now_loading...774KB mailto:sage [2008/09/23(火) 05:50:57 ID:0qFcPSYw]
なんか無能な奴がまた湧いてるなw
単位落としたぐらいでやけになるなw

664 名前:Now_loading...774KB mailto:sage [2008/09/23(火) 12:35:40 ID:pJ+lVFAH]
お決まりのセリフ 「何の役にも立たないクソスレだな」

665 名前:Now_loading...774KB mailto:sage [2008/09/23(火) 17:35:35 ID:2Q9R5tXZ]
ここみると自信がつく

666 名前:Now_loading...774KB mailto:sage [2008/09/24(水) 09:01:47 ID:TCcpr8Vv]
下を見るな上を見ろ

667 名前:Now_loading...774KB [2008/09/24(水) 10:36:26 ID:tv0R1bAh]
665<>666
教えてください。
obj = _root.attachMovie("side_obj","str" + i,i,〜
深度が10以上は、visibleプロパティを変更したいです。

668 名前:Now_loading...774KB mailto:sage [2008/09/24(水) 10:58:58 ID:HjFrBIgV]
obj = _root.attachMovie("side_obj","str" + i,i,{visible:i < 10});

669 名前:Now_loading...774KB [2008/09/24(水) 11:25:27 ID:tv0R1bAh]
>>668
,{visible:i < 10}
iが10より小さければvisible = true
という意味でしょうか?



670 名前:Now_loading...774KB mailto:sage [2008/09/24(水) 13:02:52 ID:E+4wGvaE]
648です。マルチポストっていうんですね。マナー違反とは知らず、失礼いたしました。以後気をつけます。

また、ご回答ありがとうございました。また困ったときに助けていただければ幸いです。それでは失礼します。


671 名前:Now_loading...774KB [2008/09/24(水) 22:13:54 ID:Iv49WfgF]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ピクセル単位の色の取得

白黒の10*10ピクセル程のBMPをMC化し(bmp_mc)、このピクセル単位の白黒の
位置をBitmapDataクラスを使って把握しようとしていますが、うまく出来ません。

目的の動作の前段階としてBMPサイズを取得しようと思っています。動作を書いた
bmpPixcelFunc() をボタンアクションで呼び出すことはできるのですが、肝心の高さ
と幅が undefined になります。 
フレームアクションに書いたASは以下の通りです。

import flash.display.BitmapData; //BitmapDataクラスをインポート
var bmpData:BitmapData = new BitmapData(bmp_mc._width, bmp_mc._height, true); //新規ビットマップデータのインスタンス
//
function bmpPixcelFunc(bmd:BitmapData) { //ビットマップデータを解析
trace("bmpPixcelFunc"); // bmpPixcelFuncは表示される
trace("高さ= "+bmd.height);
trace("幅= "+bmd.width); // bmp_mc._heightなら、10などと出ますが・・・
//
var pixelColor:String = bmd.getPixel(0, 0).toString(16); //試しに位置(0, 0)の色を取得
}

ボタンの方は、on (release) で bmpPixcelFunc(bmd); です。
すいませんが、アドバイス願います。

672 名前:Now_loading...774KB mailto:sage [2008/09/25(木) 01:23:48 ID:IOgy4g0T]
bmdって渡してるけど、それどこにもなくね?

673 名前:Now_loading...774KB mailto:sage [2008/09/25(木) 10:14:33 ID:HQvuZ209]
>>671
ボタン押下時
bmpPixcelFunc(bmd);

bmpPixcelFunc(bmpData);
では?

674 名前:Now_loading...774KB [2008/09/25(木) 21:34:32 ID:qvFstGVn]
CS3のAC2で書いています。
attachMovieで増やしたmcをステージ上のmcに追わせ、
ヒットしたら、当たったmcが変化するというのをやりたいです。

_root.mca = "mc_a"+_root.adep;
this.attachMovie("mc_a",_root.mca,_root.adep);
_root.adep++;

こうやって増やしているのですが、hitTestで当たった先のmc名をどうするかで困っています。
相手は連番で無限に増えて行くので、どう指定したらいいのか解りません。

どなたか宜しく御願いします。

675 名前:671 mailto:sage [2008/09/25(木) 21:41:00 ID:nS8BIz8Q]
>>672-673
レス有難うございます。

bmpPixcelFunc(bmpData); を試しましたが、駄目でした。
あと、「bmdを渡す」とはどういう意味でしょうか?


676 名前:Now_loading...774KB mailto:sage [2008/09/25(木) 21:53:24 ID:iRc54cLX]
>>674
逆に考える。
増加するMCのフレームアクションに、追跡するMCに当たったら変化を生じるようにする。
つまり、100匹のネズミを追う猫の場合、ネズミMCをダブルクリックして上のようなASを書く。


677 名前:Now_loading...774KB [2008/09/25(木) 22:21:43 ID:qvFstGVn]
>>676
有り難う御座います!そうですね…気づきませんでした。なんという馬鹿…。
とりあえず試してみます!

678 名前:Now_loading...774KB [2008/09/26(金) 15:28:26 ID:THIGXRlX]
as3です
Loaderオブジェクトで外部からサムネイル画像を100枚ぐらい読み込むとします。

そのために、forループ文で、
・Loaderオブジェクトを梱包するスプライト(Wrapper)
と、
・写真を読み込むLoaderオブジェクトそのもの
を作り、100枚の写真がずらりと横に並ぶまではうまくいきました。
※一つのスプライトの中に一つのLoaderオブジェクト(写真)が入っているということです

ですが、traceで、Loaderオブジェクトの横幅を調べると、
ゼロになっています。

さらにLoaderオブジェクトを梱包するスプライトの横幅も、
traceするとゼロになっています。

Loaderオブジェクトの横幅は読み込んだ写真の横幅に関係なく、ゼロになるんでしょうか?

スプライトのWrapperのwidthを仮に100pxとすると、
写真がすべて見えなくなってしまいました。
横幅はどうやって設定したらいいでしょうか。


679 名前:Now_loading...774KB mailto:sage [2008/09/26(金) 16:36:50 ID:F8YDLd+O]
いや普通に読み込んでからwidthでいいだろ
Spriteでラップする意味もわからん

var l:Loader = addChild(new Loader()) as Loader
l.contentLoaderInfo.addEventListener(Event.COMPLETE,function(){trace(l.width)})
l.load(new URLRequest("hoge.jpg"))



680 名前:Now_loading...774KB [2008/09/26(金) 23:04:59 ID:eDty70e3]
sendAndLoadのことで現在悩んでおります。お助け下さい。

name1というテキスト入力とresultというダイナミックテキストがあり、ボタンに次のようなスクリプトを書きました。

on (release) {
System.useCodepage = true;
var send_lv:LoadVars = new LoadVars();
var load_lv:LoadVars = new LoadVars();
send_lv.name1 = name1.text;
load_lv.onLoad = function(success) {
if(success==true){
result.text=this.name2;
}else{
result.text="通信失敗";
}
};
send_lv.sendAndLoad("PHP絶対パス", load_lv, "POST");
}

そして、PHPは次のようにしました。

<?php
print('name2='.$_POST['name1']);
?>

このswfを直接動かしても、HTMLの中に埋め込んでもうまく動作しますが、そのHTMLファイルをホームページにアップすると
「通信失敗」となってしまいます。
この原因がわかりません。どなたかお知恵をお貸し下さい。

681 名前:Now_loading...774KB [2008/09/27(土) 00:43:44 ID:EZpr8eQE]
"PHP絶対パス"って何を指定してるの

682 名前:680 [2008/09/27(土) 00:50:32 ID:FzKvB/W5]
眠れないので、一応開いてみたら、レスがあったのでびっくりしました。
ありがとうございます。

PHP絶対パスとは、cgi.movie.geocities.jp/../sndAndLd.phpというような
PHPファイルのホームページ上の絶対パスです。



683 名前:Now_loading...774KB mailto:sage [2008/09/27(土) 01:07:31 ID:6SdSMo/P]
>>682
crossdomain.xmlはあるの?

684 名前:680 [2008/09/27(土) 07:53:36 ID:FzKvB/W5]
>>683さん、「crossdomain.xml」というのは初めて聞きました。

私は、www.1art.jp/を参考に勉強しているのですが、FLASHからPHPにデータを送ったり、
データを保存したり、データを読み込んだりすることは問題なかったのですが、このsendAndLoadが
どうしてもうまくいかないのです。

crossdomain.xmlはおそらく無いと思いますが、今から調べてみたいと思います。
ありがとうございました。

685 名前:Now_loading...774KB mailto:sage [2008/09/27(土) 08:00:27 ID:Vaav7MB0]
Airでキーロガーみたいなのって作れますか?
アプリケーションのウィンドウがアクティブじゃなくても
キー取得できるみたいなのです。

686 名前:Now_loading...774KB mailto:sage [2008/09/27(土) 08:40:57 ID:6u5xdhJN]
できない。
一時期それでユーザー名とパスワード抜き取るクラックが流行って、
できないように修正された。

687 名前:Now_loading...774KB [2008/09/27(土) 09:56:11 ID:+pZF67nb]
ランタイム共有用に書き出しの際に入力する URL って
どんな意味があるの?

読み込む側が必要なのは判るんだけど…

688 名前:Now_loading...774KB mailto:sage [2008/09/27(土) 11:34:04 ID:DkWrR+XD]
Away3Dなどのライブラリを試そうと思って、サンプルを漁っていたのですが
ほとんどがflaファイルで提供されていました。
フリーでflaファイルを扱えるソフトはないのでしょうか?

開発にはflexSDKとエディタのみでちまちま作るつもりなので、サンプルの中味さえ見れればいいんですが

689 名前:Now_loading...774KB [2008/09/27(土) 11:52:50 ID:0ok+QN84]
super()でスーパークラスのコンストラクタの引数をサブクラスのコンストラクタ引数で書き換える方法はやった事があるのですが
スーパークラス内のメゾットの引数をサブクラスから書き換えるという事はできるのでしょうか?

スーパークラス側で
protected function goMove(x:Number, y:Number, w:Number, h:Number):void {
このx,y,w,hをサブクラス側で指定するという事は可能なのでしょうか

actionscript3です、よろしくお願いします



690 名前:680 [2008/09/27(土) 12:27:21 ID:rd6K8L3s]
crossdomain.xmlを試してみましたが、どうもうまくいきません。

そもそも、swfとPHPは同じフォルダにアップされているので、crossdomain.xmlは要らないのでは?

>>682に書いたことには少し誤りがあって、PHPファイルの絶対パスはttp://movie.geocities.jp/../sndAndLd.phpなのですが、
Yahooジオプラスでは、cgiをリクエストする際にttp://cgi.movie.geocities.jp/../sndAndLd.phpとcgiを付ける必要があるのです。
こういう場合でも、crossdomain.xmlが必要なのでしょうか?

691 名前:Now_loading...774KB mailto:sage [2008/09/27(土) 17:14:03 ID:Kr6MFw+j]
>>689
super.goMove(1,2,3,4);

692 名前:Now_loading...774KB mailto:sage [2008/09/27(土) 21:31:24 ID:s4wheZgr]
>>690
ホスト名がぴったり一致しない限り必要だよ。
IPアドレスなんかが同じだったとしても。

693 名前:689 mailto:sage [2008/09/27(土) 23:09:13 ID:dT4DedqN]
>>691
super.メゾットで試した所値を渡す事ができました
ありがとうございました!

694 名前:690 [2008/09/28(日) 04:37:36 ID:Y0qa1f5w]
>>692さん、ありがとうございます。
もう一度やってみます。

695 名前:Now_loading...774KB [2008/09/28(日) 10:05:04 ID:2gqkkW7m]
WinXP-ProでFlash8-Pro(AS2.0)を使っています。

ヘルプを参照し、Matrixクラスを使ってMCを歪ませたいのですが、うまく出来ません。

下のASでは、root上にあるmc1というMCを、ボタンで関数disorting()を呼び出すことに
よって、元の正方形の上辺を移動させて(スライドさせて)ひし形を作ることを目的に書
きました。(MCの基準点は左下の角です) 

import flash.geom.Matrix;
//
Tx = this.mc1._x;
Tx = this.mc1._y; //位置はそのまま
//
function disorting() {
var skX = 1; //仮に1を入れています
var skY = 1;
//
var myMatrix:Matrix = new Matrix(0, skY, skX, 0, Tx, Ty);
//
_root.mc1.transform.matrix = myMatrix;
//
}

skXの値を色々変えましたが、MCが回転してしまいます。
どうしたら良いでしょうか?

696 名前:Now_loading...774KB mailto:sage [2008/09/29(月) 10:52:37 ID:aC09E/Gj]
CS3 AC2.0を使っています。
先頭のMCを頭にして、後ろに小さいMCがしっぽのように付いてくるようにしたいです。
配列に記憶した先頭MCのx,y座標に移動してくるようにはできたのですが、
思っていたような動きになりませんでした。
こちらのFlashにある、マウスを追尾する生物のような動きにしたいです。
ttp://intihuatani.usc.edu/cloud/flowing/core.html
どうすれば良いでしょうか、お願いします。


697 名前:Now_loading...774KB mailto:sage [2008/09/29(月) 11:57:32 ID:ejpryKDp]
>>695
ttp://www.fumiononaka.com/Sample/FPS2008/

698 名前:Now_loading...774KB mailto:sage [2008/09/29(月) 19:31:41 ID:DstKV62m]
SEFファイルからサーバにデータを送る方法を探してます。SWFで書き込んでファイルとしてサーバに飛ばしたいのですが、
(その逆も)わかる人いたら教えてください。

699 名前:695 mailto:sage [2008/09/29(月) 19:40:01 ID:szGcbCaQ]
>>697
Thx。出来ました(座標値変数の間違いを併せて修正)。

紹介のサイトの行列要素はFlash8のヘルプの並びと違っていますね。
(b⇔c)
そのせいか、歪の方向がXYで入れ替わっています。




700 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 00:04:02 ID:JnRCOEdp]
インポート文でワイルドカード使わずに個々にインポートする事が推奨される理由って、
厳格さ的な意味合いでですか?

import flash.events.*;
ってした方が楽ですし、FlashDevelopなんかではコード補完も効いて使いやすいんですが、
こういう指定(使わないものも読み込む)すると何かデメリットありますか?

701 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 04:12:12 ID:+mrElHkH]
AS3.0で
if文の条件に「MovieCripが特定のフレームになったとき」
というのを使いたいのですが、どういった記述になるのでしょうか?

702 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 05:38:14 ID:T4EzoT/y]
>>700
コンパイルするときにコンパイラがライブラリを検索する時間が短縮できる
あとは、ソースとして明示的にとかだけど、大量にある場合は*でもいんじゃね
>>701
一番簡単なのはそのフレームにAS書く
あとはEnterFrameイベントでcurrentFrameをチェックする

703 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 08:53:02 ID:+mrElHkH]
>>702
currentFrameがまさにそれでした。
ありがとう

704 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 12:52:52 ID:5LAmHauj]
FlexBuilder3.0, Flex3.1 AS3です。

FlexBuilderのヘルプから、リファレンスを見ると、
flash.ui.Keyboardの静的定数に、AとかBとかのキーコードの定数があるのですが、
FlexBuilder上でKeyboard.Aと記述すると、
「1119: 未定義である可能性が高いプロパティ A に静的型 Class の参照を使用してアクセスしています。」
というコンパイルエラーになってしまいます。
でも、Keyboard.DELETEという定数は、普通に使用可能です。

なぜ、この定数が使えないんでしょうか?
少し調べてみるとWeb上の記述だと、その定数はないのですが、
livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/ui/Keyboard.html
私のFlexBuilderのヘルプから見ると、その定数は存在します。
こっちにはありますね。
help.adobe.com/ja_JP/AIR/1.1/jslr/flash/ui/Keyboard.html

どうすれば、この定数が使用できるのでしょうか?

試したコードはこんな感じです。
private function myKeyDown(eventObj:KeyboardEvent):void
{
  if (eventObj.keyCode == Keyboard.A)
  {
    //
  }
}


705 名前:704 mailto:sage [2008/09/30(火) 12:57:06 ID:5LAmHauj]
書いてから、読み返してみて気づきました。

ランタイムバージョン: AIR 1.0

と書いてあるから、AIRじゃないと使えないんですね。
Flashでも使えてもよい定数だと思うんですが、
仕様みたいなんであきらめます。

#リファレンスのランタイムバージョンも注意して読まなきゃいけなんだな。


706 名前:Now_loading...774KB [2008/09/30(火) 13:27:51 ID:FqpjVlmo]
actionscript2です。ご教授お願いします。
インスタンスを複数生成してそれらのインスタンスを一まとめに
して大きさや座標を変更したいのですが、お願いします。

707 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 13:31:15 ID:BXj7572w]
>706
attachMovie()
インスタンス名._x
インスタンス名._y
インスタンス名._xscale
インスタンス名._yscale

708 名前:Now_loading...774KB [2008/09/30(火) 13:56:16 ID:FqpjVlmo]
>>707
個々に設定するのではなく、別の方法はありますか?

709 名前:Now_loading...774KB [2008/09/30(火) 14:15:48 ID:YMCRFJr0]
ひとつのMCに全部入れてMCのサイズ、座標変更



710 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 14:16:25 ID:BXj7572w]
>708
for()
while()

711 名前:Now_loading...774KB [2008/09/30(火) 14:25:31 ID:FqpjVlmo]
>>709
スクリプトで実装させる方法を教えてください。
ひとつにしてマスクを設定しようと思っております。

712 名前:Now_loading...774KB [2008/09/30(火) 15:16:42 ID:YMCRFJr0]
>>711
this.createEmptyMovieClip("MC", this.getNextHighestDepth());
for (i=0; i<10; i++) {
MC.attachMovie("instance", "instance"+i, MC.getNextHighestDepth(), {_x:Math.random()*100, _y:Math.random()*100});
}
MC._xscale = 50;

713 名前:Now_loading...774KB [2008/09/30(火) 15:18:02 ID:FqpjVlmo]
>711ご意見を参考にいろいろ試すことによりうまく実装できました。
ありがとうございます。

714 名前:Now_loading...774KB [2008/09/30(火) 15:20:02 ID:FqpjVlmo]
>>712
ありがとうございます。
まさに思い描いた感じです。
参考にしてみます。

715 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 16:30:03 ID:BXj7572w]
とことん無視されたわ
くるんじゃなかった

716 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 17:52:43 ID:ChXMi9Da]
flahs版はコピペして動く物しか受け付けない
礼儀知らずばかりだよ

717 名前:Now_loading...774KB mailto:sage [2008/09/30(火) 17:57:01 ID:JnRCOEdp]
>>702 返事遅れました それほど違いは無さそうなんですね ありがとう

718 名前:Now_loading...774KB [2008/09/30(火) 19:07:03 ID:J/cIXyN9]
コミュニケーションスキルがゼロの奴が何やっても何も動かんさw
プログラムと同じでルールってもんがあるわな

719 名前:Now_loading...774KB mailto:sage [2008/10/01(水) 00:18:06 ID:gA2ThXqQ]
質問の本音は完成品クレクレ



720 名前:687 [2008/10/01(水) 07:18:28 ID:rL4gLnc1]
回答無しか…

721 名前:706 mailto:sage [2008/10/01(水) 09:39:01 ID:MpIpYHyP]
>>715
すいませんでした。

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


722 名前:Now_loading...774KB mailto:sage [2008/10/01(水) 13:53:20 ID:t7kKbmo9]
ActionScriptでTweenerを使って色を赤→白とトゥイーンさせたい場合、
0xff0000 を 0xffffff までTweenerで変化させると
その間にある赤以外の色も表示されてしまいます。

うまく他の色を表示させずに変化させることはできませんでしょうか?

723 名前:Now_loading...774KB mailto:sage [2008/10/01(水) 14:42:08 ID:wEJ1qrZw]
>>722
背景に白いオブジェクト用意して
Tweener.addTween(myMovieClip, {_alpha:0});
で、出来る予感。

724 名前:Now_loading...774KB mailto:sage [2008/10/01(水) 15:29:10 ID:KPLLzcxS]
>>688
flaのASはヌル文字を取れば(あるいはUTF-16として読めば)大体は読めますし
swfからASを抽出するツールもいくつか存在するようです。
が、Away3Dに関していえばここでソースが見られます。
ttp://away3d.com/examples.php?api=Away3d&searchterm=;

725 名前:Now_loading...774KB mailto:sage [2008/10/02(木) 23:41:38 ID:2uQUyDG+]
質問です。

getChildren() や getChildAt(x) などで取得したオブジェクト(配列)が,
どんな種類のコンポーネントかを判別する手段はありますでしょうか?

ご教示願います。よろしくお願いします。

726 名前:Now_loading...774KB mailto:sage [2008/10/03(金) 03:43:43 ID:5RCjUr5y]
AS3.0で、
画面全体を揺らすエフェクトが必要になり

画面上にある各mc名.y

の変化で、画面を揺らしているように見せているのですが
画面に出るmcが増えるたびにどんどん行が増えてしまいます。
もっと効率的な指定の方法などありませんでしょうか?

727 名前:Now_loading...774KB mailto:sage [2008/10/03(金) 04:29:52 ID:ycAKmgpt]
>726
入れ物としてのmcをつくって全部中に入れる
このmcを揺らすだけで済む

728 名前:Now_loading...774KB mailto:sage [2008/10/03(金) 08:11:37 ID:7PfOZSpT]
>>725
どういう目的か解らんがisとかasとかtypeof使えばいんじゃね


729 名前:704 mailto:sage [2008/10/03(金) 16:55:25 ID:0HNTJGKW]
Flash CS3でグラフィカルなコンポーネントを作って、Flexから使いたいと思っていますが、
やりたい事は、プロパティの変更によって見た目が変わるといったことです。
どのようにしてFlash CS3で作成したコンポーネントに、プロパティやメソッドを定義すべきか分かりません。

自分で確認できたのは、
・Flex Component Kit for Flash CS3を使うのは分かりました。
・Flash CS3で書いたMovieClipを、swc化して、Flexで貼り付けられたところは確認しました。
この段階では、操作できないただの絵です。

Flash CS3でメソッドやプロパティを用意してあげるべきだと思うのですが、
どこにクラス定義を書いたらよいのでしょうか?




730 名前:Now_loading...774KB mailto:sage [2008/10/04(土) 00:41:09 ID:1d+hAd5v]
>>728
isを使ったら思い通りのことができました。
ありがとうございました!

731 名前:Now_loading...774KB mailto:age [2008/10/04(土) 14:08:03 ID:9sn63Vep]
FlashCS3&AS3での質問です。
メインタイムラインの1フレーム目にMCを設置したとします(インスタンス名:testmc)
そしてtestmcはaddEventListener(Event.ENTER_FRAME,hoge);
のようなイベントを実行していたとします。

そこで、メインタイムラインの100フレーム目とかでそのMC(testmc)を削除したとします。
(この場合メインタイムラインからtestmcがremoveChildされたという解釈でいいのかな?)
この場合removeEventListener(Event.ENTER_FRAME,hoge);を実行してないので
testmcが裏でそのイベントを永遠と処理し続けることになりますよね?

メインタイムラインからMCを削除したと同時にremoveEventListenerが呼ばれるようなプログラムを組みたいのですが
testmcがremoveChildされた瞬間に呼ばれるイベントとかは存在するのでしょうか?

今のところ、そのMCを消す直前にキーフレームを作ってremoveEventListenerを呼んで対策しています。

何かいい方法がございまいたら教えてもらえると有り難いです。
よろしくお願いします!

732 名前:Now_loading...774KB mailto:sage [2008/10/04(土) 19:13:31 ID:ZsmLtQ5t]
removed
ttp://livedocs.adobe.com/flex/3_jp/langref/flash/display/DisplayObject.html#event:removed

733 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 07:33:14 ID:f1pVXO/p]
>>731
removeChild(表示リストから外す)時に呼ばれるとかは無いと思う
nullする時点でリスナー消去やタイムラインstopなどの終了処理を自分で記述する

734 名前:Now_loading...774KB [2008/10/05(日) 08:11:48 ID:Sdwe38Mg]
なにこの展開w

mc.addEventListener(Event.REMOVED,func);
function func(event:Event):void{trace("ステージ上から消去されました");}
removeChild(mc);

揃いも揃ってまあwいろんな所が不自由な奴ばっかだなw

735 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 08:16:25 ID:f1pVXO/p]
>>734
リスナー登録すりゃできるしw

736 名前:Now_loading...774KB [2008/10/05(日) 08:52:36 ID:2KEA/Arr]
AS3のLoaderでswfをload後に、PROGRESSイベントでは全バイト読み込まれているのに、
INITやCOMPLETEにならない特定のswfがあるんですが、原因を追跡する方法はありますか?

IO_ERRORイベントや
try {
 loader.load(target);
} catch (error:Error) {
}
にも引っかからないんですが


737 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 09:09:19 ID:UbHgfeDX]
>>727
今ある中ではそれが効率的ですね
遅くなりましたがありがとうございました

738 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 14:12:03 ID:yjRMqgXh]
質問です。

ホームページに動画データの入ったflashを載せたいのですが、flash自体は載るのに
動画が表示されません。
<!--flashを表示-->
<embed src="flash.swf"
width="550" height="400" bgcolor="#ffffff"
で記述したんですが・・・
動画データは同じファイルに入ってます。
困ってます・・・たすけてください。

あ、AS3を使ってます。

739 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 21:12:10 ID:Es6KxZrQ]
アダルトビデオか?
俺にも見せろ。



740 名前:Now_loading...774KB [2008/10/05(日) 21:58:40 ID:usVPpYR2]
教えてください。

あるmcをクリックすると、そのたびに「vacant」「occupied」という2つが入れ替わるものを
作りたいと思っています。
最初は、swapDepthを使っていたのですが、attachMovieの方がいいのではないかと思い、
いろいろ試行錯誤しているところです。

mc = _root.attachMovie( "occ", "mc1", 1 ) ;
mc._x = 10 ; mc._y = 20 ;

mc1.onRelease = function() {
mc = _root.attachMovie( "vac", "mc2" , 1) ;
mc._x = 10 ; mc2._y = 20 ;}

このようなスクリプトにおいて、新しくロードされたvacに対するボタンアクションはできるのでしょうか?

最初は、透明のボタンを重ねておいて、その押された回数によって「vacant」「occupied」が入れ替わるようにしていたのですが、
このようなボタンが50個もあるので、なんとかまとめる必要があるのです。よろしくお願いします。


741 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 22:42:40 ID:Y40PAbvO]
>>738
ローカルでは再生されるの?
Flash自体読み込まれてないって事はないの?

>>740
mc2.onRelease = function(){ }

表示を切り替えたいだけなら_visibleでいいんじゃない?

742 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 22:51:52 ID:h4p7romc]
>>740
表示を切り替えさえできればいいのかな?
だったら、MCの_currentframeに応じてそのMCのなかのvacantフレームとoccupiedフレームを移動とかもありでは?
スクリプトも状態に応じて対応を変える関数をひとつつくっておいて
forかなんかですべてに割り当てるとか。

目的を明確にしたほうがより適切な方法が見つかるかもよ。

743 名前:740 [2008/10/05(日) 22:54:27 ID:usVPpYR2]
>>741さん、ありがとうございます。

mc2.onRelease = function(){ }

は、入れ子にするんでしょうか? 入れ子にしても1回しか反応しません。
並列に置くとまったく反応しません。

並列に置くのは、
mc = _root.attachMovie( "occ", "mc1", 1 ) ;
mc._x = 10 ; mc._y = 20 ;

mc1.onRelease = function() {
mc = _root.attachMovie( "vac", "mc2" , 1) ;
mc._x = 10 ; mc._y = 20 ;}

mc2.onRelease = function() {
mc = _root.attachMovie( "occ", "mc1" , 1) ;
mc._x = 10 ; mc._y = 20 ;}

としてみたのですが、どこかに致命的なミスがあるんでしょうか?



744 名前:740 [2008/10/05(日) 23:01:31 ID:usVPpYR2]
>>742さんも、ありがとうございます。

最終的には、FLASHからPHPに送ってSQLiteでデータベース化し、それをPC上のswfファイルで
読み込むというのが目標です。ほとんどすべて初心者なので、果てしなく遠い道ですが・・・
したがって、表示だけではなくて、そのデータを記録する必要があります。

745 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 23:13:21 ID:h4p7romc]
>>744
いや、訊きたいのはつねにoccとvacふたつのMCを表示する必要があるのか?
それとも、同じ場所に、状況に応じてどちらか一方が表示されていればいいのか?ということ。
状態の表示と記録等の作業とは分けて考える。一緒にしない。

初心者ならなおさら一度にすべてをやろうとせず、問題を細切れにして
ひとつひとつ解決していくほうがいいと思うよん。
ただその前に、最終的にどういう流れで何をしたいかの説明があるといいけど。

746 名前:Now_loading...774KB mailto:sage [2008/10/05(日) 23:21:01 ID:Y40PAbvO]
>>743
入れ子にする。1回しか反応しないのは新たにattachMovieしてるから。
新たにattachMovieしたMCにもボタンアクションを記述しないとだめ。
それだと永遠入れ子が続くからこんなかんじでどう?

occ_mc = _root.attachMovie("occ", "mc1", 1);
occ_mc._x = 10;
occ_mc._y = 20;
//
vac_mc = _root.attachMovie("vac", "mc2", 2);
vac_mc._x = 10;
vac_mc._y = 20;
//
occ_mc.onRelease = function() {
  this._visible = false;
  vac_mc._visible = true;
};
vac_mc.onRelease = function() {
  this._visible = false;
  occ_mc._visible = true;
};

747 名前:740 [2008/10/05(日) 23:30:16 ID:usVPpYR2]
>>745さん、ありがとうございます。

実は、forを使ってこのボタンをいくつでも配置することはできています。
そして、それらのインスタンス名を2次元の配列に格納し、 _root[arr[j][i]]で参照して、
普遍的な関数を作ろうと考えてみました。

for( i = 0; i < 2 ; i++) {
for( j = 0; j < 3 ; j++) {
btnName= _root[arr[j][i]];
btnName.onRelease = function() { }
}
}

しかし、肝心の関数部分で止まってしまったのです。そこで単純化しようと思ってやってみたのですが、
どうにもうまくいきません。あなたの言われる「状態に応じて対応を変える関数をひとつつくっておいて 」
というのができないのです。そもそも、最初から無理なことをやろうとしているのではないかと心配になって、
質問させていただきました。

748 名前:740 [2008/10/05(日) 23:35:33 ID:usVPpYR2]
>>746さん、ありがとうございます!!!

素晴らしい!

「1回しか反応しないのは新たにattachMovieしてるから。」そうは感じておりました。
しかし、初心者の悲しさでデッドロックから抜けられませんでした。

どうして動くのか、今からじっくり考えてみたいと思います。感謝、感謝。


749 名前:Now_loading...774KB mailto:sage [2008/10/06(月) 02:53:53 ID:ATmo4CTQ]
>>736
うろ覚えで申し訳ないけど、それ関係で何かバグがあるって見た覚えがあります。
なんだったかなぁ、、、COMPLETEを発行せずに終わっちゃうんだったかな?なんかそんなの




750 名前:738 mailto:sage [2008/10/06(月) 13:11:28 ID:j7I+Fyra]
<<741

いえ、ローカルのHTMLファイルでも表示はされてません。まだアップはしてないので・・・
flash自体は読み込まれてます、flashにflvplaybackで入れ込んでいるのですが、肝心の動画だけが
表示されないのです・・・swfファイルには動画は表示されているのですが・・・

751 名前:Now_loading...774KB [2008/10/06(月) 14:34:50 ID:71akw7qm]
ドキュメントクラス内で設定した変数があるのですが、
それをムービークリップの、mcTestのフレームアクション上から
アクセスするにはどうすればいいでしょうか。


ドキュメントクラス内
public var _direction:String = "right";


ムービークリップmcTest
if(MovieClip(root)._direction == "right"){
trace("hoge");
}


これをすると、
TypeError: Error #1034: 強制型変換に失敗しました。flash.display::Stage@1e485f99 を flash.display.MovieClip に変換できません。

となってしまいます。
ドキュメントクラス内の関数等からは、
問題なく_directionの値を取り出すことができます。


752 名前:Now_loading...774KB mailto:sage [2008/10/06(月) 15:15:27 ID:JWWr9U6v]
ニコニコにアクションスクリプト入りのswfをアップしようとするとニコニコムービーメーカーに怒られるんですが
ttp://www.nicovideo.jp/watch/nm4832652では
アクションスクリプト入りのまま上げられてるみたいです
こういうのどうやるんでしょうか

753 名前:Now_loading...774KB mailto:sage [2008/10/06(月) 22:19:11 ID:v0Gc+cNm]
MXMLを使わずにActionScriptのみでFLVプレイヤーを作っています。
flash.media.VideoでFLVを表示させると動画の周りに余白が表示されてしまいます。
MXMLだとlayout="absolute"に設定すれば余白がなくなるようですが
asのみの場合はどう書けば余白をなくすことが出来ますか?

754 名前:741 mailto:sage [2008/10/07(火) 01:40:42 ID:vSCGf/4x]
>>750
・flash自体(=swf)は読み込まれてるのに動画が表示されてない
・swfファイルには動画は表示されている

swfを直接再生すると動画は表示されるが、
htmlにswfを埋め込むとflvplaybackの枠とかは表示されるが動画が表示されてないって事?
もしそうならすみませんが私にはわかりません




755 名前:Now_loading...774KB mailto:sage [2008/10/07(火) 10:10:21 ID:/tF2IwiT]
>>750
読み込む動画がH264/AACエンコードとかで、
ブラウザのFlashPlayerのバージョンが9.0.115.0以前とか?

756 名前:750 mailto:sage [2008/10/07(火) 13:24:41 ID:WI3Iuoc5]
いえ、flvplaybackの枠も表示されません。
読み込む動画はyoutubeから落としたflvファイルでブラウザのバージョンは9.0.124.0です。
あ、Apacheを使って、PHPで書いてます。

757 名前:Now_loading...774KB mailto:sage [2008/10/07(火) 13:35:39 ID:Yrky8F5E]
そりゃmimeの設定できてねーんじゃねーの?

758 名前:756 mailto:sage [2008/10/07(火) 14:37:35 ID:WI3Iuoc5]
ありがとうございました!おかげで解決しました。757さんの言うとおり、mimeの設定が出来ていなかったようです。


759 名前:736 mailto:sage [2008/10/08(水) 00:13:46 ID:gi3Jp8Qo]
>>749
レスthxです
バグですかorz




760 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 12:59:28 ID:igoSSjzu]
質問させてください。開発環境はAS3を使ってます。
actionscriptを使ってチャットシステムを作りたいのですが、ちょっと変わった仕様にしたくて、
チャットのログを残して、それをもう一度再生でき、その上から新たに書き込みが出来る。という風にしたいのですが
どうすればそれが、もしくはそれに近い形のものが出来るか、力を貸してください。


761 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 14:03:55 ID:xljkzCkT]
>>760
漠然としすぎてて何が聞きたいのかよくわからない。動画のないニコニコ動画みたいなもんなのか?
サーバープログラムとFlashクライアント組み合わせればできるんじゃないの。比較的難しいと思うけど。

762 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 14:12:42 ID:igoSSjzu]
>>761
あ、そんな感じです。サーバプログラムとflashクライアントですか……ちょっとわかりません。
申し訳ありませんがもう少し詳しく説明してもらえないでしょうか?


763 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 14:36:25 ID:xljkzCkT]
>>762
逆に現時点で何がわかりますか?ASは?PHPは?DBは?FMS/FCSは?
やりたいことは別として、基本的なことから理解していかないと、このレベルのFlashを作るのは難しいと思う。
それくらい広い範囲の知識がないと実現できない構想です。

764 名前:Now_loading...774KB [2008/10/08(水) 14:43:15 ID:VeBvuOje]
mime知らんでニコニコみたいなの作りたいとか言ってた奴じゃねーのどーせ?
そいつもうほっとけ。キリないわ

765 名前:Now_loading...774KB [2008/10/08(水) 14:45:57 ID:VeBvuOje]
ボクちゃんは1冊本買って読んでね
ニコニコのクライアントの作り方みたいなの、AIRの紹介本かなんかでのってたような気がするから、それ丸写ししてくれ

766 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 14:49:58 ID:igoSSjzu]
>>763
使える物はASとPHPです。データベースもある程度は出来ます。PHPは掲示板を作る事くらいは出来ます。
足りない知識は補っていくつもりです。何とかして作りたいのです…

767 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 15:11:44 ID:gmvy7wkk]
つか、広範囲な知識が必要っていわれてるように、ここで全部を詳しく説明なんて無理。
いわれたキーワードや本なんかを参考にすすめていって、もっと問題点が絞り込まれた段階で
質問したほうがいい。

768 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 15:14:37 ID:jk5368hO]
AS2.0でゲームを作っています
点数をとると画面下に並べているMCの色が変わり、点数を表示するようにしています。
■■■■□□□□←こんな感じです。
各四角のMCにインスタンス名mark1〜30までを付け、
四角をまとめたscoreGroupe_mcに
onClipEvent (enterFrame) {
if (_root.seikaiNum == 1) {
this.mark1.gotoAndStop("on");
}
}
と書き、四角の色を変えて表示させています。
今のところ、上のスクリプトを
1〜30まで書き連ねることで表示としては出来ているのですが
これを、簡潔にする場合はどのようにしたらいいのでしょうか?
よろしくお願いします

769 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 15:46:12 ID:gmvy7wkk]
>>768
markに連番ついてるならforループで処理すればいいと思うが、
seikaiNumの値とonにするmarkの数が対応しているなら、
seikaiNumの値が増減する時に、
this.scoreGroupe_mc["mark"+String(_root.seikaiNum)].gotoAndStop("on");
みたいにして表示を増やしていけば、enterFrameいらないと思う。



770 名前:Now_loading...774KB [2008/10/08(水) 16:18:02 ID:iD7k9kcY]
                     24時間耐久10分でフラッシュを作れ!
        ┏━┓                ┏━┓    ┏━┓           ┏━┓
      ┏┛┏┛                    ┏┛  ┃  ┏┛  ┗┓        ┏┛┏┛
    ┏┛┏┛                      ┗┓  ┃┏┛┏━┓┗┓    ┏┛┏┛
┏━┛  ┗━┳┓                    ┃  ┃┃  ┃  ┃  ┃┏━┛  ┗━┳┓
┗━┓  ┏┳┛┃                    ┃  ┃┃  ┃  ┃  ┃┗━┓  ┏┳┛┃
    ┃  ┃┗┳┻┓    ┏━┳━━┓  ┃  ┃┃  ┃  ┃  ┃    ┃  ┃┗┳┻┓    ┏━┳━━┓
    ┃  ┃┏┻┓┗┓┏┛┏┛┏┓┗┓┃  ┃┃  ┃  ┃  ┃    ┃  ┃┏┻┓┗┓┏┛┏┛┏┓┗┓
    ┃  ┃┃  ┃  ┗┛  ┃  ┗┛  ┃┃  ┃┃  ┃  ┃  ┃    ┃  ┃┃  ┃  ┗┛  ┃  ┗┛  ┃
    ┃  ┃┃  ┣┓    ┏┫  ┏━━┛┃  ┃┃  ┃  ┃  ┃    ┃  ┃┃  ┣┓    ┏┫  ┏━━┛
  ┏┛┏┛┃  ┃ ┃     ┃ ┃  ┃┏━┓┃  ┃┗┓┗━┛┏┛  ┏┛┏┛┃  ┃ ┃   ┃ ┃  ┃┏━┓
┏┛┏┛  ┃  ┃ ┃ ┃  ┗┓┗┛┏╋┛  ┗┓┗┓  ┏┛  ┏┛┏┛  ┃  ┃ ┃ ┃  ┗┓┗┛┏┛
┗━┛    ┗━┛  ┗┛    ┗━━┛┗━━━┛  ┗━┛    ┗━┛    ┗━┛  ┗┛    ┗━━┛
          ┓┏┓    ┓  ━┓     ┏┓┏┓   ┏┓┏┓      ━┓ ━┓   ┏━  ┏━┓
          ┃┃┃    ┃ ┏┛   ┃┃┃┃ ・ ┃┃┃┃     ┏┛ ━┫ ・ ┃  ┃  ┃
          ┃┃┃    ┃ ┃     ┃┃┃┃ ・ ┃┃┃┃     ┃  .  ┃ ・ ┗┓ ┗━┫
          ┻┗┛ 月 ┻┗━ 日 ┗┛┗┛   ┗┛┗┛ ヨリ ┗━ ━┛  .━┛  .━┛ マデ

                   参加者(Flash制作者・お題投下者・観覧者)募集
               現行:pc11.2ch.net/test/read.cgi/swf/1206509015/

771 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 16:18:20 ID:jk5368hO]
>>769
今ちょうど、上に書かれている事をやってみている最中でした!
変数_root.seikaiNumをMc名にくっつけるところで悩んでいたので
とても助かりました
ありがとうございます!

772 名前:Now_loading...774KB [2008/10/09(木) 03:23:29 ID:aP0WSrHE]
as3です。
クラスメソッドが、呼び出し元のオブジェクト(外部クラスから生成されたオブジェクトです)
を参照する方法ってありますか?
※引数を渡す方法ではなく、無名関数のときのarguments.calleeみたいなものがあるかなと


773 名前:Now_loading...774KB [2008/10/09(木) 05:31:20 ID:j0D+PJKY]
>>772
call()使えば?

774 名前:Now_loading...774KB mailto:age [2008/10/09(木) 16:07:37 ID:TmP9ojJa]
ActionScript3.0のイベント一覧&解説ページとか無いですか?
Event.ENTER_FRAME は フレーム毎によばれます。とか書いてあるページ

775 名前:Now_loading...774KB [2008/10/09(木) 16:18:14 ID:sPljUQk0]
質問です。
FLASH8 professionalを使用しています。

マウスの動きに合わせて画面を動かしたいのですが、どうしたらいいですか?
www.okayama-ichibangai.co.jp/
こんな感じです。

776 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:20:33 ID:8zCQcoK/]
>>774
イベント関連の定数の使われ方って実は
EventDispatcher派生クラスによって微妙に違うよ
さすがにEvent.ENTER_FRAMEとかはどのクラスでも一緒だけど

なのでまずEventDispatcher派生クラス側のリファレンスから調べた方がいい


777 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:25:47 ID:Kp/E7F/l]
>>774
ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/events/Event.html
ttp://d.hatena.ne.jp/antivivi/20071102
ぐぐってみたらこんなんでてきた。上は関連項目のリンクまでたどると吉。

778 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:29:46 ID:DCHKzhYs]
AAAというmcを配置して外部swf(BBB.swf)を読み込ませているのですが
外部swfの特定のフレーム(ラベル:CCC)に飛ぶ、というアクションを実現させたいです。

現在は、フレームに

AAA.loadMovie("BBB.swf");

と書いています。
前述のアクションを実現させるには、どのようにすれば良いでしょうか?

779 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:35:39 ID:jZliTI6n]
>>778
ロードするとAAAの内容がBBBになるから、AAAに対してCCCへ飛べって命令する。
ただしロード完了(少なくともBBBフレームの読み込み完了)まで待つ必要がある。
MovieClipLoaderが使えるバージョンならそっちを使うことをすすめる。



780 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:36:27 ID:ewoo5v+p]
そもそもBBB.swf読み込めてる?

781 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:58:02 ID:DCHKzhYs]
回答ありがとうございます。

>>779
AAA.loadMovie("BBB.swf");
AAA.gotoAndPlay(CCC);

としてみましたが、動作しませんでした。

>>780
読み込み自体は問題ないです。

782 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 17:06:22 ID:jZliTI6n]
>>781
本当に読み込み完了を待ってから実行してるのか?
まさか続けてその二行を書いたんじゃないよな?

783 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 17:19:00 ID:ewoo5v+p]
// SWF7以上? AS1.0以上 AS2.0以下
var listenerObject = {
onLoadInit:function( mc ){
mc.gotoAndPlay("CCC");
}
};
var movieClipLoader = new MovieClipLoader();
movieClipLoader.addListener( listenerObject );
movieClipLoader.loadClip( "BBB.swf" );

// SWF6 AS1.0
AAA.loadMovie( "BBB.swf" );
AAA.onLoad = function(){
this.gotoAndPlay( "CCC" );
};

作業中なので構文チェックすらしないけど、何かしらエラー出たり動作しなかったら自分で解決してね。ヒントにはなると思う

784 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 18:13:46 ID:DCHKzhYs]
>>783
どうにか動作させることができました。
ありがとうございます。

785 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 21:11:58 ID:eWUWIMFi]
>>775
_xmouse、_ymouseでマウスの位置を取得する

786 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 21:15:05 ID:HOE20Wv+]
loadClipでAAA指すのわすれてるや

787 名前:Now_loading...774KB [2008/10/10(金) 11:40:13 ID:jEdfFmam]
actionscript3で、配列array1[0〜4までbitmapが入っている]という状態で

A:
var array2:Array = new Array();
array2 = array1;
というのと

B:
var array2:Array = new Array();
for(var i:int=0; i<array1.length; i++) {
array2[i] = array1[i];
}
というのがありますが、この二つは結果は違うのでしょうか?

やりたい処理はbitmap含めた配列array1のコピーでは無く
配列array2を使ってarray1の中にあるbitmapを参照したいのですが
for(var i:int=0; i<array2.length; i++) {
array2[i].alpha = 0;
}
上のAとB、どちらの方法が正しいのでしょうか?

788 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 12:08:27 ID:Hiz0rQXM]
>>787
おそらく適切なのはこうです。
var array2:Array = array1;

これでarray2はarray1を指すようになります。

Aの場合、newした領域は使われません。
array2 と array1 は全く同じArrayオブジェクトを指すようになります。
つまり、最初に書いた記述と等価です。

Bの場合array1[i]はarray2[i]と同じ物を指すようになりますが、
Arrayオブジェクトそのものは別物です。

例えば、後でarray[0].alpha = 0.5としたときは、A,Bいずれの場合もarray2[0].alpha は0.5となります。
しかし、array1[0] = hoge; としたとき, array2[0] は Aの例ではhogeを指しますが、
Bの例では元のbitmapを指したままになります。

789 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 13:13:32 ID:jEdfFmam]
>>788
丁寧な解説ありがとうございます
結構複雑な事だったんですね・・・
AとB双方の違いは
A:array2がarray1そのものになる(array2のメモリ消費無し)
B:array1と別物のarray2(中身はarray1の中身の参照)が作られる
といった感じでしょうか
また調べてみたいと思います



790 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 13:20:11 ID:386dzPr4]
脱出ゲームでただ画面を切り替えるだけではつまらないので、切り替える際に部屋が回転するアニメーションをつけたいのですがどうすればできるでしょうか?
xscaleとか使ってみましたがうまくいきませんでした
swf6ですよろしくお願いします

791 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:43:18 ID:+XhY3/+g]
>>790
回転するアニメーションを自力で描くか、3Dソフトでレンダリング

ただ、プレイする側からすると回転とかのエフェクトはそれほどいらん。
その努力を内容に向けるほうが評価はあがると思われる。

792 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:44:03 ID:Lg+DE3dz]
>>790
意味不明でございます
そもそも部屋って何?
大体何がやりたいか想像できるけど、そんなんじゃ説明のしようもない

793 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:46:58 ID:386dzPr4]
>>790
なるほど大変そうですね…
参考になりました!内容を重視したいと思います
ありがとうございました

794 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:47:38 ID:386dzPr4]
すみません>>791でした

795 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 19:53:20 ID:h+heZ6CA]
AS2で初めてスクリプトを作ってます。
MovieClipを配置して、トゥイーンを使ってアルファ値を0から100に
あげていき、フェードインするようにしています。
このMovieClipのattachBitmapを使用してビットマップを読み込んで
フェードインさせたいのですが、attachBitmapを使用するとフェードイン
してくれません。
やりかたが間違っているのでしょうか。
よろしくお願いします。

import flash.display.BitmapData;

var bmp:BitmapData = BitmapData.loadBitmap("image");
map.attachBitmap(bmp,2);
map._width = bmp.width;
map._height = bmp.height;
map._x = 0;
map._y = 0;


796 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:10:56 ID:+XhY3/+g]
>>795
いまいち構成を理解してないが、その場合はattachMovieを使うんじゃないのか?

797 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:19:26 ID:h+heZ6CA]
回答ありがとうございます。
早速、試そうとしましたが、
attachMovieを使うと、別のインスタンスとしてMovieClipができるので
シーンに割り当てたトゥーイーンがうまく動いてくれないみたいです。
よろしくお願いします。

798 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:49:23 ID:+XhY3/+g]
>>797
すまんが、何がどこにいくつあり、どういう順番で、どういうことを目指しているのかわからん。
モーショントゥイーンでアルファ値を変更させたMCがあるとして、それをどうしたい?
そこに別のMCをクロスフェードしたいのか、トゥイーンするMCのほうを別のMCに重ねたいのか
そのへんもっと詳しく。

799 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:58:47 ID:h+heZ6CA]
>>798
説明が下手でごめんなさい。MCは1つだけです。
まず、ASを使用せずにMCを1つ配置して、30フレームくらいかけてアルファ値を0から100にしています。
これだけで動作させると意図したように動いてくれます。
このMCにスクリプトを使用して、動的にビットマップを変えて、再生できればと考えました。
そこで、1フレーム目に、このMCにattachBitmapを使用してビットマップを取り込むように
したのですが、再生すると最初からビットマップが表示された状態(アルファ値が100?)で
フェードインしてくれません。このようなことはできないのでしょうか。
よろしくお願いします。





800 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 22:30:39 ID:Lg+DE3dz]
>>799
attachする場所が間違ってる予感・・・

map ←ムービークリップ
└sym1 ←トゥウィーンさせるムービークリップのインスタンス

で、bmpをsym1にattachすればトゥイーンが動くはず
mapにattachしたらそれは当然最初から100%で表示される

801 名前:Now_loading...774KB mailto:sage [2008/10/11(土) 15:35:16 ID:2PVL4LOp]
>>800
ご指摘の通り、mapにattachしていました。
mapの下に、ムービークリップを作成していなかったので、新たに作り、そのムービークリップに
attachするようにすると動作しました!ありがとうございました。


802 名前:Now_loading...774KB mailto:sage [2008/10/12(日) 01:42:00 ID:x/5YdeJh]
AS3でステージサイズが変わったときにhogeMCの大きさを合わせるという処理なんですが、
コンストラクタで初期表示時にもhogeMCの大きさを変えたいんです。
でもstageResize(e:Event)の引数に何を渡して良いのか分かりません。
よろしくお願いします。

//コンストラクタ
public function Main():void
{
stage.addEventListener(Event.RESIZE, stageResize, false, 0, true);
stageResize(ココが分からない);
}
//hogeMCリサイズ
private function stageResize(e:Event)
{
hogeMC.width = stage.stageWidth;
hogeMC.height = stage.stageHeight;
}

803 名前:Now_loading...774KB mailto:sage [2008/10/12(日) 09:45:00 ID:igvFLrbe]
>>802
初期処理とリサイズ時を同じ処理でやりたいなら、リサイズイベントを発行するとかじゃね

804 名前:Now_loading...774KB mailto:sage [2008/10/12(日) 10:08:25 ID:wWTa/+9f]
stageResize(new Event("dummy"));
って事でしょ

805 名前:Now_loading...774KB mailto:sage [2008/10/13(月) 23:44:57 ID:ByP/fX7b]
配列について質問です。

配列A、配列Bを宣言して
Aに要素aを入れます。
そしてそれをBに入れてBの要素aに変更を加えると
元の配列Aの要素aにも影響が出るものなんですか?
つまり、

A[0]=a
B[0]=A[0]
B[0]+=b

→A[0]=ab B[0]=ab となってしまうのですか?

806 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 04:47:51 ID:DhQ1dHTE]
ちょっとActionScriptの範囲から外れてしまうのですが、ゲームの
スコアなどをクッキーで保存しようと思っています。
大学などでログインしてパソコンを使う場合、クッキーはそのユーザーの
環境ごとに保存されると考えていいのでしょうか?

同じパソコンを何人かで使用した場合、前に使用した人の
クッキーの内容になってしまうのかと気になってしまったので。

807 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 06:39:04 ID:O9YM+h8s]
>>805
元の配列というか、プリミティブかリファレンスかを理解した方が良いと思うぞ
>>806
winとかなら当然ログインユーザー別に保存されるでしょ

808 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 12:00:45 ID:6opIN5hS]
>>805
わかりやすく答えると、数値や文字列ならA[0]には影響しません。

A[0]="a"
B[0]=A[0]
B[0]+="b"

trace( A[0], B[0] ) // a ab

>>806
oshiete1.goo.ne.jp/qa2216782.html

809 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 16:46:43 ID:DhQ1dHTE]
>>807
ありがとうございます!
安心しました



810 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 23:28:07 ID:e7/kCBGm]
>>807-808
解答ありがとうございます。
でもどうにもtraceを3つ挟んで調べても
配列Bから配列Aを変更しているような気がします。
情報の小出しで申し訳ないのですが配列は2次元(?)かつ複数の変数を持っています。


A[0]="a","b","c"
trace(A) //a,b,c
B[0]=A[0]
trace(A) //a,b,c
B[0][0]+="1"
trace(A) //a1,b,c

といった感じでお手上げです。
C言語を本当にすこーしですがやっていて、ポインタとかそこらへんの話のからみで
配列Bに配列Aのアドレスが入ってて、同じところを参照して
書き換えるからこんなことが起きるのかなって思ってます。
見当違いかもしれませんが、解決策などあればお願いします。
あと必要な情報とかあれば言ってください。お願いします。

811 名前:805 mailto:sage [2008/10/14(火) 23:29:09 ID:e7/kCBGm]
追記
プリミティブかリファレンスかはよくわかりませんでした><
リファレンスは参照・・・?
プリミティブは・・・orz

812 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 00:47:48 ID:ZgzCUj7J]
>>811
それは代入してるのが文字ではなく配列(Arrayオブジェクト?)だからです。
A ="a","b","c"
B[0] = A[0] //A[0]は a,b,cを要素とする配列
C[0]="a"
D[0]=C[0] //C[0]はStringオブジェクト

> プリミティブかリファレンスかはよくわかりませんでした><
■プリミティブ(正確にはプリミティブデータ型)は単一のデータだけを表す型の事です。
AS3の場合Boolean型、int型、Number型、String型、uint型、void型がこれにあたり、
これ以外は全て複合データ型と呼ばれます。

■リファレンスとはその名の通り参照のことで、実際にデータをコピーすることなく同じオブジェクトを指す手法です。
var A:Array = B;
とすれば、AとBは全く同じ物となります(Aに変更を加えればBにも反映する。逆もしかり。)
C++をやっていれば
CHoge &hoge1 = hoge2;
と同等だと理解して問題ありません。(&はアドレス演算子ではありません)。

で、ここが重要なのですが、AS3では、プリミティブデータ型を除いて、全ての代入は参照で行われます。
なので冒頭のような結論となるのです。

蛇足ですが、>>807
> プリミティブかリファレンスかを理解した方が良いと思うぞ
という表現は、代入する物がプリミティブデータ型か複合データ型により
値コピーか参照コピー(リファレンス)か変わるので、この辺りから理解せよという意味。

あとASのバージョンは明記してね。

813 名前:805 mailto:sage [2008/10/15(水) 01:09:54 ID:fmxR55Q/]
>>812
ご丁寧な解説ありがとうございます。うまくいきました!
つまり複数(配列など)を入れると参照、単一(要素1個)を入れるとコピーとなるのですね。

あ、あとAS2.0です。すみません

814 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 01:41:00 ID:0LYmPxA0]
as3なんですが、FLVをムービーで全画面再生すると、
非常に頻繁に止まってしまいます。一度止まると再読み込みするまで
再生が開始されることはないのですが、
これって全画面でメモリ不足になって、再生をとめてるってことですか?

よく大画面で映像を流しているサイトとかありますが、
あれはどうやって止まらないようにしてるのでしょうか?

815 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 11:23:33 ID:ZgzCUj7J]
>>813
> 単一(要素1個)を入れるとコピーとなるのですね。
ううむ。上にも書きましたが、
Boolean型、int型、Number型、String型、uint型、void型のいずれかの場合はコピーで,
それ以外は「単一」だろうと参照です。

まあ細かいことは問題視してないみたいなので、いつか詰まったら思い出してみて下さい。

816 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 16:03:51 ID:i/0qFVUW]
CS3でAC2.0を使っています。宜しく御願いします。
mcをattachMovieで縦8列横8列に複製し、そのmcを配列に保存させ、
二次元配列で、mcの位置を取れるようにしました。
そして上下左右にあるmcの状態によって、中央のmcに反応が起きるというのやりたいのですが
どうも上手く行きません。角度は4種類に設定してあります。
手始めに、角度で反応が起きるようにして、複製元のmcにこう書きました。
this.onEnterFrame = function(){
if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == -180){
this._rotation +=30 ;
} if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == 90){
this._rotation +=30 ;
} if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == 180){
this._rotation +=30 ;
} if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == -90){
this._rotation +=30 ;
}
}
上手くいっているならずっと回転している状態になります。
しかし、mc0,mc9,mc18,mc27…と斜めに連なるmcだけが無反応で、
それぞれ元の角度+30になって止まっているようで、どうしたら良いのか解りません。

解決法が解る方、いましたらどうかお願いします。

817 名前:805 mailto:sage [2008/10/15(水) 18:12:25 ID:fmxR55Q/]
>>815
はう。すみません。
心に留めておきます!丁寧な書き込みに感謝

818 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 02:38:32 ID:3jCI8uKj]
>>816
_root.matrix[this.matrix_x][this.matrix_y]ってthisからみてどの方向のMCを指してるの?

819 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 07:34:51 ID:Z/jwgV+K]
>>818
レス有り難うございます。
_root.matrix[this.matrix_x][this.matrix_y] = thisです。
今は動作確認なので、thisにしていました。解りやすいので。
これに+1や-1で四方向のmcがとれるようにしました。そこは問題なく動くのですが、
ifに書いてある式が悪いようで、mc0,mc9,mc10...の斜めに連なるmcが動かないのです。
書き込んだ後、色々試してif文の条件がおかしいことに気がついたのですが、
何がおかしいのかわからず…。

別の文にしてみたら動いたのですが、(this > _root.matrix[this.matrix_x+1][this.matrix_y] など)
どうしても角度に==の条件文だと斜めのmcが動きません。



820 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 07:43:03 ID:/V5uutGU]
thisにしていましたって、そのthisが何を指してるかちゃんと考えてるのか?

821 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 08:17:07 ID:Z/jwgV+K]
>>820
大丈夫です。

822 名前:821 mailto:sage [2008/10/16(木) 08:38:33 ID:Z/jwgV+K]
>>818,820
追記です。自己解決できそうです。
レスどうも有り難う御座いました。説明が下手ですみませんでした。
以後気をつけます。

823 名前:Now_loading...774KB [2008/10/16(木) 12:18:43 ID:VbVmHazC]
AS2で質問です。
ダイナミックテキスト*複数行*をステージに配置して、
変数で、文字列を表示させてるのですが、
例えば、aaa aaaaaaaaという値を拾ってくると、
スペースの所で改行がはいります。
本来ならば、ダイナミックテキストの端で改行したいのですが
いい方法ありますか?

824 名前:Now_loading,..774KB mailto:sage [2008/10/16(木) 16:01:21 ID:wFuhxEhb]
AS2で質問があります。
flashで自作のペイントツールを作りました。それで、そのツールを使って今度は簡単なアニメーションを
作れるツールを作りたいのですが、いくつか問題があります。
まず、ペイントを保存し、再び再生できるシステムが必要です。
次に、保存したペイントを時間指定で表示するシステムがいります。これらのサンプル、もしくはヒント等
をご存知でしたら教えてください。

825 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 16:31:09 ID:a0R7uBIX]
>>823
それ仕様だから無理。指定文字数で折り返したかったら、20文字なら20個TextField配置して、1文字ずつはめ込んでいくような仕組み作る

>>824
基本こんなかな。Bitmapdataわかればそっちの方が絵描きさんにはウケがいいと思うよ。軽くなるし。
//コマをリストで管理
var komaList:Array=new Array()
//絵の描画は描画メソッド。Bitmapdataでもいい。
for(var i:Number=0;i<5;i++){
var mc:MovieClip = createEmptyMovieClip("koma" + i,i)
mc.lineStyle(5,0x000000)
mc.lineTo(Math.random()*200,Math.random()*200)
mc._visible=false
komaList.push(mc)
}
//アニメーションは表示/非表示切り替え
var komaIndex:Number=0
setInterval(showKoma,1000)
function showKoma(){
komaList[komaIndex]._visible=false
komaIndex = ++komaIndex % komaList.length
komaList[komaIndex]._visible=true
}


826 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 16:35:14 ID:a0R7uBIX]
>>824
あと、データの保存に関しては、2.0だとめんどくさいかな。
海外のどっかにjpegに変換するクラス落ちてたと思うけど。
それ使って画像に変換して、サーバーに保存する感じになる。こっから先はサーバー側の話になるんで、ま、がんばってちょーだい。

827 名前:Now_loading,..774KB mailto:sage [2008/10/16(木) 17:07:24 ID:wFuhxEhb]
>>825
丁寧な回答ありがとうございます。早速試してみますね。ありがとうございました!

828 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 19:40:51 ID:y9KbaNwt]
>>823
HTMLでするとかは?

829 名前:740 [2008/10/16(木) 22:55:46 ID:ddDl6XVr]
>>740で質問した者です。
ほぼイメージ通りのFlashができましたので、感謝の気持ちを込めてご報告します。

みなさんのご助力が無ければおそらくできなかったでしょう。
このスレは、本当に有り難いと感謝しています。

完成品をアップしましたので、お暇でしたらご覧下さい。
book.geocities.jp/wardinfo1014/




830 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 01:33:04 ID:4HYr1gJc]
質問なのですが、

stage→Canvas→Canvas→Imageが4つ

という階層なのですが、Image4つのid名をforでまわして、

sourceにurlを入れて行こうと思うのですが、

this["Image"+0].sourceなどでid名:Image0のsourceが取得できないのです。

簡単にsourceプロパティにアクセスできる方法ないでしょうか。

831 名前:Now_loading...774KB [2008/10/17(金) 02:12:13 ID:DniwZ842]
同じクラスを再帰的に呼び出してるのですが、そのクラス内でpublic定義したものの値は共有されてしまいます。

これを防ぐ方法はありますか?

832 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 08:09:25 ID:G1CMs+BM]
>>830
取得できないって、パスがちがうだけだろ
>>831
staticじゃなくて?

833 名前:Now_loading...774KB [2008/10/17(金) 08:36:52 ID:DniwZ842]
>>832
staticにしてなくでも値が共有されるんです↓

834 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 08:41:52 ID:YJCeBtwN]
再現するコード書いてみ

835 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 09:24:24 ID:2pGmPzvw]
>>825
仕様なんですね。悩んで時間を費やさなくてよかったです。
一文字単位はきついので、一行で単位でできない場合は考えて見ます。
>>828
サイトのごく一部をボタンで動的に見せる仕様ですので。

836 名前:Now_loading...774KB [2008/10/17(金) 10:23:40 ID:O+SWkdGa]
AS3で長期間稼働するアプリを作成しています。
var objTimer:Timer = new Timer(1000);
このように毎秒稼働するタイマーをrepeatCountの制限なしで作ったのですが、
起動から一ヵ月を少しすぎたあたりから急にタイマーイベントが起こらなくなります。

他にボタンなどのインターフェースがあるのですが、
こちらは正常に動くので、フリーズしているわけではありません。
タイマーのみが勝手に停止している状態です。

長期稼働の制限など何か心当たりのある方はいませんでしょうか?
実行環境はFireFox3上のFlashPlayer9です。


837 名前:Now_loading...774KB [2008/10/17(金) 11:16:03 ID:aIkNEKSp]
ExternalInterfaceの使い方を教えてほしいのですが、
URL(http://〜swf.html?data=1)の ?data=1 を取得したい。

SWFファイルに、
import flash.external.*;
this.onLoad = function() {
var vardata:String = ExternalInterface.call("window.location.search").toString();
txt.text = vardata;
};
と記述。
HTMLはDreamweaver8でFlashを配置。AC_RunActiveContent.jsを読み込んで表示する方法です。

サーバーにあげて、「?data=1」を表示したかったのですが、これで出力されたのは、
「undefined」
でした。

何が問題なのでしょうか。

MacOSX10.4
Safari3.1.2
FireFox2.0.0.17
Flash8pro
Dreamweaver8

838 名前:Now_loading...774KB [2008/10/17(金) 12:03:09 ID:kMq3PIP9]
>>836
49日でミリ秒であらわした時間が符号無し32bit値をオーバーフローするとか?

839 名前:704 mailto:sage [2008/10/17(金) 12:24:55 ID:qlmMU+5h]
>>836
再現するか、今から試してみるよ



840 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 12:26:27 ID:qlmMU+5h]
名前欄の704ってとこは誤爆でした

841 名前:836 [2008/10/17(金) 12:39:31 ID:O+SWkdGa]
>>838
もうちょっと早い感じです。
だいたい35日くらい。

>>839
一ヵ月以上かかりますよ?

最悪Adobeに聞くつもりですが、
サポートプログラムが最低でも数万円するんですよねー。


842 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 13:43:59 ID:ek57uqYL]
100年プリントは、100年前から実験してたんですね、わかります

843 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 15:35:52 ID:E1Nf9bs5]
Flash Player 10を入れたら今まで問題なく見えてたFlashがバージョン
チェックで弾かれて見られくなったという話を聞いて調べてみました。
どうもこれに該当するようですが、MX相当のAS程度でも正常なバージョン
判定ができる方法はありませんでしょうか?
(スレ違いなら誘導お願いします)

[Flash Player 10 キタ━━━━(゚∀゚)━━━━!!]
pc11.2ch.net/test/read.cgi/swf/1213361884/19

>19 :Now_loading...774KB:2008/06/17(火) 17:51:34 ID:s67om73J
>公式のこのスクリプトが発端かも?
>$version による Flash Player バージョンの検出
>ttp://support.adobe.co.jp/faq/faq/qadoc.sv?228684+002

〜上記の判定結果〜
playerVersion:WIN 6,0,21,0
majorVersion:6
minorVersion:21

※期待していたバージョン判定の結果
WIN 10,0,12,36

844 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 16:37:51 ID:YJCeBtwN]
>>843
それプレビューの時のデバッグ用プレーヤーでしょ?
結果をテキストフィールドにでも表示できるようにして、パブリッシュしてブラウザで表示してみ
面倒なら「変数」に「$version」としたテキストフィールド置いてブラウザで確認してみ

バージョン判定用の数値を得たいなら、trace(int($version.split(" ")[1].split(",")[0]))とかでいいんじゃね?

845 名前:Now_loading...774KB [2008/10/17(金) 17:46:48 ID:MkomTyt1]
AS3でムービークリップをキーボードで動かしたいのですが、

this.stage.addEventListener(KeyboardEvent.KEY_DOWN,moveSama);
this.stage.addEventListener(KeyboardEvent.KEY_UP,moveSama);

function moveSama(event:KeyboardEvent):void {
switch (event.keyCode) {
case Keyboard.LEFT :
Sama.x -= 4;
                     break;
case Keyboard.RIGHT :
Sama.x += 8;
break;
       }
}

としたところ(Samaはインスタンス名)、一応一度押しても押しっぱなしでも動きはするのですが
押しっぱなしにしたときの挙動が不自然で、1歩動いて停止してから連続で動き出すようになってしまいました。
AS2.0では

onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) == true) {
this._x -= 4;
       }
}

と、このようにムービークリップに書き込むことで解決できたのですが、AS3.0での解決策がわかりません。
AS3.0の初心者向けの参考書も買い、Webサイトも見て回ったのですが参考になるものは見つかりませんでした。
よろしくお願いします。


846 名前:843 mailto:sage [2008/10/17(金) 17:51:11 ID:E1Nf9bs5]
>>844
意図するバージョン情報が返らない件についてはおっしゃるとおり
プレビュー時のプレイヤーが原因で、ブラウザから見ると期待した
内容が出てきました。

該当する「Flash Player 10では閲覧できないFlash」については、
substringでバージョンの先頭1文字抜き出して判定していたため
「10」の1文字目の「1」をバージョンと誤判定していただけでした。

教えていただいた「空白区切り+カンマ区切り」で抽出する方法で
解決できそうなので、ありがたく使わせていただきます m(_ _)m


847 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 21:55:21 ID:V/i4DBtM]
AS2.0での質問です。
数値の入っている配列に数値を足したら数値の型じゃなくなりました。


var = -1 // 判定 数値

A[0][0] = 100 //判定 数値

trace(1*var) //判定 数値

2元配列 A[0][0] += 1*var

trace(A[0][0]) //出力 100-1 ←多分文字(数値ではない)


これを挟むと前では数値なのに代入するとそうでなくなります。
どうにもこうにもこの部分が悪さをしているように思えるのですが
何故このようなことが起こるのでしょうか・・・
解答お願いします。

848 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 00:17:32 ID:O3evwxYE]
>>847
そのスクリプトでホントに動くの?
varでエラー出るんですけど・・・

varA = -1;
A = new Array();
A[0] = new Array();
A[0][0] = 100;
trace(1*varA);
A[0][0] += 1*varA;
trace(A[0][0]);

849 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 00:59:17 ID:+3jWASp/]
>>842
2000年問題とかはどうすんのよ



850 名前:847 mailto:sage [2008/10/18(土) 06:02:21 ID:taHr2dU+]
>>848
ぁ、宣言とか省略してました・・・すみません。
でも再現とかできないんです。なので状況だけでも、、、と上記のように書きました
確かに、>>848のようにすれば問題ないのですが
問題のスクリプトではtrace挟んだところで型が変わっているようなのです。。。

851 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 07:23:29 ID:dvawCTvx]
>>850
実際のソース書かないと意味無いだろ

852 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 10:26:06 ID:sEqBwrZa]
>>841
1ヶ月待とうとしたら、Windows自動更新で再起動をしますか?
って10分おきに聞かれてしまうから、またやり直しです。

853 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 10:54:20 ID:dvawCTvx]
どうせ釣りだろうが、クライアントで1ヶ月も開きっぱなしとかあり得ないし
もしあったら、設計自体間違ってるw

854 名前:847 mailto:sage [2008/10/18(土) 12:16:07 ID:taHr2dU+]
>>851
ソースって関係あるところだけじゃあ駄目なんですか?
全体だと多すぎて・・・。再現だけでもって思っても再現できなくて・・・orz
すみません。。。

あの後いろいろ試したんですが
・2元配列 A[0][0] += 1*var  →文字で出力
・2元配列 A[0][0] += Number(1*var)  →文字で出力
・2元配列 A[0][0] -- →数字で出力
・2元配列 A[0][0] -= -1*var →数字で出力
になりまして結局 += が文字結合として働いていたっぽいです。
原因不明なら -= で何とか強引にしようと思うのですが
何故この場合 += が文字結合として働いていたのでしょうか?

あ、あと関係ないかもですがすぐ上にも同じような配列(配列Aの別要素;A[0][1])があって
+= で逆符号の同じ値を代入しているのですがそちらは何ともないようです。

855 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 12:27:08 ID:/detIIrw]
数値じゃない状態で入ってたんだろ。普通に考えて。
外部からデータ読み込んで、ちゃんとキャストしないまま配列に突っ込んだとかじゃねーの?

856 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 13:59:29 ID:dvawCTvx]
加算演算子は文字+数値の場合には文字にキャストされるでしょ
つまりA[0][0]の値によって変わる
-演算子は数値にしか使われないので自動的に数値としてキャストされる
あとvarは予約語なので使ってはいけない

857 名前:847 mailto:sage [2008/10/18(土) 14:45:31 ID:taHr2dU+]
>>855-856
はうあ。外部データを文字と読んでたみたいです・・・
というか外部データーって書くべきでしたね。反省
読み込みの時にNumberを挟んだら無事数値として認識してくれました!
直前では数値を認識していたのでまさかでした・・・orz
型がゆるいのもまた問題かな。。。

varは書き込みミスですね^^; すみません

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

858 名前:Now_loading,..774KB mailto:sage [2008/10/18(土) 16:32:57 ID:IFG6QdA5]
すみません、以前と似たような質問になるのですが…
ペイントツールを作ったのですが、それを外部ファイルに静止画データとして
保存する方法がわかりません。どなたか詳しい方が居たら教えてください。
〜を使えばいいかも、とか〜のサイトが参考になる、といった情報でも何でもいいです。
返信待ってます。。。

859 名前:858 mailto:sage [2008/10/18(土) 16:52:13 ID:IFG6QdA5]
ちなみに、以下がソースです。
//-- 空ムービークリップの生成
this.createEmptyMovieClip("view_mc", 1);
//--ムービークリップに絵を描く
//--線の設定
view_mc.lineStyle(3, 0x000000, 100);
//--描画用のフラグをfalse
view_mc.drawFlag = false;
view_mc.onMouseDown = function() {
//--マウスが押されたらフラグをtrueにして始点を設定
this.drawFlag=true;
this.moveTo(this._xmouse,this._ymouse);
};
view_mc.onMouseMove = function() {
//--描画用のフラグがtrueなら線の続きを書く
if (this.drawFlag == true){
this.lineTo(this._xmouse, this._ymouse);
}
};
view_mc.onMouseUp = function() {
//--描画用フラグをFalse
this.drawFlag = false;
};

これに保存機能を付けたいのですが。。。



860 名前:Now_loading...774KB [2008/10/18(土) 20:27:13 ID:WQ4JwyBV]
>>853
仕様で決まっていることは覆せんのですよ。
設計から関わりたかった…

861 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 20:50:08 ID:eyRl/r/f]
>>860
ランタイム内の時間計算の途中でオーバーフローしてたら
対策しようがないしAdobeに問い合わせたほうがよさげ。
業務ならインシデントつかえるでしょう?

862 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 23:23:24 ID:+ZXaVvtP]
よくわからんけど、たまにTimerをresetしてみるとかはダメなん?

863 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 02:34:09 ID:KATs3Tjv]
急かしてすみません、どなたか>>845がわかる方いませんか?
ゲームを作りたいのにキャラがなめらかに動いてくれないし、斜め移動もできないんです。

isDownはAS3で廃止されちゃったみたいですし…

864 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 10:57:54 ID:rpe86YVs]
>>863
flash持ってないんで試しては無いです。参考程度にどうぞ。

this.stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
this.stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);

var key:uint;

function onKeyDown(event:KeyboardEvent):void {
key = Keyboard.LEFT :
addEventListner( Event.ENTER_FRAME, moveSama );
}

function moveSama(event:Event):void {
switch ( key ) {
case Keyboard.LEFT :
Sama.x -= 4;
}
}

function onKeyUp( event:KeyvoardEvent):void{
removeEventListner( Event.ENTER_FRANE, moveSama );
}

865 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 11:02:17 ID:rpe86YVs]
いやん、スペルミス発見。すみません。
function onKeyUp( event:KeyvoardEvent):void{
                ~~~~~~~~
keyvoard -> keyboard

866 名前:Now_loading,..774KB mailto:sage [2008/10/19(日) 20:35:00 ID:VfO7m91y]
どなたか>>858の問題を解決できそうな人居ないですか・・・?
マジで困ってます。助けてください。

867 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 20:42:01 ID:U6YzU/ET]
>>866
Flash単体で保存することはできないので、php等にデータ渡してそっちで保存する。

868 名前:Now_loading,..774KB mailto:sage [2008/10/19(日) 20:59:53 ID:VfO7m91y]
サーバにデータを渡す必要があるのはわかってます。その保存の為に、flashで書いた絵を一度pngに
変換する方法、もしくは座標データとして値を送る方法がわからないのです・・・何かご存じないですか?

869 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 21:57:06 ID:U6YzU/ET]
>>868
ttp://www.pixelimage.jp/blog/2008/06/flash_php.html




870 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 22:48:31 ID:cWB9H25D]
AS3の質問です。
progression frameworkはとてもいいんだけど、重い。
パブリッシュも遅いし、asも多くてなんか壮大。
フルフラッシュサイトでページを移動したりする仕組みは
いろいろ考えられるけど、みなさんどうされてますか?
シンプルで軽いページ遷移フレームワークってないですか?

871 名前:Now_loading...774KB [2008/10/20(月) 13:16:18 ID:EQKgS0vH]
AS3で外部からswfに変数渡すのってどうやるんでしたっけ?
どっかで見たような気もするんですけど見つからなくて・・・

javascriptの変数に突っ込んで、それを返す関数を
ExternalInterfaceで呼ぶって言うのは思いついたんですけど
もっと簡単に出来ますよね?

渡したい変数が数値一個だけなので
swfがら別リクエストで取ってくるんじゃなくて、一発で渡したいんですけど。

お願いします!

872 名前:Now_loading...774KB mailto:sage [2008/10/20(月) 14:05:50 ID:6hmRAMgb]
swf読み込み時のみでいいならFlashVars使うかhoge.swf?key=valueとでもして
var vars:Object = loaderInfo.parameters;
for (var key:String in vars) {
// key, vars[key]で取得
}

873 名前:871 [2008/10/20(月) 15:25:47 ID:EQKgS0vH]
>>872
ありがとうございます
loaderInfo.parameters
うまく出来ました。

874 名前:Now_loading...774KB [2008/10/20(月) 15:47:30 ID:JZ6dE4dy]
as3です。
ドキュメントクラスで設定したpublic varの変数に、
リンケージされたmcのフレームアクションから
アクセスするにはどうすればいいですか。

----------ドキュメントクラス-------------

public var _hoge:String = "hogehoge";


----------mcのフレームアクション---------

trace(MovieClip(root)._hoge);


とすると、パブリッシュはできても、
TypeError: Error #1034: 強制型変換に失敗しました。
flash.display::Stage@24d5df99 を flash.display.MovieClip に変換できません。

となってしまいます。
どうすればいいでしょうか?


875 名前:Now_loading...774KB [2008/10/20(月) 19:02:02 ID:eAnGTrdb]
AS3の質問です
ゲイナーと加速度センサーを使ってアクションスクリプトで
表示させようとしています。
ムービープレビューで加速度センサーの値はできるようになったのですが
出力画面にreturnstring:[文字列]とずっと出てきてしまい止まりません
何もしていないとフリーズしてしまいます
出力画面のreturnstringだけを止まる方法はありませんか?

876 名前:Now_loading...774KB [2008/10/20(月) 21:23:49 ID:Vfa5GADU]
AS3
配列を
var a:Array=new Array();
と定義したとします。
a.push(1);
a.push(2);
a.push(3);


これでa[0]だけメモリ解放出来たりしますか?

877 名前:Now_loading...774KB mailto:sage [2008/10/20(月) 22:15:25 ID:7tabBMja]
>>875
何を言ってるのかまったく意味不明だけど、
出力されてるってことはどこかでtraceしてるんじゃないの?

878 名前:Now_loading...774KB mailto:sage [2008/10/20(月) 23:44:38 ID:+gY1mBrg]
あるMCに、あるMCが少しでも重なった(触れた)かどうかを
検知したいのですが、そういうリスナー登録というのは
可能ですか?

一つのMCは常に同じ場所で待機していて、
もう一つのMCは動き回っていて、時々、
その待機しているMCの一部の上を通り過ぎます。

そのときだけ、いま上を通り過ぎましたよって
反応したいのです。
as3です



879 名前:Now_loading...774KB [2008/10/20(月) 23:54:34 ID:9tKbZnvY]
>>864
ありがとうございます!参考にさせていただきます!
しばらくはこれ見ながら自分でがんばってみます



880 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 10:10:52 ID:p4wdKNMj]
>>876
メモリの解放は難しいような・・・。
そもそもガベージコレクション次第では?

a[0]を削除したいだけならa.shift()か、splice(0,1)
※splice(startIndex:int, deleteCount:uint, ... values):Array

881 名前:Now_loading...774KB [2008/10/21(火) 10:20:39 ID:tJNPdNSg]
とあるフラッシュのClassのサンプルファイルです。
概要は外部のjpg画像を読み込み、コンストラクタのMCにその読み込んだjpg画像を取り込むといった感じです。
まずはソースを記述します。

class FileLoad {
var MC:MovieClip;
var mcLoader:MovieClipLoader;
function FileLoad() {
MC = _root.createEmptyMovieClip("Photo", 1);
}
function Load():Void {
mcLoader = new MovieClipLoader();
var url = "●●.jpg";
var obj:Object = mclObj();
mcLoader.addListener(obj);
mcLoader.loadClip(url, MC);
}
function mclObj():Object {
var mcl = new Object();
mcl.onLoadInit = function(target:MovieClip) {
};
return mcl;
}
}

ここで質問なんですが、
最後の 『mclObj』 メソッド内で記述している、『mcl.onLoadInit = function(target:MovieClip)』 部分の
『target』なんですが、traceしてみると上記ソースでいうところのMCがトレースされます。
なぜここの『target』に『MC』が引数で受け取れるのか、いまいち分かりません。
一体どこのタイミングで『target』部分に『MC』が引数で入り込んでいるのでしょうか?
どなたかご教授お願い致します。m(__)m

882 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 11:20:59 ID:Qj6DW/0U]
>>878
簡単にならAS3でもhitTest使えばいんじゃね
DisplayObjectのメソッドだし
>>881
AS2だと微妙だが、発行したイベント(メッセージ)が保持してる参照が取得されるんじゃね

883 名前:858 mailto:sage [2008/10/21(火) 11:24:27 ID:XseoKwdD]
回答ありがとうございました。ソースの質問になるのですが、
//-- 空ムービークリップの生成
this.createEmptyMovieClip("view_mc", 1);
//--ムービークリップに絵を描く
//--線の設定
view_mc.lineStyle(3, 0x000000, 100);
//--描画用のフラグをfalse
view_mc.drawFlag = false;
view_mc.onMouseDown = function() {
//--マウスが押されたらフラグをtrueにして始点を設定
this.drawFlag=true;
this.moveTo(this._xmouse,this._ymouse);
};
view_mc.onMouseMove = function() {
//--描画用のフラグがtrueなら線の続きを書く
if (this.drawFlag == true){
this.lineTo(this._xmouse, this._ymouse);
}
};
view_mc.onMouseUp = function() {
//--描画用フラグをFalse
this.drawFlag = false;
};
以上は同じソースです。

このソースで、描画データの変数はどれになるのでしょうか?また、それを変数に入れて、サーバに保存し、
再び呼び出せば同じ絵が出てくるのでしょうか?

884 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 13:01:35 ID:1YwA0gRr]
>>883
結論から言うと、保存できない。

その描画方法で描画データを保存したい場合には、2つの方法があるけど、どっちも結構面倒だよ。特にAS2.0では。

1:描画時のマウスの移動座標を連結リストにでも保持しておいて、そのデータを自分でテキスト等に起こし、保存
2:MCのデータをjpegやpng画像に変換し、それを保存

2に関しては、前も書いたし、提示してくれてるサンプルにもあるとおり、変換用のライブラリが必要。
AS2.0だと、もう見つからないかもね。今は皆AS3.0のadobe製のライブラリ使ってるから。

一番簡単な解決方法は、AS3.0で作れば?ってことなんだよねこれが。
最近になってFlash手描き系のサービスが増えてきたのは、そのライブラリが配布された事が大きいのよ。

885 名前:883 mailto:sage [2008/10/21(火) 13:35:40 ID:XseoKwdD]
あ、使ってるのはAS3です;

886 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:06:29 ID:1YwA0gRr]
AS3なら>>869のリンク先にサンプルあるじゃんw
なんだそれw

887 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:07:51 ID:TDhTN/zB]
stage.focus = textField;
としてtextFieldにフォーカスを当てた後

if(stage.focus == textField)
のように条件文を書いてもif文が実行されません。
書き方がおかしいでしょうか?

888 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:11:14 ID:XseoKwdD]
>>886
見たけどあんまり良く解らなかったんですよね・・・取りあえず、試して見ます。
ありがとうございました〜

889 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:30:11 ID:Qj6DW/0U]
>>887
if文が実行されませんってなんだよw
trace入れるなりして問題点を絞り込むぐらい汁



890 名前:887 mailto:sage [2008/10/21(火) 15:15:50 ID:TDhTN/zB]
あるアクションで
if(stage.focus != textField){
stage.focus = textField;
}else if(stage.focus == textField){
stage.focus = stage;
}
この処理を実行するとstageにフォーカスがあたっているときは
textFieldにフォーカスされるのですが、
textFieldにフォーカスされているときもif(stage.focus != textField)
こちらの処理がされてしまうということです。

891 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 15:27:15 ID:Qj6DW/0U]
あるアクションでフォーカス変わってるとか
そのif文だとtextField以外にフォーカスがあるときには必ず上の処理だね
traceして確認しろと何度(ry

892 名前:887 mailto:sage [2008/10/21(火) 15:44:05 ID:TDhTN/zB]
function checkKey(event:KeyboardEvent){
 if(stage.focus != textField){
  stage.focus = textField;
 }else if(stage.focus == textField){
  stage.focus = stage;
 }
}
このように書いていて、キーが押されるとフォーカスがstageとtextFieldで
交互に切り替わるように書きたいんですが。
traceはもちろんしていて上の処理しか実行されないで困っています

893 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 15:51:47 ID:Qj6DW/0U]
どういうtraceしたのw
まずはif文の前でstage.focusとtextFieldをtraceするんだぞ

894 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 16:36:47 ID:gJPnAObS]
>>892
ヘルプに出てるようなことを自分で調べないってどういうこと?
検索しにくいのは確かだけどさ

895 名前:887 mailto:sage [2008/10/21(火) 16:49:11 ID:TDhTN/zB]
今日はじめてActionScriptを触って何を調べれば解決できるかも
わからないレベルでしたので、解決はおいておいて勉強します。
893アドバイスありがとうございました。

896 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 17:18:29 ID:ALjd7S5P]
なんでtrace結果を書くのをいやがってるんだ?

897 名前:Now_loading...774KB mailto:sage [2008/10/22(水) 00:39:45 ID:0Amo7WuQ]
flex3+as3で自作コンポ―ネントを作ってます。
で、mxmlで記述する際に
<自作:コンテナ>
 <自作:ヘッダ>
  <mxとか:コントロール1 />
 </自作:ヘッダ>
 <mxとか:コントロール2 />
</自作:コンテナ>
みたいな記述ができる感じで作ってますが、
現状、DefaultPropertyをArray型にして、
ヘッダ,コントロールをまとめて受取り、commitPropertiesで個別のメンバに振り分けてます。
これを最初から個別に受け取るように記述したいです。
可能であれば、サンプルのある場所なぞ教えてください。

898 名前:Now_loading...774KB [2008/10/22(水) 21:18:51 ID:ga1um3+m]
AS3
flex2
FlashDevelop

木構造で、ひたすらノード増やしてるのですが、

プログラム実行時にメモリオーバーしたらエラーって出ますかね?

899 名前:Now_loading...774KB [2008/10/22(水) 21:58:55 ID:erucnat3]
web.alvas.jp/ankeito.html
上記のようなコンボボックス付きのFlashでの
アンケートフォームが作りたいんですが、
サンプルみたいなものが、どこかサイトにアップされてないでしょうか?

もしくはヒントになるようなものを教えて頂けないでしょうか?




900 名前:Now_loading...774KB mailto:sage [2008/10/22(水) 22:34:59 ID:6lpgwkG7]
>>898
ひたすら増やしてテストすればいいじゃない

901 名前:Now_loading...774KB mailto:sage [2008/10/23(木) 00:32:12 ID:rGn+Ut0l]
>>899
まんまFlexやん
FlexSDK落としてComponent Explorer見てみれ







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef