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

このエントリーをはてなブックマークに追加
952Now_loading...774KB:2007/08/14(火) 22:14:17 ID:eSnxRSOP
2コマのムービークリップをシーンないで繰り返し再生したいんですけど(カクカク動いてるみたいに)

ムービークリップの2コマ目にgotoAndPlay(1);と記述したんですが、
動きません、なぜですか?
953Now_loading...774KB:2007/08/14(火) 22:16:25 ID:gsdnqpJU
>>952
this.gotoAndPlay(this._currentframe-1)
954Now_loading...774KB:2007/08/14(火) 22:44:32 ID:oO86FXBn
>>953
2コマ目に書かれたgotoAndPlay(1);が実行されるのは
2コマ目が表示される直前。
アクションレイヤーのフレームを一つ伸ばしてそこに書けば
2コマ目も表示されるようになる。
ていうかスクリプト何も書かなければ普通にループするはずじゃないか?
955Now_loading...774KB:2007/08/14(火) 22:45:42 ID:oO86FXBn
アンカーミスった954は952宛ね
956Now_loading...774KB:2007/08/14(火) 23:20:47 ID:yTh8ywfu
this.gotoAndPlay   (      ト───‐'      l::l ̄ ̄l       / ̄ ̄ ̄\
(this._currentframe-1)(      |              l::|二二l     |  ハ     |
              (      h         , '´ ̄ ̄ ̄`ヽ   |  ハ    |
⌒⌒⌒ヽ(⌒⌒⌒⌒⌒       l.l         ,'  r──―‐tl.    |  ハ>>953 |
            ',  >>953  fllJ.        { r' ー-、ノ ,r‐l    |  ! め │
            ヾ     ル'ノ |ll       ,-l l ´~~ ‐ l~`ト,.  l        |
             〉vw'レハノ   l.lll       ヽl l ',   ,_ ! ,'ノ   ヽ  ____/
             l_,,, =====、_ !'lll       .ハ. l  r'"__゙,,`l|     )ノ
          _,,ノ※※※※※`ー,,,       / lヽノ ´'ー'´ハ
       -‐'"´ ヽ※※※※※_,, -''"`''ー-、 _,へ,_', ヽ,,二,,/ .l


                                __.__
                               (:::} l l l ,}
                                l::l ̄ ̄l
                                l::|二二l
                              , '´ ̄ ̄ ̄`ヽ
                              .,'  r──―‐tl.
                              { r' ー-、ノ ,r‐l
                             ,-l l ´~~ ‐ l~`ト,.
                             ヽl l ',   ,_ ! ,'ノ
             _,,, =====、_           .ハ. l  r'" ゙,,`l|
          _,,ノ※※※※※`ー,,,       / lヽノ ´' ̄ ´ハ
       -‐'"´ ヽ※※※※※_,, -''"`''ー-、 _,へ,_', ヽ,,_,,/ .l
957Now_loading...774KB:2007/08/15(水) 20:59:44 ID:Ba5gjz+9
インスタンス名を変更するようなASはありますか?
あったら簡単にでいいので教えてください。
958Now_loading...774KB:2007/08/15(水) 21:24:26 ID:RhqFl5tX
>>957
new_mc = old_mc
959Now_loading...774KB:2007/08/15(水) 21:35:45 ID:zGHBpddn
>>957
MovieClip._name = "名前";
960Now_loading...774KB:2007/08/15(水) 21:47:20 ID:OcpDCdi0
インスタンス名を設定するならわかるが、
インスタンス名を途中で変更するような組み方が
必要な場合ってあるか?

そんなプログラム絶対触りたくねぇ〜〜
961Now_loading...774KB:2007/08/15(水) 21:58:25 ID:Ba5gjz+9
>>958-959
すばやい回答ありがとうございます。
どうにも上手く動かないもんでしたので見直してみたら、
他の場所のASに影響されていたようでした。

もうだめぽ\(^o^)/
962Now_loading...774KB:2007/08/16(木) 03:20:41 ID:z1AC3g2F
ActionScript3.0で、いくつか質問させてください。箇条書きで失礼します。

・.NETのControlsのように、ステージ全てのコンポーネントを取得するメソッドはありますか?
・var TEST = function(e)とfunction TEST(e)の違いって何なんでしょうか?前者だとたまにエラーがでます。
・イベントメソッド内でroot参照できる位置にオブジェクトを使いしたいときはどうすればいいのですか?
 下のようにしてもできませんでした。

var root:MovieClip = this.root as MovieClip;
root.addChild(TESTObject)

・下のような状態で、2.0の時のように配列アクセス演算子(ここでは"CTRL")を取得するにはどうすればよいのでしょうか?

var Ary:Array = new Array();
Ary["CTRL"] = this.Control
for each (var ??? in Ary) {
 trace(???)
}

質問ばかりですみません。よろしくお願いします。
963Now_loading...774KB:2007/08/16(木) 06:48:11 ID:8NucOWIV
表示リストを使う
関数を実行して返値を代入することと関数定義の違い
as演算子が参照を返すことを利用して別名定義する
var rootas:MovieClip = this.root as MovieClip;
プロパティも取得したいならfor inを使う
964Now_loading...774KB:2007/08/16(木) 22:29:58 ID:piHTsIMj
急な質問ですみません。
とある計算式で出した数を、全角に変えるASはあるでしょうか?
例えば
a = 10 + 5;
ならaには15という数字が代入されますが、「15」のように全角に変えるにはどうすれば良いでしょうか。
分かりづらくてすみませんが、お答え頂ければ嬉しいです。
965Now_loading...774KB:2007/08/16(木) 22:41:42 ID:NoawfKNF
>>964
function Change( num ) {
 switch ( num ) {
  case 1:
   ret = "1"
   break;
 }
 return ret
}
みたいな関数作る。
966Now_loading...774KB:2007/08/16(木) 22:55:38 ID:piHTsIMj
>>965
お早い解答ありがとうございます。
言い忘れていたのですが、ParaFla!を使っています。
上のように記述しましたが、結果は構文エラーとなりできませんでした。
本家でしか使えないのでしょうか?
967Now_loading...774KB:2007/08/17(金) 00:19:20 ID:0zvCVGkE
>>966
ParaFla!は知らんが、各行の末尾に;入れて駄目ならやっぱり知らん。

#お早い→素早い
968Now_loading...774KB:2007/08/17(金) 00:44:06 ID:kMTKpYee
>>967
セミコロン入れると構文エラーはなくなりましたが、できませんでした。(半角のままでした)
やはりParaFla!では無理なのでしょうか。
誤字すみませんでした・・・。
969Now_loading...774KB:2007/08/17(金) 00:49:48 ID:qH+G9Kw/
>>968
ParaFla!ってAS使えるのかな?
どうやったのかわからないのでエスパー回答だけど
a = 10 + 5
x = Change( a )
とかやってもcaseに引っかからないから無理だよ。
一つの変数に数字がたくさん入ってるときは置換する
a.split("1").join("5"); //←これを0〜9まで書いて関数にする
970Now_loading...774KB:2007/08/17(金) 01:02:12 ID:kMTKpYee
>>970
返答ありがとうございます。
ParaFla!でもASは使えます。
試しに

text = 1;
function Change(text) {
 switch (text) {
  case 1:
   ret = "1";
   break;
 }
 return ret;
}

で挑戦してみましたが、変化ありませんでした。
971Now_loading...774KB:2007/08/17(金) 01:03:16 ID:kMTKpYee
すみません、>>969でした。
972Now_loading...774KB:2007/08/17(金) 01:17:07 ID:fKba/ehj
>>970
関数呼ぶならChange(1);とかChange(text);だろ。
上に加えてtrace(Change(1));書いてみ。
973Now_loading...774KB:2007/08/17(金) 02:07:07 ID:cLB4DoQW
そもそも>>971はASの基本の仕組みすら分かっていないのに
ASを教えろとは如何なものか。
974Now_loading...774KB:2007/08/17(金) 03:02:07 ID:4KUMZ1Yo
質問です。

MC.onPress = function()のような感じで、
とあるMCを右クリックしたということを感知することはできないでしょうか?
コンテキストメニューを選択する前に、ただ右クリックが行われた段階で感知したいのですが・・・

FLASH8pro使用で、Playerのバージョンは8です。
975Now_loading...774KB:2007/08/17(金) 03:13:02 ID:fKba/ehj
>>974
Flashでは右クリックはコンテキストメニュー以外使えません
MACを考えるとよくわかる
976Now_loading...774KB:2007/08/17(金) 03:36:08 ID:4KUMZ1Yo
>>975
いえ、コンテキストメニューしか使えないのは分かってますが、
どのMCを右クリックしてコンテキストメニューを出したかというアクションを
させたかったので。

で、すいません自己解決しました。

独自コンテキストメニューを割当てる前にmenu_cm.onSelect = function(obj) を
記述することでWindowsではできました。
Macでは微妙にできてないんですが、Windowsで動けばいいと言われてるので
これでやります。
スレ汚し失礼しました。
977Now_loading...774KB:2007/08/17(金) 18:09:10 ID:vbGfSf2t
教えてください
間違い探しゲームのようなFLASHを作っています。
ステージよりも大きい絵を上下左右に動かして、怪しい部分をWクリックすることで
クリックした部分をステージ中心に移動させて探す。
という内容にしようと思っています。

そこでお教え頂きたいのは
Wクリックした点を中央に移動させ、拡大する方法と
左端などで拡大した後で縮小したさいに絵がステージ上を外れるの(mcの基準が
センターなので・・・)を
防ぐ良い方法があればお教え頂きたいです。
構造は _root →絵_mc→拡大縮小用空_mc→ドラッグ用空ボタン
となっております。

よろしくお願いします。
978Now_loading...774KB:2007/08/17(金) 18:23:06 ID:fKba/ehj
>>977
で、どういうASを書いてどこが解らないの?
979Now_loading...774KB:2007/08/17(金) 19:47:59 ID:Pi8L8zIs
それではただの制作依頼だ
980Now_loading...774KB:2007/08/17(金) 20:24:10 ID:HLB+/mm3
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

MCの消去で質問です。
あるMC(stageM)にrollOverすることで出現し、rollOutで消えるようにしたいのですが
消すことが出来ません。

on (rollOver) {
nameA=enMark;
nameB = nameA+"_"; //新しい名前は nameA_
prop = {_xscale:50, _yscale:50}; //大きさの指定
_root.stageM.attachMovie(nameA, nameB, 100, prop);//深度は100
}

これはOKなのですが、
on (rollOut) {
_root.stageM.nameB.removeMovieClip();
trace("MC= "+_root.stageM[nameA+"_"]);
}

では、traceで enMark_ という名前が確認出来るものの消えません。
どうしたら良いでしょうか?
981Now_loading...774KB:2007/08/17(金) 20:29:36 ID:HLB+/mm3
980です。自己解決しました。

_root.stageM.nameB.removeMovieClip();
→ _root.stageM[nameA+"_"].removeMovieClip();

でOKでした。名前の指定に問題があったようです。
982Now_loading...774KB:2007/08/18(土) 01:25:40 ID:3Mdfaxlj
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

キーリスナーとキーコードで質問です。

Backspaceキー操作を確認するため、メインフレーム(_root)に以下のASを
書きましたがtraceが現れません。

myKey = new Object();
myKey.onKeyDown = function() {
if (Key.getCode() == 8) {
trace("Back");
}
};
Key.addListener(myKey);

Key.getCode() == 16 などとすると問題なく動作します。
原因は何でしょうか?
983Now_loading...774KB:2007/08/18(土) 01:42:13 ID:SI2clODn
>>977
中心に移動は>>948
984Now_loading...774KB:2007/08/18(土) 02:06:33 ID:4mE7raCo
>>982
ロジックに問題はなさそうだけど・・・。
SHIFTには反応しているようだし、
trace(Key.getCode())でBS押下時の値を調べてみたら?

反応無かったらブラウザとかに原因があるかも。
985982:2007/08/18(土) 02:12:20 ID:3Mdfaxlj
>>984
早速のレス有り難うございます。
trace("KeyCode= "+Key.getCode()); を書いたところ、Shiftやマイナスキーは
表示しますが、BSはやっぱり不可です。

ちなみにブラウザ表示ではなく、その前のプレビューでやっています。
BSがどうしても不可なら、マイナスキーで代用したいと思います。
986Now_loading...774KB:2007/08/18(土) 02:30:25 ID:SI2clODn
>>985
Key.BACKSPACEっていう定数があるくらいだから使えると思うんだけど。
「キーボードショートカットを無効」にチェック入れてる?
プレビューじゃなくてswfでテキストフィールドとか使って確かめてみたら?
987Now_loading...774KB:2007/08/18(土) 03:18:52 ID:6cz4VZDJ
環境)Mac OS X Flash 8Basic

外部txtファイル読み込みに関する質問です。

書籍を参考に以下のような感じで
ロゴが表示されるようなものを作っているのですが
フラッシュのバージョンの違いからか
「ur」の二文字が先頭に追加されてしまいます。

パブリッシュ設定をPlayer8のまま回避する方法は無いでしょうか?

_x = 20;
_y = 80;
a = 0;
function Logo() {
if (a%32 == 0) {
Y += 15;
X = 0;
} else {
X++;
}
this.loadVariables("logo.txt");
this.attachMovie("logo00", "logoG"+a, a);
this["logoG"+a].logoMc.logotext = txt.charAt(a);
this["logoG"+a]._x = X*11;
this["logoG"+a]._y = Y;
a++;
}
988Now_loading...774KB:2007/08/18(土) 03:43:51 ID:4mE7raCo
>>987
txt.charAt(a)のtxtはどっから現れた?
テキストの中身は?
logo.txtの中に「ur」とか入ってるんじゃない?

以上の点を見直して。
989Now_loading...774KB:2007/08/18(土) 03:55:04 ID:SkTm2/Jg
>>987
logoMcの内部にa番目の文字を表示するということ?
990987:2007/08/18(土) 04:37:24 ID:6cz4VZDJ
テキストはflaやswfと同じフォルダに入れています
内容は
txt=ABCD
と、これだけです。

スクリプトは他に
2フレーム目にthis.Logo();
3フレーム目にthis.gotoAndPlay(2)

テキストの中身を空にしたり、aに別の値をいれてもURの二文字がでてきます
991987:2007/08/18(土) 04:41:45 ID:6cz4VZDJ
>>989
はい、その通りです。
順に文字が表示されるようなものを作ったのですが・・・。
992Now_loading...774KB:2007/08/18(土) 04:45:05 ID:/ETRbTPo
FLASH CS3を使っているのですが
ボタンにActionScriptを付けようとすると
「現在の選択範囲にアクションを割り当てることはできません」と出てきます。
学校で使っているFLASH MX2004ではそういう事がなかったのですが
CS3からはフレームにしかアクションを割当できなくなったのでしょうか?
993Now_loading...774KB:2007/08/18(土) 04:52:18 ID:g0sVH2IC
>>992
AS2(MX2004,Flash8)とAS3(CS3)ではだいぶ違うから、以前のコーディングは無理。
でも、パブリッシュ設定でAS2にすればそのままAS2コーディングで出来るよ。
994Now_loading...774KB:2007/08/18(土) 04:55:30 ID:/ETRbTPo
>>993
CS3でイチから作成したファイルなんですが
やはりボタンにアクションを設定できません。
AS1.0&2.0に変更してみても同じでした。ナゼ?
995Now_loading...774KB:2007/08/18(土) 05:03:07 ID:g0sVH2IC
新規作成でAS2ってなかった?
996Now_loading...774KB:2007/08/18(土) 05:11:12 ID:/ETRbTPo
ほんとだ!AS2で新規で作ったらできましした!
ありがとうございます!!!
997Now_loading...774KB:2007/08/18(土) 08:49:32 ID:g0sVH2IC
次スレ
ActionScript 誰かが物凄い勢いで解答するスレ 17
http://pc11.2ch.net/test/read.cgi/swf/1187394529/
998Now_loading...774KB:2007/08/18(土) 09:35:30 ID:qJqRhvNz
埋めとく?
999Now_loading...774KB:2007/08/18(土) 10:51:28 ID:IesIjqeP
埋めましょうか
1000Now_loading...774KB:2007/08/18(土) 10:52:11 ID:IesIjqeP
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。