[表示 : 全て 最新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

487 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 14:13:22 ID:bLVyBvDv]
自分でやれよw

488 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 18:15:47 ID:zUyIkZud]
>>486
マイナスのインデックスで高速化が働かないことは>>483に書いてあるけど、
他にMAX_INTEGER_MASK(0xF0000000)と論理積とって引っかかるものも除外される
つまりこれらは添え字に文字列を指定したのと同じような効果になる
lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
こんな回答でいい?

489 名前:Now_loading...774KB [2008/09/09(火) 19:13:48 ID:YFM1Sy0D]
変数の_btnNameにbtn00, btn01・・・と連番ボタン名を入れていって、
それらのbuttonModeをtrueにしてやりたいだけなのですが、
_btnName.buttonModeとすると、
_btnNameという変数自体が、プロパティ名と解釈されてしまい、
btn00.buttonMode = true;
のように出来ない状態です。

_btnNameの中に格納されているのは、
btn00、btn01という、ボタンの名前ですよ、というようにするにはどうしたらいいのでしょうか。。。

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnName.buttonMode = true;
}


490 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 19:25:29 ID:zUyIkZud]
this["btn0"+i].buttonMode = true;

491 名前:486 mailto:sage [2008/09/09(火) 19:54:26 ID:hgoyihFv]
>>487
質問ではなく、個人的に意外な結果になったので聞いてみただけっす。すんません。

解答は
var array:Array = [];
array[0] = 0;
trace( array.length ); //1
array[1] = 1;
trace( array.length ); //2
array[-1] = -1;
trace( array.length ); //2
array[0xfffffffe] = 0xfffffffe;
trace( array.length.toString(16) ); // ffffffff
array[0xffffffff] = 0xffffffff;
trace( array.length.toString(16) ); // 0
array[2] = 2;
trace( array.length.toString(16) ); // 3

負の数字がlengthにカウントされない事と0xffffffffでlengthが0になるのに驚いた。常識?

おまけ
for ( var hoge in array ){
  if( hoge is String )trace( hoge );
}
// -1
// 4294967294 (0xfffffffe)
// 4294967295 (0xffffffff)

>>488
> lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
上記だとarray[-1]してもlengthが増えないので、文字列インデックスとして使われる部分はカウントされないのでは?

492 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 20:10:25 ID:zUyIkZud]
>>491
lengthの実装がreturn m_denseArr.getLength()ではなくreturn m_lengthだったから、
その辺も足したものになってると勝手に勘違いしてた
ハッシュ周りは上位のScriptObjectクラスに丸投げしてArrayObjectクラスでは触ってないね
0xffffffffが使えない理由は、↓のようにコメントで書いてあった
// We can NOT use 0xFFFFFFFF for this since x[0xFFFFFFFE] is a valid prop
// which would make our length 0xFFFFFFFF

493 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 21:18:03 ID:E9N+ZKV7]
すみません、いろいろググってみたのですが、方法がわからなかったので教えてください。

おみくじのようにランダムにフレームへジャンプするASを組みたいのですが、指定したフレームの中でランダムに飛ぶ方法はありますか?

例えば、3、136、369フレームのどれか一個に飛ぶ、という具合です。
教えていただければ幸いです

494 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 21:28:27 ID:FxLxuCwE]
>>478
すみません。質問に補足させていただきます。
例えば「押すとAからBに変わる」というボタンを作ります。
そのボタンを押している間は”B”になっているのですが、
離すとまたAに戻ってしまいます。
一度クリックすると、変化したままでいるスクリプトを教えてください。

495 名前:Now_loading...774KB [2008/09/09(火) 22:52:12 ID:YFM1Sy0D]
489です。
>>490
動きませんでした。
この[]という表記方法は何なのでしょうか。

一箇所表記を間違っていました。
_btnNameの前に_btnSetというのがつきます。
_btnSetというのは、ボタンを複数梱包しているMCの名前です。

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}



496 名前:Now_loading...774KB [2008/09/09(火) 22:53:48 ID:u4lZQ3fW]
flvファイルのプログレッシブダウンロードが時々途中で止まってしまう事があるのですが、
どのような対処が考えられますでしょうか?
AS2です。

