ActionScript 誰かが物凄い勢いで解答するスレ 16
952 :
Now_loading...774KB:2007/08/14(火) 22:14:17 ID:eSnxRSOP
2コマのムービークリップをシーンないで繰り返し再生したいんですけど(カクカク動いてるみたいに)
ムービークリップの2コマ目にgotoAndPlay(1);と記述したんですが、
動きません、なぜですか?
>>952 this.gotoAndPlay(this._currentframe-1)
>>953 2コマ目に書かれたgotoAndPlay(1);が実行されるのは
2コマ目が表示される直前。
アクションレイヤーのフレームを一つ伸ばしてそこに書けば
2コマ目も表示されるようになる。
ていうかスクリプト何も書かなければ普通にループするはずじゃないか?
アンカーミスった954は952宛ね
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
インスタンス名を変更するようなASはありますか?
あったら簡単にでいいので教えてください。
>>957 MovieClip._name = "名前";
インスタンス名を設定するならわかるが、
インスタンス名を途中で変更するような組み方が
必要な場合ってあるか?
そんなプログラム絶対触りたくねぇ〜〜
>>958-959 すばやい回答ありがとうございます。
どうにも上手く動かないもんでしたので見直してみたら、
他の場所のASに影響されていたようでした。
もうだめぽ\(^o^)/
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(???)
}
質問ばかりですみません。よろしくお願いします。
表示リストを使う
関数を実行して返値を代入することと関数定義の違い
as演算子が参照を返すことを利用して別名定義する
var rootas:MovieClip = this.root as MovieClip;
プロパティも取得したいならfor inを使う
急な質問ですみません。
とある計算式で出した数を、全角に変えるASはあるでしょうか?
例えば
a = 10 + 5;
ならaには15という数字が代入されますが、「15」のように全角に変えるにはどうすれば良いでしょうか。
分かりづらくてすみませんが、お答え頂ければ嬉しいです。
>>964 function Change( num ) {
switch ( num ) {
case 1:
ret = "1"
break;
}
return ret
}
みたいな関数作る。
>>965 お早い解答ありがとうございます。
言い忘れていたのですが、ParaFla!を使っています。
上のように記述しましたが、結果は構文エラーとなりできませんでした。
本家でしか使えないのでしょうか?
>>966 ParaFla!は知らんが、各行の末尾に;入れて駄目ならやっぱり知らん。
#お早い→素早い
>>967 セミコロン入れると構文エラーはなくなりましたが、できませんでした。(半角のままでした)
やはりParaFla!では無理なのでしょうか。
誤字すみませんでした・・・。
>>968 ParaFla!ってAS使えるのかな?
どうやったのかわからないのでエスパー回答だけど
a = 10 + 5
x = Change( a )
とかやってもcaseに引っかからないから無理だよ。
一つの変数に数字がたくさん入ってるときは置換する
a.split("1").join("5"); //←これを0〜9まで書いて関数にする
>>970 返答ありがとうございます。
ParaFla!でもASは使えます。
試しに
text = 1;
function Change(text) {
switch (text) {
case 1:
ret = "1";
break;
}
return ret;
}
で挑戦してみましたが、変化ありませんでした。
>>970 関数呼ぶならChange(1);とかChange(text);だろ。
上に加えてtrace(Change(1));書いてみ。
そもそも
>>971はASの基本の仕組みすら分かっていないのに
ASを教えろとは如何なものか。
974 :
Now_loading...774KB:2007/08/17(金) 03:02:07 ID:4KUMZ1Yo
質問です。
MC.onPress = function()のような感じで、
とあるMCを右クリックしたということを感知することはできないでしょうか?
コンテキストメニューを選択する前に、ただ右クリックが行われた段階で感知したいのですが・・・
FLASH8pro使用で、Playerのバージョンは8です。
>>974 Flashでは右クリックはコンテキストメニュー以外使えません
MACを考えるとよくわかる
>>975 いえ、コンテキストメニューしか使えないのは分かってますが、
どのMCを右クリックしてコンテキストメニューを出したかというアクションを
させたかったので。
で、すいません自己解決しました。
独自コンテキストメニューを割当てる前にmenu_cm.onSelect = function(obj) を
記述することでWindowsではできました。
Macでは微妙にできてないんですが、Windowsで動けばいいと言われてるので
これでやります。
スレ汚し失礼しました。
教えてください
間違い探しゲームのようなFLASHを作っています。
ステージよりも大きい絵を上下左右に動かして、怪しい部分をWクリックすることで
クリックした部分をステージ中心に移動させて探す。
という内容にしようと思っています。
そこでお教え頂きたいのは
Wクリックした点を中央に移動させ、拡大する方法と
左端などで拡大した後で縮小したさいに絵がステージ上を外れるの(mcの基準が
センターなので・・・)を
防ぐ良い方法があればお教え頂きたいです。
構造は _root →絵_mc→拡大縮小用空_mc→ドラッグ用空ボタン
となっております。
よろしくお願いします。
>>977 で、どういうASを書いてどこが解らないの?
それではただの制作依頼だ
環境)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_ という名前が確認出来るものの消えません。
どうしたら良いでしょうか?
980です。自己解決しました。
_root.stageM.nameB.removeMovieClip();
→ _root.stageM[nameA+"_"].removeMovieClip();
でOKでした。名前の指定に問題があったようです。
982 :
Now_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 などとすると問題なく動作します。
原因は何でしょうか?
>>982 ロジックに問題はなさそうだけど・・・。
SHIFTには反応しているようだし、
trace(Key.getCode())でBS押下時の値を調べてみたら?
反応無かったらブラウザとかに原因があるかも。
985 :
982:2007/08/18(土) 02:12:20 ID:3Mdfaxlj
>>984 早速のレス有り難うございます。
trace("KeyCode= "+Key.getCode()); を書いたところ、Shiftやマイナスキーは
表示しますが、BSはやっぱり不可です。
ちなみにブラウザ表示ではなく、その前のプレビューでやっています。
BSがどうしても不可なら、マイナスキーで代用したいと思います。
>>985 Key.BACKSPACEっていう定数があるくらいだから使えると思うんだけど。
「キーボードショートカットを無効」にチェック入れてる?
プレビューじゃなくてswfでテキストフィールドとか使って確かめてみたら?
987 :
Now_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++;
}
>>987 txt.charAt(a)のtxtはどっから現れた?
テキストの中身は?
logo.txtの中に「ur」とか入ってるんじゃない?
以上の点を見直して。
>>987 logoMcの内部にa番目の文字を表示するということ?
990 :
987:2007/08/18(土) 04:37:24 ID:6cz4VZDJ
テキストはflaやswfと同じフォルダに入れています
内容は
txt=ABCD
と、これだけです。
スクリプトは他に
2フレーム目にthis.Logo();
3フレーム目にthis.gotoAndPlay(2)
テキストの中身を空にしたり、aに別の値をいれてもURの二文字がでてきます
991 :
987:2007/08/18(土) 04:41:45 ID:6cz4VZDJ
>>989 はい、その通りです。
順に文字が表示されるようなものを作ったのですが・・・。
992 :
Now_loading...774KB:2007/08/18(土) 04:45:05 ID:/ETRbTPo
FLASH CS3を使っているのですが
ボタンにActionScriptを付けようとすると
「現在の選択範囲にアクションを割り当てることはできません」と出てきます。
学校で使っているFLASH MX2004ではそういう事がなかったのですが
CS3からはフレームにしかアクションを割当できなくなったのでしょうか?
>>992 AS2(MX2004,Flash8)とAS3(CS3)ではだいぶ違うから、以前のコーディングは無理。
でも、パブリッシュ設定でAS2にすればそのままAS2コーディングで出来るよ。
994 :
Now_loading...774KB:2007/08/18(土) 04:55:30 ID:/ETRbTPo
>>993 CS3でイチから作成したファイルなんですが
やはりボタンにアクションを設定できません。
AS1.0&2.0に変更してみても同じでした。ナゼ?
新規作成でAS2ってなかった?
996 :
Now_loading...774KB:2007/08/18(土) 05:11:12 ID:/ETRbTPo
ほんとだ!AS2で新規で作ったらできましした!
ありがとうございます!!!
埋めとく?
埋めましょうか
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。