497 名前:Now_loading...774KB [2008/09/09(火) 22:54:37 ID:YFM1Sy0D]
489です。
補足です。

_btnSet._btnName.buttonMode
というのは、_btnNameが変数で、
その場所の値を入れ替えることで、

_btnSet.btn01.buttonMode
や、
_btnSet.btn02.buttonMode

というように、まとめて、buttonMode=trueにしたいという目的があります。
お助けください。

498 名前:Now_loading...774KB [2008/09/09(火) 23:11:53 ID:wI6DLpeX]
CS3で gotoAndPlay の挙動が ActionScript3.0 でパブリッシュするとどうもおかしいのだが、
何か解決法はあるのかな・・・
具体的には2フレームのキーフレームを作って3フレーム目に gotoAndPlay(1); とすると、
ActionScript2.0 でパブリッシュすると2フレームのパターンを交互に表示するループに
なるのに、3.0 でパブリッシュすると gotoAndPlay で1フレーム待たされて、1フレーム
目のパターンが2回に2フレーム目のパターンが1回という繰り返しになって
しまう。これだとアニメーションを綺麗につなぐことができなくってとても困るのだが・・


499 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 23:43:18 ID:q5dEo94n]
>>497
よくわからないが、こうか?

for(var i:uint=0; i < 6; i++){
_btnSet["btn0"+i].buttonMode = true;
}

500 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 23:46:24 ID:q5dEo94n]
>>494
Flex3+AS3の俺がアドバイスできるのは
SimpleButtonクラスとかButtonクラスを使えば出来る、と言うことぐらいだ

501 名前:Now_loading...774KB [2008/09/10(水) 00:26:21 ID:uaunU19J]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

getRGB()で質問です。

root上のMC(mc1,mark1)の色を取得するため、mc1のイベントハンドラに

onClipEvent (load) {
trace("Color= "+this.getRGB()+", "+_root.mark1.getRGB());
}

と書いたところ、 Color= undefined, undefined の表示になりました。
問題点はどこでしょうか?


502 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 00:36:16 ID:f39TfBvC]
>>493
var array:Array = new Array(3, 136, 369);
var rndFr:uint = array[Math.floor(Math.random()*3)];
trace(rndFr);

503 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 01:31:04 ID:xMzCU6+I]
>>495
>この[]という表記方法は何なのでしょうか。
配列アクセス

>>496
止まってしまう原因を解明する

504 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 01:38:44 ID:xMzCU6+I]
>>501
原因はMovieClipクラスにgetRGBってメソッドがないから。
getRGBがあるのはColorクラス。

だけどgetRGBで取得できるのは
最後のsetRGB() 呼び出しで設定されたRGB値だけだから、
一度setRGBで設定しないと取得できないと思う


505 名前:493 mailto:sage [2008/09/10(水) 01:46:39 ID:7T/b55CI]
>>502
御早いご返答ありがとうございます。
しかし、私はCS3は使っていますが、AS2.0の設定にして制作しておりますので、unitがエラーで表示されてしまいました。
AS3.0の設定にして、もう一度パブリッシュをすると、今度は
「警告 : ActionScript 3.0 では、ボタンインスタンスまたは MovieClip インスタンスのアクションはサポートされていません。オブジェクトインスタンスのすべてのスクリプトは無視されます。」
と表示されてしまいました。

AS2.0=unitは使えない
AS3.0=ボタンが使えない

となり、行き詰まってしまいました。
お手数ですが解決策がありましたら教えてください。お願い致します。






506 名前:493 mailto:sage [2008/09/10(水) 02:07:43 ID:7T/b55CI]
>>502
自己解決しました!AS3ではunitですがAS2ではNumberなのですね!
教えてくださってありがとうございます。

on (press) {

var array:Array = new Array(3, 136, 369);
var rndFr:Number = array[Math.floor(Math.random()*3)];
gotoAndPlay(rndFr);
}

507 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 02:32:19 ID:uaunU19J]
>>504
さんきゅう

508 名前:Now_loading...774KB [2008/09/10(水) 10:54:42 ID:qB/ZNCv0]
489、495,497,です。
>>499
>>503
_btnSet["btn0"+i].buttonMode = true;では駄目でした。
配列アクセスを使用したときのプロパティとして当たらないということでしょうか。

TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
となってしまいます。
何故でしょうか・・・・??もう一度整理すると、

_btnSetというインタンス名のMCの中に、
6つのボタンMC(btn00〜btn05※インスタンス名です)が入っています。
それら6つをまとめて、forループですべてbuttonMode=trueにしたいのです。
そこで、

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}

が駄目で、、、

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet["btn0"+i].buttonMode = true;
}

も駄目でした・・・。いずれも同様のエラー、「条件は未定義であり、プロパティがありません」お助けください


509 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 11:08:09 ID:KqdSTiA8]
>>508
とりあえずこうしたらダメでしたが延々続くだろw
AS3.0の本一冊読むか、ヘルプ一通り見るかしてから来い
オブジェクト指向なAS3.0は付け焼き刃じゃ何も出来ないよ

510 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 11:15:06 ID:6r2RrxdQ]
AS3.0なの?
_btnSet.btn00.buttonMode = true;
だったら意図したように動くの?


511 名前:Now_loading...774KB [2008/09/10(水) 11:47:46 ID:qB/ZNCv0]
>>509
すみません、いけました!
指摘の内容、仰るとおりです。本は読んでいますが、理解がまだ追いついていません。

>>510
勘違いでした。エラーは次の行で起きていたようで、
ここのループはばっちり配列アクセスで設定できました。
大変失礼しました。ありがとうございます。

512 名前:Now_loading...774KB [2008/09/10(水) 14:29:08 ID:raTDs9XY]
AS3.0にて外部から読み込んだテキストを使ってリンクを貼りたいのですが、どうしたらいいでしょうか?

513 名前:Now_loading...774KB [2008/09/10(水) 14:37:16 ID:raTDs9XY]
補足
読み込むテキストは下記のようにテキストファイルにひとつにまとめるようにして。。。
date.txt

url0=www.google.co.jp/&url1=http://www.yahoo.co.jp/&url2=http://www.live.com/&url3=http://ask.jp/&

514 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 17:19:27 ID:lqrF0YFV]
>>513
private function loadCompleteHandler(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);

var tf:TextField = new TextField();
tf.htmlText = "<a href=\"" + vars.url0 + "\" target=\"_blank\">link</a>";
this.addChild(tf);
}

515 名前:Now_loading...774KB [2008/09/10(水) 17:47:03 ID:raTDs9XY]
>>514
ありがとうございます。

すみません補足不足でした。
画像にリンクを貼りたいです。

申し訳ございません。



516 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 18:42:44 ID:f39TfBvC]
>>514を見てふと思い出したけど、波カッコ“{”を改行するコーディングスタイルを
よく見かけるようになったんだけど、何か理由があるのかな?
AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて、
違和感を感じたんだけど、元々あるものか、最近どこかで提唱されたとか、知ってる人
いたら教えてほすぃ

517 名前:516 mailto:sage [2008/09/10(水) 18:55:25 ID:f39TfBvC]
> AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて

これだとちょっと誤解を与えちゃうか。波カッコを改行するかしないかは設定で変えられるんだけど、
デフォルトの設定が改行しないスタイルから改行するスタイルに途中で変わった、ということです。

518 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 19:06:36 ID:McByLcsR]
Flexのコーディング規約がそうなっているから。

blog.dclick.com.br/2007/02/13/adobe_flex_coding_guidelines_english/pt/

519 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 19:14:22 ID:f39TfBvC]
>>518
あーそうなんだ、情報ありがとう。もっと大きな流れか何かかと思ったけど、AS内だけの決まり事なんだね

520 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 19:20:50 ID:DYCDIn9X]
言語の開発元が提唱した規約は十分大きな流れだと思うが

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






[ 続きを読む ] / [ 携帯版 ]

前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