5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :Now_loading...774KB:2006/04/21(金) 15:30:39 ID:WPLyWgqF
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

●質問する時は自分の環境を書く
書いてない場合WinXP,FlashMX2004(AS2.0以降)を前提で
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●自分が試してみた処理を書く

直前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 11
http://pc8.2ch.net/test/read.cgi/swf/1140544474/l50

関連スレ
Flash製作初心者の質問スレッド レイヤー33
http://pc8.2ch.net/test/read.cgi/swf/1141303780/l50
Flashの超基本的な質問はここでしろ! part28
http://pc8.2ch.net/test/read.cgi/swf/1143168345/l50
サイト、参考書籍、関連情報は>>2-10あたり

2 :Now_loading...774KB:2006/04/21(金) 15:31:40 ID:rQqs8E+j
  l .:.:.:l:.:.l:.:.:.:.:.:.:.l:.:. :.:. i:.  |:. !:.  i l:. l:.:. l   l
          ! .:.:.:.l:.:.l:.:.:.:.:.:.:.l:.:. :.: |:.  |!:. |:.:.:i |: l:. l:.:. l   l
       |:.:.:.,':.:.|:.:.:.:.:.l:.:l!:.. l!ノ|l:.  |l:`ト-l-l!、_l:.: l:!  l   !
       |:.:./ :.:.|:.:.:. :.:!;:|lイ|l! | !:.: ハ|,.lr元ミ:|lヽ |:ヽ l i l   
          ! ./ イ:.:.l:.:.:/|:.l,r」汽ミ l^/  !彳:::トイl}|:.ヽ| .:ヽ!|l 
        l/':.:.|:.:.:l:.j!:.:.:〃::::トイl     辷;ソ,. |:. i .:.:  ト、!  
          l :.:.:.l:.:.:!ハ:./{!辷イン             |:. |   ||  
            l :.:.:.l:.:.l:.:.':. l  ̄      ,  """/|: j  l l    
         l ハ:.:l:.:.l:.:.:. |、"""   r‐ 1   イ:/|: /:. l:ハ l 1000ゲット、、です
         l' |人:.:゙、:.:. | l` ー- ..__. ィ´ |:l':::|/:|:./| '|
           }::::::ヽ:.\:|`ヽ!  _ヽ-< / j::::::::::: |/l
           _|:::::::::::ヽ!::ヽ::::lV'´ 庁‐く` 〃::::  ::::|


3 :Now_loading...774KB:2006/04/21(金) 15:32:54 ID:WPLyWgqF
ASお勉強さいと
FLASH ActionScript Helper (初級〜中級。ASの概念をじっくりと
ttp://homepage3.nifty.com/ginga-b/
はりぼてあくしょんすくりぷと (ホンさんの分かりやすい解説
ttp://www.geocities.co.jp/Milano-Cat/4036/bote/index.html
FumioNonaka.com (AS辞書正誤表なども
ttp://www.fumiononaka.com/

AS書籍
おしえて!!Macromedia FLASH MX Action Script (イラスト入りで分かりやすい
macromedia FLASH ActionScriptバイブル (リファレンス本
続FLASH ActionScriptバイブル MXのツボ (上の続編、MXに対応
Macromedia Flash Mx 2004 Actionscript 2.0 Dictionary
Actionscript for Flash Mx: The Definitive Guide
購入は書籍店か、アマゾンあたりで。

Flash情報交換フォーラム
ttp://www.mediacreator.jp/
ttp://www.flash-jp.com/

4 :Now_loading...774KB:2006/04/21(金) 15:52:13 ID:WPLyWgqF
マクロメディア本家(30日間無料トライアルのダウンロードもここ)
ttp://www.macromedia.com/jp/
ASエディタse|pyのHP(ダウンロードは一番下のとこ)
ttp://www.sepy.it/
.solエディタはここ
ttp://www.alexisisaac.net/

5 :Now_loading...774KB:2006/04/21(金) 15:53:28 ID:WPLyWgqF
んなもんです、後はよろしくどぞ。

6 :Now_loading...774KB:2006/04/21(金) 16:34:43 ID:iWLMsQAr
EventDispatcherクラスでオブジェクトにイベントリスナーが追加されているか外されているか
traceか、デバッガで確認する方法はありませんか?

7 :Now_loading...774KB:2006/04/21(金) 18:16:16 ID:VFwnGNCE
あるフィールドの中に、オブジェクトA1があって、そのオブジェクトがフィールド内を10秒間ランダムに移動する(フィールドからは出ないように)ということを実現したいのですが、どうにも上手くいきません。
一応、フィールド内から出ないように直進させることは出来たのですが、ここから先が分かりません。アドバイスをよろしくお願いします。

//ランダム数値を発生させる関数
function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.round(Math.random()*(max-min))+min;
return randomNum;
}


8 :Now_loading...774KB:2006/04/21(金) 18:19:04 ID:VFwnGNCE
//動かすピクセル数
ugoki_x=4; ugoki_y=4;

//フィールド座標
left_x = 0;
right_x =_root._width-this.A1._width;
top_y = 0;
bottom_y =_root._height-this.A1._height;

A1.onEnterFrame = function()
{
//A1を移動させる
A1._x = A1._x+ugoki_x;
A1._y = A1._y+ugoki_y;
//フィールドの端に当たったら、方向を逆にする
if (A1._x<left_x || A1._x >right_x) {
ugoki_x = ugoki_x*-1;
}
if(A1._y<top_y|| A1._y >bottom_y){
ugoki_y=ugoki_y*-1;
}
};


9 :Now_loading...774KB:2006/04/21(金) 21:24:14 ID:0KdY6e2C
IEのActiveXアクティブ化関連
ttp://www.macromedia.com/jp/devnet/activecontent/
ttp://support.adobe.co.jp/faq/faq/qadoc.sv?5503+001

10 :Now_loading...774KB:2006/04/21(金) 21:36:29 ID:qCrY5Q3n
腐れ企業のせいで俺ら製作者が迷惑被るのは勘弁して欲しいな
どう考えても既知の製品に対するサブマリン特許だもんな

11 :Now_loading...774KB:2006/04/22(土) 01:16:07 ID:HTwhSC6A
>>9
これの対応すげーめんどくさかった。

>>10
アメリカは何でもかんでも特許とろうとするからねぇ。
ちょっと前にブランコの横揺らしの特許を子供に撮らせてた弁護士もいたっけ。

12 :Now_loading...774KB:2006/04/22(土) 02:35:05 ID:KSjsBkGC
Flashでパブリッシュしたときに書き出されるHTMLが、
自動的にこの特許に対応した形になってくれれば簡単なんだけどね。

13 :12:2006/04/22(土) 02:40:00 ID:KSjsBkGC
ごめん。>>9のリンク先にそういう情報があったんだね。

14 :Now_loading...774KB:2006/04/22(土) 03:37:15 ID:QUKJIqv5
>>11

ねえ
('<object classid="clsid:D27CDB6E..." ...>\n');
のところのclsid:D27CDB6E..ってもともとのclsidに入れ替えるの?

なんかどちらでもうまくいかないんだけど。
あと"の後の...も意味わからん



15 :Now_loading...774KB:2006/04/22(土) 04:03:05 ID:QUKJIqv5
ごめん解決した

16 :Now_loading...774KB:2006/04/22(土) 13:33:13 ID:+F7B1NUE
>6

EventDispacherはリスナをprivateなメンバ_listenersに保持している。
なのでリスナを返すコマンドを加えるといいよ。

public function getListeners():Array {return _listeners}

デバッガでの確認方法は知らん。

17 :Now_loading...774KB:2006/04/22(土) 16:15:16 ID:GWvwS93P
_rootにArray1,Array2,…と作って、それぞれ同じ処理を繰り返したいので、forを使うのですが、上手く配列にアクセスできていないみたいです。

for(i=0; i<10; i++){
 for(k=0; k<5; k++){
  _root["Array"+i][k] = random(5);
 }
}

_root["Array"+i][k]という書き方が間違ってるんでしょうか?

18 :17:2006/04/22(土) 16:16:21 ID:GWvwS93P
あ、iの方は1からスタートです。

19 :Now_loading...774KB:2006/04/22(土) 16:27:31 ID:9vjKwWuR
>>18
Youは2次元配列をつくりたいのかYO?


20 :Now_loading...774KB:2006/04/22(土) 16:29:36 ID:GWvwS93P
_root["Array"+i][k] = random(5);
ここのところは、i=1なら
_root.Array1[0] = random(5);
_root.Array1[1] = random(5);
_root.Array1[2] = random(5);
 ・
 ・
 ・
としたいわけなのです

21 :Now_loading...774KB:2006/04/22(土) 16:41:30 ID:hAkmhig4
>>17
for (i=0; i<10; i++) {
_root["Array"+i] = new Array();
for (k=0; k<5; k++) {
_root["Array"+i][k] = Math.floor(Math.random()*5);
}
trace("Array"+i+"=["+_root["Array"+i].join()+"]");
}
2次元配列じゃないのは何か訳があるからなんだろ
それと、random関数使うのやめてMath.randomにしろ

22 :Now_loading...774KB:2006/04/22(土) 16:46:02 ID:C1gpIeXc
FlashMX2004のPlayer7(または6)で質問です。

screenというMCにloadMovie()で外部JPGを表示させる際に、screenの大きさに
合わせてJPGをリサイズ表示させるにはどんな方法がありますか?
一応、ttp://www.gac.jp/article/index.php?stats=question&category=19&id=8292&command=msg&PHPSESSID=cd2e653b7473f6065dcabe4ec461e11f
の「MXならこんな方法もあります」にもありますが、これ以外の簡単な記述法
がありましたらご紹介願います。


23 :Now_loading...774KB:2006/04/22(土) 17:03:59 ID:aFSHRuFc
>>16
mx.eventsのEventDispatcher.asに
public function getListeners():Array {return _listeners}
を追加するとクラスで_listenersが使われてないっていうエラーがでるんですが、
違うファイルに追加するんですか?

24 :22:2006/04/22(土) 21:11:27 ID:uoGwAiMJ
上のHPを参考に作りました。pic1〜pic3のJPGを用意し、ボタンアクションで
押すたびに出現先のMC sc.scIn で番号nが1→2→3と変わるようにして
います。サイズが360×270になるよう下のASを書きまいたが、変わりません。

myPicture = "pic"+n+".jpg";
sc.scIn.loadMovie(myPicture);
sc.scIn.myPicture._width = 360;
sc.scIn.myPicture._height = 270;

どうしたものでしょうか? なお、createEmptyMovieClip()は空のMCを作る
必要が無いと思い、使用しませんでした。


25 :Now_loading...774KB:2006/04/22(土) 22:04:45 ID:D5EA/VnJ
>>24
sc.scIn._width = 360;
じゃないの?

26 :Now_loading...774KB:2006/04/22(土) 22:50:26 ID:qqNzBbW1
>>24
ターゲットMCがオーサリング時に配置してあるのであれば、空のMCを作る必要はないが、
>>22のリンク先のASは無駄に長く書いているわけではない。
loadMovieした瞬間にプロパティがクリアされるので、そこで設定しても無駄。

更に>>25が書いてるように、ターゲットパスが間違っていると思う。

27 :22&24:2006/04/22(土) 22:58:55 ID:BUJoLzJz
>>25
Thxです。修正して一応サイズ変更はしましたが、360×270には収まりません
でした。

Flash自体を http://vista.x0.to/img/vi4571360503.zip にswfとpic1〜pic3の
JPGをまとめてZip形式でUPしております。vi4571360503.zipをDLし、解凍する
と現れます。5-2-A03.swf をスタートするとご覧頂けます。

さらにどう修正すべきでしょうか?


28 :22&24:2006/04/22(土) 23:27:02 ID:BUJoLzJz
しまった・・・・ 更新してなかったから26さんの文を読んでなかった。


29 :Now_loading...774KB:2006/04/23(日) 01:29:44 ID:YBsaSmw0
>23

ごめん。
broadcasterMXと勘違いしてた。


dispacherは
"__q_" + event
という名前の配列にpushしているみたい。

addEventListener(obj, eventname)
したなら、__q_ eventname という配列になる。
これは特にプライベートな宣言はされてないから
普通にアクセスできると思う。
確認はしてない。

30 :12:2006/04/23(日) 17:45:18 ID:rn3liR9A
>>9のリンク先のadobeのサイトにあるFlashのテンプレートと
AC_RunActiveContent.jsを使ってみた。
swfに変数を渡してる場合、いままでだと
<param name="movie" value="nullpo.swf?filename=ga.mp3">
みたいに書いてたところが、今度はAC_FL_RunContent()を呼び出し
てるところで
  'movie', 'nullpo?filename=ga.mp3',
のような形で書くようになる。拡張子".swf"はここでは書いてはいけ
ない(書くと動かない)んで注意。
それ以外は特に問題なく移行できた。

…けどこれをFlashを使ってる全ページでやるのかよマンドクセEolasウゼー氏ネ

31 :Now_loading...774KB:2006/04/23(日) 18:28:27 ID:7DHXA++N
〜フレーム待機してから次のフレームに移動、
みたいな感じにするにはどうすればいいですか?

32 :Now_loading...774KB:2006/04/23(日) 18:34:04 ID:SvQY2xdb
>>31
フレーム待機ってのがよくわから;が、stop();で止めといて、
なんらかのイベントでgotoAndPlay(...);でいんじゃないかな。

33 :Now_loading...774KB:2006/04/23(日) 18:35:46 ID:MeLxHJmu
>>31
setIntervalじゃないかな

34 :Now_loading...774KB:2006/04/23(日) 18:38:25 ID:7DHXA++N
フレーム待機って意味不明ですねorz

例えば、そのフレームに10秒待機してから自動で
次のフレームに移動させるにはどうすればいいですか? 
変数を使えばいいんでしょうか?

35 :Now_loading...774KB:2006/04/23(日) 18:44:20 ID:MeLxHJmu
変数使わないASって意味あるんでしょうか

36 :Now_loading...774KB:2006/04/23(日) 19:12:55 ID:okVPUdmO
>>34
function gotoAndPlay_wait(frameNum, wait){
stop();
var sid = setInterval(function(){
gotoAndPlay(frameNum);
clearInterval(sid);
}, wait);
}

//例
//1000ミリ秒(1秒)たってから5フレームに移動
gotoAndPlay_wait(5, 1000);

移動後にストップならgotoAndPlay→gotoAndStopにでも。

37 :Now_loading...774KB:2006/04/23(日) 20:02:44 ID:8NJYCxQ9
VBかなんかで自動でobjectタグをAC_RunActiveContent用にコンバートする
フリーソフト作ってアップしてくれたらあなたはネ申

38 :22&24:2006/04/23(日) 20:30:02 ID:lOaZi9D1
>>26 プロパティがクリアされるので、そこで設定しても無駄

これを回避する方法はどうすればいいのでしょうか? ボタンアクションの
myPicture = "pic"+n+".jpg";
sc.scIn.loadMovie(myPicture);
sc.scIn._width = 360;
sc.scIn._height = 270;

では、サイズは変更されるものの360×270にはなりません(27のASです)。また
空のMCを作る
myPicture = "pic"+n+".jpg";
this.createEmptyMovieClip("load_mc", 1);
load_mc.createEmptyMovieClip("jpg", 1);
this.load_mc.jpg.loadMovie(myPicture);
this.jpg._width = 360;
this.jpg._height = 270;

は、画像は出ますが、サイズはそのままです。出来たら空のMCを作らない前者の
方向で進めたいのですが、どうしたらいいでしょうか?


39 :34:2006/04/23(日) 21:10:56 ID:UXJjwpJO
>>36
うまくいきました!
ありがとうございます。

変なことばっか言ってすみませんでした。


40 :Now_loading...774KB:2006/04/23(日) 21:40:59 ID:okVPUdmO
>>38
function loadAndResize(targetMovieClip, loadImage, width, height){
var mcl = new MovieClipLoader();
mcl.loadClip(loadImage, targetMovieClip);
mcl.onLoadInit = function(mc){
mc._width = width;
mc._height = height;
}
}

//読み込み用MCを生成※MCが配置してあれば不要
var mc = this.createEmptyMovieClip("imageClip", 0);
//イメージをロードし、ロード完了後に指定サイズにリサイズ
loadAndResize(mc, "pic1.jpg", 370, 240);

これを組み込めば行けるかな?

41 :22&24:2006/04/23(日) 21:46:30 ID:Ga5Lgvgl
>>40
さんきゅうです。やってみます。


42 :Now_loading...774KB:2006/04/24(月) 00:11:08 ID:HgjBiBiK
>>37
プログラム組まなくても正規表現でできると思うけど

43 :Now_loading...774KB:2006/04/24(月) 02:36:03 ID:rdzOfyjv
actionscriptでxmlをロードするとブラウザにキャッシュされますが、
キャッシュされていても強制的に再読み込みはできますか?

xmlの後ろに?(new Date()).getDate()などをつけずに実現する方法があれば教えてください。

44 :Now_loading...774KB:2006/04/24(月) 09:14:00 ID:HgjBiBiK
>>43
サーバ側でヘッダに Pragma: no-cache とか Cache-Control: no-cache とか突っ込んであげるとか
静的なXMLが相手で開発中のデバッグが面倒ならブラウザでクライアントキャッシュをオフにするとか

45 :Now_loading...774KB:2006/04/24(月) 10:33:58 ID:qJlowoln
アクションスクリプトからファイルがキャッシュされてるかどうか知りようはないよね

46 :22&24:2006/04/24(月) 11:21:19 ID:Z0ArMkYR
>>40
アドバイスから、
myPicture = "pic"+n+".jpg";
function loadAndResize(_root.sc.scIn, myPicture, width, height) {
var mcl = new MovieClipLoader();
mcl.loadClip(myPicture, _root.sc.scIn);
mcl.onLoadInit = function(mc) {
mc._width = 360;
mc._height =270;
}
}

と書きましたが、どうしても下の2つの警告が出ます。
  行 7:')' または ',' が必要です。
  function loadAndResize(_root.sc.scIn, myPicture, width, height) {

  予期しない '}' があります。

どこに間違いがあるのか分かりません。ご指摘願います。


47 :Now_loading...774KB:2006/04/24(月) 11:32:44 ID:8L0veqvZ
仮引数に「.]は使えないでしょ。

48 :Now_loading...774KB:2006/04/24(月) 11:33:53 ID:HgjBiBiK
>>46
関数の定義の仕方と使用方法についてちゃんと理解しましょう
まずはそこからです


直接的な回答としては、loadAndResize関数の第一引数に_root.sc.scInを置いていることです
定義と使用は別です
ActionScriptの基礎を覚えてから組んでください

49 :Now_loading...774KB:2006/04/24(月) 12:31:26 ID:VCbHyWCt
質問です。
あるMC(mc_A)のボタンA(btn_A)にon(press){〜}のスクリプトがあるとして
ボタンAとは関係ないMCなどから、ボタンAがクリックされていないけれどボタンAのon(press){〜}を実行させるにはどうしたらよいでしょうか?
他所から、_root.mc_A.btn_A.onPress(); で呼び出してみましたがダメでした。
どのように呼び出したらよいでしょうか?教えてください。


50 :Now_loading...774KB:2006/04/24(月) 12:46:02 ID:8L0veqvZ
ボタンアクションを削除して
onPressイベントハンドラにfunctionを設定すれば?

それかボタンアクションの中身をfunction化して
それを使えば?


ああああああああああああああ

51 :22&24:2006/04/24(月) 13:48:15 ID:vwDJi3fp
>>47,48
書き直しました。
myPicture = "pic"+n+".jpg";
function loadAndResize(targetMovieClip, loadImage, width, height) {
var mcl = new MovieClipLoader();
mcl.loadClip(myPicture, _root.sc.scIn);
mcl.onLoadInit = function(mc) {
mc._width = 360;
mc._height = 270;
};
}

警告は出なくなりましたが、画像が出ません。loadClip()の変数に問題が
あるかと思い、ヘルプを参照しましたが原因が分かりません。再度アドバイス
を願いします。


52 :Now_loading...774KB:2006/04/24(月) 15:06:52 ID:HgjBiBiK
>>51
ですから、関数の使い方をちゃんと覚えてください。
定義と使用は別です。

関数とメソッドについて
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001284.html

まず、この「ActionScript 2.0 の学習」を最初から一通り見ることをお勧めします。

ActionScript 2.0 の学習
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=Part3_Learning_AS.html

-----

直接的な回答としては「定義した関数 loadAndResize を適切な引数を付けて呼び出しましょう」となります。

53 :Now_loading...774KB:2006/04/24(月) 15:09:39 ID:HgjBiBiK
>>51
すぐ参照するならここをどうぞ

関数へのパラメータの受け渡し
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001297.html#476283

54 :40:2006/04/24(月) 21:03:51 ID:cmaPnPEd
>>51
>>40で示したサンプルの、
function loadAndResize(targetMovieClip, loadImage, width, height){
...

}
の中身はいじらないように。
この関数にはイメージをロードし、
ロード完了後に指定サイズにリサイズを行う、
という一連の動作が定義されている。

上記の関数を使用する場合は、
loadAndResize(ムービークリップへのパス, 画像へのパス, 幅, 高さ);
と指定すれば良いだけ。

これで判らないなら、
>>52-53さんの示したヘルプを理解するまで質問は控えましょう。

55 :Now_loading...774KB:2006/04/25(火) 05:47:01 ID:UosmuqXe
>>50
サンクスコ
そうします。

ああああああああああああああ

56 :22&24:2006/04/25(火) 06:54:57 ID:/sMA8vZz
>>52-54
有難うございます。出来ました。以下に全ASを記します。

rootの1フレ目
n=0;
mcl = new MovieClipLoader();//繰り返し作製する必要が無いのでボタン外に置きました

rootに配置したボタンアクションは
on (release) {
n++;
if (n>3) {
n = 1;
}
function loadAndResize(targetMovieClip, loadImage, width, height) {
mcl.loadClip(loadImage, targetMovieClip);
mcl.onLoadInit = function(mc) {
mc._width = width;
mc._height = height;
};
}
myPicture = "pic"+n+".jpg";
this.loadAndResize(this.sc.scIn, myPicture, 360, 270);//thisに適用するところがミソでしょうか?
}

です。これで、3枚の画像が順次表示されるswfが出来ました。
まとめて http://vista.x0.to/img/vi4591502701.zip にUpしています。

重ねて御礼申し上げます。


57 :Now_loading...774KB:2006/04/25(火) 07:36:48 ID:6651PTZ+
1つ質問させていただきます

gotoAndPlay()などフレームラベルを指定する物がありますが
指定したフレームに存在するフラームラベルを
取得するメソッドは無いのでしょうか?

58 :Now_loading...774KB:2006/04/25(火) 07:47:05 ID:jpDK2ysd
>>56

初心者ならではの「動けばいいや」的理解に落ち着いたね。
次は標準的なプログラム技法について学んだ方が良いかと。

> mcl = new MovieClipLoader();//繰り返し作製する必要が無いのでボタン外に置きました

オブジェクトは必要最低限のスコープでのみ寿命を保証するのが良い。
こういったグローバル化は止むを得ないパフォーマンスチューン以外ではやるべきではなく、単に何度も使うからという理由でやるとコードの可読性を低下させるだけで意味が無い。

> this.loadAndResize(this.sc.scIn, myPicture, 360, 270);//thisに適用するところがミソでしょうか?

関数について本当に理解できたのかも悩む。
thisが一体何を指し示しているのか分かっているのか?
相対的な存在を使ってミソもクソもない。
その辺りはActionScriptでFlash開発する基礎中の基礎なのでここをちゃんと読んで下さい。

絶対ターゲットパスと相対ターゲットパス
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00000396.html#50915

ドットシンタックスとターゲットパスについて
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00001216.html#723528

59 :Now_loading...774KB:2006/04/25(火) 07:53:02 ID:jpDK2ysd
>>57
無いらしい

FLASH-JP.COM - フォーラム
フレームラベルを取得する方法はありますか?
ttp://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=3300&forum=6&post_id=18486&PHPSESSID=b3cb647222bbdbd69167dbfd01f7c984

60 :Now_loading...774KB:2006/04/25(火) 08:32:11 ID:IjvroEUe
>>57
無いのは、同じフレームの各レイヤーに別々のフレームラベルをつけることができるので
そういうメソッドは値を返しようが無いからなのかもしれないですね。

61 :22&24&56:2006/04/25(火) 09:05:28 ID:9Jlb2zSq
>>58
スイマセン。。。。

function loadAndResize(targetMovieClip, loadImage, width, height) { { ・・・・}; }
は、rootのmcl = new MovieClipLoader()の後に(セットで)置くべきでした。


62 :Now_loading...774KB:2006/04/25(火) 10:46:40 ID:n9BtEfT5
>>60
そういうことなら配列で返してくれりゃいいのにな。
ラベル取得少し欲しかったりする。

63 :Now_loading...774KB:2006/04/25(火) 12:10:32 ID:gZ4a38Lw
>>62
AS3.0では取得できるらしい

64 :超初心者:2006/04/25(火) 15:35:47 ID:kWipAnjv
マウスのポインタがおたまじゃくしになって、
音符の五線の線上などの位置に置くと
その置かれた部分の音階の音が鳴りながら、おたまじゃくしが音符に張り付く。
 
こんな離れ技などできますか。まったくの初心者ですが。

65 :Now_loading...774KB:2006/04/25(火) 15:41:20 ID:jpDK2ysd
>>64
できます

66 :超初心者:2006/04/25(火) 15:48:23 ID:kWipAnjv
>>65
たとえばどんなAction Scriptの組み合わせで作れるのでしょうか?

67 :Now_loading...774KB:2006/04/25(火) 16:03:50 ID:RvacDJBT
>>66
超初心者とか名乗るような相手には、どこから書いていいのかわからんです。
おおざっぱに言えば、MCのプロパティやメソッドを理解してれば大抵のことはできます。
音鳴らすならSoundクラスも理解する。

前提として、Flashの基本操作はもとよりターゲットパスやAS基本事項の理解は必須。
あとはやる人のやる気と頭の良さと経験値によって、かかる時間が決まると思われる。

68 :超初心者:2006/04/25(火) 16:17:40 ID:kWipAnjv
できれば簡単なそれっぽいFLASHをさっと作ってUPして頂きたい。
今後はそれを第一の教材に自分で勉強します。

69 :Now_loading...774KB:2006/04/25(火) 16:22:35 ID:jpDK2ysd
>>66
もしかして根本的に勘違いしているかもしれないが、ActionScriptは「プログラム開発」レベルの技術を要求する
デザイン画面で切り貼りしてトゥーイン設定するデザイナとは全く別の領域
「どんなActionScriptの組み合わせ」なんて頓珍漢なこと聞いてるって事はそこんとこ理解していないんじゃない?
デザイナのように組み合わせて作るんじゃなく、「ActionScriptのプログラムコードを書いて」作るんですよ。

まずはこのLiveDocを見て、概念から理解できないようなら諦めた方が良い。

ActionScript 2.0 の学習
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=Part3_Learning_AS.html

なんとなく概念が見えるなら、ActionScript系の本を買って最初は丸ごとコピーで作っていこう。
次はそれをカスタマイズ。そして自分で作ってみる。
プログラム開発という分野はそれだけでIT業界の中で巨大な世界を構築しているだけあり、簡単じゃない。

70 :Now_loading...774KB:2006/04/25(火) 16:23:53 ID:jpDK2ysd
>>68
ここは質問スレであって乞食スレではない
マジレスした自分が馬鹿らしくなった

71 :超初心者:2006/04/25(火) 16:31:10 ID:kWipAnjv
>>70
失望させてごめんなさい。
ちゃんと心を入れ替えて
勉強していきます。
ありがとうございました。

72 :Now_loading...774KB:2006/04/25(火) 17:48:49 ID:+TQhzJ8+
ヘルプ丸ごと張ってる奴馬鹿じゃねーの
質問スレの意味ねーよ

73 :Now_loading...774KB:2006/04/25(火) 17:52:00 ID:lCr7q+i+
>>72
で、質問は何なのかな?

74 :Now_loading...774KB:2006/04/25(火) 17:56:16 ID:+TQhzJ8+
質問あるように見えるのかwwww
すげー頭だなwwwww予想の斜め上だ
悪い悪い。ヘルプ丸ごと貼って俺偉い自慢続けててくれwwwww

75 :Now_loading...774KB:2006/04/25(火) 18:10:30 ID:jpDK2ysd
>>74
Macromedia - Flash 8 LiveDocs
http://livedocs.macromedia.com/flash/8_jp/

76 :Now_loading...774KB:2006/04/25(火) 18:18:05 ID:+TQhzJ8+
いいね!!最高!!
これからはどの質問にも>>75のコピペでOKじゃん!!
こんなスレいらねーな

77 :Now_loading...774KB:2006/04/25(火) 18:20:38 ID:IjvroEUe
あの質問に関するの答えとして
基本から順序良く覚えればできるようになりますよ
でいいんじゃないの?
模範解答だと思うけどな。

78 :Now_loading...774KB:2006/04/25(火) 19:00:29 ID:QZhC6eNu
>>77
日本でおk

79 :Now_loading...774KB:2006/04/25(火) 19:02:25 ID:lCr7q+i+
春厨はスルーでヨロ>>ALL

80 :Now_loading...774KB:2006/04/25(火) 20:34:45 ID:nh5Ch9mC
若干ASと関係ない気もしないでもないけど質問デス。
htmlのaタグでswfを呼び出して、そのswfに変数を渡す方法ありますか。
paramやobjectタグではなくaタグで。
aタグなら、javascriptでもokデス。

81 :Now_loading...774KB:2006/04/25(火) 20:41:06 ID:5WL8mUGW
HN使ってるヤツは要注意

82 :Now_loading...774KB:2006/04/25(火) 20:41:40 ID:5WL8mUGW
>>80


83 :Now_loading...774KB:2006/04/25(火) 20:43:33 ID:gnSONkYe
>>80
ttp://blog.dawgsdk.org/weblog/archives/410012
エスパー回答感謝しろ

84 :Now_loading...774KB:2006/04/25(火) 21:05:23 ID:nh5Ch9mC
>>82
スマソ。
説明おかしかったのにかなり近い回答どうもです。

ほんの少し違ってて、聞きたかったのは、
aタグでswfを直接呼び出して表示するので
object、param、embedなどの普通にswfを呼び出すタグ・パラメータ類が使えないので
aタグだけでswfに変数を渡す方法があるのかな?と。

仕様変更してjavascriptで処理した方が早いデスカ?

85 :80:2006/04/25(火) 21:07:04 ID:nh5Ch9mC

<a href="〜〜.swf">〜〜</a>
で呼び出すってことデス。

86 :34:2006/04/25(火) 21:11:29 ID:hg214iLT
また質問させてもらいたいんですが、

>>36のACをフレーム指定ではなく、
次のフレームに移動させるようにするにはどうすればいいでしょうか?
frameNumをnextFrame()に変えて見ましたがうまくいきませんでした。

どうかお願いします。

87 :Now_loading...774KB:2006/04/25(火) 21:27:37 ID:IjvroEUe
>>84
<a href="〜〜.swf?hennsuu=1">〜〜</a>

82 は ? を使えという意味の回答だと思う。

88 :80:2006/04/25(火) 22:06:56 ID:nh5Ch9mC
>>86
ついでなんで。
これじゃダメとですか?

function gotoAndPlay_wait(wait) {
stop();
var sid = setInterval(function () {
nextFrame();
clearInterval(sid);
}, wait);
}
gotoAndPlay_wait(1000);


89 :80:2006/04/25(火) 22:09:49 ID:nh5Ch9mC
>>84
回答どうもです。
〜.swf?変数=値 てやっぱり使えるんですか?最初に散々試したけど
トレースするとundefinedなるんで、勘違いかと・・・。
?変数=値がaでも使えるなら、swf側で変数の使い方が間違ってるようなので
アレコレやってみます。ありがd

90 :Now_loading...774KB:2006/04/25(火) 22:39:01 ID:lCr7q+i+
>>89
htmlの方でxxx.swf.....は2ヵ所あるから両方変えないとだめだぞ。

91 :Now_loading...774KB:2006/04/25(火) 22:50:09 ID:lCr7q+i+
つか、aタグか。swf側で_root.変数名で参照するとか。

92 :Now_loading...774KB:2006/04/25(火) 23:02:43 ID:SaiC7nET
質問です。
外部swfにnowloadingをつけたいのですが、親swfから外部swfを呼んだときにうまく表示されません。

外部swfを呼ぶときには外部swfの_rootが親の_rootになるので注意が必要だということは本で読みましたが、具体的にどう変えていいかわかりません。

外部swfのシーン1(_root)に配置してあるローダーMCに以下のスクリプトが書いてあります。

onClipEvent (load) {
total = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
loaded = _root.getBytesLoaded();
percent = int(loaded/total*100);
text = percent+"%";
_root.gotoAndStop(percent);
if (loaded == total) {
_root.gotoAndPlay(2);
}
}

この_rootをどうかえればいいでしょうか?

93 :Now_loading...774KB:2006/04/25(火) 23:05:58 ID:gnSONkYe
_lockroot

94 :Now_loading...774KB:2006/04/25(火) 23:07:23 ID:SaiC7nET
>>93
全ての_rootを_lockrootに変えればいいのですか?

95 :93:2006/04/25(火) 23:12:49 ID:SaiC7nET
外部swfのnowloadingのスクリプトの_rootを_lockrootに変えてみましたが、
やはりうまくいきません。。
どなたかどこが悪いのかアドバイス頂けませんか?

96 :Now_loading...774KB:2006/04/25(火) 23:20:21 ID:lCr7q+i+
_lockroot = true;

97 :Now_loading...774KB:2006/04/25(火) 23:29:17 ID:gnSONkYe
>>95は俺の偽者

98 :Now_loading...774KB:2006/04/25(火) 23:38:35 ID:Mc7P9SYA
>>88
ダイジョブでした。
ありがとうございました!

99 :92:2006/04/25(火) 23:39:13 ID:SaiC7nET
>>97
すいません間違えました。

>>96
それはどこらへんに書けばいですか?

100 :Now_loading...774KB:2006/04/25(火) 23:40:21 ID:jpDK2ysd
>>95

_lockroot (MovieClip._lockroot プロパティ)
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002482.html#589075

101 :80:2006/04/26(水) 00:27:59 ID:abYe8X++
>>90,91
ありがd。
気を取り直して最初からやったらアッサリできました・・・。
1発目で出来なくてだいぶ動揺してたっぽぃ。
・・・逝ってきます。

102 :Now_loading...774KB:2006/04/26(水) 00:36:53 ID:Jw9e117I
FlashVarsって呼ぶから覚えとけ

103 :92:2006/04/26(水) 00:44:23 ID:kpwkKVL4
>>100
できました!ありがとうございました。

104 :80:2006/04/26(水) 00:52:59 ID:abYe8X++
>>102
何か流れからすると俺に言ってる??
flashvarsってこれのこと?
www.macromedia.com/jp/support/flash/ts/documents/fl0284.html
動揺しててもこれで出来る事は知ってたし実際に試したッス。

>>102 は >>83 かな?
何か優しげな感じでありがd。


て、違ってたら激しくサムイ。

105 :Now_loading...774KB:2006/04/26(水) 11:34:34 ID:IOJynMR6
1)キー判定をしているのですが、
日本入力と英語半角入力だとキーコードが違いますよね。
z→90:英、229:日
両方のコードをチェックしておくものなのでしょうか?
判定するキーが多いと凡雑になりそうなんで、
すっきり出来る方法ってありますか?
keyListener.onKeyDown = function() {
if(Key.getCode()==90 ||Key.getCode()==229){
trace("ok");
}};

2)それと、強制的に英語半角にすることも試したのですが変わりません。
どうすればいいんでしょうか?
if (System.capabilities.hasIME) {
System.IME.setEnabled();
//もしくは
//System.IME.setConversionMode(System.IME.ALPHANUMERIC_HALF);
}
よろしくお願いします。

106 :Now_loading...774KB:2006/04/26(水) 12:46:29 ID:Sv1IGPLs
>>105
ゲーム系だったら、日本語入力OFFは基本だから、そう書いておけばいい。
英数字のみの(キーボード)の判定だけで済むから無駄な処理が必要なくなり、
速度向上になる。

107 :ヤニヤニ(・∀・):2006/04/26(水) 17:25:10 ID:hrYFsSrq
市販のゲームはAction Scriptで作られてるのですか?
それともCとかの言語なんですか?

108 :Now_loading...774KB:2006/04/26(水) 17:26:51 ID:HrGcYtME
いろいろある

109 :105:2006/04/26(水) 18:12:05 ID:IOJynMR6
>106
なるほど。でしたら、2)をretryしてみます。
ありがとうございました。

110 :Now_loading...774KB:2006/04/27(木) 00:46:30 ID:dS5jbkvU
市販ソフトのプログラマにしてみればFlashはツクールと変わんねーYO!
まあ、Flash 9からはちょっとまともになるだろうけどな。
OOPの勉強くらい始めとけよヘタレスクリプターども。

111 :Now_loading...774KB:2006/04/27(木) 01:31:04 ID:xWyIqprb
ローディングを作っているんですが、
1フレーム目を読み込んでからじゃないと
プリローダが動いてくれない。
(1フレーム目に96%ファイルサイズが詰まってるから
96〜100%のちょびっとしかプリローダが表示されない。それまで画面は真っ白)
どなたか指南おねがいします。

FlashMX、XPです。

112 :Now_loading...774KB:2006/04/27(木) 01:32:48 ID:GVnqFwO0
>>111
1フレーム目に詰め込まない。
リンケージ設定で1フレーム目に書き出し(だっけ?)とか多用しない

113 :Now_loading...774KB:2006/04/27(木) 01:33:07 ID:xT9+CHeK
>>111
リンケージものは最初のフレームに書き出しのチェックを外し、2フレーム目以降に適当に配置する。

114 :Now_loading...774KB:2006/04/27(木) 07:21:18 ID:xWyIqprb
>>112-113
どう見ても物凄い勢いの解答です。
無事解決いたしました。
本当にありがとうございました。

115 :Now_loading...774KB:2006/04/27(木) 07:55:23 ID:GgydJwyK
>>107
ActionScriptのスレだからFlashのゲームってことだよね
だとすれば当然ActionScript使ってる

Flashじゃない普通のゲームはほとんどがC++言語

ActionScriptだろうがC++だろうが、開発と言う仕事の前では単なるツールの違いに過ぎない
ゲームの仕様に基づいて実装する作業に違いは無いよ

116 :Now_loading...774KB:2006/04/27(木) 11:26:29 ID:dS5jbkvU
C++では、Flash相当以上のフレームワークとオーサリング環境を自力で構築する必要があるがな。

そしてFlashは、2Dに関しては至れり尽くせりで非常に完成度の高いフレームワークだ。
10万行くらいのコードがあらかじめ用意されているようなものだ。
違いがないなんて俺には間違っても言えんがね。

117 :Now_loading...774KB:2006/04/27(木) 11:53:24 ID:F82RydhD
>>116
何怒ってんの?

118 :Now_loading...774KB:2006/04/27(木) 13:01:05 ID:llKv5+JF
>116
「違いがない」の対象をすり替えてんじゃねぇよww
PCばっかり相手にしてないで、会話の練習したほうがいいぞwww

119 :Now_loading...774KB:2006/04/27(木) 14:07:03 ID:llKv5+JF
>116
ゴメン。いきがってた。オレは字が読めないらしい。スマン。
申し訳ございませんでした。

>ゲームの仕様に基づいて実装する作業に違いは無いよ
これじゃぁ、「作業に差がない。」ともとれるわな。
「作業には違いない。」だと勘違いしてた。スマン。
まぁ、主旨は後者なんだろうが。

120 :Now_loading...774KB:2006/04/27(木) 14:27:07 ID:AztRsGuc
ライブラリ使えばC++やC#の方が至れり尽くせりだろ。フラッシュ使いたければ
表示部分だけフラッシュ使えばいいだろうし、いろいろ選択肢あるじゃん。


121 :Now_loading...774KB:2006/04/27(木) 15:18:14 ID:08t0Do0i
いい加減スレ違い

122 :Now_loading...774KB:2006/04/27(木) 17:47:11 ID:IoszMwS6
flashというのはフレームにいろいろaction scriptを記述していくというよりは
まずムービークリップを作ってaction scriptを当てはめていくのが主流なんですか?
とりあえずはonClipEventでいろいろ動作させるんですか?

123 :Now_loading...774KB:2006/04/27(木) 17:58:17 ID:UAp0pKkT
どっちでもいいよ。
フレームにthisonEnterFrame = function(){}

124 :123:2006/04/27(木) 17:59:47 ID:UAp0pKkT
まちがって送信しちまった。すまんです。
たぶん>>123でもいいたいことはわかってもらえると思う

125 :Now_loading...774KB:2006/04/27(木) 19:13:58 ID:EY/P+h+v
>>116
フレームワークとオーサリングって言葉を使ってみたかったって感じだなw

126 :Now_loading...774KB:2006/04/27(木) 21:02:37 ID:ZKvvCJMq
textフィールドの厳密な(?)初期化はスクリプトで

t=""

ではムリなのですか?(t:textフィールドの変数)

127 :Now_loading...774KB:2006/04/27(木) 21:05:45 ID:pEiGe7ML
Winxp Flash2004MX です。
webページを作っていまして。各ボタンなどに効果音を
on (release) {
_root.gotoAndPlay("ラベル");
se = new Sound();
se.attachSound("効果音");
se.start();
}
または、タイムラインにて設定しています。

しかし、なぜか音が出る状態では無い時
(タイムライン上に音が出る設定の_mc、イベント等がない時)でも
不定期にガザ、ブツ。と断片的に音が出てしまいます。

どなたか修正方法、対処方をご存じの方はお教えください。
よろしくお願いいたします。


128 :Now_loading...774KB:2006/04/27(木) 21:23:03 ID:buLaysjd
>>127
mcのタイムラインの1フレーム目に音を入れている箇所はありませんか?
それを2フレーム目に入れるようにすると直るかも。

129 :Now_loading...774KB:2006/04/27(木) 21:56:09 ID:wmrwksXS
>>126
それでいいよ。

130 :Now_loading...774KB:2006/04/27(木) 22:29:34 ID:ZKvvCJMq
>>129
でもif構文でt!==""で分岐されるのですが・・・。

131 :Now_loading...774KB:2006/04/27(木) 22:41:49 ID:z6MaWpU7
>>130
どういうAS書いて、どういう結果なのでわからんとか書かないと、
レスしようがない。

132 :126:2006/04/27(木) 22:44:11 ID:ZKvvCJMq
>>131
すみません。

t=""
と初期化した後に分岐で
if(t!=="")
としたのに分岐されるのは何故ですか?

133 :Now_loading...774KB:2006/04/27(木) 22:45:24 ID:qWux7IIK
t = "";
if (t !== "") {
trace("no");
}
で何も出力されないけど。
変数名とインスタンス名を勘違いしてない?

134 :Now_loading...774KB:2006/04/27(木) 22:51:57 ID:z6MaWpU7
>>132
if(t!=="") はどういう意味なのか説明できる?

135 :Now_loading...774KB:2006/04/27(木) 22:54:12 ID:0Dg3QLw9
手軽に小遣い稼ぎしたい人はココ!!
お小遣いドットコムでタダで稼いじゃおう!
http://osaifu.com/noda6417/

136 :126:2006/04/27(木) 22:56:07 ID:ZKvvCJMq
>>133
いい忘れました・・・。orz

追加としてtextの種類は「テキスト入力」で
ナニカを入力して消した後はt=""とは違うということです。

つまりナニカ操作した場合t=""に戻す方法は別フレームから戻ってきて
読み込みなおしリセットする以外方法はないでしょうか?
(分岐のために)

137 :Now_loading...774KB:2006/04/27(木) 23:41:21 ID:IYRJWAnh
質問させていただきます。Flash Lite1.1で製作しているのですが、
Flash Liteでは階層とかいう概念がないようで、tellTarget("インスタンス名")で
他のムービークリップを制御するらしいのです。そこで、実験してみました。
1、新規シンボル(MC)で4コマ漫画を作り、名前をcountとする。それをステージ(背景)に設置
2、新規シンボル(ボタン)を作り、以下のスクリプトを記述。ステージ(背景)に設置
on (release, keyPress "1") {
tellTarget ("count") {
nextFrame();
}
}

携帯電話の1ボタンを押せば、四コマ漫画(count)がコマ送りされるはず…
と思いきや、意味不明のエラーメッセージが出て失敗…。
ƒ^[ƒQƒbƒg‚ªŒ©‚‚©‚è‚܂¹‚ñ: ƒ^[ƒQƒbƒg="count" ƒx[ƒX="_level0"

原因すら分からない状況です。どなたかお助け願います。

(Flashの超基本的な質問はここでしろ! part28 スレにも同じ投稿がありますが、
 間違って質問してしまったものなので、無視してください)

138 :Now_loading...774KB:2006/04/27(木) 23:42:51 ID:lbEoNBmE
>>136
変数の消去は
delete 変数;
又は
変数 = undefined;
で出来るよ。

139 :126:2006/04/27(木) 23:54:08 ID:ZKvvCJMq
>>138
できません・・・。
目標はcgiチャットやもなチャットのような入力をしたいのですが…

140 :Now_loading...774KB:2006/04/27(木) 23:56:12 ID:NQWrDhJq
あんたには無理

141 :Now_loading...774KB:2006/04/28(金) 00:05:24 ID:pirSIUws
WinXP Flash8 です。
新機能のIME制御について質問です。
TextInputコンポーネント textInputObj に入力された未確定文字列を別のTextInputコンポーネント textOutputObj に送信したいのですが、
textInputObjに以下のスクリプトを記述し、全角スペースを入力すると無視、または渡すことができない状態です。

on(focusIn){
this._parent.textInputObj.onIMEComposition = function( inputValue ){
this._parent.textOutputObj.text = inputValue ;
}
}

この事象は、Flash8のオーサリングソフト付属のFlashPlayer上では起きませんが、肝心のIEブラウザのFlashPlayer上で発生します。
どこかおかしいのでしょうか?また何か良い方法はないでしょうか。
よろしくお願いします。

イメージ
      [ textInputObj ]    ⇒    [ textOutputObj ]
期待値    愛□江尾      ⇒      あい□えお
実際値    愛□江尾      ⇒      あいえお
□は全角スペース

142 :Now_loading...774KB:2006/04/28(金) 00:16:48 ID:cAlrHdtP
asファイルで作ったクラスのデバッグってどうすりゃいいんでしょうか??
flaみたいにブレークポイント指定したんですが・・・。

143 :141:2006/04/28(金) 00:17:29 ID:pirSIUws
すいません 上記の正確なスクリプトはこちらでした。そのままでは動作しません。


on(focusIn){
this._parent.textInputObj.onIMEComposition = function( inputValue ){
this._parent.textOutputObj.text = inputValue ;
System.IME.addListener( this._parent.textInputObj );
System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);
}
}

144 :141:2006/04/28(金) 00:32:18 ID:pirSIUws
またまたすいません。かっこの位置が違いました

on(focusIn){
this._parent.textInputObj.onIMEComposition = function( inputValue ){
this._parent.textOutputObj.text = inputValue ;
}
System.IME.addListener( this._parent.textInputObj );
System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);
}

145 :Now_loading...774KB:2006/04/28(金) 01:21:22 ID:PEO8mQZg
>>139
チャットで入力して送信ボタンを押したときにテキスト内容をクリアしたいなら
ボタンのreleaseイベントの中にt=""書けばいい。そういうことじゃなくて?

146 :Now_loading...774KB:2006/04/28(金) 01:32:36 ID:PEO8mQZg
>>137
その通りにやってみたけど、1ボタンで次のコマに行くよ。
インスタンス名countが設定されてなかったらそのメッセージでたわ。

147 :Now_loading...774KB:2006/04/28(金) 13:46:14 ID:NGLJMDhi
>144
>System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);
System.IME.setConversionMode("JAPANESE_HIRAGANA");
嘘かも試練

148 :Now_loading...774KB:2006/04/28(金) 20:41:46 ID:Ej9WysY9
始めてゲームを作っているのですが
ボタンインスタンスA,B,Cにa、b、cという変数をつけて

on (release) {
_root.get変数 = 1;
}
にて変数を取得させ,ルートに書き出している
_root.アイコン._visible = false;
if (_root.get変数 == 1) {
_root.アイコンA._visible = true;
}
で、画面にアイコンAが表示されるようにしています。

そこでお聞きしたいのですが
変数a、b、cを順不同で全部取得した時に
ボタンインスタンス「clear」を表示させたい場合
どのようにしたらいいのでしょうか・・・・

よろしくお願いします

149 :Now_loading...774KB:2006/04/28(金) 23:00:54 ID:PEO8mQZg
>>148
質問の内容を取り違えてるかもしれないが、
if ( a + b + c == 3 ) {
_root.clearインスタンス._visible = true;
}
をA,B,Cに書けばいい。関数化するとすっきり。

150 :Now_loading...774KB:2006/04/29(土) 01:05:47 ID:RWbSWc9Q
>147
>>System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);
>System.IME.setConversionMode("JAPANESE_HIRAGANA");

どちらも、同じ動作しますね。

151 :Now_loading...774KB:2006/04/29(土) 19:46:42 ID:rtoxAMX7
質問です。
パブリッシュして動作させると動くけど、デバッグモードだと不正落ちするのはどのような理由が考えられるでしょうか?
デバッグモードで落ちるスクリプトというのが
chr_s={name:"AAA",num:0,hp:31, maxhp:80, mp:100, maxmp:125, str:10, def:8, spd:50, lv:2, exp:0, dead:false };
・・・
function hp_calc(){
・・・
_root.chr_s.hp -= 5; <<<ここで落ちます
・・・
}
この一行を外すとデバッグモードでも不正落ちしません。
わかるかたいましたらご教授おねがいします。

152 :Now_loading...774KB:2006/04/29(土) 20:02:27 ID:vZR8qFL6
>>151
一般保護エラーはまず環境を疑え
他のPCでも再現するかどうかチェック
話はそれからだ

153 :151:2006/04/29(土) 20:06:20 ID:RrK6uOkN
>>151
OSはXPのSP2でMX2004(最新)を使っています。

154 :Now_loading...774KB:2006/04/29(土) 21:39:37 ID:C6IyI3OL
質問です。

【現状】
  ・FLVPlayback コンポーネントを使って外部FLVを再生している。
   (swfを開くと自動的に再生され最後まで行くと停止)

【やりたい事】
  ・ムービーをループさせたい。
  ・自動再生ではなくマウスポインタがFLVPlayback コンポーネントの上にきた時だけ再生して
   ポインタが外れるとムービーの最初に飛んで停止する。

【環境】
  WinXPSP2 Flash8 Pro

ASに関しては素人ですが、よろしくお願いします。

155 :148:2006/04/29(土) 21:57:46 ID:30EoEWzY
>>149
アドバイスのおかげで無事解決することが出来ました。
ありがとうございました。

156 :Now_loading...774KB:2006/04/29(土) 22:12:20 ID:DwQJP/dj
>>154
MedaiPlayBackコンポーネントなら、
ループはMedia.completeで再生が最後にきたかどうかがわかるから。
上に来たときに再生とかはコンポーネントをMCにしてRollOverとかで。

157 :151:2006/04/29(土) 22:58:49 ID:rtoxAMX7
>>152
了解です。
とりあえず手持ちのノートにインストールしてデバッグしてみます。

158 :Now_loading...774KB:2006/04/29(土) 23:39:35 ID:DBbnkFrc
フレームにサウンドを設定して、止めたい時はどうすれば良いですか。
サウンドをとめるフレームアクションがあったような気がしたのですが忘れて
しまいました。どなたか教えてください。

159 :Now_loading...774KB:2006/04/29(土) 23:45:59 ID:DwQJP/dj
>>158
Soundクラス
ストリーミングならthis.stop()で止まると思う。

160 :Now_loading...774KB:2006/04/29(土) 23:46:20 ID:DBbnkFrc

Sound.stop()はFlash Liteでは対応していなかったので断念。
他にありますでしょうか。

161 :Now_loading...774KB:2006/04/30(日) 00:20:29 ID:JKWp59Pl
現在、一つのテキストボックスに順々に文章を切替えて
表示していくFlashを作ろうと思っているのですが旨く
行かなくて苦労しています。

前提として、フレームにテキストボックスを一個置き
変数名をつける。(例:display)

//フレーム1に定義
var i;
var abc1 = "a"
var abc2 = "b"
var abc3 = "c"
for( i =1 ; i < 3; i++ )
{
display = "abc" + i
}
//

//フレーム2に定義
gotoAndPlay(1);

フレーム1を呼ぶ度に、1回目:a 二回目:b 三回目:c
と言った感じで表示できればと思うのですが根本的に
文字列の連結に失敗している気がします。

まとまりが少なくて申し訳有りませんが間違いの
指摘をして頂けると幸いです。


162 :Now_loading...774KB:2006/04/30(日) 00:41:21 ID:lMgifm35
>>160
携帯のことは知りません。

>>161
>文字列の連結に失敗している気がします。
と思うならtrace()で確かめてみるといい。

//1フレーム目
var word = new Array();
word[0] = "一回目";
word[1] = "二回目";
word[2] = "三回目";
var count = 0;

//2フレーム目
display.text = word[count];

//3フレーム目
count++;
if (count>=word.length) {
count = 0;
}
this.gotoAndPlay(this._currentframe-1);

163 :151:2006/04/30(日) 01:31:23 ID:nWJobaDc
自前のノートに移してデバッグしてみたところ、不正落ちしなくなりました。
そこで、ノートではSharedObjectで作ったセーブデータが0の状態だったことに気が付き
見直してみるとセーブデータを、_root.chr_s = save_data.data.chr_s; だけで済ましていた上に
save_data=null; で破棄していたのでビックリ。for〜inで受け渡したらデバッガでも動くようになりました。
以上、今日のマイAS日記(失敗編)でした。

164 :141:2006/04/30(日) 01:40:45 ID:1hBfvi+6
解決したわけではないですが、FireFox上では正常に動作しました。
InternetExplorer上の問題と思われます。
ブラウザによって挙動が変わることってよくあるんですかね?

165 :Now_loading...774KB:2006/04/30(日) 03:34:44 ID:PSg3RKxf
フレームから別のフレームに飛びたいとき、ボタンアクション以外で
飛ばす方法はありますか?(フレームに書くアクション?)

166 :Now_loading...774KB:2006/04/30(日) 03:51:30 ID:PSg3RKxf
あ、フレームにgotoアクション書いてよいのか。

167 :Now_loading...774KB:2006/05/01(月) 00:26:26 ID:M1LVvqGc
環境は、FlashMX2004(Player7)です。
setInterval()によるMC:cov2を繰り返し点滅させる動作の質問です。

root上に配置されたMC:cov1(cov2の親)のフレームアクションとして
下のASを書きました。
function vsb() {
this.cov1.cov2._visible = !this.cov1.cov2._visible;
}
ID = setInterval(vsb, 100); //100ms毎に実行
this.onEnterFrame = function() {
if (_root.coverF == true) {//rootのMC:btnを押すと消えたままにする
trace("coverF= "+_root.coverF);
this.cov1.cov2._visible = false;
this.onEnterFrame = undefined;
clearInterval(ID);
}
};

ムービープレビューではcov2は現れたままです。どう変えたらいいでしょうか?
アドバイス願います。なお、traceではcoverF= trueになり、ifにはフラグ情報は
行っている模様です。

168 :Now_loading...774KB:2006/05/01(月) 00:36:41 ID:Ssz9db5z
ターゲットパスと
thisと
setIntervalについて
じっくり勉強しようか。

急がば回れってやつ。


169 :Now_loading...774KB:2006/05/01(月) 00:55:14 ID:qQROLLey
久しぶりにフラ板に来たけど、
全然活気が感じられないし、訳のわからんスレばっかりだけど
いったい何があったの?

170 :Now_loading...774KB:2006/05/01(月) 01:02:56 ID:IcyIvqd6
>>167
いろんなところでtrace(this)をしてみるといい。

>>169
フラ版はエスパー養成所になりました。

171 :167:2006/05/01(月) 02:59:17 ID:2ctZsw72
>>168,170
ASを書き換えて、trace("this1= "+this);の形で以下の各所にtraceを置きましたが、
this1のみが this1= _level0.cover1 と出るだけです。

trace("this1= "+this);
function vsb() {
this.cover1.hasi._visible = !this.cover1.hasi._visible;
trace("this2= "+this);
}
ID = setInterval(this.cover1, vsb, 100);//this.cover1が対象
this.cover1.onEnterFrame = function() {
trace("this3= "+this);
if (_root.coverF == true) {
trace("this4= "+this);
trace("coverF= "+_root.coverF);
this.cover1.hasi._visible = false;
this.cover1.onEnterFrame = undefined;
clearInterval(ID);
}
};

現在地は、_root.cover1であることが分かりましたが、ここから先へ進めません。
(丸投げっぽくなってゴメンナサイ)

172 :"vsb":2006/05/01(月) 03:41:25 ID:Ssz9db5z
>>171
setIntervalについては調べたようだね。OKOK。(間違ってるけど)

thisは相対指定(←→絶対指定)する場合に使い、現在地点をあらわす。(buttonの場合を除く)
このコードが絶対パスで表される_root.cover1に書かれているわけで
thisは_root.cover1である。
では、this.cover1とはなんだろう?絶対パスで表すと_root.cover1.cover1。
なんだろうねー

traceでthis1しか表示されないのはそれ以外は実行されてないから。
setInervalのシンタックスをよ〜くヘルプでみてみよう。

あとは考えてみようね。もうちょっとだ。

あああああああああああああ

173 :Now_loading...774KB:2006/05/01(月) 03:47:12 ID:Ssz9db5z
とおもったけど、寝る!

trace("this1= "+this);
function vsb() {
this.hasi._visible = !this.hasi._visible;
trace("this2= "+this);
}
ID = setInterval(this, "vsb", 100);
//this.cover1が対象
this.onEnterFrame = function() {
trace("this3= "+this);
if (_root.coverF == true) {
trace("this4= "+this);
trace("coverF= "+_root.coverF);
this.hasi._visible = false;
this.onEnterFrame = undefined;
clearInterval(ID);
}
};


174 :167&171:2006/05/01(月) 10:41:14 ID:X/XKVSup
トンクス!
やってみます。

175 :Now_loading...774KB:2006/05/01(月) 15:00:44 ID:n0YYyvuJ
ライブラリにある音ファイルのリンケージってなんですか?
とにかく音をならしたいんですけど

176 :Now_loading...774KB:2006/05/01(月) 16:10:49 ID:n0YYyvuJ
自己解決しました
ここって使えませんね

177 :161:2006/05/01(月) 16:55:07 ID:+prePb2t
>>162
返信が遅くなって申し訳有りません。

良く考えたら今回の場合は配列で用が足りる
…のですね。全然浮びませんでした、参考に
させて頂きます。

お手数ですが、今後のためにActionScriptでの
文字列連結の正しい方法を教えて頂けるとあり
がたいのですが…。

できれば、宜しくお願いします。
今回は有難うございました。


178 :Now_loading...774KB:2006/05/01(月) 21:50:23 ID:5OSBZIPB
>>177
eval("abc"+1)
_root["abc"+1]
みたいな書き方。あくまで例ね。

179 :167&171:2006/05/02(火) 01:23:03 ID:BhaMClD5
>>172,173
できました。有難うございます。

でも、入れ子MCのフレームアクションでのパスと、入れ子MC(のインスタンス)で
のパスの解釈にまだ慣れていないです。


180 :Now_loading...774KB:2006/05/02(火) 02:13:42 ID:RSb7qLSG
>>179
FlashMX2004ならアクションスクリプト書く上のトコに【ターゲットパスを挿入】っていう(○のなかに+が入ったアイコン)
があるから、それで確認してみるといい。

181 :Now_loading...774KB:2006/05/02(火) 06:20:43 ID:k4iGdQ2K
ボタンAを押すとそのボタンがボタンBに変わるようなボタンをフレームを
移動せずに実現するにはどうすれば良いのでしょうか?

要はトグルなボタンを作りたいのです。よろしくおねがいします。

182 :Now_loading...774KB:2006/05/02(火) 09:55:42 ID:guu/MIfm
>181
MCつくって1フレと2フレにボタンいれて、それぞれに
on(release){やること;gotoAndStop(1か2);}


183 :Now_loading...774KB:2006/05/02(火) 13:51:05 ID:1R4s+aWa
深度とインスタンスの配置について質問です。

1つの深度には1つのインスタンスのみが割り当てられるのでしょうか?(1対1?)
以前、間違って、あるインスタンスと同じ深度に別のインスタンスをattachMovieで
配置した際に、前に存在していたインスタンスが消えたためもしやと思い質問しま
した。

184 :Now_loading...774KB:2006/05/02(火) 14:11:13 ID:XgTmaJmH
>>183
その通り

185 :183:2006/05/02(火) 14:49:37 ID:+t6KpJRE
>>184

Thx


186 :Now_loading...774KB:2006/05/02(火) 16:39:20 ID:2pYkOcUK
ActionScriptでサーバにHEADリクエストを送ってメッセージヘッダだけを取得することってできますか?

187 :Now_loading...774KB:2006/05/02(火) 17:01:37 ID:k4iGdQ2K
>>182
返答ありがとうございます。
testMCを作って1フレと2フレにtestBTを入れて
_rootのスクリプトで以下のように書きましたが…

 v_flag = true;
 stop();
 testMC.testBT.onRelease = function() {
  if( v_flag ) {
   testMC.gotoAndStop(2);
   v_flag = false;
  } else {
   testMC.gotoAndStop(1);
   v_flag = true;
  }
 }

testMC.gotoAndStop(2)は実行されるのですが
その後にボタンをクリックしても、testMC.testBT.onReleaseが
呼ばれません。原因はわかりますか?


188 :Now_loading...774KB:2006/05/02(火) 17:44:53 ID:Wd5xyxMz
>>187
flashの表記知らんのだが
gotoで飛んでから後の文って処理されるの?

189 :Now_loading...774KB:2006/05/02(火) 17:50:35 ID:fJYwRWmx
gotoAnd〜 はgotoとは違います。

190 :Now_loading...774KB:2006/05/02(火) 18:05:15 ID:k4iGdQ2K
>>188
 testMC.gotoAndStop(2);
 v_flag = false;
の順番を入れ替えて
 v_flag = false;
 testMC.gotoAndStop(2);
にしましたが、駄目でした。

191 :Now_loading...774KB:2006/05/02(火) 18:05:36 ID:wz7EgL8m
ECMAにgotoなんてありません

192 :Now_loading...774KB:2006/05/02(火) 18:12:41 ID:lpkW74Rr
>>190
testMCの2フレにtestBTは存在するんですか?
キーフレームで別物になってたりしませんか?

193 :Now_loading...774KB:2006/05/02(火) 18:32:02 ID:kmkslQhE
数字キーによって動かしたいムービークリップの1フレーム目に以下
のスクリプトを記述、2フレーム目にgotoAndStop(1);を記述しました。

if (on(release, keyPress "8")){
  _y -= 5;

} else if(on(release, keyPress "2")) {
_y += 5;

} else if(on(release, keyPress "6")) {
_x += 5;

} else if (on(release, keyPress "4")) {
_x -= 5;
}

しかし、上手くゆきません。
ActionScriptの記述の仕方からして間違っているのでしょうか。
どなたかお助けを。

194 :Now_loading...774KB:2006/05/02(火) 18:54:39 ID:guu/MIfm
>187
フレームスクリプトは、対象がステージにある場合に適用される。
今のASでは、testBT2が表示されていない状態なので、textBT2は実行されないです。
>182は、on(release)=〜(オブジェクトスクリプト)なので、
testBT2が表示された時点でon(release)=〜が処理され動作するんです

>190
v_flag = false; は、gotoの先でも後でもええよ。
_rootがお仕事してるわけだから。

195 :Now_loading...774KB:2006/05/02(火) 19:00:30 ID:guu/MIfm
>187
フレームスクリプトなら、
testMCの1フレにtestBT1(MC)、2フレいtestBT2(MC)
v_flag = true;
 stop();
 testMC.onRelease = function() {
  if( v_flag ) {
   testMC.gotoAndStop(2);
   v_flag = false;
  } else {
   testMC.gotoAndStop(1);
   v_flag = true;
  }
 }

196 :Now_loading...774KB:2006/05/02(火) 19:24:56 ID:zzYQ+AJJ
すんません、お知恵を借りたく質問します。

FlashMX2004のDrawing API、curveTo()を使用して作った円弧のMCをなぞる様に別のMCを動かす方法、
もしくは円弧の色を先端から終端まで色をなぞっていく方法
を考えているのですが、中々良い方法が思いつかず。
「この様な方法がある」ってのを教えて頂ければ幸いです。

何をしたいかって言うと、迷路の様な文様をcurveTo()を用いたスクリプトで描き、
その文様を先端からある一点の終端までの道のりがわかる様に
アニメーションを付けたいと思っているのです。

197 :Now_loading...774KB:2006/05/02(火) 19:34:18 ID:guu/MIfm
>187
>testMCを作って1フレと2フレにtestBTを入れて
1フレと2フレ同じインスタンス名なのが気になる
何で同じなの?同じにしないと駄目?
キーフレームをまたいで同じMCで同じ名前がある場合は、
また違ってくるが、説明できない。スマンw

198 :Now_loading...774KB:2006/05/02(火) 23:52:41 ID:xFkRZOEJ
現在ローディング画面を作っているんですが、なんだかうまくいきません。
ローディングされるにつれてアニメが進むようにするのが目標です。
ローディングのスクリプトがこれです。

loaded = getBytesLoaded();//読み込み済みの容量を変数『loaded』に入れる
total = getBytesTotal(); //ファイルの総容量を変数『total』に入れる
parfirst = (loaded / total)*100;//読み込み済みのパーセンテージ
par = Math.floor(parfirst);//パーセントの小数点以下を切り捨て
if(total == loaded){//ファイルの総容量と読み込み済みの容量が同じかどうかを比較する
//比較結果が正しい場合の処理
gotoAndStop(3);//コンプリート画面にジャンプ
}else{
//比較結果が正しくない場合の処理
loading_mc.gotoAndStop(par);//読み終わったところまでのアニメを表示
prevFrame();
}

ちなみに1〜2フレームにかけて動かしたい
ムービークリップ(インスタンス名「loading_mc」)を、
2フレーム目に上記のスクリプト、3フレーム目にコンプリート画面を作ってあります。
しかしダウンロードのシュミレートをしてもきちんと思うとおりに進んでくれません。
いったいどこに原因があるのでしょうか・・・・
環境はWinXP、FlashMX2004です。

199 :Now_loading...774KB:2006/05/03(水) 00:13:09 ID:ekEFzIDN
>>198
回線速度によってparの値は飛び飛びになるので
スムーズなアニメーションは期待できません。
アニメーションのフレームが1〜100まであるのならば
読み込み済み比較の所を

if (loading_mc._currentframe < par) {//パーセントよりアニメのフレームが小さいなら
loading_mc.nextFrame();//アニメを次のフレームに移動する
}
if (loading_mc._currentframe >= 100) {//アニメが終了したら
gotoAndStop(3);//コンプリート画面にジャンプ
}

とすれば、アニメーションが全て表示されると思います。


200 :Now_loading...774KB:2006/05/03(水) 00:26:13 ID:kDW2AkVw
現在のフレームは_currentframeでわかるみたいですけど
現在のラベルを参照する場合はどんな命令文(メソッド?)使うんですか?
あるいはこういう命令文(メソッド?)がわかりやすく一覧になってるサイトないでしょうか
マニュアルが難しすぎて・・・

201 :Now_loading...774KB:2006/05/03(水) 00:41:28 ID:kDW2AkVw
>>57
>>59
検索したら既出のようですね

202 :198:2006/05/03(水) 01:24:39 ID:OFHqOhvr
>>199
あー、今頃説明不足に気が付きました。
多分それでアニメはなめらかに動くとおもいます。

しかし、まあ実際の所を話せば今回のやつは
FGFのローディングラブに出展しようとして作っていたんです。
ですが、1フレームのASにFGF提供のシュミレータスクリプト入れてみると
1フレーム目から動く気配がない、
あとダイナミックテキスト(変数loaded)も変化しないんですよね・・・0で。
ちなみにダイナミックテキスト(変数total)はきっちり指定の値になっている・・・
多分1フレーム目で動かないのはprevFrame();の影響だと思うんですけれど

あと思ったんですけれど>>199のやり方を使う場合loading_mcの1フレームに
stop();いれないとダメなんでしょうか?

203 :198:2006/05/03(水) 20:51:25 ID:xrq3bgVt
自己解決
prevFrame();がある前のフレームにPlay();いれたら
きちんと読み込みは作動するようになりました
ただダイナミックテキストは直らないので
そこは消してごまかしました

204 :Now_loading...774KB:2006/05/03(水) 21:40:28 ID:5zZIUiIM
>>203
前のフレームにplay入れるなら
gotoAndPlay(_currentframe-1)でいいんじゃないの?

205 :Now_loading...774KB:2006/05/04(木) 16:22:34 ID:qMQQk2q6
flvファイルをプログレッシブダウンロードで再生させているんですが
ns.seek(num);
以外に指定した秒数をシークする方法ありますか?
普通のseekだとその秒数に一番近いキーフレームをシークするので
キーフレームを大きくすると誤差が激しくて使えないッス。

206 :Now_loading...774KB:2006/05/05(金) 04:01:32 ID:phPH7IU+
亀レスすみません。あれから色々とやっているのですが、
まだ解決していません。

>>192
testMCの2フレにtestBTは存在しています。
>>194
対象はステージにあるのですが、MC内でgoto〜で移動すると
そのMC内のアイテムは_rootからは、無いとみなされるのでしょうか?
>>195
testMC.onRelease=〜にしたら、ボタンアクションしなくなりました...onz
>>197
インスタンス名を同じにしないと駄目な訳ではありません。
違う名前にしましたが、症状は変わらないです。

とりあえず以下のような感じで作り直しましたが、testMC.onBT.onReleaseは
反応するのですが、testMC.offBT.onReleaseが反応しません。
 _root
  1フレ ムービークリップ インスタンス名:testMC
      フレームスクリプト ↓
      stop();
      testMC.onBT.onRelease = function() {
        testMC.gotoAndStop(2);
      }
      testMC.offBT.onRelease = function() {
        testMC.gotoAndStop(1);
      }
 testMC
  1フレ ボタン インスタンス名:onBT
  2フレ ボタン インスタンス名:offBT


207 :Now_loading...774KB:2006/05/05(金) 06:16:57 ID:VkzdKDw+
>>206
_rootの1フレーム目の一番最後に
trace(testMC.offBT);
と書いて下さい。出力に「undefined」と表示されるならば、
「その時点でtestMC.offBTが存在しない」ということになります。

つまり、その時点で存在しないボタンのonReleaseを作成しても、
たとえそれ以降にボタンが登場したとしても動きません。

testMC
1フレーム目
this.onBT.onRelease = function() {
this._parent.gotoAndStop(2);
};

testMC
2フレーム目
this.offBT.onRelease = function() {
this._parent.gotoAndStop(1);
};

というのはどうでしょうか。

208 :Now_loading...774KB:2006/05/05(金) 06:57:25 ID:phPH7IU+
>>207
確かに_rootの1フレームに入った時はoffBTは、ありません。
>>207に書いて頂いたASでは多分、正常動作すると思います。
しかし、testMCの中にはスクリプトは書きたく無いのです。
そういう場合には、どう書けば良いのでしょう?

testMC内にあるインスタンスを認識し直す(?)コマンドみたいな
ものは無いのでしょうか?
  testMC.onBT.onRelease = function() {
    testMC.gotoAndStop(2);
    RefreshInstance();
  }
…みたいな感じで。


209 :Now_loading...774KB:2006/05/05(金) 10:29:06 ID:t73HKN9e
>>208
for inつかうとか。でも、インスタンスの生成消滅はしっかりプログラマが管理すべき。

210 :Now_loading...774KB:2006/05/05(金) 11:25:26 ID:OJ+UIrS6
ボタンは、attachはできるけどremoveは出来ないとかthisの場所が違うとか
色々使いにくいからボタンアクションは諦めてMCにしちゃったほうが楽だと思うよ
ていうかフレーム使いたくない理由が知りたい

//test_mcの中の同じ場所(レイヤ分けしてね。フレームも同じ場所でOK、ていうか違う場所じゃ困る)にtest0_btnとtest1_btnを置いて
//_rootの一フレーム目に
test_mc.test1_btn._visible=false;
btnFlag=0;
function changeBtn(){
if(btnFlag==0){
test_mc.test0_btn._visible=false;
test_mc.test1_btn._visible=true;
btnFlag=1;
}else{

test_mc.test1_btn._visible=false;
test_mc.test0_btn._visible=true;
btnFlag=0;
}
}
test_mc.test0_btn.onRelease=changeBtn;
test_mc.test1_btn.onRelease=changeBtn;

211 :Now_loading...774KB:2006/05/05(金) 11:33:24 ID:VkzdKDw+
>>208
testMCにスクリプトを書かない方法を取るとなると

1.ボタンを1つにして、
2.testMCの現在のフレームに合わせてボタンの動作を切り替える

方法があります。

testMCの1〜2フレームにかけて存在するonOffBTを配置します。

//_rootの1フレーム目
this.testMC.onOffBT.onRelease = function() {
if (this._parent._currentframe == 1) {
this._parent.gotoAndStop(2);
} else {
this._parent.gotoAndStop(1);
}
};

onとoffのボタンを別にしたいのならば、
フラグで_visibleやenabledを切り替えてみては如何でしょうか。

212 :195:2006/05/05(金) 12:43:48 ID:ELK5rVSW
>208
えーと>195で解決したと思ったんですが大変ですね。
onReleaseが動かないということですが、
BBSからコピペしただけだと空白を含むので削除しないと動きません。
>195は、testBT1を押すとtestBT2が表示されるトグルボタンです。
ボタンインスタンスは使っていません。書いてあることに沿って構築し直してください。
あとすこし間違えた。スマン。
stop()//誤

testMC.stop();//正

213 :Now_loading...774KB:2006/05/06(土) 11:26:37 ID:NxfeKIzL
ボタンを押して繰り返し処理をさせるので、setIntervalを使っています。
押して直ぐ1回目を処理させるにはどうすればいいんでしょう?


214 :Now_loading...774KB:2006/05/06(土) 12:06:18 ID:UE8NXedN
>>213
setIntervalに指定した関数を呼ぶ

215 :213:2006/05/06(土) 19:52:35 ID:NxfeKIzL
>214
そうですね。ありがとうございました。

216 :Now_loading...774KB:2006/05/07(日) 13:58:30 ID:BXQlEuGI
既出でしたらすみません。

フレームアクションにてインスタンスのx座標を目標の座標まで移動させるときにonEnterFrameを
使って移動させています。
移動後にそのインスタンスの_visibleをfalseにしたいと思ってます。

y座標の移動には以下の式を使用してます。
(インスタンス:ins 目標y座標:xdisti 4は移動速度)
onEnterFrame = function(){
ins._x += (ins._x - ins.xdisti)/4
}

onEnterFrameを数回繰り返した後にonEnterFrameのループから抜け出すような
関数は組めないのでしょうか??
よろしくお願いします。

217 :216:2006/05/07(日) 14:00:59 ID:BXQlEuGI
すみません。
環境はflash8 AS1.0&2.0です。

218 :Now_loading...774KB:2006/05/07(日) 14:11:35 ID:lk9lul5U
>>216
delete onEnterFrame;

219 :Now_loading...774KB:2006/05/07(日) 14:12:34 ID:YnKIdWb4
var count:Number = 0;
this.onEnterFrame = function(){
count++;
if(count > 1000){
this.onEnterFrame = null;
}
移動処理...
}
とか。自分自身をdeleteするってのもある。

220 :216-解決しました!:2006/05/07(日) 14:30:33 ID:BXQlEuGI
>>218 >>219

ありがとうございます!
  delete onEnterFrame;
でも
  onEnterFrame = null;
でもうまくできました。

ありがとうございました

221 :Now_loading...774KB:2006/05/08(月) 17:21:05 ID:BOt91Lz4
質問ですー。
画面をパラパラと紙芝居みたいに切り替えるのに
attachMovieを使っているのですが
毎回同じ深度にアタッチしていて、不要になった前画面はremoveMovieClipしていないですが
問題ないですか?
消さないとスタックしてメモリを消費したり、とかないでしょうか?

222 :Now_loading...774KB:2006/05/08(月) 22:47:23 ID:4CUwJs+/
質問です。制作環境はMacX Flash8(お試し期間)です。

numlockの状態を検出するために一つMCを用意し,以下のようなaction scriptをかきました。
Winでは正常に動作するんですが,MacのiBookなどノートパソコン等で作動しませんでした。
----
onClipEvent (enterFrame) {
if (Key.isToggled(Key.NUMLOCK)) {
_root.num = "true";
} else {
_root.num = "false";
}
}
----
_root.num という変数を見て,ユーザーの状態を判別し,動作を分岐させたいのです。
Key.NUMLOCKがうまく作動していないのかと思い,キーコードで以下のように書きましたが,結果は同じでした。
----
onClipEvent (enterFrame) {
if (Key.isToggled(144)) {
_root.num = "true";
} else {
_root.num = "false";
}
}
----
Macではnumlockの状態がとれないのでしょうか。それとも,他のアプローチがあるのでしょうか。
何かご存知なことがあれば教えて下さい。よろしくお願いします。

223 :Now_loading...774KB:2006/05/08(月) 23:28:13 ID:k9z+ULNN
true falseをわざわざstring型で渡す意味は?

224 :Now_loading...774KB:2006/05/08(月) 23:35:07 ID:dRltQMyh
>>223
表示のためじゃないの?

225 :222:2006/05/09(火) 00:39:23 ID:7cN3A7+u
>>223
>>224

表示のためでしたが、実のところあまり意味はありません。
害はないかなーとそのまま進めてしまっています。

226 :Now_loading...774KB:2006/05/09(火) 01:10:17 ID:RRv6bxxj ?
>>221
メモリは知らんが前にあったMCは消滅するとは書いてるな。
まあ無茶やってもガベージコレクトしてくれるから
気にしなくていいんじゃないの?

227 :Now_loading...774KB:2006/05/09(火) 09:35:40 ID:Z8DKGYUD
あとあとその変数使う時困るよ

228 :Now_loading...774KB:2006/05/09(火) 10:43:10 ID:FEvIxVBS
>>226
サンクス。とりあえず気にせず突き進んでみます。

229 :Now_loading...774KB:2006/05/09(火) 11:35:10 ID:a2u3/Cus
>>225
質問に答えられなくて申し訳ないけど、
表示の時だけStringにすればいいんじゃない?
flg=true;
textspace.text=String(flg);
みたいに。

230 :Now_loading...774KB:2006/05/09(火) 13:16:42 ID:XSVozdm/
質問です。
外部flvを読み込んで再生する際に、再生速度を変えたいと考えています。
マニュアルを見る限り、再生速度に関するメソッドは見当たらなかったのですが、
何か別に方法はあるでしょうか?

要は、再生速度を変更できるビデオプレイヤーのようなものを作りたいのですが。

231 :Now_loading...774KB:2006/05/09(火) 16:38:24 ID:AkUztbQ0
( ・ω・)∩先生質問です。

_xでランダムで座標を指定し、それをトゥーインで下に動かそうとすると下に動きません。
どのようにすればいいでしょうか?

232 :Now_loading...774KB:2006/05/09(火) 16:52:50 ID:ge/ixoVC
http://romitechio.com/log/archives/2005/08/post_164.php


このサイトのメニュー(ぷかぷか浮かんでる様に見える)のASを物凄い勢いで教えてください。

233 :Now_loading...774KB:2006/05/09(火) 17:23:17 ID:nVz1jD0v
scaleとか_xとかを三角関数で操作してるように見えるが。

ttp://ja.wikipedia.org/wiki/%E6%8C%AF%E3%82%8A%E5%AD%90

234 :Now_loading...774KB:2006/05/09(火) 17:23:27 ID:TBAHMLDm
>>232
_xmouse
_xscale
_yscale
_x
_y
少なくともこれらのプロパティを弄ることで動いてる

>>231
_y+=1;

235 :Now_loading...774KB:2006/05/09(火) 17:31:46 ID:ge/ixoVC
>>233
>>234
ありがとうございます。でもどのように組めばいいかよくわかりません。。
全く同じじゃなくても似たような物のflaファイルがどこかで手に入らないでしょうか。。。?

236 :Now_loading...774KB:2006/05/09(火) 18:20:55 ID:MBNHOP5u
>>232
とりあえず一つのオブジェクトで良いからマウスが近づいたら大きく、離れたら小さくなるのを作ってみ

237 :Now_loading...774KB:2006/05/09(火) 19:19:28 ID:rOLJec7o
>>235
これyugopのモナリザとかで使ってる計算を横のみに限定しただけだよ。
バネの計算について調べてごらん。

238 :Now_loading...774KB:2006/05/09(火) 19:52:00 ID:6dfV1jnV
AS2.0でクラスインスタンスを型指定ありで、
動的に複数個生成したい場合、
どうすればいいでしょうか?

例えばfor文内でユニークな参照名をもつ
10個のクラスインスタンスを生成したい場合、
以下のようにするとエラーになってしまい困っています。

for (var i:Number=0; i<10; i++) {
  var this["ins"+i]: MyClass = new MyClass();
}


239 :Now_loading...774KB:2006/05/09(火) 20:05:14 ID:p+fndeT/
環境は、FlashMX2004(Player7)です。
外部のテキストファイルをFlashのテキスト欄(変数:txtData1)に表示させるASを書い
ていますが、表示されるテキストの文頭に undefined が付いてきます。ASは以下の通
りです。

System.useCodepage = true;//rootのフレームに記述

on (release) {//ボタンアクション
loadV1.load(output1+".txt");//表示させるテキストの名前
rep1 = loadV1.txtData1.split("\n"); //rep1は配列。ここで不要な改行を消す
for (i=0; i<rep1.length; i++) {
tmp1 += rep1[i];
if (i%2 == 1) {
tmp1 += "";
}
}
txtData1 = tmp1;//txtData1
}

表示させるテキストを、変数:txtData1を付けて
 txtData1= ●上記に該当しないスレを立てたい場合は、同じ内容のスレが無いか・・・・

とすると、表示は、「undefined ●上記に該当しないスレを立てたい場合は・・・・」と、不要な
undefined の文字列が文頭に付きます。
原因と対策を教えて下さい。なお、tmp1→tmpなら回避できましたが、同様のボタンが複数
あり区別を付けるため、tmpに番号の1を付けています。


240 :Now_loading...774KB:2006/05/09(火) 20:14:41 ID:7L2FgGJr
>>239
ちょっと待った。読み込んだデータの処理は読み込み完了確認後に!
つか、テキスト読み込みならLoadVars使った方がいいぞ。
同様の処理があるなら、ボタンに書くよりファンクションにまとめた方が修正が楽。

241 :Now_loading...774KB:2006/05/09(火) 20:17:57 ID:BD5mG5lK
>239
tmp1=new String();

242 :Now_loading...774KB:2006/05/09(火) 20:33:13 ID:8/JdocuY
アフォな質問ですいませんが、
あるムービーを消去したいときってどうすればいいでしょうか?
「おしえて、FLASH8」を見てものってなかったのでどうかお願いします。

243 :Now_loading...774KB:2006/05/09(火) 20:56:09 ID:TBAHMLDm
>>242
ごみ箱にドラッグ&ドロップ

244 :Now_loading...774KB:2006/05/09(火) 21:25:40 ID:8/JdocuY
>>243
あ、いやそうじゃなくて、
あるフレームに達したらムービーをACを使って消したいんです。

245 :Now_loading...774KB:2006/05/09(火) 21:36:13 ID:BD5mG5lK
>244
mc.removeMovieClip();
深度はめんどいから、ヘルプに目を通してから実行すること

246 :231:2006/05/09(火) 21:40:32 ID:AkUztbQ0
>>234
それじゃ出来ませんでした。

247 :Now_loading...774KB:2006/05/09(火) 21:54:05 ID:i2hjF3wn
>>246
トゥイーンしてるMCをランダムなx座標にattachMovie

248 :Now_loading...774KB:2006/05/09(火) 21:56:14 ID:BD5mG5lK
>231
意味不明。構造とASを晒せ。
まぁ、雪か何か降らせる感じか?

249 :Now_loading...774KB:2006/05/09(火) 21:59:31 ID:rOLJec7o
>>238
動的に生成した変数に型指定もへったくれも無いが、
あえて行うならば
var ins0:MyClass;
var ins1:MyClass;
...
var ins10:MyClass;
for (var i:Number=0; i<10; i++) {
var this["ins"+i]: MyClass = new MyClass();
}
ってとこ。

250 :Now_loading...774KB:2006/05/09(火) 22:06:29 ID:rewGVSTT
>>238

for (var i:Number=0; i<10; i++) {
var this["ins"+i] = new MyClass();
}

型指定せずに、これで良いのでは。

251 :238:2006/05/09(火) 22:13:08 ID:6dfV1jnV
>>249
>>250

そうか、そもそも型指定しても意味ないかー。
頭固かったです。ありがとう。

252 :239:2006/05/09(火) 22:46:42 ID:uCzL6AbX
>>240, 241
さんきゅうです。LoadVarsについては、フレームアクションで
loadV1 = new LoadVars();
loadV1.onLoad = function() {
txtData1_ins.text = loadV1.txtData1;
};

としています(質問が長くなり、丸投げの印象が出ますので省きました)。
tmp1=new String(); を試してみます。

※本スレとは関係ありませんが、・・・・「プラネット・アース」面白いなあ(^^)


253 :222:2006/05/09(火) 23:08:08 ID:7cN3A7+u
>>229
アドバイスありがとうございました。
今度からはそうすることにします。

254 :239:2006/05/10(水) 00:51:20 ID:aATwbrn0
tmp1=new String(); で問題は解消しました。
これって、あらかじめ器を用意しておけば良いってことかな?


255 :Now_loading...774KB:2006/05/10(水) 00:54:57 ID:6ShdQqYD
>>254
mx2004から変数の初期値はundefinedだから初期化しなきゃいけない。
tmp1=""でもいいと思う

例えば a++; といきなりやってもNaN(非数)かなんかになるので
a=0
a++;とやらなきゃだめ。

256 :Now_loading...774KB:2006/05/10(水) 02:34:34 ID:hteXCL1n
http://www.uploda.org/uporg386078.swf

このように上部が水面のようなフラッシュを作りました(ダウロードしてきました)。
これを他のフラッシュに埋め込みたいのですが、水(薄いグレーの部分)の「高さ」が変えられません。
以下にスクリプトを張るので、どこを修正したら高さが変えられるか教えて頂けませんか?

this.createEmptyMovieClip("pool",0);
pool.count = 29;
pool.spacing = 22;
pool.seaLevel = -150;
pool.delay = 4;
pool.accel = 0.02;
pool.fric = 0.98;
pool._x = 10;
pool._y = 190;
pool.init = function(){
this.pause = 0; // control pause interval
this.theFrame = 0; // count frames to control pause
_root.curr_ymouse = _root._ymouse; // current mouse position
this.points = new Array();
// populate points array
var point = 0;
while (point < this.count) {
this.points[this.points.length] = {
x: point * this.spacing,
y: this.seaLevel,
speed: 0,
num: point,
process: new Array(),
nProcess: new Array()
};


257 :Now_loading...774KB:2006/05/10(水) 02:35:42 ID:hteXCL1n
++point;
}
}
pool.makeWave = function (num, mag) {
this.points[num].speed += mag;
this.points[num - 1].process[this.points[num - 1].process.length] = [mag, -1];
this.points[num + 1].process[this.points[num + 1].process.length] = [mag, 1];
};

pool.mouseWaveNum = function () {
return Math.round(Math.min(Math.max((this._xmouse) / this.spacing, 0), this.count));
};

pool.onMouseMove = function () {
_root.last_ymouse = _root.curr_ymouse;
_root.curr_ymouse = this._ymouse;
var thisNum = this.mouseWaveNum();
var curr_y = this.points[thisNum].y;
if (curr_ymouse < curr_y && curr_y < _root.last_ymouse || curr_y < _root.curr_ymouse && _root.last_ymouse < curr_y) {
this.makeWave(thisNum, Math.min(Math.max(-1, (_root.curr_ymouse - _root.last_ymouse) * 0.1), 1));
}


258 :Now_loading...774KB:2006/05/10(水) 02:36:29 ID:hteXCL1n
};
pool.onEnterFrame = function() {
var next, me, i, col;
var point = 0;
// process waving motion
while (point<this.count) {
me = this.points[point];
me.speed += (this.seaLevel-me.y)*this.accel;
me.speed *= this.fric;
me.y += me.speed;
if (!this.pause) {
i = 0;
while (i<me.process.length) {
me.speed += me.process[i][0];
next = this.points[point+me.process[i][1]];
next.nProcess[next.nProcess.length] = me.process[i].slice();
++i;
}
}


259 :Now_loading...774KB:2006/05/10(水) 02:37:10 ID:hteXCL1n
++point;
}

// draw lines (needs to be after waving, not during)
var point = 0;
this.clear();
this.beginFill(0xffffff,40);
while (point<this.count) {
me = this.points[point];
if (!this.pause) {
me.process = me.nProcess;
me.nProcess = [];
}
if (!point) col = 0x000000,40;
else{
col = 127+Math.min(Math.max(20*(this.points[point-1].y-me.y), -127),128);
col = ((col/2)<<8) | col; // green thats 1/2 the blue
}
this.lineStyle(0,col,0);
this.lineTo(me.x, me.y);
++point;
}
this.lineStyle(0,0x000000,0);
this.lineTo(me.x,0);
this.lineTo(0,0);
// update pausing
this.pause = this.theFrame++ % this.delay;
};

// get things in motion.
pool.init();
以上です。長々とすみません。

260 :Now_loading...774KB:2006/05/10(水) 03:08:44 ID:FRuq4BMN
pool._y = 190 ←ここ

261 :Now_loading...774KB:2006/05/10(水) 03:30:23 ID:hteXCL1n
>>260
ありがとうございます。
でも、 pool._y = 190 をいじると、水の左上の縦の位置が変わってしまいます。。。

262 :Now_loading...774KB:2006/05/10(水) 03:46:31 ID:FRuq4BMN
pool.seaLevel = -150 ← 水の深さ

おまいの理想の形がわからん
http://moemoe1.sakura.ne.jp/wiki/?%A5%C6%A5%B9%A5%C8


263 :Now_loading...774KB:2006/05/10(水) 03:58:31 ID:hteXCL1n
>>262
上のスクリプトの高さを変えていただいたのですか!?
pool._y = 190 をいじってできたのですか??

深さがそんな風になったのは、上のスクリプトでは高さが変えられなかったため、
埋め込むフラッシュの中で水の上に背景色をかぶせてごまかそうと思ったのですが、
勝手に最前面に表示されて、その上に背景色MCをおけなかったので、
水の深度を適当に深くしたら背景色MCの下に来て高さが変わったように見えるかと思ってのことです。


264 :Now_loading...774KB:2006/05/10(水) 10:51:51 ID:xJHyh0nr
ドラム、ベース、ギターそれぞれの短いループサウンドがあります。
まずドラムから始まり、ベース、ギターと徐々に音が重なっていくようなことをしたいんです。
トラックごとの同期をどうとるかなど解説しているサイトないですか?

265 :Now_loading...774KB:2006/05/10(水) 13:32:46 ID:PvRUN0qd
外部のflvファイルを、ムービークリップに読み込むにはどうすればよいですか?

266 :Now_loading...774KB:2006/05/10(水) 14:48:32 ID:2taX1pYg
>>263
小学生?

267 :Now_loading...774KB:2006/05/10(水) 17:22:36 ID:fSZD0/mB
2点質問があります。環境はFlashMX2004(Player7)

Q1)オブジェクト名の識別
str1 = new String("123456789012");
str2 = new String("456789012");
str3 = new String("789012");
という3つの文字列を用意し、個々の長さを調べたく
for (id=1; id<4; id++) {
this["strLen"+id] = this["str"+id].length-1;
trace("strLen1= "+strLen1);//試しにstrLen1を表示

}
としましたが、traceでは、strLen1=  というように何も出ません。
どうしたらいいでしょうか?


Q2)数値の文字列化
あるテキストの文字数(例えば123456個)が分かっていた時、この文字数を
文字列の123456にするにはどうしたらいいでしょうか?目標は3桁区切りで、
123,456と表示することです。
単純に文字列123456を与えた場合は出来たのですが、数値自体を文字列
にする方法が分かりません。

よろしく願います。


268 :Now_loading...774KB:2006/05/10(水) 17:36:20 ID:xJHyh0nr
>267

Q1)

うちの環境では、キチンとtraceの結果でてますよ。
あと、String.lengthから1引いてるのはなぜでしょう?

Q2)

var Num = 123456;

trace(typeof(Num));

Num = Num.toString();

trace(typeof(Num));


269 :Now_loading...774KB:2006/05/10(水) 21:18:29 ID:X7lfMJTn
>>242-244
ちょっと良い流れw

270 :Now_loading...774KB:2006/05/10(水) 21:37:12 ID:wxKFb4cF
AS歴半年ほどです。
                                                     drawpointを使用してお絵描きボードを作り、自由に描画できるFLASHがあるとして、
そのお絵描きボードに書かれた絵をFLASHが記憶し、
別のフレームに読み込むということは可能でしょうか。
まだ構想の段階なので具体的なAS記述はないのですが、
出来るか出来ないかを知りたいのでどなたかご回答お願いします。

271 :Now_loading...774KB:2006/05/10(水) 21:38:14 ID:wxKFb4cF
↑文章ズレしてしまいました。ごめんなさい

272 :Now_loading...774KB:2006/05/10(水) 22:06:01 ID:zsFFERT6
>>270
drawpointとか言うのはライブラリなのかメゾッドなのか聞いたことないが
座標データを配列に入れてSharedObjectに持たせればいいんでない

273 :267:2006/05/10(水) 23:41:48 ID:jfJ2bRvE
>>268
Thxです。Q2は文字列化できましたが、Q1はtraceできません。以下にボタン:strB
を押したときのASを書きます。

str1 = new String("123456789012");
str2 = new String("456789012");
str3 = new String("789012");
strLen1 = 0;
strLen2 = 0;
strLen3 = 0;
strB.onRelease = function() {
for (id=1; id<4; id++) {
this["strLen"+id] = this["str"+id].length-1;
trace("strLen1= "+strLen1);
}
};

strLen1は0のままです。改善すべき点はどこでしょうか?
なお、String.lengthから1引いてるのは、文字数を0から始まる文字列
インデックス化するためです。


274 :Now_loading...774KB:2006/05/10(水) 23:58:10 ID:rI3cseRO
>273
trace(this);

275 :Now_loading...774KB:2006/05/11(木) 00:04:24 ID:XsF/bhmD
>>265
ヘルプで NetConnection を検索。
あとnetStreamも。
とりあえず再生させたいなら上のどちらか検索して出てくる
「connect (NetConnection.connect メソッド)」に書いてあるASをコピーで出来るかと。

276 :Now_loading...774KB:2006/05/11(木) 00:14:31 ID:fcVJcD9B
>273
補足
ActionScript 2.0 の学習
this キーワードのスコープ
イベントハンドラまたはイベントリスナー関数内では、this は、
イベントハンドラまたはイベントリスナーメソッドを定義するオブジェクトを参照します。

277 :Now_loading...774KB:2006/05/11(木) 02:28:20 ID:shv0ykv8
 1フレ
  testMC.loadMovie( "test.swf" );
 2フレ
  testMC.gotoAndStop(10);
↑だと期待した動きをするのですが、

 1フレ
  testMC.loadMovie( "test.swf" );
  testMC.gotoAndStop(10);
↑だとgotoAndStopが無視されてしまいます。
これを1フレでする為にはどうすれば良いのでしょうか?

278 :Now_loading...774KB:2006/05/11(木) 09:52:27 ID:JfjyvuDj
>>277
何を「期待」しているか不明瞭
何が「無視」されるか不明瞭
「これ」が指す範囲が不明瞭

279 :Now_loading...774KB:2006/05/11(木) 10:52:01 ID:hnr39OhA
>>277

MovieClipLoaderクラス使ったらいいんじゃね?

280 :222:2006/05/11(木) 23:17:11 ID:V27dYDnI
>>222です。人が少ないうちに…

質問舌圏ですが,自己解決しましたー。
MacではCapsLock キーと NumLock キーのキーコードが一緒でとれないらしい。
(でも,キーコード自体かえってこなかったのだが)
Numの状態検出はwinのみだそうで。残念だ。

281 :Now_loading...774KB:2006/05/11(木) 23:21:10 ID:qiei10Cl
>>280
ちゃんとマクロメディアに電話して聞いたのか?

282 :222:2006/05/11(木) 23:57:21 ID:V27dYDnI
>>281
電話はしてないが聞いたよ

283 :Now_loading...774KB:2006/05/12(金) 04:41:32 ID:KtkUQ2No
>>278
期待している事は、スクリプトの示すとうり、testMCにtest.swfを読み込んで
表示して、直後にtestMC(test.swf)の中の10フレに飛んで停止する事です。

無視されている事は、>>277にも書いたとうり、gotoAndStop(10フレに飛んで
停止する事)です。

"これ"とは文章からもわかるとうり、期待している事です。

>>279
MovieClipLoaderクラスを使ったのですが、loadMovieを使った時と結果が一緒でした。
MovieClipLoaderクラスをどう使えば解決するか教えてもらえませんか?

284 :Now_loading...774KB:2006/05/12(金) 06:27:43 ID:KtkUQ2No
>>279
ごめんなさい。調べたらMovieClipLoaderクラスはMX2004以降でした。
Flash6形式で作成したいので、MovieClipLoaderクラスは使えません…。

285 :Now_loading...774KB:2006/05/12(金) 09:12:19 ID:FviHZJ0d
XPでFlash8使ってます。

「○秒待つ」というスクリプトはどう書けばいいのでしょうか?

具体的には、ボタンにロールオンでMC(A)がある地点(1,1)まで動き、
ボタンからロールアウトして2秒後に(1,1)から(2,2)に動く、というようなものを作りたいです。


286 :277:2006/05/12(金) 10:48:59 ID:KtkUQ2No
タイミングの問題みたいでした。
test.swfの先頭にプリローダを入れる事により解決しました。

287 :Now_loading...774KB:2006/05/12(金) 11:05:23 ID:wgTcJKCA
>>285
//「○秒待つ」

288 :Now_loading...774KB:2006/05/12(金) 11:25:52 ID:UX+SXCbp
>>285
↓の数秒待つは参考になるかも
ttp://www.geocities.jp/myflashsouko/flash/index4.html
MCの動きならonEnterFrameにどのタイミングで動くfunctionを
当てはめるかだとおも。いずれにしろsetIntervalは使うけど。

289 :Now_loading...774KB:2006/05/12(金) 12:18:01 ID:wrq/MmnW
>>283
どうでもいいけど「とうり」じゃなくて「とおり」な。

290 :279:2006/05/12(金) 14:09:01 ID:ryxvwZVc
>>277

MXだったんですねー。
もう見てないかもしれませんけども、loadMovieで外部swfファイルを読み込む場合でも、
onClipEvent (load)ハンドラが使えます。286で書かれている通り、タイミングの問題です。
読み込み完了していない段階で「gotoAndStop(10)」を実行しようとしているんですね。

実行したい実際の処理を外部swfの1フレーム目でfunctionに書いといて、
下記のようにそれを親swfで呼び出せば問題なくいけるはずです。

//親swfに記述

onClipEvent(data){
hoge();//子swfの1フレーム目に定義したファンクション
}

291 :Now_loading...774KB:2006/05/12(金) 18:32:47 ID:iQUTx09W
質問です。AS2.0仕様でお願いします。

自作したムービークリップ(例えばボールが移動するようなアニメーション)に
カスタムクラスを割り当てたい場合、
ライブラリ内のオブジェクトのプロパティを開き、
AS2.0クラスを指定すればOKなのは分かるのですが、
その場合普通にタイムラインにインスタンスを配置すると、
コンストラクタに引数は渡せないですよね?

タイムラインにインスタンスをマニュアルで配置するのではなく、
attachMovieでそのインスタンスを配置してやれば、
その引数でインスタンスのクラスプロパティを
初期化できるのを発見したのですが、
みなさんそうしているのでしょうか?
もっと簡単な方法がありそうな気もするのですが・・。

292 :Now_loading...774KB:2006/05/12(金) 20:55:47 ID:F4sACYae
>>291
コンポーネント化するとか

293 :291:2006/05/12(金) 21:38:50 ID:iQUTx09W
>>292
コンポーネント化って、複雑じゃないですかねぇ?

ついでに、自分で読み返してみて一部分かりづらかったので、捕捉します。
「自作したムービークリップ(例えばボールが移動するようなアニメーション)」
「自作したムービークリップ(例えばボールをトゥイーンで移動させたようなアニメーション)」

要するに、わざわざスクリプトで動かさなくても、
トゥイーンなどで簡単に作れちゃうところは、
さくさくっとマニュアルで作ってしまって、
堅牢強固に設計したい部分だけ、
オブジェクト指向でクラス化したいのです。



294 :Now_loading...774KB:2006/05/13(土) 09:49:06 ID:pJgQ/7H6
どうも初めまして 
物理演算の汎用エンジンなんてものはないでしょうか?

実現したいのはピタゴラスイッチのようなものなんですが
シンプルなものでかまいません
とりあえず 斜面をボールが転がるようなスクリプトが知りたいです
出来ればhittestで実現できるとフィールド作りが楽です
よろしくお願いします

295 :Now_loading...774KB:2006/05/13(土) 10:26:36 ID:poUjtjFa
>>294
onEnterFrameでMC動かせば済むんじゃないのかな。
汎用エンジンってAS自体そうだから。3Dはサポートしてないけど。

296 :Now_loading...774KB:2006/05/13(土) 10:31:10 ID:RrRaBaj3
3Dは自分で計算すれば何とかなる

297 :Now_loading...774KB:2006/05/13(土) 23:50:09 ID:fLeRI+xn
初歩的な事かもしれませんが質問です。

flashに書かれたASを処理するのはあくまで見る人のPCですよね?
そこで、例えば「30fpsで1フレームごとに画像が切り替わる」のと「60fpsで2フレームごとに画像が切り替わる」
のは見る人のPCの処理速度は同じになるのでしょうか?

なぜこんなことを聞くかというと、パラパラ漫画的な画像の連続ムービーをなるべく滑らかなままゆっくりと止めたいのですが、
ASでフレームレートが変更できないので、擬似的に60fpsで1フレームごと→2フレームごと→3フレームごと→stopとしようと思っているのですが、60fpsとかにすると処理落ちしないか心配なので。。

298 :Now_loading...774KB:2006/05/14(日) 07:28:06 ID:eV4yTOMT
>>297
私の環境(WinXP, Pen4 2.4GHz)だと、ゴリゴリ動くシーンなどはフレーム数がそこそこ減ります。
ローカルのFlashPlayerよりも、ブラウザ上で再生するとさらに重くなるみたいです。

あと画像を動かすんでも、ベクター画像より、
jpgやpngなどのラスタ画像の処理の方が処理が重い感じです。

AS自体は結構軽い印象です。60fpsで書いても大抵の処理じゃフレーム数に影響しません。
ただif文1万回とかだとさすがに無視できなくなります。

また、画質を変えるだけでもだいぶ改善します。
highだとまともに見られないムービーでも、lowとかだとだいぶマシになります。

環境の差でかなり変わると思いますので、最初から無難に24fpsくらいで、ってのもアリかと。


299 :Now_loading...774KB:2006/05/14(日) 07:36:49 ID:eV4yTOMT
あと質問です('A`)

flashが動いているブラウザがあるとして、
ブラウザが閉じられる、他のページに移動する、戻る、進む・・・
といった操作でflashが閉じられたことを感知するイベント・方法ってないですか?

_root.onUnload = function(){ /* CGIにクライアントが終了したことを伝える */ };

こんな処理をしたいと考えてます。が、_rootにonUnloadを定義してもだめでした。
onUnloadは、MCが消去された“次のフレーム時点で”呼び出されるからみたいです。

FlashMX2004使ってます。近いうちに8を買う予定なのでそっちでも大丈夫です。
知ってる方いたら教えてください。

300 :298:2006/05/14(日) 07:44:58 ID:eV4yTOMT
>>297
うあ、質問を読み違ってました。

その処理だと60fpsにした場合ざっと、画像の操作量は同じ、ASは2倍。
さすがに画像が動いてないのに、バカ正直に再レンダはしてないっぽいです。
上に書いたようにASの量が増えても、大抵はそんなに気にするほどのものじゃないです。

なので、フレーム落ちみたいなことにはならないんじゃないかと思います。

301 :Now_loading...774KB:2006/05/14(日) 12:21:35 ID:mMHf3Csg
>>299
不可能

302 :Now_loading...774KB:2006/05/14(日) 12:59:33 ID:7pIUvJen
>>299
無理
ページが変わる時点でブラウザによってFlash Playerのプロセスが消されるので後処理は不可能

DHTMLのonbeforeunloadを使って閉じる直前にFlashへ通知する方法もあるけど、ブラウザの強制終了には対応できない
ブラウザによっては実装されていないし、スクリプトを切られていると使えない
もちろんFlash直開きには対応できない

C/S型のアプリで、Flash終了時にデータをコミットしたいような要件であれば、FMS(Flash Media Server)を使えばできる
FMSと通信を確立していればFMS側で通信断を検知することはできるんで、サーバ側でRemotingなりを使って処理すれば良い

303 :Now_loading...774KB:2006/05/14(日) 13:25:40 ID:BfdJnHPD
ASでのイージングで質問です。
MCからfunction setAlphaを呼び出して
自分自身のalphaが100になるよう設定しています。

■ルートに記述
function setAlpha(obj_name, endAlpha, speedNum) {
if (obj_name._alpha != endAlpha) {
difference = endAlpha - obj_name._alpha;
obj_name._alpha += difference / speedNum;
}
}
■MCに記述
onClipEvent (load) {
this._alpha = 0;
goal = 100;
speedNum = 5;
}
onClipEvent (enterFrame) {
if (this._alpha != goal) { _root.setAlpha(this, goal, speedNum); }
}

実行すると、アルファ値98.4375で加算されなくなります。

ルートに記述しているdifferenceの値が1.5625、difference/speedNumで1.5625/5→0.3125なので
アルファ値に+0.3125されると、98.4375 + 0.3125 → 98.75 となり
以下繰り返しとなると思うのですが、なりません。
_alphaではなく、_xや_xscaleなどの場合は
問題なくgoalの値まで進みます。
アルファ値のみ特別な処理がいるんでしょうか??

304 :Now_loading...774KB:2006/05/14(日) 13:27:44 ID:DP4uMpoa
質問です。

MCをトゥイーンさせる際に残像効果をつけたいのですが、

@アルファ値を100→0になるMCを作ってフレーム毎に大本のMCの位置に複製配置
 アルファ値が0になったMCは削除

AMCを複製してそれぞれを異なるアルファ値で(だんだんアルファ値を下げて)配置
 その際、複製したMCを番号とかで区別しておく。
 複製したMCの配置位置は、自身よりひとつ前の番号のMCがあった位置で
 毎フレーム自身よりひとつ前の番号のMCがあった位置に移動していく

という二つの方法を試しているのですが、うまくASが組めません。
よろしくお願いします。

また、上の二つの方法以外にも簡単なやり方があれば教えて頂ければ有難いです。 

305 :303:2006/05/14(日) 13:36:39 ID:BfdJnHPD

>>303 訂正。
_xや_xscaleでも100までいかず、同じ値98.4375以降加算されてないデス。

306 :Now_loading...774KB:2006/05/14(日) 13:39:31 ID:4Oh/iFCh
>>303
alphaは0.390625%未満の少数値を加算しても変化しない。
ttp://www.fumiononaka.com/TechNotes/Flash/FN0507002.html

>>304
トゥイーンするMCを作って、それをフレームずらして配置。

307 :303:2006/05/14(日) 13:46:18 ID:BfdJnHPD
>>306
とってもありがd
アレコレやってもうまくいかんハズだゎ

308 :Now_loading...774KB:2006/05/14(日) 13:54:24 ID:eV4yTOMT
>>301 >>302
お答えどうもです。無理ですか。
DHTMLの方ちょっと調べてみようと思います。ありがとうございました。

>FMS
値段がががが。業務じゃなく趣味で遊んでるだけでして…自鯖でもなし。

309 :Now_loading...774KB:2006/05/14(日) 16:46:56 ID:cuyrFH9T
>>303
obj_name._alpha += difference / speedNum
こういう式のイージングは割り算の為、永久に目的値にならない場合があります。
(アキレスと亀のパラドックス)
ので、ある一定の値になったら強制的にイージングを終了させると良いです。

if (difference < 2) {
//...
}

310 :Now_loading...774KB:2006/05/14(日) 21:36:33 ID:qZlNveo3
>>303

ついでにenterFrameも消しといた方が処理的によろしいかと。

function setAlpha(obj_name, endAlpha, speedNum) {
this.onEnterFrame = function(){
if(Math.abs(endAlpha - obj_name._alpha)>0.5){
obj_name._alpha += difference / speedNum;
}else{
obj_name._alpha = endAlpha;
delete this.onEnterFrame;
}

試してないので動かんかったらごめんやで。

311 :310:2006/05/14(日) 21:38:54 ID:qZlNveo3
「}」が2個もたりんかった orz

312 :303:2006/05/15(月) 23:23:37 ID:eCAi/A/Y
>>309
ありがd。
とりあえず、一定値以下(または以上)になったときに強制的に終了と
アルファ値を0に持ってくときは、ゆっくり停止の直前にフッと消えて不自然なので
Math.floorでだましだましやってました。

で310のコードめっちゃありがd。
そういう風にすればenterFrameだらけにならずに済むんか〜。
実はMC毎にenterFrameで呼び出しまくって
処理がえらいことになって悩んでたトコに書かれてたんで
早速これをベースに試してみるますゎ。

313 :303:2006/05/16(火) 00:57:12 ID:yiVUWvnD
>>310
そのままでは動かなかったけど、思い通りにいったとデス。
特に、this.onEnterFrameはかなり勉強なったとデス。ありがd。

で、今作ってるものは、このアルファ値の処理の他に
x座標やy座標も同じように設定して全てASで動かしてたりします。
中には、MC_○のアルファが0になったら自身のアルファを100に
といった事もやってるんですが、今までMCに直接記述したEnterFrameで監視(?)していたので
(MCが増えれば増えるほど評価する値が膨大になってえらい事なってますが)
EnterFrameをfunction内に収めてMCにEnterFrameを書かないようにすると、監視出来なくなってしまうので
MC_○が〜になったら、みたいな時だけはMCにEnterFrameを記述して監視した方がいいとですか?
それとも他に効率の良い処理方法ってあるですか?

314 :Now_loading...774KB:2006/05/16(火) 09:06:57 ID:2T0k0H25
this.scroll.gotoAndStop(2);

これの意味教えてください。



315 :Now_loading...774KB:2006/05/16(火) 09:26:16 ID:zyMs5N4F
この巻き物が(2)に行って、止まる。


316 :310:2006/05/16(火) 10:21:39 ID:F1/hsAzr
>>313

常にMC_hoge1がMC_hoge2のプロパティを監視するよりも、
MC_hoge1のほうで処理が終了したときに、MC_hoge2のfunctionを呼び出して
MC_hoge2のプロパティを変更してやるような感じではどうしょうか。

ただし全ての値が常に変化していて、常に連動しているのであればEnterFrameでリアルタイムに
値を変えてやるしかないと思います。

このあたり処理的にどうすれば効率がいいのかは僕も他の方の意見が聞いてみたいです。


317 :Now_loading...774KB:2006/05/16(火) 10:48:30 ID:2Sz9nNl5
こんにちは。
説明下手ですが質問させてくださいm(_ _)m

FLASH8を使ってHPを作っているのですが、ページが変わるごとに
事前に用意してあるアクセスカウンターに情報を送らせたい(?)のですが
記述の方法が分かりません。
うまく言葉に出来ないのですが、見えないように設置したいのです。

getURLでやってみたら、ページがアクセスカウンターのページに飛んでしまいましたorz
javaスクリプトで呼び出してみても同じようになってしまいました。。



318 :Now_loading...774KB:2006/05/16(火) 11:15:23 ID:gdhmVwz7
loadVariablesNum("counter.cgi", "", "POST");

かな。getURLはAタグみたいなものだから使い方が違うぞ。

319 :Now_loading...774KB:2006/05/16(火) 11:54:47 ID:2Sz9nNl5
>>318
神!dクス。
即効解決しますた☆
感謝感謝。。

320 :Now_loading...774KB:2006/05/16(火) 15:18:45 ID:z1Ix2npV
どうしても解決出来ないので質問させて頂きます。

フレームレート12で、サウンドの同期設定をストリーミングにしたムービーを作っているのですが、
ムービー再生中に、setIntervalを使い1秒間に50回画面の再描画を使用したところ、
実際には1秒間に12回しか再描画されませんでした。

ストリーミングをスタートに変えた場合、しっかりと1秒間に50回再描画されていました。
音楽をストリーミング設定にした場合には、基本設定のフレームレート以上は出せない仕様なのでしょうか?

宜しければ回答をお願いします。

321 :Now_loading...774KB:2006/05/16(火) 17:40:27 ID:DbfxYUlI
多次元配列について質問です。環境はFlashMX2004(Player7)

on (release) のボタンアクションで、2つのTxt(aとb : 変数では0と1)中の
数値データを抽出し、この値を収めた配列valの要素はgyou, retuの形で

trace("ab, gyou, retu, 要素= "+ab+", "+gyou+", "+retu+", "+val[ab][gyou][retu]);
 → ab, gyou, retu, 要素= 0, 0, 0, 0.20924
 → ab, gyou, retu, 要素= 0, 15, 10, 0 //対角要素以外も表示
 → ab, gyou, retu, 要素= 0, 15, 15, 0

のように確認できたのできました。しかし、この内の幾つかをサンプルとして
同じボタンアクション内で再表示しようとすると、下の様に行列の対角要素は
表示できるのですが、それ以外の部分ではundefinedになります。

val[0][0][0]= 0.21233
val[1][0][0]= 0.21233
val[0][15][10]= undefined
val[1][15][10]= undefined
val[0][15][15]= 0.00127
val[1][15][15]= 0.00127

考えられる原因は何でしょうか?


322 :Now_loading...774KB:2006/05/16(火) 17:51:57 ID:0TAK5tVQ
ちょいと伺いますが、衝突判定で、mc1とmc2が当たれば、このフレームに飛ぶ。
というActionScriptの書き方教えてくだせぇ。

onClipEvent(enterFrame){
if(this.hitTest(.root.mc1)){
gotoAndPlay("◎");
}else{
gotoandplay(1);
}}
でシカトされまし。

323 :Now_loading...774KB:2006/05/16(火) 18:12:40 ID:Tm7e4ei4
>322
.root→_root
gotoAndPlay→ターゲット指定.gotoAndPlay〜

324 :Now_loading...774KB:2006/05/16(火) 18:14:07 ID:8UQKl3Zo
MX2004です。

ルートのタイムラインに ball_mc というムービークリップを配置しました。
そしてルートのタイムラインの1フレーム目のアクションに

this.ball_mc.onLoad = function() {

trace("hogehoge");

};

と書いて実行したのですが trace されません。
どうすればいいでしょうか?

325 :Now_loading...774KB:2006/05/16(火) 18:42:57 ID:0TAK5tVQ
>>323
ターゲット指定.gotoandplay〜
のところもぅ少々ヒントプリーズ

326 :Now_loading...774KB:2006/05/16(火) 18:58:52 ID:SShrLWQJ
>>321
要素の内容が設定されていないから
>>324
onClipEvent (load) {...}

327 :Now_loading...774KB:2006/05/16(火) 19:19:32 ID:Tm7e4ei4
>325
◎のある場所
_root.gotoandplay〜 とか


328 :322:2006/05/16(火) 19:32:59 ID:0TAK5tVQ
シーンの違うフレームラベルに飛ばしたいやり方っスけど、うまくいきまっせん
◎はフレームラベルでは駄目なんスね…

329 :Now_loading...774KB:2006/05/16(火) 19:42:06 ID:ZkB9gfJC
>>328
ダメではないが、ターゲット、つまりどのMCのラベルなのかを正しく指定しなければいかん。
まずは>>3のサイトなどを見て、「ターゲットパス」について理解すること。
それからシーンはやめとけ。

330 :Now_loading...774KB:2006/05/16(火) 19:43:43 ID:Un8F8UTZ
シーンは異物ならぬ遺物

331 :322:2006/05/16(火) 20:28:29 ID:0TAK5tVQ
dっス!
できましたー!
以後精進しまス。

332 :321:2006/05/16(火) 20:36:06 ID:HeaBNUV0
(Q:多次元配列について)

>>326 要素の内容が設定されていないから

う〜ん、traceで細かく見ていくと、一瞬 [ab, gyou, retu, 要素= 0, 15, 10, 0] は
現れます。要素の内容は設定されているハズですが、すぐにundefinedになります
(消えてしまうみたいです)。暫定的に、あらかじめ空の配列を用意しておくように
しました。
for (ab=0; ab<=1; ab++) {
val[ab] = new Array();
for (gyou=0; gyou<最大値; gyou++) {
val[ab][gyou] = new Array();
}
}

しかしこれでは要素数が多くなると、「ムービー内のスクリプトが原因でFlashPlayer
の実行速度が遅くなっています。このまま継続すると・・・」のメッセージが現れます。

要素が得られた後、消えるのはどのようなことが原因として考えられるでしょうか?


333 :Now_loading...774KB:2006/05/16(火) 21:02:06 ID:SShrLWQJ
>>332
要素数がどれだけあるか具体的に書かないと何とも言えないし、
たぶん、new Array()で同じ要素に上書きし続けてると思われるが。
ちなみに↓は3次元配列のサンプル
var shueCabinet3d:Array = new Array();
for(var i = 0;i<3;i++){
shueCabinet3d[i] = new Array();
for(var j = 0;j<3;j++){
shueCabinet3d[i][j] = new Array();
for(var k = 0;k<3;k++){
shueCabinet3d[i][j][k] = i*10000+j*100+k;
}
}
}
trace(shueCabinet3d);
trace(shueCabinet3d[1][1][1]);


334 :321&332:2006/05/16(火) 21:13:34 ID:lqAa5wZG
>>333
さんきゅうです。色々試したところ、gyouの配列を拡張する記述の場所が
不適切だったみたいで、これを変えたらうまく行きました。


335 :303:2006/05/16(火) 21:21:30 ID:yiVUWvnD
>>316
どうもデス。
各MCは、全てルートに書いたfunctionを実行するので、
「〜になったら」ってのは、変数をセットしたりもするんで
今のところMCに直接EnterFrameでやってるデス。

EnterFrameに、不必要な場合はスルーするようにif文を書いてるけど、
それでも結構な量になって、あきらかに重くなったり・・・。
何か効率的な方法はないもんでしょか。

あと、ルートに書いたfunctionは渡す値や対象が違っても
同時には実行出来ないんですやろか?

336 :Now_loading...774KB:2006/05/16(火) 21:32:12 ID:SShrLWQJ
>>335
やりたいことがいまいち見えない。どういう作品(シューティングゲームとか)を
って言ってくれるとアドバイスが楽に出来ると思う。

337 :Now_loading...774KB:2006/05/16(火) 21:38:43 ID:Tm7e4ei4
>335
for文でも中にいれて全部のMC制御しる
dominate_MC.onEnterFrame=function(){
for(〜){this["mc"+i]._alpha -=〜

onEnterFrameは1つしか実行出来ない

338 :Now_loading...774KB:2006/05/16(火) 23:20:37 ID:C9vRI/KA
1,8桁の数値が日付として存在するかどうか確認する方法ってあるんでしょうか?
2,Trim関数のようなものはあるのでしょうか?

339 :Now_loading...774KB:2006/05/16(火) 23:31:47 ID:Un8F8UTZ
正規表現でもあればいいのにねえ

340 :Now_loading...774KB:2006/05/16(火) 23:36:44 ID:SShrLWQJ
>>338
1)たぶん無い。↓みたいなの作るとか
var aa:Date = new Date(2006,1,35);
if(aa.getYear() == 2006 && aa.getMonth() == 1 && aa.getDate() == 35){
trace("正しい日付");
}else{
trace("まちがい");
}
2)Stringでヘルプを検索

341 :Now_loading...774KB:2006/05/16(火) 23:45:22 ID:I/w1tGnk
>>338
1)作った
function chkdate(y, m, d):Boolean {
my_date = new Date();
my_date.setFullYear(y, m-1, d);
if (my_date.getFullYear() == y && my_date.getMonth() == m-1 && my_date.getDate() == d) {
return true;
} else {
return false;
}
}
trace(chkdate(2006, 5, 16));

342 :Now_loading...774KB:2006/05/17(水) 00:05:03 ID:2NTMp7rH
>>338
2)半角のみ
function trim(s):String {
if (s == "") {
return s;
}
var str = s;
var cnt = 0;
while (str.charAt(cnt) == " ") {
cnt++;
}
str = str.substr(cnt);
cnt = str.length-1;
while (str.charAt(cnt) == " ") {
cnt--;
}
str = str.substr(0, cnt+1);
return str;
}
trace("[start]"+trim(" あいう  えお ")+"[end]");

343 :Now_loading...774KB:2006/05/17(水) 00:07:52 ID:sRj4N57X
質問なんスけど、mc0がmc1をかわして目的地に向かうなどという便利なスクリプトありませんか?
当たり判定が怪しいと睨んだんすけど、お手上げス。
道中障害物(ブロック等)の上を通れないよう細工のしかた教えてプリーズ!

344 :Now_loading...774KB:2006/05/17(水) 00:21:41 ID:okOuBUaH
>>343
それ質問じゃなくて製作依頼か検索依頼

345 : :2006/05/17(水) 00:26:53 ID:eUPahxBZ
2,0x000000
3,0xffffff
7,0xccffcc
10,0xcccccc


といったような、外部のcsv形式のテキストファイルを読み込み、
それに対応して各mcのカラーを変更したく思っています。

配列として取り込み、ベタにmcごとに

if(link_tbl[0] == 2){
 iro =Number(link_tbl[1]);
 colorObj = new Color(this);
 colorObj.setRGB(iro);
}

といった感じでやれば、一応は色の変更まではできたのですが
これでは、汎用性がなく、困っています。

0を含む偶数番目の数値(上記ですと2,3,7,10・・・)だけをを参照し、
もしその中に、条件が合う数値があれば、
その配列の+1番目の数値を抽出する、という風にするにはどうすればいいのでしょうか?
外部テキストファイルの行数は増えたり減ったりするので
それにも対応したく思っています。

宜しくお願い致します。




346 :Now_loading...774KB:2006/05/17(水) 00:37:49 ID:sRj4N57X
>>343ですが、
少しのヒントでも恵んでもらえればコレ幸いなんすけど

347 :Now_loading...774KB:2006/05/17(水) 00:38:41 ID:EWSY6FWu
>345
link_tbl = ["2,0x000000", "3,0xffffff ", "7,0xccffcc ", "10,0xcccccc"];
i = 0;
while (link_tbl[i] != undefined) {
link_tbl[i] = link_tbl[i].split(",");
i++;
}
trace(link_tbl[0][1]);

348 :303:2006/05/17(水) 01:22:51 ID:osuugjRF
>>336
どうもです。
今作ってるものは、ある意味ASでやる必要のない事なんですが勉強がてらと思ってASでやってるデス。
なので今作ってるものを説明しても意味ないかなと思って説明しなかったです。

今やってる事をちょっと分かりにくいかもしれんですが説明するデス。
メインとなるMCが5つあり、それを制御(再生・停止)するボタンが5つあります。
普通はMC1→MC5まで再生して終了ですが、ボタンを押した時
対応するMCをASでアルファ値を上げながら表示、その時再生されてるMCをASでアルファ値を下げながら非表示
※再生されていないMCは元々アルファ値0
押されたボタンは左上(0,0)に、それ以外のボタンは右下に詰めます。
詰める際、押されたボタンによってそれぞれの位置は変わる。
※bt1が押された場合bt2〜bt5まで右詰め、bt2が押された場合bt1、bt3〜bt5が右詰め
ボタンが右詰される際、ASでイージング効果をつけています。
それぞれのMCはMC5以外は、MCの再生が終了すると一定時間経過後次のMCを再生
※ボタンも同時に全て移動
それと、MC内で表示するイメージもASでアルファ値をイージング効果をつけて変更
MC内、イメージ2のアルファ値が100になったらイメージ1のアルファ値を50に、などもあります。

ルートにはfunctionで_alphaの他に_xや_xscaleを、
渡された終了値と、イージングスピードの値で実行するよう記述。
例)function alpha(num1,num2){ 〜 } num1→終了値 num2→イージングスピード
ボタンの位置は押されたタイミングによってそれぞれ異なる(release直後の移動時を含めて)
同じく、各MCのアルファ値も異なる。

これら全てをボタン、MCともに自身のenterFrameで監視して動作させています。
またスクリプトが複雑にならないように、
ボタン・MCに記述するスクリプトはボタンはボタンの動作のみ
MCはMCの動作のみを監視、実行させています。

・・・今作ってるものを全てASで制御するのは説明書いてると、かなり無意味な気がしてきたけど
やってる事自体はそんなに複雑じゃないんで、これくらいASで全部出来ないかなと。

349 :Now_loading...774KB:2006/05/17(水) 01:32:48 ID:4Na20RAE
>>338
trimは
文字列.split("trim文字").join("");

350 :Now_loading...774KB:2006/05/17(水) 01:44:48 ID:4Na20RAE
>>348
それだけ説明が書けば、日本語をプログラムに変換する作業は難しくはないと思う。
紙に、フローチャートなり図なりを書いてみれば整理できる。

有るプロパティが変化した瞬間を調べたければaddPropertyを使うのも手。
addPropertyを使うと、有るプロパティが変化したときに任意の関数を呼ぶことが出来るので
そこにアルゴリズムを入れればよい。

もしくはある監視役のMovieClipが、監視対象のMovieClip達を常にウォッチする。

var 監視対象MC配列 = [a_mc, b_mc, c_mc];
監視役.onEnterFrame = function() {
for (var i = 0; i < 監視対象MC配列.length; i++) {
if (チェック関数(監視対象MC配列[i]) == true) {
//処理
}
}
};

351 :Now_loading...774KB:2006/05/17(水) 01:48:56 ID:2NTMp7rH
>>349
それだと前後の空白の削除じゃなくて置換になってしまう。

352 :Now_loading...774KB:2006/05/17(水) 01:57:34 ID:4Na20RAE
>>351
trimというよりはreplaceですね...有り難う。

353 :Now_loading...774KB:2006/05/17(水) 02:29:29 ID:eUPahxBZ
>>347
色々やってたらできますたわ
レスありがとうー。

354 :Now_loading...774KB:2006/05/17(水) 03:05:13 ID:Lxo0bpPO
円周内を跳ね返り続けるボール。環境はFlashMX2004(Player7)

円周型のMC:round内にMC:ballを置いて、ballが円内を跳ねるASを書いています。
長方形の囲いの場合は本に記述があり、ballの位置で速さの変数(speed)を正負逆
にしていますが、円の場合が出来ません。

試しにroundのhitTest()でspeedを逆転しようとしましたが、ball自体がround内にある
ため上手くできません。また中心からの距離でも判定しようとしましたが、これも上手く
いきません。 アドバイスを願います(下は長方形の場合)。

onClipEvent (load) {
speed = 5;
speed_x = speed;
speed_y = speed;
}
onClipEvent (enterFrame) {
this._x += speed_x;
this._y += speed_y;
if (this._x<0) {
this._x = 0;
speed_x = speed;
} else if (this._x>400) {//壁はX=0と400の位置
this._x = 400;
speed_x = -speed;
}
//Y方向も同様にする
}


355 :Now_loading...774KB:2006/05/17(水) 05:03:21 ID:WxxbkzEI
当たり判定自体は簡単に取れる
仰るとおり、距離でとればいい
もし、roundの中心点が、roundの中心に設定されてるなら
defaultDistance=100;//この距離以上はなれると当たりとみなされる
var tempDistanceMath.sqrt(Math.pow(round._x-ball._x)+Math.pow(round._y-ball._y));//中心からの距離算出
if(tempDistance>defaultDistance){
trace("hit");
}
}

でも、実際に円周の囲いの中をボールが運動するような法則を適用させるのは俺には無理
多分内積を応用するんだとは思うけど・・・むずい。全然解らん

356 :Now_loading...774KB:2006/05/17(水) 05:03:59 ID:WxxbkzEI
//間違えた ごめん
defaultDistance=100;//この距離以上はなれると当たりとみなされる
var tempDistance=Math.sqrt(Math.pow(round._x-ball._x)+Math.pow(round._y-ball._y));//中心からの距離算出
if(tempDistance>defaultDistance){
trace("hit");
}
}

357 :338:2006/05/17(水) 08:21:12 ID:eLaEfJQl
>>340-342,349
返答頂いた方々、ありがとうございました
参考にさせて頂きます 

358 :Now_loading...774KB:2006/05/17(水) 08:31:32 ID:PcpEq0SV
>>348
長いからあんま読んでないけど、
_alphaの値は数値上100として表示されるけど、
実際は100じゃないよ。

なのでalphaって変数でも作って、
計算は変数alphaで行って
結果を**._alpha=alphaと入れる形じゃないとずれる。

359 :Now_loading...774KB:2006/05/17(水) 09:11:33 ID:v4/y9NZo
5フレームで構成されるムービークリップscrollを
メインタイムラインに配置しメインタイムラインをmouseover
した際にムービーを(スクロール)動作させたいのですが。

しかし、どうしても、動きません。
サンプルを基にほぼ同じように製作し、アクションスクリプトは全てサンプルをコピーしました。
何が原因でしょう。

360 :303:2006/05/17(水) 09:14:10 ID:osuugjRF
>>358
どうもデス。
誤差は、終了値100なら99.xか100.xになったら
終了値(100)を入れて処理を終了してるから
きっと大丈夫かと思われるけど、
んで、目標値の+-1未満かどうかを判定するのに
一旦変数に入れてるから同じ事カナ?

ちゅーか長い説明文スマソ。
書き込んだらエライ長いから我ながら引いた。

361 :303:2006/05/17(水) 09:17:12 ID:osuugjRF
>>359
具体的な内容を聞いてる上に、原因は何かって事なんで
コピーしたコードなりを貼らないと
原因はどっかがおかしい。としか言いようがない気がしないでもない。

362 :Now_loading...774KB:2006/05/17(水) 11:46:04 ID:v4/y9NZo
>>361
すみません。うまくいきました。
原因はインスタンスでした。

設定したつもりになってました。m(__)mどうもです。

363 :Now_loading...774KB:2006/05/17(水) 15:26:26 ID:K+NMQRwh
指定したタイミングにあわせて正確に実行するにはどうしたらいいでしょうか?

曲のリズムに合わせて動くものを作っているのですが、 setInterval() だと微妙にズレて
だんだんとリズムよりも遅くなってしまいます。

Flashの音ゲー「ダンシング☆おにぎり」ではあまりズレてないように見えるのですが
どのようにタイミングの問題を解決しているのでしょうか。

364 :Now_loading...774KB:2006/05/17(水) 17:27:27 ID:pxerrkWK
ストリーミングにすればいいんじゃね?

365 :354:2006/05/17(水) 21:32:36 ID:NJYjahoX
>>356 円周の囲いの中をボールが運動するような法則

ありがとうございます。しかし、やっぱりこれがネックになって
まだ実現できません。


366 :354:2006/05/17(水) 21:38:18 ID:NJYjahoX
(追加)
長方形の場合、2つのballで下のようなムービーが出来ました。
http://yu-net.info/swfup/viewswf.php/3550.swf


367 :363:2006/05/18(木) 11:28:53 ID:Tmwf3OMI
>>364
回答ありがとうございます。
音がズレるのを防ぐのではなく、正確なタイミングで処理を発生
させたいのですが、その場合ストリーミングをどのようにするのでしょうか?

一定間隔で曲の Sound.positionを取得するという意味でしょうか?
具体的に教えていただけると助かります。

368 :Now_loading...774KB:2006/05/18(木) 14:06:29 ID:XIuztJPv
ActionScriptでプリローダを作ったのですが、
ローカルでやると一瞬で終わってしまい、
ネットにupしてからテストしても一瞬で終わってしまいます。
低速な回線で見た時のシュミレートをしたいのですが、
どういった方法があるでしょうか?


369 :Now_loading...774KB:2006/05/18(木) 14:28:43 ID:Px37IuuP
>>368
ムービープレビューの時に「ダウンロード設定」というのがありますよ。

370 :Now_loading...774KB:2006/05/18(木) 14:30:58 ID:j8zVc6n/
ソフトはFlashMX2004です。

root上の親MC(oya)内の、2つのMC(mc1,mc2)間に線を引こうとしてい
ますが出来ません。ASは、以下の記述をoyaのフレームアクションとして書
いています。

this.lineStyle(2, 0xff00ff, 100);
this.moveTo(this.mc1._x, this.mc1._y);
this.lineTo(this.mc2._x, this.mc2._y);

どうしたものでしょうか? なおmc1,mc2をoya内でなく、普通にroot上に置
いた場合には問題なく線が引けました。


371 :Now_loading...774KB:2006/05/18(木) 14:44:25 ID:7Oz9iE4c
oyaはステージにドラッグしてあるのか?または、attachしたのか?

372 :Now_loading...774KB:2006/05/18(木) 14:48:08 ID:5FgWc8J/
ActionScriptでtarやzipを解凍する方法って無いですか?


373 :Now_loading...774KB:2006/05/18(木) 14:53:32 ID:7Oz9iE4c
>>372
ASでは無い。何に使うのか解らんが。

374 :372:2006/05/18(木) 15:00:22 ID:5FgWc8J/
>>373
やはり無いですか。ありがとうございます。
Ajaxっぽく使おうと思い、テキストデータを少しでも
小さくできればと思ったのですが。
無圧縮15KB前後→zip圧縮1KB


375 :Now_loading...774KB:2006/05/18(木) 15:36:24 ID:XIuztJPv
>>369
ありがとうございます。
早速、ダウンロード設定を2400bps(0.3KB/s)にしてやってみたのですが
下記のスクリプトが1フレーム目から total = 3145728, loaded = 3145728に
なってしまいます。速度が2400bps(0.3KB/s)なら開始直後に3MBを
読み込んでいる事はありえないと思うのですが、
どういった原因が考えられますか?

total = _root.getBytesTotal();
loaded = _root.getBytesLoaded();


376 :Now_loading...774KB:2006/05/18(木) 15:37:09 ID:Gk9PxM++
ソフトはFLASHMXです。

外部テキストをランダムに読み込ませたいのですが、1行目しか読み込みません。

System.useCodepage = true;
this.loadVariables("news.txt");
function setnews() {
var tmp = Math.floor(Math.random()*List.length);
news = List[tmp];
text1_txt.text = news
List = news.split(newline);

2行目3行目をランダムに読み込ませるにはどう変更すればいいのでしょうか?
ご教授よろしくお願いいたします。

377 :Now_loading...774KB:2006/05/18(木) 15:38:27 ID:7Oz9iE4c
>>375
IEのキャッシュクリア

378 :Now_loading...774KB:2006/05/18(木) 15:41:17 ID:7Oz9iE4c
>>376
外部テキストの何行目を読み込むという操作はできない
全部読み込んでAS内で配列なりStringなりで、加工する

379 :370:2006/05/18(木) 15:43:56 ID:M4VY8WTT
>>371 oyaはステージにドラッグしてあるのか?

単純に、描画→シンボル化したものを置いただけです。
mc1,mc2もoyaの内部に置いただけです。


380 :Now_loading...774KB:2006/05/18(木) 15:45:00 ID:7Oz9iE4c
>>379
インスタンス名はちゃんと付けてるか?
俺の環境ではしっかり線が引けてるが。

381 :Now_loading...774KB:2006/05/18(木) 16:03:07 ID:XIuztJPv
>>377
IEのキャッシュをクリアしましたが、同じでした。

ムービーのデバッグ時はIEは関係無いと思うのですが…
そんな事は無いのでしょうか?

382 :370&379:2006/05/18(木) 16:11:28 ID:7nzAB7Bs
>>380
原因というか、ヒントが分かりました。
oyaというのは、150×120の黒一面のMC(背景も兼用)ですが、これを
編集画面で丸印(基準点?)のみにすると線が見えます←線はちゃんと
引かれていたようです。

同じような症状は、グラフィックシンボルなどの背景の上層のレイヤーに
mc1,mc2を置くと線が見えなくなることで確認できました。lineTo()
での線は、自動的に最も深い深度に配置されるのでしょうか?


383 :Now_loading...774KB:2006/05/18(木) 18:56:36 ID:rNjW5Giy
>>381
CTRL+Enter2回

384 :Now_loading...774KB:2006/05/18(木) 23:00:59 ID:ndnWk1vB
質問です。

1000getフラッシュの音楽を探してます。


party 4u゙holy nite mix (Cranky)とありましたがこれがそうですか?

385 :370&379:2006/05/19(金) 00:26:30 ID:ugjFGGvT
すみません。引き続き、lineTo()と深度の関係を教えて下さい。
lineTo()を使う場合には背景レイヤーは不可なのでしょうか?


386 :Now_loading...774KB:2006/05/19(金) 01:02:50 ID:tiqugL+L
>>385
うろ覚えですまんが新しいムービークリップ作った時にそれに
ラインスタイル入力して作る方法ならそのMCの深度が適用されるんじゃなかったかな

387 :Now_loading...774KB:2006/05/19(金) 07:23:30 ID:BHJAa8nN
>>385
つまり、背景なり、絵なりが同じMCに書かれていたらそれが前面になるわけだ。
背景MCを別に作ってやればよか。↓
ttp://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001531.html

388 :370&379:2006/05/19(金) 14:12:50 ID:7usiYqsT
>>386, 387
どうもです。紹介頂いたサイトを参考に致します。


389 :Now_loading...774KB:2006/05/19(金) 21:31:02 ID:WT/Vspr3
MCの色変化について質問です。環境はFlashMX2004(Player7)。
作製したswfは http://yu-net.info/swfup/viewswf.php/3572.swf です。

大小計3つの円盤の色を変えるようなASとして下を書いています。2つの
小さい円盤は同じ色になるようrootのフレームアクションで

my_color1 = new Color(this.disp1.disp1_in);//disp1_inは小さい円
my_color2 = new Color(this.disp2.disp2_in);//disp2_inは大きい円
onEnterFrame = function () {
my_color1.setRGB(_root.r_val << 16 | _root.g_val << 8 | _root.b_val);
my_color2.setRGB(_root.r_val << 16 | _root.g_val << 8 | _root.b_val);
};

としましたが、UPしたswfでも分かるように大小1個づつしか変化しません。
(_root.r_valなどはスライダー右の数値です)
2つの小さい円盤は同じインスタンス名にしています。原因をご指摘下さい。


390 :Now_loading...774KB:2006/05/19(金) 21:46:22 ID:8NvioPaY
>>389
>2つの小さい円盤は同じインスタンス名にしています。
これ。インスタンス名はかぶるとだめ。

391 :Now_loading...774KB:2006/05/19(金) 22:30:11 ID:R+DXsV7J
ものを拾いたいので、
visibleを使って拾ったものは画面から消し
拾ったものをアイコンとしてvisibleで表示させました。
しかし、タイムランを移動すると一度拾ったものがもう一度出てしまうので、
何かいい解決方法はないでしょうか。
フラッシュは5.0を使ってます・・・

392 :389:2006/05/19(金) 23:05:17 ID:DM/uyH+G
>>390 これ。インスタンス名はかぶるとだめ。

さんくす。あらら・・・・


393 :Now_loading...774KB:2006/05/20(土) 00:22:05 ID:Aa1e+UTJ
MC(インスタンス名:rip)がブルブル震えるASを書いています。

function shake() {
return (Math.floor(Math.random()*power)-power/2);//power = 2;
}
this.rip.onRollOver = function() {
this.rip.onEnterFrame = function() {
this.rip._x = ripX0+this.shake();//ripX0とripY0は初期値
this.rip._y = ripY0+this.shake();
};
};

マウスポインタがrip上に重なった時に震えるようにしたいのですが、
出来ません。どうしたらいいでしょうか?


394 :Now_loading...774KB:2006/05/20(土) 00:26:01 ID:lSn03JNz
>>393
何を試して出来なかったのか言ってみろ
単にやり方がわからないのならハッキリそう言え

395 :393:2006/05/20(土) 00:53:06 ID:FyVf+SPX
>>394
すみません。補足します。
function shake(){} の部分はそのままで、this.onEnterFrame = function() {} 内に
this.rip._x = ripX0+this.shake();
this.rip._y = ripY0+this.shake();
を書いた場合は振動したのですが、上記のASではポインタが指マークになるものの
全く動きません。
振動させるには、どのように書き換えたらいいでしょうか?


396 :Now_loading...774KB:2006/05/20(土) 01:32:09 ID:Pxatpg3d
>>393
スコープの問題です。

this.rip.onRollOver = function() {
trace(this + "onRollOver");
this.rip.onEnterFrame = function() {
trace(this + "onEnterFrame");
};
};

を実行してみてください。

397 :393:2006/05/20(土) 02:51:40 ID:NP6/KfUw
>>396
有難うございます。改造してパスを確認しましたが、まだ振動しません。

this.rip.onRollOver = function() {
trace(this+" 'onRollOver'");
this.onEnterFrame = function() {
trace(this+" 'onEnterFrame'");
this.rip._x = ripX0+this.rip.shake();
this.rip._y = ripY0+this.rip.shake();
};
};

どうしたものでしょうか?

398 :Now_loading...774KB:2006/05/20(土) 03:21:48 ID:Pxatpg3d
>>397

this.rip.onRollOver = function() {
以降に書いたコード内のthisはripとなります。

ということは、
this.onEnterFrame = function() {
以降に書いたコード内のthisもripとなるのです。

何が原因なのかを突き止めるために
しつこくtraceする癖を付けると良いです。

399 :Now_loading...774KB:2006/05/20(土) 04:02:45 ID:tLyZz0KW
というか相対パスがわかんないなら絶対パスで記述しろよ


400 :Now_loading...774KB:2006/05/20(土) 04:07:46 ID:tLyZz0KW
>>397
//丸コピペでどうぞ
power=2;
ripX0=rip._x;
ripY0=rip._y;
function shake() {
return (Math.floor(Math.random()*power)-power/2);//power = 2;
}
function RoEF(){
this._x=ripX0+shake();
this._y=ripY0+shake();
}
rip.onRollOver=function(){
this.onEnterFrame=RoEF;
}
rip.onRollOut=function(){
delete this.onEnterFrame;
}

401 :393:2006/05/20(土) 04:27:24 ID:dOsbklbk
>>398-400

あんがとです。多少変わりましたが
this._x = rip_x0+shake();
this._y = rip_y0+shake();
でOKでした。traceは、
trace(this.rip.shake()+" 'onEnterFrame'");
trace(shake()+" 'onEnterFrame'");
と変えて試しました。


402 :Now_loading...774KB:2006/05/20(土) 20:29:45 ID:iqIlGoWz
AS2.0のNumber型の有効数字について質問です。

比較対象としてJavaの場合を調べたところ、10進数はfloat型で約7桁,double型で
約16桁でした。
ttp://www.mlab.im.dendai.ac.jp/computer2/arraydatatype/
ttp://web.sfc.keio.ac.jp/~hattori/ipl1bc/text/06.html

一方、Flashの計算結果を見ると有効数字が約16桁でした。このことから、AS2.0の
Number型は、Javaで言うところの倍精度浮動小数点表示の形式をとっていると見
なしていいのでしょうか?
仮にそうだとして、精度を犠牲にして処理速度上げるため、ASの記述によりfloat型
にすることは可能でしょうか?


403 :Now_loading...774KB:2006/05/20(土) 21:21:38 ID:bTp8Hm9r
>>402
できません


404 :Now_loading...774KB:2006/05/21(日) 01:19:06 ID:XiiGmrjD
外部のムービを読み込み際に、loadmovieを使っています。
このムービを読み込むときに、少なからず、ロード時間が出来ると思いますが、
この読み込むためのswf(ムービー)ファイルを、メインswfが読み込まれた時点で、
に先読みしておき、実際読むこむときは、遅延なくムービを表示(再生)することは
可能でしょうか?

405 :Now_loading...774KB:2006/05/21(日) 01:30:58 ID:3hDkuka1
loadmovieで外部のjpgファイルを読み込んでswf上に表示するとものすごく劣化が激しいのですが、
どうすれば元の画質のまま表示できるのでしょうか?
事前にライブラリに読み込む以外に方法はありますか?

406 :402:2006/05/21(日) 03:26:19 ID:yd8qjUdP
>>403
有難うございます。float型に出来ないことは分かりましたが、(その前に)「Number型は
倍精度浮動小数点表示」ということは正しいのでしょうか? ←確認の質問です。


407 :Now_loading...774KB:2006/05/21(日) 08:39:40 ID:9aC38FOm
>>406
ヘルプのNumberの項目を見ればすぐ解ると思うが。

408 :402&406:2006/05/21(日) 13:34:26 ID:Fovj+gjX
>>407
すいません。「Number.〜」の項ばかり見て、「数値 (Number) データ型」を見落として
いました。
結論から言うと、Number型は倍精度浮動小数点でした。

409 :Now_loading...774KB:2006/05/21(日) 14:40:01 ID:WBz9eEWO
>>405
読み込んだ画像の原寸サイズと表示サイズが違ってたりしない?

410 :Now_loading...774KB:2006/05/21(日) 15:53:41 ID:9aC38FOm
>>405
createEmptyMovieClip("aa", 100);
aa.loadMovie("xxx.jpg");

411 :Now_loading...774KB:2006/05/21(日) 17:06:15 ID:5ZVELDdP
ソフトはFlashMX2004で、再生はPlayer7
Q) 外部Txtの読み込みでの変数

外部Txt(文章.txt)を読見込む際に、読み込み変数を外部Txt文頭に記入
しないで済む方法はありますか? 以下は私が今まで使っていた記述で、
文章.txtの文頭に txtData= を書いております。

//以下はフレームアクションに
System.useCodepage = true;
loadV = new LoadVars();
loadV.onLoad = function() {
txtData_ins.text = loadV.txtData;
};
//
//以下はボタンアクションに
on (release) {
loadV.load(文章+".txt");
}

つまり、Txt名だけ指定すれば読み込めるようにしたく思っています。


412 :Now_loading...774KB:2006/05/21(日) 18:22:01 ID:9aC38FOm
>>411
xmlで読み込む

413 :404:2006/05/21(日) 19:56:37 ID:XiiGmrjD
むずかしいでしょうか?


414 :Now_loading...774KB:2006/05/21(日) 20:01:10 ID:Hsecm7Di
>>413
例えば、2フレーム目でメインswf読み込み。3フレーム目で外部swf読み込む。
そのあと_visible=falseにするとか。
読み込み後に削除しても、キャッシュされるから次読み込むときはすぐ読み込めるかもね。

415 :411:2006/05/21(日) 20:02:33 ID:H0NNbDhG
レスさんきゅうです。手元の本を見て下のASを作りましたが、指定のテキスト
フィールド(インスタンス:txt1_ins,変数:txt1)に表示されません。

//以下はフレームアクションに
myXML = new XML();
//
//以下はボタンアクションに
on (release) {
myXML.onData = function() {
myXML.load(tName+".txt");
};
txt1_ins.text = myXML.text;
}

問題点の指摘を願います。


416 :Now_loading...774KB:2006/05/21(日) 20:12:10 ID:Hsecm7Di
>>415
System.useCodepage = true;
var my_xml = new XML();
my_xml.onLoad = function(s) {
if (s) {
trace(my_xml);
}
};
my_xml.load("hoge.txt");

417 :Now_loading...774KB:2006/05/21(日) 20:52:38 ID:2D3OkbO6
>>415はイベントハンドラっていう物を理解できないらしよ

418 :415:2006/05/21(日) 22:02:35 ID:afs0Mv+A
>>416,417
ありがとうございます。
それと、再勉強します。


419 :Now_loading...774KB:2006/05/21(日) 22:05:15 ID:QA3gqGKx
ソフトはParaFlaをつかっています。
正直ASはコピペしかできない屁たれです。
スプライトをランダムな位置に表示させたいのですが、
Y軸の座標は固定で、X軸はランダムというものです。
どういうのを使えばよいでしょうか?

420 :Now_loading...774KB:2006/05/21(日) 23:38:49 ID:sLHKGoQ6
NowLoadingムービーからメインのムービーへの移行なんですが、
一瞬だけは次のムービーが見えるんですが、次にはまたNowLoadingへもどってしまうんです。
12fpsで一応48フレームまでは作ったんですけど。。。
読み込みが完了したらこのスクリプトのフレームに行くんですが。
現行のスクリプトは
this.stop();
ボタン名.onRelease = function(){
  gotoAndPlay("MAIN",1);
}

です。どこが問題でしょうか。。。



421 :::2006/05/22(月) 01:44:04 ID:D7OAlIJE
FLASH5のバージョンで書き出せる、ムービークリップを削除する
よいアクションスクリプトはないでしょうか?
on (press) {
basemovie._visible = false;
}
ボタンにこのスクリプトを付けても、書き出しのときに対応していないと
弾かれてしまいました。

422 :Now_loading...774KB:2006/05/22(月) 03:08:46 ID:kxj5QsdU
クライアントのMACアドレスを取得する方法ってありませんか?

423 :422:2006/05/22(月) 03:45:20 ID:kxj5QsdU
自己解決。
PHPと併用でいけそうです。
ttp://forums.devarticles.com/general-programming-help-4/how-can-i-find-out-the-user-mac-address-1846.html

424 :Now_loading...774KB:2006/05/22(月) 08:19:50 ID:SOcZCDTA
>>420
とりあえず、その新しい書き方と古い書き方を混在するのはやめた方がいい。

425 :Now_loading...774KB:2006/05/22(月) 08:27:17 ID:2jOWbSCs
FLASH8 AS2.0 で以下の用にフレームスクリプトからComboBoxを生成しています。
このままだと他のシーンに移ってもComboBoxが残ってしまうので、移動ボタンにdestroyObject貼り付けて回避。
_root.uniqueStrは、同じ名前のComboBoxを再度生成した場合のバグ対策です。
直面している問題は、年度を選択の後、他のシーンに遷移すると正常動作しているのですが、再び年度選択シーンに戻ると
「スクリプトが原因で処理が遅くなっています」ダイアログが出て反応不能になってしまうのです。
デバッカでブレークポイント乱発して追跡してみたところaddItemで障害が発生しているようなのですが、週末二日使って撃沈です。
これは機知の問題?それともわたしの問題?。。。。もうだめぽ
---
_root.uniqueStr = (getdate.getTime()).toString();
var nDepth:Number = 10;
var yearList:Array= ["2005","2006","2007","2008","2009","2010"];
var tmpNameYear = "cb_year" + _root.uniqueStr;
var my0_cb:ComboBox = this.createClassObject(ComboBox, tmpNameYear, nDepth++);
my0_cb._x = 10;
my0_cb._y = 50;
my0_cb.setSize(80,22);
var iYear:Number;
var jYear:Number = yearList.length;
var tmpYear:String;
for (iYear = 0; iYear < jYear; iYear++) {
this.tmpYear = yearList[iYear];
my0_cb.addItem({data:this.tmpYear, label:this.tmpYear});
}

var oListenerYear:Object = new Object();
my0_cb.addEventListener("change", oListenerYear);
oListenerYear.change = function(eventYear:Object):Void {
_root.strYear = eventYear.target.selectedItem.data;
}

426 :425:2006/05/22(月) 08:38:11 ID:2jOWbSCs
追記、書き忘れました。
遷移した先のシーンで、何もせずにただ戻る場合は問題ナシです。
LoadVarsしたcsvもとにほげほげグラフとか書いてるとアウトです。

427 :Now_loading...774KB:2006/05/22(月) 14:00:51 ID:z4bFmybq
>>425
flaアップしないとわからんよ。他で何やってるか解らんし。
なんで、いちいちインスタンス名ランダム?にするかも疑問だし。

428 :Now_loading...774KB:2006/05/22(月) 14:58:49 ID:/piOySeZ
>>425
そのエラーが出る時は、無限ループに陥りそうな箇所がある可能性が高い。
addItemというか、それを含むforループに問題あるんじゃないの?
遷移先のシーンがらみなら、そっちで変数書き換えてるとかさ。

> LoadVarsしたcsvもとにほげほげグラフとか書いてるとアウトです。
なら、そっちも調べてみないことにはのう。

あと、「シーン」使ってんの?

429 :425:2006/05/22(月) 16:31:48 ID:2jOWbSCs
レスサンクスです。
お昼寝して脳液が循環してきたのでちこっと整理ついてきました。
>>427さん
>>インスタンス名ランダム
は同名のコンボボックスを再度作成する場合に出る不具合(非公式TechNoteから)の回避です。
もしかすると別の原因ではまっていた可能性があるのでご指摘の通りこれは余分かも知れません。
>>428さん
デバッガで止まるのがaddItemのループ文のところだったためここだけ疑っていましたが、ActionScript1時代に書いたグラフ描画スクリプトが犯人くさいです。
今のところprototype使ってたのが原因と目星を付け、クラス化作業にいそしんでます。
---以下、雄叫び---
※なんでコンストラクタ無いのにうごくんだぁああああ?
※シーンって、使わなくってもよかったのヽ(`Д´)ノウワァァン!!

430 :Now_loading...774KB:2006/05/22(月) 18:02:21 ID:a5qbYhxB
質問です。
ブラウザのCookieをFlashに渡したいんですが、
FlashVarsやGetを使わずに渡す方法ってありますか?
FlashVarsやGetだとソース見られたらバレバレなんで嫌なんです。
Flash側でCookieを直接受け取ることとかって出来ますか?

431 :Now_loading...774KB:2006/05/22(月) 18:06:58 ID:lUa9/p98
>>430
CookieのかわりにSheredObject使ったら?

432 :430:2006/05/22(月) 18:08:27 ID:a5qbYhxB
都合上SheredObjectは使えないんです。

433 :Now_loading...774KB:2006/05/22(月) 18:25:46 ID:RyrRkjYZ
>>430
JavaScript連携かな
getURL("javascript:document.cookie='あ';void(0);")

434 :Now_loading...774KB:2006/05/22(月) 18:27:00 ID:z4bFmybq
>>432
その都合ってなんだかいわんと何とも答えられんがな

435 :430:2006/05/22(月) 18:43:02 ID:a5qbYhxB
回答サンクスです。

>>433
クライアント側に依存するんでjavascriptは使いたくないんです。
わがまま言ってすんません。

>>434
PHPでCookieに代入したものをFlash側で使いたいんです。
Cookieは他のページでも共有して使っているので、
SharedObjectはNGなんです。

やはり環境変数をFlashで直接受けるってのは無理なんですかね…。

436 :Now_loading...774KB:2006/05/22(月) 18:54:19 ID:K3k9FomA
深度について質問です。よろしくお願いします。
「ムービークリップに指定できる深度の範囲は、-16384 から 1048575 までです」
と、AS2.0の学習に書いてあるのですが、範囲外の場合に何か問題があるのでしょうか?
際限なくattachMovieを行うのですが、指定深度が最高値を超える可能性があるので、
範囲に収まるように処理する必要があるのか迷っています。

ためしに、オーサリングツールでmc1の上にmc2を配置したあと、ASを実行しましたが、
var i:Number = 2048576;
mc1.swapDepths(i);
mc2.swapDepths(i-1);
this.attachMovie("box","boxMax",i+1);
順番の入れ替え、attachMovie共に出来ました。
範囲外でも数値は適用されているようです。


437 :Now_loading...774KB:2006/05/22(月) 19:11:27 ID:23Exw7zV
>>436
収まるように作っておくのが無難なんじゃないかな

438 :Now_loading...774KB:2006/05/22(月) 19:15:19 ID:lUa9/p98
>>435
よくわからんが、LoadVarsとSharedObjectの合わせ技で出来たりしない?

439 :Now_loading...774KB:2006/05/22(月) 20:30:15 ID:z4bFmybq
>>436
適用されているようですってどう確認したの?
数値オーバーフローしてもとにもどってるとかの可能性あるけど。

440 :Now_loading...774KB:2006/05/22(月) 20:34:18 ID:z4bFmybq
>>435
ん、じゃあ、flashからphpよんで、クッキーの値を渡してもらえばいいじゃん。

441 :430:2006/05/22(月) 20:43:26 ID:a5qbYhxB
>>438
LoadVarsとSharedObjectではちょっと厳しそうです。

>>440
FlashからPHPを実行するということですか?
具体的にどんな感じになるのか教えてもらえますか?

442 :411:2006/05/22(月) 21:07:35 ID:1pzyyVHB
Q) 外部Txtの読み込みでの変数 -2

416さんの記述を元にボタンアクションで外部テキストをXMLを使って表示する
ASを下のように書きましたが、traceウインドウに表示はされるものの、目的の
テキスト欄(インスタンス:txt1_ins,変数:txt1)に表示されません。

//rootのフレームアクションに
my_xml.onLoad = function(s) {
if (s) {
trace(my_xml);
}
};
this.loadB.onRelease = function() {
my_xml.load("hoge.txt");
txt1 = my_xml.toString();
};

引き続き、問題点をご指摘下さい。


443 :436:2006/05/22(月) 21:09:05 ID:K3k9FomA
>437
これ!って理屈が知りたいのが大半な気もしなくも有りませんでしたが
無難が一番ですね
24時間動かすんで半日くらいで最大値超えそうです
ありがとうございました

>439
trace(box.getDepths());//2048577
戻ってれば気にしないですんだんですけど残念です


444 :425:2006/05/22(月) 21:16:39 ID:2jOWbSCs
完全解決したのでご報告をば。
シーンA(コンボボックス)→シーンB(グラフ描画)→シーンA(コンボボックス2回目)
で、コンボボックス2回目の生成中に「スクリプトがボケで処理し切れねぇよヽ(`Д´)ノウワァァン!!」と叱られる件ですが
原因はシーンBで古いソースを無精してincludeしていたためでした。
グラフ描画でprototype使っていたのがクリティカルです。
デバッカのブレイクポイントとtraceの出力で問題個所を特定しようとしたわけですが、関係あるような無いようなとこで止まりますね。
Array.prototypeなんかを使っていたためにコンボボックスのaddItemでこけたとも思えなくも無く...
突っ込んでくれたみなさん、ありがとん。


445 :Now_loading...774KB:2006/05/22(月) 21:24:05 ID:z4bFmybq
>>441
myLv = new LoadVars();
myLv.onLoad = function(s) {
if (s) {
disp1.text=this.aaa;
}
};
myLv.load("test.php");

<?php
$aaa="mona";
echo "aaa=".$aaa;
?>

とかでいんでね

446 :Now_loading...774KB:2006/05/22(月) 21:33:33 ID:z4bFmybq
>>443
際限なくattachMovieって、深度上限以前にメモリオーバーフローでクラッシュするよ。
設計見直した方が良いんじゃない?

447 :430:2006/05/22(月) 21:42:00 ID:a5qbYhxB
>>445
LoadVarsでいけそうです。
どうもありがとうございます。
この方法で複数の変数を渡すことってできますか?

448 :430:2006/05/22(月) 21:43:30 ID:a5qbYhxB
出来ました。
回答してくれた方、どうもありがとうございました。
ほんとに助かりました。
ではでは。。

449 :Now_loading...774KB:2006/05/22(月) 21:58:31 ID:XcgZqELL
携帯用Flash作ってるんですが、(待ち受け)
質問がありまして、開くごとに違う画像を表示させたいんですけど、
ランダムに表示させる方法ってありますか?
ご教授お願いします。

450 :420:2006/05/22(月) 23:11:02 ID:4NG69uLU
>>424
どういう意味ですか?
古い書き方と新しい書き方???

451 :Now_loading...774KB:2006/05/22(月) 23:37:22 ID:Cfbm7feO
>>442
xmlの使い方はヘルプに載ってる。
デバッガ使えばmy_xmlの中がどうなってるか見れる。

System.useCodepage = true;
var my_xml = new XML();
my_xml.onLoad = function(s) {
if (s) {
var data_array = new Array();
data_array = my_xml.firstChild.nodeValue.split("\r\n");
for (var i = 0; i<data_array.length; i++) {
trace(data_array[i]);
}
}
};
my_xml.load("hoge.txt");

452 :Now_loading...774KB:2006/05/23(火) 00:26:35 ID:pQ+mrRBY
>>443
上限以上の深度だとremoveMovieClipが効かないはず。
更にlineの描画なんかでも消せない不具合があったかも。
※これはメモリだったかもしれん。

どっちにしろ、深度管理のクラス作った方が良いよ。
例外エラーを残すのは危ないしさ。
※例えば、MCの数がある一定数以内なら、
随時配列に格納しておいて、深度の割り振りを行うとかね。

453 :420:2006/05/23(火) 01:14:38 ID:weVbw2b7
無理やり解決させましたが、明確な回答を知りたいので、
もしよければ教えてください

>>420
↑?疑問?

454 :Now_loading...774KB:2006/05/23(火) 01:29:42 ID:pQ+mrRBY
>>453
貴方の提示している情報からは推測不能です。
明確な回答とやらを知りたいのならば、
もう少し前後の詳細なScriptを抜粋するか、
Flaをアップするかしなさい。

理解出来ないならまずは日本語を覚える所から。

455 :Now_loading...774KB:2006/05/23(火) 12:24:22 ID:uVlIY00U
サウンドの早送りとループはどうすればいいんでしょうか?
今はonEnterFrameで再生時間を取得してFFtime分足していますが、
ループせず1度で止まっています。ご指摘をお願いします。
まだサウンド関係は不慣れなので他によい方法があればご教授ください。
mySound = new Sound();
mySound.attachSound("song");
FFtime = 0.1;
btnFF.onRollOver = function() {
this.onEnterFrame = function() {
var nextPosi = (mySound.duration=>mySound.position) ? mySound.position/1000+FFtime : 0;
mySound.stop();
mySound.start(nextPosi, 100);
};
};

456 :420:2006/05/23(火) 14:01:58 ID:8HXXJ1Pe
>>454
確かにその通りですね。。。

そこへ移るまでのスクリプト書きます。

this.stop();
this.onEnterFrame = function() {
v_Now = _root.getBytesLoaded();
v_All = _root.getBytesTotal();
v_Percent = Math.floor((v_Now/v_All)*100);
myCompare.text = v_Now+"bytes/"+v_All+"bytes";
myPercent.text = v_Percent+"%";
myBG._alpha = v_Percent;
if (v_Percent == 100) {
gotoAndStop("NowLoading2" , 1);
}
};

trace("Load中");

それで、これが問題のところです。

myStartBT.onRelease = function(){
gotoAndPlay("MAIN1" , 2 );
}

trace("Load後");

これでどうかおねがいします


457 :Now_loading...774KB:2006/05/23(火) 14:14:36 ID:JE8vo2NM
gotoAndPlayとmc.gotoAndPlayはちがうよ

458 :455:2006/05/23(火) 15:14:07 ID:uVlIY00U
>455にAS書きましたが改良する必要があるので無かったことにして下さい。

サウンドの早送りのみに質問を絞ります。お騒がせしてすいません。
どう考えてASを組めばいいのでしょうか?よろしくお願いします。

459 :Now_loading...774KB:2006/05/23(火) 16:13:02 ID:WNpugnoU
>>458
mcにストリーミングで置いて、そのmcに対するフレーム制御っていうのも実験してみたら良いかも。

460 :Now_loading...774KB:2006/05/23(火) 16:15:08 ID:WNpugnoU
>>456
gotoAndPlay("MAIN1" , 2 );
↑これが古い書き方。
使ってはいけません。

461 :Now_loading...774KB:2006/05/23(火) 17:11:30 ID:hboOgzq+
>>449
ans = Math.floor(Math.random() * 用意してる画像の数) + 1;
gotoAndStop(ans);


462 :Now_loading...774KB:2006/05/23(火) 18:42:45 ID:Ct1i9Gs9
>>461
ありがとうございます。はじめたばっかで良くわからないので初心者スレいってきます。

463 :Now_loading...774KB:2006/05/23(火) 19:06:59 ID:pQ+mrRBY
>>456
予測出来る範囲内で。

まず、onEnterFrameが放置になっているので、
onEnterFrameを止める。

//終了判定にdelete this.onEnterFrameを差し込む
if (v_Percent == 100) {
gotoAndStop("NowLoading2" , 1);
delete this.onEnterFrame;
}

次に、メインのムービーへ移動とあるけど、
gotoAndPlay("MAIN1" , 2 );
はシーン:"MAIN1"のフレーム2に移動後に再生、となるよね。
その場合、MAIN1でstopを掛けるなりしないと、
フレームが終わってから最初のシーンに戻る。

なので、MAIN1のフレーム数が1つだけだと即最初のシーンに戻るけど、
それは大丈夫?

464 :Now_loading...774KB:2006/05/23(火) 21:14:01 ID:7ZpUBZnS
>>460さん
横からすまそん。
久々にFLASHいじくってるので全然知らなかったんですが、gotoAndPlayが非推奨となると
どんな感じに記述するんでしょうか?
あちこちで、っていうかすべてgotoAndPlayで書いてしまっているので滝汗中です。

465 :Now_loading...774KB:2006/05/23(火) 21:38:10 ID:Hs52feZh
>>464
_root.gotoAndPlay(2) でいい。
gotoAndPlay()ってシーン移動するとき以外使わない。

466 :420:2006/05/23(火) 22:02:44 ID:8HXXJ1Pe
>>463
delete を挿入したら解決しました。
ありがとうございました。

467 :455:2006/05/24(水) 10:03:39 ID:XOTxa/A6
>459
音の早送りの実験として、
音をmcのタイムラインに埋め込んでみましたんですけど、うまく行きませんでした。
ball.onRelease = function() {
this.onEnterFrame = function() {
this.gotoAndPlay(this._currentframe+1);
};};

音の同期:イベント→フレームだけ進んで曲の速度は変わりません。
mcがループする度に再生数が増えていきます。これはこれで使えそうですがw
音の同期:ストリーミング→曲が止んでしまいます。

検索の仕方が悪いのか参考になるサイトが見つかりません
flashは音の早送りが苦手な気がしてきたのですが、実際どうなんでしょう?

468 :Now_loading...774KB:2006/05/24(水) 13:43:08 ID:4tcysNcS
Flash 5でムービーを.exeファイルで出力するときに、
Flash Playerのウィンドウメニューを消すにはどうすればいいのでしょうか。
このゲームのダウンロードファイルみたいにしたいです。
http://www.harveycartel.org/metanet/downloads.html

ウィンドウタイトルにMacromedia Flash Player 7って出てますけど、
7以上にしないとダメ? それとも5でも消せます?

469 :468:2006/05/24(水) 13:43:59 ID:4tcysNcS
って、スレ盛大に間違えた。_| ̄|○
スルーして下さい。

470 :Now_loading...774KB:2006/05/24(水) 22:21:49 ID:F2SKBAYZ ?
Flash Lite 1.1でゲームを作成中なんですけど、
グローバル変数が見れなくなることってありますか?
_global.test = 0;
と定義した直後に、
trace("test = " add _global.test);
ってやっても、出力結果が、
test =
となって、0が表示されないのです。
昨日まで普通に動いてた気がするのに。
誰か…。

471 :Now_loading...774KB:2006/05/24(水) 22:30:51 ID:oKHo4DM0
親画面からPopUpを表示して、
そのPopUpでは、DataGridからデータを選択して、
元の親画面に選択されたデータを戻す方法で簡単な方法はありませんか?


472 :Now_loading...774KB:2006/05/24(水) 23:18:16 ID:2brTSrpV
>>467
var my_sound = new Sound();
my_sound.attachSound("song");
my_sound.start();
btnFF.onRollOver = function() {
_root.onEnterFrame = function() {
my_sound.stop();
var pos = my_sound.position+1000;
if (pos>my_sound.duration)pos = 0;
my_sound.start(pos/1000);
trace(pos);
};
};

473 :455:2006/05/24(水) 23:46:57 ID:XOTxa/A6
>472
最初のASと同じかな?
これで出来ることは出来たのですが、
やはりぶつ切りで音が悪すぎなので、
結局、等倍、倍速、1/2速でサンプリングしたファイルを使いました。


474 :Now_loading...774KB:2006/05/25(木) 03:38:02 ID:f9AMK0Cl
ある点x,yが線(1px)上であるか否かを採りたい場合、どういう処理をすれば可能でしょうか

475 :Now_loading...774KB:2006/05/25(木) 03:49:16 ID:OZXYJ0jd
ASとはちょっと違うかもしれないのですが質問させてください。

ページXに
A→B→C
と画像がスライドショーするムービーがあるのですが、ページYの
リンクから来た場合のみBから再生したいという要望を受けたのですが、
これって可能なのでしょうか?


476 :Now_loading...774KB:2006/05/25(木) 09:04:23 ID:MxPWdvir
>>474
線のMCとシェイプでhitTestとか
>>475
xxx.swf?frompage=$frompageとか。
swfではfrompage変数の内容によって分岐する処理を入れる。

477 :Now_loading...774KB:2006/05/25(木) 10:54:02 ID:J+lzpoOs
Paraflaの方落ちちゃったみたいなんでちょっと伺いたい。
西暦1年1月1日からの日数換算を求める場合、下記式であってますでしょうか?
  y=yyyy;
  m=mm;
  d=dd;

  if(m < 3){
    y--;
    m += 12;
  }
  totalday = (365 * y + y / 4 - y / 100 + y / 400 + 306 * (m + 1) / 10 + d - 428);
  return totalday;

参考
ttp://www.nakiri.jp/aff11/Analysis/VanaTimeMore.html

478 :475:2006/05/25(木) 12:14:26 ID:OZXYJ0jd
>>476
ありがとうございました。
変数による処理は分かったのですが、そもそも前に表示していたURLを値として
swfに渡すことって可能なのでしょうか?

479 :Now_loading...774KB:2006/05/25(木) 16:49:23 ID:BA7Y5DXu
教えてください
flash8からファイルのアップロードが
できるようになりましたが
ファイルの選択をブラウザのダイアログではなく
ドラッグ&ドロップで選択することはできないでしょうか?

480 :Now_loading...774KB:2006/05/25(木) 19:11:50 ID:Acv4XgAw
>>464
gotoAndPlay([scene:String], frame:Object)
じゃなくて
movieClip.gotoAndPlay(frame:Object)
使えってことじゃない?
actionScript使うコンテンツでシーンを使うような場面は作らないほうがいいよ。

>>468
FSCommandをおつかいなされ。

>>470
_globalってさ、
使用できるバージョン : Flash Player 6、ActionScript 1.0
じゃない?

>>478
ページYのリンクにパラメータつけるとかじゃダメなの?


481 :470:2006/05/25(木) 20:58:42 ID:ujQ0BnrI
>>480
そのとおりでした!!
Flash 8でパブリッシュしたらちゃんとできました。
昨日まで動いてると思ってたのは、気のせい・・・でした。
でもfunctionも使えないんですよね・・・。
グローバル変数もfunctionも使えないなんて、
一体どうしたらいいのでしょう?

482 :Now_loading...774KB:2006/05/25(木) 21:44:02 ID:Acv4XgAw
>>481
functionはcall()でラベル名呼んで代用、
グローバルは使えないけど_rootを参照( ./:hoge )するとかしてガンガレ!

483 :Now_loading...774KB:2006/05/26(金) 01:01:08 ID:jBcaAPM6
キャラクターの歩かせ方について質問です。

on (keyPress "<Left>") {
with (yama) {
gotoAndPlay (1);
_x -= 20;
}
}
on (keyPress "<Right>") {
with (yama) {
gotoAndPlay (5);
_x += 20;
}
}

yamaというムービークリップのキャラクターの動きのアニメーションの足踏みを左右4駒ずつでムービーを作りました。
左右に移動はできるのですが、足踏みの速度が物凄く速く、ぶれている様にしか見えなくなってしまいました。
何か良い方法は無いでしょうか?




484 :481:2006/05/26(金) 01:33:51 ID:BRS6y73p
>>482
なんか分かった!ピンときました!多分できそうです!
ありがとうございますー。

485 :Now_loading...774KB:2006/05/26(金) 02:56:45 ID:laxtgH6O
FlashMX2004を使ってMCを一定時間毎に横一列に並べるASを書いています。
ボタン:loadBを押してMC:blue_seaを9個並べたいのですが、最初に1個出るだ
けです。ASはフレームアクションに以下の様に書いています。

sFlag = false;
function placing() {
if (sFlag == true) {
//MCを配置する関数placing()の中身
}
}
iv = setInterval(placing, 100);
loadB.onRelease = function() {
sFlag = true;
if (iv != undefined) {
id++;
} else if (id>=9) {
clearInterval(iv);
}
};

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


486 :Now_loading...774KB:2006/05/26(金) 03:29:58 ID:TLNrXb2g
>>483
フレームレートを変えるとか、485の様にsetInterval()を使うとか

487 :Now_loading...774KB:2006/05/26(金) 06:29:55 ID:AJTOm+vh
>>485
traceするかデバッガで動きを追っていく。
ぱっと見だけど、idの初期化とかplacingで同じとこに配置してるとか。

488 :485:2006/05/26(金) 06:31:28 ID:BUgkVdJJ
(自己解決しました)
sFlag = false;
id = 0;
function placing() {
if (sFlag == true) {
//blue_seaを配置する記述
}
if (id>8) {
clearInterval(iv);
}
}
iv = setInterval(placing, 100);
loadB.onRelease = function() {
sFlag = true;
};

placing()とsetInterval()の位置関係には問題は無かったようですが、
if (iv != undefined) { id++; }の記述自体と、clearInterval(iv)の
位置に問題があったようです。


489 :485:2006/05/26(金) 06:32:38 ID:BUgkVdJJ
>>487
さんきゅうです

490 :Now_loading...774KB:2006/05/26(金) 08:43:59 ID:HXweCZ0H
485&488です。3つ質問があります。
Q1)(485の続き)MCの配置はattachMovie() で行っていますが、attachMovie
で配置したMCはremoveMovieClip()で消せないのでしょうか?以下のASでは
idは関数unplace() で100ms毎に減少しますが、"blue_sea"+idは消えません。

//blue_seaF = trueの状態で
function unplace() {
if (blue_seaF == true) {
id--;
trace("id="+id);
this["blue_sea"+id].removeMovieClip();
}
if (id<1 && blue_seaF == true) {
clearInterval(itv2);
titleF = true;
}
}
itv2 = setInterval(unplace, 100);


Q2)ダイナミックテキストのテキストインスタンス(t1_ins)の透明度を変化させたい
のですが、初期条件でthis.t1_ins._alpha = 0;と設定しても透明になりません。文字
を透明にさせるにはどうしたらいいでしょうか?


Q3)テキストインスタンス(t1_ins)の深度を1)のMC:"blue_sea"+idより上にしたいの
ですが出来ません。1)では配置する深度をid-100(-100〜-92)として、t1_insの深度
をthis.t1_ins.swapDepths(0);に設定しますが、"blue_sea"+idに隠れてしまいます。どう
したらいいでしょうか?

長文になりましたが、宜しくお願います。

491 :Now_loading...774KB:2006/05/26(金) 08:50:43 ID:AJTOm+vh
>>490
スコープ、Path、深度を理解することからはじめる。
thisは何を表している?

492 :485&488:2006/05/26(金) 09:08:01 ID:J4nNtRyi
すみません。追加です。質問2)に関連して、getDepth()で深度をtrace
したところ、
 t1_ins D=-16373
 blue_sea D=undefined
となりました。この原因には何が考えられるでしょうか?

>>491
このthisはステージ(root)です。


493 :Now_loading...774KB:2006/05/26(金) 12:15:35 ID:7CrS6nPw
>490
テキストフィールドで _alpha 透明度プロパティを使用するには、
埋め込みフォントを使用する必要があります。

494 :Now_loading...774KB:2006/05/26(金) 12:19:26 ID:7CrS6nPw
>490
>blue_sea D=undefined
Dの前に空白があるから
trace(this["blue_sea"+id])を試す

495 :Now_loading...774KB:2006/05/26(金) 12:46:09 ID:FXsffQUD
>486
ありがとうございます。
フレームレートを変えてみたのですが、
時間の問題ではなく、
キーを一回押した時の設定らしく
キーを長く押すと連打の状態になってしまうみたいで。

setIntervalはflash5使えないのでしょうか。
調べてはみたものの難しくて理解が出来ませんでした、すみません。

496 :Now_loading...774KB:2006/05/26(金) 12:59:20 ID:wZx74IFy
>>495
4コマで作らないで、同じコマを増やして8コマとか12コマとかにする。
setIntervalはFlash5では使えません。

497 :Now_loading...774KB:2006/05/26(金) 14:22:45 ID:manAiOkf
>>486
あまりいい解決方法じゃないけど、その4コマのアニメーションをそれぞれ
MCに登録して、そのMCを
1フレーム目:左向きアニメMC
2フレーム目:右向きアニメMC
として、
on (keyPress "<Left>") {
with (yama) {
gotoAndStop (1); //←ここと
_x -= 20;
}
}
on (keyPress "<Right>") {
with (yama) {
gotoAndStop (2); //←ここを書き換えた
_x += 20;
}
}

こうしてみる。
同じフレームにgotoAndStopしてもそのフレームのMCの再生ヘッドは
巻き戻らないから一応は解決すると思う。たぶん。
あとは _x に直接値を足し引きするんじゃなくて、もうワンクッション
_x -= n;
としておいてnを -20 か +20 かにすることで制御するとかすると、
その数値だけ監視して数値が変化したとき以外は同じ処理を繰り返さない
ということも出来るかもね。
あとは 486 のバージョンは何かわかんないけど Key クラスが使えるなら
将来的にそっちを覚えていくと色々便利だよ。

498 :Now_loading...774KB:2006/05/26(金) 14:25:58 ID:manAiOkf
>>490
Q1)
ちょっと情報が少ない(前回にattach部分が書いてない)からはっきりはいえない
けど、this["blue_sea"+id] を removeMovieClip するまえにtraceしてみたら?
存在するならMCのパスが出るでしょ。まずはそこから。
Q2)
ダイナミックテキストはフォント埋め込みにしないとアルファをいじれないよ。
あと "_ゴシック" とか、フォントを特定してない場合もだめ。
Q3)
テキストインスタンスは最初から置かれてたものかcraeteTextFieldで生成したものか
でも違ってくるよ。最初から置いてたものなら-16383〜から動かすことはできなかったはず。
craeteTextFieldしたものならswapDepthsもremoveTextFieldもできる。
MCなら最初から置いてたものでもswapDepthsできるし一回swapDepthsすれば
removeMovieClipもできるんだけどね。
長くなったけどもし最初から配置したテキストフィールドならMCでくるんでしまえば解決。

>>492
"t1_ins D"みたいに半角スペース含んだ名前はctrl(cmd)+Tでシンタックスチェックしたら
エラーにならない?名前があってるはずのにundefinedが返るならそいつは存在してない。



499 :Now_loading...774KB:2006/05/26(金) 15:27:58 ID:ewLIA27v
Hittestでbarに接したときだけ音がなるようにした
thisをたくさんコピーして並べ、
barを順番に重ねていくと一つ目にしか
反応がないです。
全部に反応させるにはどうすればいいですか。

500 :Now_loading...774KB:2006/05/26(金) 16:11:14 ID:8NdeGDba
フラッシュプレイヤーの「制御」メニューにあるような、
「再生」「ループ再生」「巻き戻し」などを、
フィラッシュ内にボタンで追加したいのですが、
ActionScriptを教えてください、、、、

501 :Now_loading...774KB:2006/05/26(金) 17:00:16 ID:manAiOkf
>>499
this.onEnterFrame = function()
{
if (this.hitTest(_parent.bar))
{
trace(this._name + " に触れたよ。");
}
};

って1フレ目に書いたMCをたくさん置いて
端から bar ってMCで触れていっても反応するけど、
そういうことじゃなくて?


502 :Now_loading...774KB:2006/05/26(金) 17:01:57 ID:manAiOkf
>>500
//目標のMCを targetMCとする

//巻き戻しボタン
on (release) {
targetMC.onEnterFrame = function()
{
targetMC.gotoAndStop(targetMC._currentframe--);
};
}
//再生ボタン
on (release) {
//ループ再生する=true
loop = true;
//ループ再生する
targetMC.onEnterFrame = function()
{
if (loop == true && targetMC._currentframe == targetMC._totalframes)
{
targetMC.gotoAndPlay(1);
}
};
//再生実行
targetMC.play();
}
//停止ボタン
on (release) {
delete targetMC.onEnterFrame;
targetMC.stop();
}


503 :502:2006/05/26(金) 17:13:03 ID:manAiOkf
ごめん、上のじゃダメだ。
//再生ボタン
on (release) {
//ループ再生する? する:true
loop = false;
targetMC.onEnterFrame = function()
{
if (targetMC._currentframe == targetMC._totalframes)
{
if (loop == true)
{
//ループする
targetMC.gotoAndPlay(1);
}
else
{
//ループしない
targetMC.stop();
}
}
};
//再生実行
targetMC.play();
}


504 :502:2006/05/26(金) 17:14:37 ID:manAiOkf
つづき
//停止ボタン
on (release) {
delete targetMC.onEnterFrame;
targetMC.stop();
}

//巻き戻しボタン
on (release) {
targetMC.onEnterFrame = function()
{
targetMC.gotoAndStop(targetMC._currentframe-1);
};
}

505 :500:2006/05/26(金) 17:19:46 ID:8NdeGDba
>>502
まじありがとうございます。試してみます。

506 :502:2006/05/26(金) 17:32:57 ID:manAiOkf
>>505
ループ切り替えボタンも作るなら再生ボタンから以下の2行を消して

//ループ再生する? する:true
loop = false;

別のボタンに
//ループ切り替え
on (release) {
if (loop == true)
{
loop = false;
}
else
{
loop = true;
}
}
とかかけばいいかと。

507 :Now_loading...774KB:2006/05/26(金) 19:32:43 ID:B9r1FtwE
質問です。
一回目の訪問は最初から、二回目以降は最後のフレームに。ってスクリプトを書きたいのですが、

SharedObjectを使うってのは分かりましたが、具体的にどう書いたらよいのかわかりません・・・
良かったら教えてください。


508 :Now_loading...774KB:2006/05/26(金) 19:41:11 ID:p1KOgcxd
>>507
SharedObjectのヘルプは見た?
変数について基本的なことはわかってる?
ifによる条件分岐はわかってる?

509 :485&488:2006/05/26(金) 21:45:38 ID:xVgT4vXU
>>493, 494, 498
ありがとうございます。

Q2,Q3のテキストの透明度と深度の問題は、テキストをMCの中に含ませて、中の
文字を分解することにより解決しました。しかしQ1のMCの消去はまだです。
消去前の配置されたMCをtraceするため、
trace("placing) blue_sea, id, Dep= "+this["blue_sea"+id]+", "+id+", "+this["blue_sea"+id].getDepth());

としましたが、出力は placing) blue_sea, id, Dep= undefined,1,undefined
でした。つまり、配置直後でも存在していないようです(でも画面には見えています)。
どうしたものでしょうか?
なお半角スペースは、trace("t1_ins D= "+・・・・)の形では使ってインスタンスいますが、
インスタンス名などでは使っていません。


510 :485&488:2006/05/26(金) 21:53:39 ID:xVgT4vXU
(日本語が変でした修正します)

なお半角スペースは、trace("t1_ins D= "+・・・・)の形では使っていますが、
インスタンス名などでは使っていません。


511 :485&488:2006/05/26(金) 22:24:15 ID:MBTh3sj8
(attachしたMCの消去)
traceの記述を変えてみました(名前に_rootをつけました)。
newName = "blue_sea"+id;
_root.attachMovie("blue_sea", "blue_sea"+id, id-100, prop);
trace("newName= "+_root.newName);
trace("placing) blue_sea, id, Dep= "+_root["blue_sea"+id]+", "+id+", "+_root["blue_sea"+id].getDepth());

これだと、
 newName= blue_sea1
 placing) blue_sea, id, Dep= _level0.blue_sea1, 1, -99
となり、_level0に"blue_sea"+idは存在し、深度も確認できました
(スコープが間違っていたようです)。

しかし、_root["blue_sea"+id].removeMovieClip(); では消えません。
何故でしょうか?

512 :Now_loading...774KB:2006/05/26(金) 22:47:55 ID:cYdcvVfq
>>511
深度がマイナスだからじゃない?

513 :485&488:2006/05/26(金) 23:59:49 ID:PcdtZqDh
>>512
そうです。深度を0以上にしたら解決しました。
有難うございます。

514 :Now_loading...774KB:2006/05/27(土) 09:38:22 ID:3IwUPpKh
>496
>497
フレームのコマ数増やして、
ムービークリップを作ったら出来ました!
どうもありがとうございました。

515 :Now_loading...774KB:2006/05/27(土) 22:11:56 ID:acKMA5BS
FlashMX2004でPlayer7です。入れ子のMCに対するイベントハンドラで質問です。

MCの関係を、title:親,aB:子,abc:孫(つまり_root.title.aB.abc) として
います。最初、親のtitleが無く、root上にaB.abc:孫だけならば、abcにonRollOver
するとabcが振動するASは書けたのですが、aB.abcをtitleに含めて
_root.title.aB.abcとすると、abcが振動しなくなります。どうしたらいいでしょうか?

下にASを書いています(_root.title.aB.abcは、this.title.aB.abcとなっています)

function shake() {
//振動関数の中身
}
this.title.aB.abc.onRollOver = function() {
//振動させる記述
//trace(this+

516 :515:2006/05/27(土) 22:23:19 ID:0nK91mmK
(何故か途中で切れたので再カキコ)
FlashMX2004でPlayer7です。入れ子のMCに対するイベントハンドラで質問です。

MCの関係を title:親,aB:子,abc:孫(つまり_root.title.aB.abc) として
います。親のtitleが無く、root上にaB.abc:孫だけならば、abcにonRollOver
するとabcが振動するASは書けたのですが、aB.abcをtitleに含めて
_root.title.aB.abcとすると、abcが振動しなくなります。どうしたらいいでしょうか?

下にASを書いています(_root.title.aB.abcは、this.title.aB.abcとなっています)

function shake() {
//振動関数の中身
}
this.title.aB.abc.onRollOver = function() {
//振動させる記述
//trace(this+

517 :515:2006/05/27(土) 22:25:05 ID:0nK91mmK
(やっぱり後半が切れるので、後半を追加)

this.title.aB.abc.onRollOver = function() {
//振動させる記述
//trace(this+" 'onRollOver'");
};
this.title.aB.abc.onRollOut = function() {
this.onEnterFrame = undefined;
};
this.title.onRelease = function() {
//.onReleaseでの動作
trace("押した");
};

なお、trace("押した")は実行されました。入れ子でのイベントハンドラは無効化
されるのでしょうか?

518 :Now_loading...774KB:2006/05/27(土) 23:07:17 ID:YYU/KmV7
>>517
titleをtitle1とかに変えてみれば。

519 :515&517:2006/05/27(土) 23:18:51 ID:EC+roBtd
>>518
すみません。言葉足らずでした。質問する際にインスタンス名の連なりが
長くなりそうだったので元のtitle_insをtitleに変えました(titleは予約語
でしたね)

しかし元の、title_ins.aB.abcでも駄目です。


520 :Now_loading...774KB:2006/05/27(土) 23:30:00 ID:MYhHqFS1
>>519
>>515の抜粋、肝心の部分が省かれていてわからんよ。

this.title.aB.abc.onRollOver = function() {
//振動させる記述
//trace(this+" 'onRollOver'");
};

↑の振動させる記述ってなんだ?
・shake()を実行してるのか
・その実行パスはどう記述してるのか
・trace(this+" 'onRollOver'");ってのはコメント外せば表示されるのか。
 ※それならばonRollOverは実行されている事になるので、
  単純に関数への参照ミスか、またはshake()での参照ミス。

521 :Now_loading...774KB:2006/05/27(土) 23:31:16 ID:NTdwvjRQ
>515
入れ子は無理
子以下に動作させたければ、並列にぶら下げる
this.title.aB.onRollOver〜
this.title.abc.onRollOver〜

522 :Now_loading...774KB:2006/05/27(土) 23:33:25 ID:YYU/KmV7
>>517
ボタンの中にボタンを入れても親ボタンしか反応しないのと一緒で、
親MCにonRelease書いたら、孫のonRollOver反応しない気がする。

523 :515&517:2006/05/28(日) 00:15:26 ID:XImjqOkK
>>520-522
どうも。上記の記述では入れ子はどうも無理っぽいですね。
念のため trace(this+

524 :Now_loading...774KB:2006/05/28(日) 02:11:56 ID:nVTMf5WL
ttp://www.nitroplus.co.jp/pc/
例えばこのサイト、メニューがflashですが、クリックすると下のフレームにhtmlが表示されます。
これと同じことをやりたいのですが、どうすればいいのでしょうか。
フレームの指定方法がポイント?
getURLぐらいはわかるので

525 :Now_loading...774KB:2006/05/28(日) 04:35:33 ID:YNsGHpUs
質問です。
イラストレータ画像をフラッシュに読み込むと
白い縁が出るのですが、簡単な取り方ってあります?




526 :525:2006/05/28(日) 04:46:41 ID:YNsGHpUs
質問の場所間違えました。
スルーでよろしく

527 :Now_loading...774KB:2006/05/28(日) 13:51:44 ID:OHiHkmk0
>>524
getURL("アドレス","iframeのname属性");
確かこんな感じ。

528 :Now_loading...774KB:2006/05/28(日) 18:41:10 ID:j1GA6hIl
メインフレームはstop()で停止して、ムービークリップ上に
ボタンを配置し、押した時にメインフレームを動かしたいのですが、上手くいきません。

ムービークリップ上のボタンに
on(release){
gotoAndplay(_root.xxx);
}

xxxは進めたい場所、どうも上手く逝きません。

529 :Now_loading...774KB:2006/05/28(日) 18:52:01 ID:X/QYPKBD
>528
on(release){
_root.gotoAndplay(xxx);
}

530 :527:2006/05/28(日) 19:43:39 ID:j1GA6hIl
>>528
有り難うございます、表記する場所を間違えていました。
……でも、上手く逝きません。
テストの為、メインフレーム上にボタンを配置して
gotoAndplay("xxx");
では、正常に動くのですが、_root付のが上手く逝きません。

_root.gotoAndplay("xxx");
こちらでは、動きません。

531 :Now_loading...774KB:2006/05/28(日) 19:49:03 ID:OHiHkmk0
>>530
MCが_rootに無いからじゃない。

this.gotoAndPlay("xxx");

532 :527:2006/05/28(日) 20:00:06 ID:j1GA6hIl
>>531
原因分かりました!
綴りが間違ってましたw

_root.gotoAndPlay("xxx");

で無事に動きました、有り難うございます!

533 :507:2006/05/29(月) 00:11:54 ID:p/hmjTsT
>>508
遅レスですいません。
ヘルプは見ましたが。。。

おおよその基本はわかります。ただ、一から自分で組むというのは、あまりできません。
既存のものを見て、ここがこうなって、ああなってっていうくらいは解ります。

534 :Now_loading...774KB:2006/05/29(月) 02:05:39 ID:KGiJebJE
>>533
ホントにヘルプ見た?例文載ってるはずだけど。

535 :Now_loading...774KB:2006/05/29(月) 13:04:18 ID:4UtBkBu5
}を付け忘れたことに気づかず、質問しようとしてた俺に何か一言

536 :507:2006/05/29(月) 13:16:09 ID:3m1fOvcw
>>534
みました。これのことですか? これをいじれば、どうにかなるのかな??

var so:SharedObject = SharedObject.getLocal(

537 :Now_loading...774KB:2006/05/29(月) 13:38:00 ID:u7JxJpW6
>>536
その部分の意味は理解できてるか?
マニュアルが分かりづらかったら、>>3のサイトあたりで勉強するか
具体的な部分を質問する。

構成としては、Flashの冒頭でSharedObjectを受け取る。
→SharedObject.getLocal
SharedObjectのなかの、訪問したとかのデータの値を評価。
→if(){}else{}
値が規定値なら最終フレームへ飛ばす。
それ以外はそのままムービー流す。
ムービーの最後かどっかで、訪問したとかのデータを書き込んどく。

しかしこれって、一度見た人は二度と見たくないようなムービーなのか?
そこが気になる。

538 :507:2006/05/29(月) 13:46:26 ID:3m1fOvcw
>>537
サンクスです。つまりこんな感じですかね?

var so:SharedObject = SharedObject.getLocal("***");
if(SharedObject > 0){
_root.play() ;
}
else{
_root.gotoAndPlay(最終フレーム) ;
}


二度と見たくないというか、何度も往復する可能性のあるサイトなもんで、
いちいち見たくない人もいるかな。と。

539 :Now_loading...774KB:2006/05/29(月) 14:01:15 ID:3Q5nqnYX
いまどきスプラッシュムービーですか?
どうしてもならムービー再生中でもナビが利用できるようにしればいいのに
あとはランダムで途中から再生とか


540 :Now_loading...774KB:2006/05/29(月) 14:04:31 ID:dWfiGFDo
見たくない人が見ないで済むように工夫するよりも
見たい人だけが見るように工夫する方が良いですよ。

541 :507:2006/05/29(月) 14:18:42 ID:3m1fOvcw
>>539
スプラッシュではないですね。詳細は言えませんがムリです。

>>540
たしかにそうなのですが、今回はそれはできないです。

542 :Now_loading...774KB:2006/05/29(月) 16:27:50 ID:u7JxJpW6
>>538
まあまあそんな感じだが、SharedObjectの扱いが不十分だな。

var so:SharedObject←soという変数を定義。型、要するに変数の種類はSharedObjectだよ、の意。
この変数soに=で代入されているのが、***という名前のローカルファイルのデータ。
***は適当な名前。507がつける。soも別にsoって名前じゃなくてもいい。
今後は、このsoを参照する。

soはタンスみたいなもんで、ここにいろいろなデータを格納したり、引き出したりする。
soが持ってる*****という名前のデータを参照する時の書き方は、so.data.*****
もしsoが持ってるvisitの値が0以上なら、という場合はこんな感じで書ける。
if(so.data.visit > 0){...}

543 :507:2006/05/29(月) 16:40:28 ID:3m1fOvcw
>>542
サンクスです。概要はわかりました。
***の部分は適当につけるとのことですが、
特定のパラメータとかは必要ないのですか?
アクセスの有無を問うような。

まとめるとこんな感じかな?
var so:SharedObject = SharedObject.getLocal("***");
if(so.data.visit > 0){
_root.play() ;
}
else{
_root.gotoAndPlay(最終フレーム) ;
}



544 :Now_loading...774KB:2006/05/29(月) 17:37:04 ID:9Atvl8JP
「flash8 Basic」で、動画も含んだ紙芝居みたいな物を作ろうとしてます。
部品構成としては
「静止画」「動画」「お話部分のテキスト」「次のコマへ進むボタン」
といった感じです。

基本的な動作は、最初のフレームでstop();をかけておいて、
「進むボタン」にnextFrame();を書いて、
それが押されたら次の一コマ(一フレーム)に進むというものです。

それで、静止画だけならこれで問題ないのですが、
中にところどころ動画を入れたいと思ってまして、
そういう場合はどうしたらよいか悩んでます。

動画は普通の.movを埋め込んで使い、
お話部分は従来どおり一コマずつボタンを押して読み進むようにしつつ、
お話が指定部分に到達するまで、ムービーはループ再生するようにしたいです。
ですが今までのようにnextFrame()でお話のコマを進めると、
ムービーも一コマずつ止まってしまうので、どうしたらよいか分かりません。
どなたか教えて頂けないでしょうか。よろしくお願いします。

ちなみに、ムービーを埋め込まなければ
どうにかできるとかいうのであれば、方法にはこだわりません。
また、Webで公開するものではなく、ローカルで一式ダウンロードしてから遊ぶものです。
その辺で方法が別れるかもしれないので、一応書いておきます。

545 :544:2006/05/29(月) 21:26:18 ID:9Atvl8JP
もしかして、無理?
こんな動きをするのを見たことがある気もするんですけど。

546 :Now_loading...774KB:2006/05/29(月) 21:39:22 ID:dWfiGFDo
>>544
ASというよりも、単にムービークリップシンボルを作ればいいだけのような気がするけど。

547 :Now_loading...774KB:2006/05/29(月) 22:55:25 ID:r8UmPDgn
ttp://flash.2ch.net/rw03/rw03take/timetwister.htmlの
FLASHの途中で株価らしきものが下がってるシーンがあるのだが
その延々と数字がへっていくASを教えてください。

548 :Now_loading...774KB:2006/05/30(火) 00:18:56 ID:M5Ct7PQ4
(547の回答で)数字を減らすASを組んだのですが、
fps=1のときとfps=24のときだと減る速度が全く違います。
setIntervalってfpsに関係なく動作すると思ってました。
なぜなんでしょうか?よろしくお願いします。
i = 999;
myID = setInterval(CntDown, 1);
function CntDown() {
i -= 1;
num1.text = i;
updateAfterEvent();
}

549 :Now_loading...774KB:2006/05/30(火) 00:19:57 ID:M5Ct7PQ4
>547
>548でどうでしょう?

550 :Now_loading...774KB:2006/05/30(火) 03:51:02 ID:JO1uiyG+
>>548
どうもsetIntervalのタイミング分解能はfpsに依存してるっぽい。
たしかfpsの10倍くらいまでだったかな、記憶あやふやだけど。
解決策があるのかどうかは知らない。

551 :Now_loading...774KB:2006/05/30(火) 08:46:33 ID:M5Ct7PQ4
>550
なるほど。今まで作ったものでヤバイのあるかもなぁw
詳しく調べて見ます。ありがとう。

552 :Now_loading...774KB:2006/05/30(火) 08:52:05 ID:JUV2m2IJ
fpsに依存するのは表示でしょ?
画面描画とsetIntervalと混同してね?

553 :Now_loading...774KB:2006/05/30(火) 11:23:38 ID:3e9g7Yyj
FlashMX2004を使っています。多次元配列の要素数を確認するには
どうしたらいいでしょうか?対象となる配列arrは

for (ab=0; ab<=1; ab++) {
arr[ab] = new Array();
for (gyou=0; gyou<20; gyou++) {//行・列は共に0〜19
arr[ab][gyou] = new Array();
for (retu=0; retu<20; retu++) {
if (gyou>=retu) {
arr[ab][gyou][retu] = 0;
} else {
arr[ab][gyou][retu] = undefined;
}
}
}
}

と定義して、不要な部分(gyou<retu)ではundefinedとして存在する配列数を
制限し、処理を高速にするようにしています。予定では凡そ440個ほどになる
はずですが、arr.lengthでは2になってしまいます。


554 :Now_loading...774KB:2006/05/30(火) 11:23:42 ID:WZcPyVcw
>>552
やっぱり影響あるみたいだよ。

i = 999;
myID = setInterval(CntDown, 1);
function CntDown()
{
i -= 1;
if (i == 00)
{
clearInterval(myID);
trace(

555 :Now_loading...774KB:2006/05/30(火) 11:26:58 ID:WZcPyVcw
ごめん、投稿したら途中で切れてた。

>>552
やっぱり影響あるみたいだよ。
i = 999;
myID = setInterval(CntDown, 1);
function CntDown()
{
i -= 1;
if (i == 00)
{
clearInterval(myID);
trace("かかった時間 : " + getTimer() + "msec");
}
}
これでも設定されたfpsによって結果が違うし。

556 :Now_loading...774KB:2006/05/30(火) 11:31:39 ID:WZcPyVcw
>>553
for (ab=0; ab<=1; ab++) {
arr[ab] = new Array();
.
.
ってやってるんだから arr.length じゃ2が返って来るんじゃない?
配列を定義するときと同じく、長さ文ループさせてカウントするしか
ない気がするけど。

557 :Now_loading...774KB:2006/05/30(火) 15:03:44 ID:JUV2m2IJ
>>555
ルーチンに入る前にgetTimer();終了時にgetTimer();ではどうかね。
あと、iはなぜ999なんて小さい値なの?誤差の範囲になるんじゃないかな。

558 :Now_loading...774KB:2006/05/30(火) 15:07:29 ID:JUV2m2IJ
>>553
行と列で2個じゃん

559 :Now_loading...774KB:2006/05/30(火) 15:09:15 ID:JUV2m2IJ
じゃねーや、556の言ってるみたいに2こだけじゃん。

560 :507:2006/05/30(火) 16:15:30 ID:KTAOjOQI
すみません。やはりうまくいきません。flashのプレビューだと飛んでるっぽいですが、サーバ上だとダメですね。

var so:SharedObject = SharedObject.getLocal(

561 :507:2006/05/30(火) 16:36:37 ID:KTAOjOQI
きれてました・・・

var so:SharedObject = SharedObject.getLocal("savedData");
if(so.data.visit > 0){
_root.play() ;
}
else{
_root.gotoAndPlay(45) ;
}


562 :Now_loading...774KB:2006/05/30(火) 18:06:01 ID:JUV2m2IJ
so.data.visitって最初はnullなんじゃねーの?

563 :507:2006/05/30(火) 18:17:41 ID:KTAOjOQI
>>562
というか、最終フレームとかにカウントするスクリプトが必要ですかね?
so.flush(1);
これかな??

それ以前に、「savedData」てなんの為に名前をつけているの??・・・

564 :Now_loading...774KB:2006/05/30(火) 18:21:36 ID:JUV2m2IJ
名前付けないと複数のSharedObjectつかえないじゃん

565 :507:2006/05/30(火) 18:24:32 ID:KTAOjOQI
ん?でも、「so」て名前をつけてるでしょ?なんで二つ名前が??

566 :Now_loading...774KB:2006/05/30(火) 18:29:24 ID:JUV2m2IJ
だからさ、、、、SharedObjectはローカルに保存されるファイルなわけでしょ。
1つのアプリ(swf)に対して複数のSOを使いたい場合に名前同じだと
上書きされるでしょ。

567 :507:2006/05/30(火) 18:32:16 ID:KTAOjOQI
なるほど。
では、二行目の
if(so.data.visit > 0){
の部分のsoは、 「savedData」ではないの??

568 :Now_loading...774KB:2006/05/30(火) 18:36:19 ID:JUV2m2IJ
savedDataという名前で、してローカルに保存した、SharedObjectの
インスタンスの参照だから、まあそのものと思ってよか。

569 :507:2006/05/30(火) 18:39:43 ID:KTAOjOQI
なんとなく判りました・・・

てか、やっぱり動きません。何かが足りない気がする。

570 :Now_loading...774KB:2006/05/30(火) 18:45:00 ID:WZcPyVcw
はまってるねw
swf外で複数のSharedObjectを管理する為にswf内とは
別の名前が付けられないと不便だし、そこはそんなもの
だと覚えておけばいいんじゃない?
--
//はじめに。
soData = SharedObject.getLocal("testSO");
//保存
function soSave(value)
{
soData.data.saveData = value;
soData.onStatus = function(info)
{
switch (info)
{
case "SharedObject.Flush.Success" :
trace("◆保存成功");
break;
case "SharedObject.Flush.Failed" :
trace("◆保存失敗or設定に問題あり");
break;
}
};
//必要かどうかはしらない。
soData.flush();
}


571 :Now_loading...774KB:2006/05/30(火) 18:48:08 ID:WZcPyVcw
//取り出し
function soLoad()
{
loadedData = soData.data.saveData;
if (loadedData == undefined)
{
trace("×データが存在しないかundefined");
return (loadedData);
}
else
{
trace("○取り出し完了 loadedData = " + loadedData);
return (loadedData);
}
}
//実際にやってみる。
soSave("TEST" + Math.ceil(Math.random() * 100));
trace(soLoad());
--
いきなり難しいことを使用とするとハマる上に理解が深まらないとおもう。

572 :507:2006/05/30(火) 18:50:20 ID:KTAOjOQI
意味がわかりました。soは入れ物で、中にいれるものがsavedDataって意味ですな。

スクリプトさんくすです。これは保存されてるかどうかのすくりぷと??

573 :Now_loading...774KB:2006/05/30(火) 18:53:42 ID:jSkiC9m2
507しつけぇw
条件式見る限りじゃ、トレース使って自分で書き直そうとかいう気0じゃねーか。

574 :507:2006/05/30(火) 18:55:49 ID:KTAOjOQI
いや、というか理解が追いついてないです。

僕の表示したスクリプトとどう絡めるのか・・・・

575 :Now_loading...774KB:2006/05/30(火) 18:56:43 ID:WZcPyVcw
>>507
最後の2行がね。
trace(soLoad());
soSave("TEST" + Math.ceil(Math.random() * 100));
でも順番が逆のほうがよかった。
そしてやっぱり貴方はもう少し簡単なところから理解していった方が
理解につながると思うなあ。


>>557
正確に時間を測るときは>>557の言うとおりgetTimer()がいいよね。
なぜ i = 999 なのかは >>548にそう書いてたから。
何がしたかったのかまでは考えなかったw



576 :507:2006/05/30(火) 18:59:55 ID:KTAOjOQI
>>575
お言葉はごもっともですが、どうしても必要なんです。
逆にいえば、これさえできれば後は当面必要ないというか・・・w

スクリプトの意味はわかりました。
要するに、ランダムに保存したものを、取り出すテストですよね??

577 :Now_loading...774KB:2006/05/30(火) 19:05:18 ID:WZcPyVcw
>要するに、ランダムに保存したものを、取り出すテストですよね??
そうそう。最初の書き込みはセーブしたものをいきなり取り出すから
あんまり意味がなかったけど、前のをロードして、セーブ、という流れなら
セーブされてるかどうかが分かると思う。


技術的な事もそうだけど、traceとか便利なものがあるんだから
デバッグのやり方とか覚えたほうが絶対効率いいよ。

>逆にいえば、これさえできれば後は当面必要ないというか・・・w
もし仕事でやってるならこの姿勢は危険かもねw

578 :507:2006/05/30(火) 19:10:50 ID:KTAOjOQI
そうかもですね。。。

で、結局、これは何がおかしいのでしょう??
var so:SharedObject = SharedObject.getLocal("savedData");
if(so.data.visit > 0){
_root.play() ;
}
else{
_root.gotoAndPlay(45) ;
}


579 :Now_loading...774KB:2006/05/30(火) 19:24:40 ID:jSkiC9m2
>>578
だから一つ一つデータをトレースしろと皆言ってるんじゃないの?
根本的な部分理解せずに、使いたいところだけ理解するなんて無理。
hozon = SharedObject.getLocal("warosu") ;
if(hozon.data.kaisu == undefined){
_root.play() ;
hozon.data.kaisu = 1 ;
hozon.flush() ;
}else{
_root.gotoAndPlay(45) ;
hozon.data.kaisu ++ ;
hozon.flush() ;
}
これで動くけど、このhozon.data.kaisuってのを最初にトレースしてみたら
未定義(undefined)になるわけですよ。だってどこにもhozon.data.kaisuを定義する処理なんて無いでしょ?
hozon.data.kaisu = 1 とかがさ。
だから初めて読み込むとき(初訪問時)は未定義なわけなんですよ。
これからも書く事あるんだとしたら、traceやObjectや配列だけでも理解すると良いですよ。
次から他のことを理解することが凄く楽になります。

580 :507:2006/05/30(火) 19:35:22 ID:KTAOjOQI
サンクスです。配列はわかります。objectはいまいちです。

しかし、やはりサーバ上だと動きません。。。
macのサファリだと正常ですね。winだと動きません。。。。

581 :Now_loading...774KB:2006/05/30(火) 19:36:15 ID:WZcPyVcw
「で、」って言われちゃった(´・∀・`)
こんな風にして試してみればすぐ分かることじゃない。

//
//!ステージには"debug"って言う名前のテキストフィールドを置いとく。
//
var so:SharedObject = SharedObject.getLocal("savedData");
//テキストフィールド"debug"に取り出したデータを表示
debug.text = "so.data.visit = " + so.data.visit;
/*ここはとりあえず関係ない。
if (so.data.visit > 0)
{
_root.play();
}
else
{
_root.gotoAndPlay(45);
}
*/
//セーブしないとロードはできないよね。
so.data.visit = Math.ceil(Math.random() * 100);


582 :Now_loading...774KB:2006/05/30(火) 20:21:34 ID:FUtyDZe0
>>578
なにが「で、結局」だ
お前馬鹿にしてんのか?自分でやれや糞が

583 :Now_loading...774KB:2006/05/30(火) 20:40:55 ID:7d8I1oxe
>>548
返答遅れましたが「ハンドラ内でなくてはいけません。」
と表示されてしまいます…。


584 :553:2006/05/30(火) 21:32:40 ID:zcMVcESp
(多次元配列の要素数)
>>556, 558, 559

うーむ。やっぱり、カウントの変数を作ってインクリメントしていくしか
無いようですね。

585 :Now_loading...774KB:2006/05/30(火) 22:03:09 ID:jSkiC9m2
>>580
>macのサファリだと正常ですね。winだと動きません。。。。
って時点でFlashPlayerのバージョンじゃないの?
そろそろビキビキしちゃうよ。

SharedObject
対応プレイヤーFlash6以降(#^ω^)ビキビキ

586 :Now_loading...774KB:2006/05/30(火) 22:16:15 ID:WZcPyVcw
winXP上の NC4.7 / IE6 / FF1.5.0.1では動いたよ。

587 :507:2006/05/30(火) 22:47:09 ID:rY+es5yj
>>585
いや、8で見てますけど動きませんね。なんでだろ?

>>586
僕に対してのレスですよね? そうなると記述がおかしいのかな。

588 :Now_loading...774KB:2006/05/30(火) 22:56:58 ID:WZcPyVcw
>>547
適当なMC作って中にテキストフィールド置いて適当な名前つけて

var n:Number = 9999;
var intervalID:Number = setInterval(function ()
{
n = Math.max(n - 1, 0);
テキストフィールド名.text = n;
}, 10);

とか書いとけばいいんじゃね?

>「ハンドラ内でなくてはいけません。」と表示されてしまいます…。
エラーで言われてることそのまんまなんだけどねw
何で怒られてるかわかんないとこの先辛いとおもう。

589 :Now_loading...774KB:2006/05/30(火) 22:59:25 ID:Rc2i9Ym8
>>587
なにが「で、結局」だ
お前馬鹿にしてんのか?自分でやれや糞が

590 :Now_loading...774KB:2006/05/30(火) 23:59:47 ID:jSkiC9m2
>>587
環境書くってのは>>586みたいな事を言うんだ。
macのサファリだのwinで動かないだのはもうやめてくれ。

591 :Now_loading...774KB:2006/05/31(水) 00:01:06 ID:a+4XaYEn
>>507
好い加減去れ。
お前の為の馴れ合いスレじゃない。
自分で調べる事もせずひたすら聞いてる姿勢がマジうざい。

592 :Now_loading...774KB:2006/05/31(水) 00:03:35 ID:PqyqRxgt
>588
こういう書き方スマートでいいですね。勉強になります。
ちょっとお聞きしたいのですが、
n = Math.max(n - 1, 0);
って書く理由って何なんでしょう?
n--;とどう違ってくるんでしょう?よろしくお願いします。

>550
リファレンスに載ってました。仕様っぽいです。
「interval が SWF ファイルのフレームレートより短い場合、
インターバル関数は interval にできるだけ近い間隔で呼び出されます」



593 :Now_loading...774KB:2006/05/31(水) 00:11:58 ID:jj19V5Tm
>>592
0と比べて常に大きいほうを選べばマイナス表示にはならないと思って。
ああいうムービーに使うならマイナスになるとかっこ悪いかなと
思ったただのお節介だよ。

594 :Now_loading...774KB:2006/05/31(水) 00:32:48 ID:7Lg8Wnly
>>592
Math.max(n - 1, 0) だとマイナスになることはない。

595 :594:2006/05/31(水) 00:39:01 ID:7Lg8Wnly
20分前にすでに回答がありましたね。失礼しました。

596 :Now_loading...774KB:2006/05/31(水) 01:50:01 ID:PqyqRxgt
>593、594
なるほど。機会があれば使ってみます。ありがとうございました。

597 :Now_loading...774KB:2006/05/31(水) 13:49:53 ID:lpuUi1+c
ここの人は親切なのか、そうじゃないのかわからんね。

598 :Now_loading...774KB:2006/05/31(水) 13:58:50 ID:zOp4jmim
AS初心者には親切だがそれは人間的に初心者とは違うということさ

599 :Now_loading...774KB:2006/05/31(水) 14:03:28 ID:jj19V5Tm
>>597
一緒に釣りを楽しむなら釣竿は貸してあげるけどただの釣った魚目当てなら
あんまり歓迎できないね。っていう話かもね。
どっちかというと親切だと思うけど。

600 :Now_loading...774KB:2006/05/31(水) 14:08:14 ID:zOp4jmim
つるだけでオチがない能力のない釣り師ばかりだからな

601 :Now_loading...774KB:2006/05/31(水) 14:14:48 ID:7KW6TmWP
甘やかしすぎないのも親切だろう

602 :Now_loading...774KB:2006/05/31(水) 15:13:15 ID:lpuUi1+c
言いたいことはわかるけど、結局自分達の自己満足なんじゃないの?
尊敬してよ。みたいなw

初心者だから質問スレに来るわけだからさ、そこまでカリカリしたってしょうがないでしょ。
それがイヤなら、解答なんかしなければ良い。なんの得にもならないんだから。自己満足ではないならね。

まいーや。俺には関係ないし。

603 :Now_loading...774KB:2006/05/31(水) 15:18:39 ID:m+bsU1QX
>>602
理解するつもりとか言いつつ、507が「目的のものさえあれば当分は良い」とか言い出すから、
皆「それなら最初からそう書けよ。説明してたのが無意味じゃねぇか」ってイラついたんじゃないの?
スレ見ても他の質問には答えてるだろ。

604 :Now_loading...774KB:2006/05/31(水) 15:35:34 ID:jj19V5Tm
まあ暇な人がなんか言いながら答えてるんだからいいじゃないのー
顔の見えない同士でけんかしたってしょうがないよ。

605 :Now_loading...774KB:2006/05/31(水) 15:36:29 ID:lpuUi1+c
>>603
>理解するつもりとか言いつつ、
ん?なにこれ?誰が言ったの?

606 :Now_loading...774KB:2006/05/31(水) 15:41:22 ID:jj19V5Tm
>おおよその基本はわかります。ただ、一から自分で組むというのは、あまりできません。
確かに理解するつもりとは言ってないんだよねw
むしろ出来ないと宣言してるんだからある意味清々しくもあるが。

>既存のものを見て、ここがこうなって、ああなってっていうくらいは解ります。
思ったより解ってくれなかったのは予想外だったけど(´・∀・`)

607 :Now_loading...774KB:2006/05/31(水) 15:45:57 ID:dOCa8uBE
質問でーす。
あるMC1の10フレーム目にgotoAndPlay(1)としてループアニメをさせます。
11フレーム目以降にはまた別のアニメを入れておきます。
別のところに記述したASに、ある条件でMC1のアニメを切り替えるために、MC1.gotoAndPlay(11)を入れておきました。
動かしてみると、だいたいは上手く動くのですが、たまにアニメが11フレームに切り替わらない場合がありました。
追っかけると、MC1.gotoAndPlay(11)の直後にMC1の10フレーム目のgotoAndPlay(1)が実行されてしまってました。
MCのASの実行順が悪いと思うのですが、ASの実行順を変えたくありません。(表示順も変わってしまうので)
どのような回避方法があるでしょうか?教えてください。
OSはXPでMX2004を使用しています。

608 :Now_loading...774KB:2006/05/31(水) 15:54:00 ID:jj19V5Tm
>>607
MC1の中にあるアニメをそれぞれ新しくMCに内包して

MC1のタイムライン:
1フレーム目:1〜10フレーム目のアニメだったものを内包するMC
2フレーム目:11フレーム目〜のアニメだったものを内包するMC

とした上で、
MC1.gotoAndPlay(1) だった部分→ MC1.gotoAndStop(1)
MC1.gotoAndPlay(11) だった部分→ MC1.gotoAndStop(2)
に書き換えてやるとか。

でも悪いと分かってるところがある変えたほうがいいとおもうw

609 :608:2006/05/31(水) 15:55:42 ID:jj19V5Tm
×でも悪いと分かってるところがある変えたほうが
○でも悪いと分かってるところがある なら 変えたほうが

610 :Now_loading...774KB:2006/05/31(水) 16:06:02 ID:zOp4jmim
>>604
そういう認識は改めた方が良いよ。
少なくとも何十人か、もしくは何百人ぐらいのエキスパートがROMってるって
考えたことある?

611 :Now_loading...774KB:2006/05/31(水) 16:19:35 ID:jj19V5Tm
>>610
いや、あるよw
少なくとも俺は答えながらも>>507にはそんなに腹は立ててなかったから
暇な人が答えてあげる分にはいいんじゃないのくらいに思ってて

まあ暇な俺がなんか言いながら答えてるんだからいいじゃないのー

みたいな気持ちで書いたんだ.。
言い方が気に障ったなら悪かった。

612 :Now_loading...774KB:2006/05/31(水) 16:22:44 ID:zOp4jmim
>>611
うん、newbeeeeみたいな書き方だったから、おけ。

613 :Now_loading...774KB:2006/05/31(水) 16:23:32 ID:lpuUi1+c
>>604
ヒマなエキスパートって意味でいってんじゃないの?w

なんにしろ、こんなとこで質問に答えてる人は、
本気で良い人 or 優越感に浸りたいプログラムマニア。のどっちかだろ。

あと、このスレに限った話じゃないけど、>>591みたいな仕切り発言も嫌いなんだよね。
お前こそ、自分の居心地の良い「馴れ合いスレ」を荒らされてるようで腹がたってるんだろ?
だいたい>>591が、そんなこと決める権利ないしw

614 :Now_loading...774KB:2006/05/31(水) 16:26:11 ID:zOp4jmim
>>613
すまーん、日曜プログラマが抜けてまする

615 :Now_loading...774KB:2006/05/31(水) 16:27:22 ID:jj19V5Tm
>>613
納品終わってヒマなんだよ。
頭の体操みたいでたのしいじゃんw

616 :Now_loading...774KB:2006/05/31(水) 16:31:23 ID:zOp4jmim
>>615
そこからユーザーに、いじめられると思われw

617 :Now_loading...774KB:2006/05/31(水) 16:38:23 ID:E7Nbvif9
>>602
>>604
>>613
今よりももっとFlashとかASの技術が普及していくことが、
ひいては自分の仕事にも有利になる場合もあるのです。

そういうことまで見越して、戦略的に、わざわざこういうところに顔を出している人も大勢います。
このスレだけじゃなくて、他のスレやML、オプソのコミュニティとかでもね。
それを「啓蒙普及活動」と呼んだりします。
そういう人たちにとっては、尊敬してもらうことなんかよりも、質問者が成長してくれることこそが目的、なんですよ。
技術だけじゃなくて、礼儀も含めて、ね。


「自己満足なんじゃねぇの?暇なんじゃねぇの?」的発言は、定期的に出てくるんですが、
自己満足としか見えないのは、残念ながらまだまだ経験が浅いからでしょう。

618 :Now_loading...774KB:2006/05/31(水) 16:45:40 ID:zOp4jmim
次の質問の方どうぞ↓

619 :Now_loading...774KB:2006/05/31(水) 16:49:49 ID:PqyqRxgt
>質問者が成長してくれることこそが目的
いいこと言った
あと回答者も成長できるw

620 :Now_loading...774KB:2006/05/31(水) 18:10:18 ID:AccG1ii0
非常に初歩的な質問で恥ずかしいのですが,誰か教えてください。
テキスト入力で変数をscoreとして,そのscoreを1ずつ加算していきたい
のですが、score+=1とすると、1→2→3→…ではなく、1→11→111→…と
なってしまいます。正しく足し算をさせるには,どうすればよいのでしょうか。


621 :Now_loading...774KB:2006/05/31(水) 18:19:37 ID:jj19V5Tm
>>620
scoreが文字列として扱われてるのかも。
はじめてscoreを定義するときや、途中で文字列をscoreに入れてない?
一度でも文字列と交わるとあとはずっと文字列扱いになっちゃうよ。

//数値に数値を足しても数値
score = 1;
score += 1;
trace("score = " + score);
trace("typeof score = " + typeof score);

//文字列に数値を足すと文字列として連結
score = "1";
score += 1;
trace("score = " + score);
trace("typeof score = " + typeof score);

//数値に文字列を足しても文字列として連結
score = 1;
score += "1";
trace("score = " + score);
trace("typeof score = " + typeof score);

//無理やり数値に戻してから足すと足せるけど
//良くない解決方法
score = "1";
score = Number(score);
score += 1;
trace("score = " + score);
trace("typeof score = " + typeof score);



622 :Now_loading...774KB:2006/05/31(水) 19:05:25 ID:xEdkKaMz
>>555

違うケースかもしれないけど。

Within Flash, we often use loops as control structures within ActionScript.
These loops only excute once per frame, so the spped at which they excute
is tied directly to the frame rate of the movie. Faster frame rates mean
faster loop excution.

とマクロの認定試験の教則本に書いてあったよ。

でも以下のようなスクリプトをフレームレートを変えて実行してみたけど、
ほとんど数値は変わらないんだよねー。俺の勘違いでしょうか?

chkRoop ();
function chkRoop ():Void {
for (var i:Number = 0; i<99999; i++) {
}
trace ("ループ処理に要した時間: "+getTimer ()+"ミリセカンド");
}

教えてエロイ人。

623 :607:2006/05/31(水) 19:10:42 ID:dOCa8uBE
>>608
サンキスト!そういう構造にすればgotoAndPlayを使わなくてすみますねw
でもこういうのって組み立てたり付け足したりしたあとから発見されるんだよねぇorz

624 :Now_loading...774KB:2006/05/31(水) 19:16:01 ID:PqyqRxgt
>620
テキストフィールドに入力された値はStringになります
var score:Number=0;
としても、入力したとたんStringになります
ボタンを作って型を調べてください(デバッガでもOK)
btn.onPress = function() {trace(typeof(score));};

>621の示す
score = Number(score)+1;
とする必要があるかと

625 :Now_loading...774KB:2006/05/31(水) 19:26:02 ID:PqyqRxgt
>622
for文なんかもfpsに影響されるのか
ちょっとくらいの計算じゃ数字に現れないとかw

今回は、setIntervalに制限があるか?って話だし、
>592に書いたけど、「出来るだけ近い間隔」とあるから、
変動するんでしょう。実際処理速度かなり変わってるし。

626 :555:2006/05/31(水) 19:31:40 ID:jj19V5Tm
>>622
で、一方setIntervalはfpsの設定によって結果が違うから時間を計るのには
使えないよね、不便だね。みたいな話ってことよね。

>>620 & >>624
あ、「テキスト入力で」って書いてたね。
見落としてました、申し訳ない。

ちょっと実験。

numA = "1";
trace(numA++);// 出力 = 1
trace(numA += 1);// 出力 = 3
trace(numA++);// 出力 = 3
trace(numA++);// 出力 = 4

numB = "1";
trace(numB++);// 出力 = 1
trace(numB++);// 出力 = 2
trace(numB++);// 出力 = 3
trace(numB++);// 出力 = 4

//★画面上の入力テキストフィールド(変数:txtNum)に 1 が入っている
trace(txtNum++);// 出力 = 1
trace(txtNum += 1);// 出力 = 3
trace(txtNum++);// 出力 = 3
trace(txtNum++);// 出力 = 4 (でも画面上のテキストフィールドの中身は 5)

(´・ω・`)

627 :Now_loading...774KB:2006/05/31(水) 19:45:03 ID:PqyqRxgt
>622
あー、ごめん。話題を変えてるのか
1fpsと100fpsで100回繰り返すのを10回ずつやったけど、
for (var i = 0; i<100; i++) {chkRoop();}
どっちも5300msのプラマイ100ms付近で収まった
難しい話はお任せします;

628 :Now_loading...774KB:2006/05/31(水) 19:55:52 ID:PqyqRxgt
>626
trace(++txtNum);
インクリメント演算子は位置によって意味が違うです

629 :622:2006/05/31(水) 20:17:27 ID:xEdkKaMz
>>627
うん。俺も同じような結果。

このテストを見る限りでは、
for文のルートはフレームレートに
依存していないようなんだけど。

でもさ、この原文の英語の
These loops only excute once per frame.
ちょっとしっくりこなくない?

「ループは1フレームに1回だけ実行されます」って、
どういうこと?

そもそもここで言っている「制御構造としてのループ」とは、
forやwhileのことを言っているんじゃなかったりー?

630 :Now_loading...774KB:2006/05/31(水) 20:18:01 ID:jj19V5Tm
>>626
そっか、前と後ろの違いで返される結果が加算前だったり加算後だったりするんだ。
文字列にインクリメントすると普通に数値として評価してくれるんだね。

631 :Now_loading...774KB:2006/05/31(水) 20:18:15 ID:xEdkKaMz
ごめん
「for文のルート」→「for文のループ」

632 :Now_loading...774KB:2006/05/31(水) 20:34:24 ID:N7IQAbhV
それはenterFrameの事だよ。forは関係ない。

633 :Now_loading...774KB:2006/05/31(水) 22:12:22 ID:xxWfSQUm
>>621
>>624
おっしゃる通りに解決しました。長文解説有難うございました。

634 :Now_loading...774KB:2006/06/01(木) 14:42:14 ID:bh3+1Ciq
フレームアクションで
キーが押されたら変数に5を代入するという命令文はどうやって書くんですか?
ムービークリップアクションだと正常に動くんですがフレームだと動きません

635 :Now_loading...774KB:2006/06/01(木) 15:29:54 ID:niSSriVL
マウスカーソルがムービーの外にあるかどうか検出する方法はありますか?

636 :Now_loading...774KB:2006/06/01(木) 15:34:48 ID:sa+RFNGE
>>634
自分でどう書いたかをいわんとわからん

637 :Now_loading...774KB:2006/06/01(木) 15:34:50 ID:Q6zYo8zw
onRollOver

638 :Now_loading...774KB:2006/06/01(木) 15:35:14 ID:gTLb7sqi
>>634
var myVar;

var myListener = new Object();

myListener.onKeyDown = function () {
    setMyVar(5);
}

Key.addListener(myListener);

function setMyVar (num) {
myVar = num;
trace ("myVar: " + myVar);
}


639 :638=622:2006/06/01(木) 15:41:16 ID:gTLb7sqi
638のコード、ちょっとキモイ順番になっちゃったけど、これじゃダメ?

>>632
もちろんenterFrameはfpsに依存するんだろうけど。
結局原文の意味するところが不明orz

640 :Now_loading...774KB:2006/06/01(木) 17:51:28 ID:pURDNqPk
Flash8のサンプルを使ってみたのですが
FLVファイルを読み込んでくれません。
ローカル環境ではテストできないのでしょうか。

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("cube.flv");

cube.flvはswfと同じ所においてます。

641 :507:2006/06/01(木) 19:11:53 ID:X/d14eCW
先日はどうも、お世話になりました。
スクリプトを置く場所が悪かったようです。また別の問題も発生しましたがなんとかなりました。
サンクスでした。ではでは。

642 :Now_loading...774KB:2006/06/02(金) 04:41:43 ID:hfdYSK2e
>>640
my_videoというインスタンス名をつけた、ビデオオブジェクトはあるのか?

643 :640:2006/06/02(金) 12:08:42 ID:7DSY62uo
>>642
ライブラリで新規ビデオを作成し、
インスタンスを配置し、インスタンス名my_videoとしました。
タイプはビデオ(アクションスクリプト制御)にしています

644 :Now_loading...774KB:2006/06/02(金) 12:17:46 ID:hfdYSK2e
>>643
ふうむ、そのままのスクリプトで出るけどな。
fla8のサンプルにあるcafe_townsend_chef.flvでもだめかね。
コピーしてやってみそ。

645 :Now_loading...774KB:2006/06/02(金) 12:30:24 ID:s8U2PVj/
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim
ID:zOp4jmim

すごいキチガイが光臨してたんですね。
リアルタイムで見たかったです。

646 :640:2006/06/02(金) 12:37:49 ID:7DSY62uo
>>644
cafe_townsend_chef.flvでもだめで途方にくれましたが
問題点がわかりました。

パブリッシュの設定でAS1.0でパブリッシュしてました orz...

お騒がせして申し訳ないです。
2.0で動きました。ありがとうございました。


647 :Now_loading...774KB:2006/06/02(金) 12:38:32 ID:hfdYSK2e
>>645
すまんの、頭悪いのがスレ主で。

648 :Now_loading...774KB:2006/06/02(金) 12:50:02 ID:s8U2PVj/
スレ主ってなにw
さすがキチガイ。
おまえなんかが立てなくても他の誰かが立てるし
おまえなんかが答えなくても他の誰かが答えるから
おまえなんかもう来なくていいよ。

649 :Now_loading...774KB:2006/06/02(金) 12:54:28 ID:totvlrip
>>647
相手すんな

650 :Now_loading...774KB:2006/06/03(土) 02:40:00 ID:/+ni2r4J ?
Flash Lite 1.1で製作中の者です。
以前こちらのスレで、スラッシュシンタックスについて教えていただき、
だいぶ作業がはかどりました。その節はありがとうございました。
ところでまた躓いてます。

フレームラベルに、"1-3"や"5_7"などの、
数字と数字をアンダーバーでつないだラベル名を付けているムービークリップに

num1 = 2;
num2 = 5;

tellTarget("test_mc") {
 gotoAndPlay(num1 add "_" add num2);
}

などとして、test_mcの対応フレームを動作させたいのですが、うまくいきません。
 gotoAndPlay(num1 add "_" add num2);
この部分を、
 gotoAndPlay("2_5");
と手打ちでしてやればうまく動きます。
これはどうしてでしょうか?ものすごく基本的なことかもしれませんが、
ご指導お願いいたします。

651 :(T□T):2006/06/03(土) 02:51:53 ID:5jd9/m67
質問です。
初心者で用語の使い方がおかしいかもしれませんが、お願いします・・。

フラッシュでキオスク(デパートや券売機に見るようなタッチパネル式の機械)を課題で作っています。
一つのシーン内でMCを一つ置き、その中でイントロから始まり、目的地を選ぶページ、年齢を選ぶページなどフレームごとに分けて作り、各ボタンを押すと次のページや前のページに飛ぶように設定もしました。
最後のページでチケット代を表示させるために、金額用テキスト部分をダイナミックテキストにして、アクション用レイヤーのアクションスクリプトに、if構文?でそれまで押してきたボタンによって違った金額を表示させたいのですが、うまくいきません・・・。
swfファイルで実験してみると、最後のページのところでエラーのウィンドウが出て、「nonenonenonenone」と出てしまいます。
各ページ(フレーム)上のボタンのアクションスクリプトには、
on(release){
gotoAndPlay(10);
}
のように、次のページであるフレームに飛ぶように設定してあります。
各ボタンにインスタントネームもつけてあります。

が、_globalの置く場所が良くわかりません・・・。
シーン1のメインタイムラインのフレームアクションのところに、
stop();
_global.boatType="none";
_global.Destination = "none";
_global.ticketType = "none";
_global.Fare = "none";
と置いてあります。
その他、各ページ(フレーム)のフレームアクションスクリプトにも、_globalを置くのでしょうか・・?

意味が通じているか非常に不安ですが・・・何かアドバイスありましたら教えてください。
よろしくお願いします!(><)

652 :650:2006/06/03(土) 02:53:37 ID:/+ni2r4J ?
すみません!自己レスです!
gotoAndPlay(../:num1 add "_" add ../:num2);
としてあげれば出来ました…。
tellTarget内では、その呼んでるムービークリップを基準に考えてあげなきゃいけないのですね・・・。
今まで気づきませんでした。
お騒がせして申し訳ありません…。


653 :& ◆0tH8jBVYgg :2006/06/03(土) 02:54:11 ID:5jd9/m67
は!

651です。

Flashのバージョンはprofessional8で、OSはWinXPです。


654 :Now_loading...774KB:2006/06/03(土) 10:34:37 ID:QhtpZ/M0
エラーウィンドウって何だかわからないが
on(release){
_global.ticketType = "Live ticket";
trace('_global.ticketType='+_global.ticketType);
gotoAndPlay(10);
}
とかで、変数がきちんと入っているか調べれば?

655 :Now_loading...774KB:2006/06/03(土) 11:52:49 ID:mXjre62A
>>651
ボタンで代入とかするときには、_global.boatType="mona";と、_globalつけないと、
タイムライン変数が作成されちゃうよ。
普通は_global変数はメインのswfの1フレとか最初の部分に定義する。

656 :Now_loading...774KB:2006/06/03(土) 12:38:21 ID:AgY342wP
_globalってどんなメリットがありますか?
普段はルートのタイムラインスクリプトで
var hoge:Number = 0;
とかやっちゃっているので、_globalのありがたみが分かりません。

657 :Now_loading...774KB:2006/06/03(土) 12:40:51 ID:mXjre62A
なんで?_globalつけるだけで、パスいらないじゃん。
MCいっぱい使ったりすると、よくわかるよん。

658 :Now_loading...774KB:2006/06/03(土) 12:48:00 ID:JmfRtxky
あんまglobalを汚さない方が良いよ。
拡張性、パッケージ化、パフォーマンスやら、
色んな部分で後悔するから。

mcのパスを格納したいなら、scopeManagerなりのクラスか、
疑似クラスオブジェクト作った方がいい。

659 :Now_loading...774KB:2006/06/03(土) 17:27:21 ID:AgY342wP
>>657
普段からスクリプトは全てルートタイムラインの1フレーム目に書いてるんだけど、
(いわゆるマクロメディアスタイルってやつだと思う)
この方法をとってる人にはあんまり利益無いのかなと思いました。

660 :651です:2006/06/04(日) 00:37:49 ID:Q8lT+KLJ
>654、655さん

コメントありがとうございました。
メインタイムラインのアクションスクリプトに
stop();
_global.boatType="none";
_global.Destination = "none";
_global.ticketType = "none";
_global.Fare = "none";

、MCの中に入っている各ボタンに
on (release) {
_global.Destination = "Inner";
trace('_global.Destination='+_global.boatType);
gotoAndPlay(13);
}

のように入れてみたのですが、swfでテストしてみた時、ボタンをクリックしても「none」とウィンドウが出るのみで、うまくいきませんでした・・・(涙)。
何か根本的に間違っているのかも・・・。

お答えくださったお二方、どうもありがとうございました。。

661 :Now_loading...774KB:2006/06/04(日) 01:08:16 ID:1tIFALdN
>>660
trace時、_global.boatTypeの値は初期設定時の"none"のままだから「none」とでるのは当たり前。
_global.Destination = "Inner"を
_global.boatType = "Inner"にすれば変わる

662 :Now_loading...774KB:2006/06/04(日) 10:28:01 ID:E5E287kY
どうも初めまして
現在ちょっとしたゲームを作りたくて 線分と点の当たり判定を
色んなサイトを見ながら勉強していて 何とか ベクトルと点の当たり判定までは
これました  
もう一歩ステップアップして 指定した座標の線分と点の当たり判定をとりたいのですが
どうしてもやり方がわかりません
onClipEvent (load) {

// 変数初期化
_root.ax = 0;_root.ay = 0;_root.bx = 0;_root.by = 0;_root.bec = 0;
onClipEvent (enterFrame) {
// マウスから坂道(x72,y309)を通るベクトル
_root.ax = 72-_root._xmouse;
_root.ay = 309-_root._ymouse;
// 坂道を90度回転したベクトル
_root.bx = Math.cos(30*(Math.PI/180)+90*(Math.PI/180));
_root.by = -Math.sin(30*(Math.PI/180)+90*(Math.PI/180));
// 内積の計算
_root.bec = _root.ax*_root.bx+_root.ay*_root.by;
// 0以上なら当たり判定あり
if (_root.bec>0) {
_root.hyouji = "当たり判定あり";
} else {
_root.hyouji = "当たり判定なし";
}}
ttp://hakuhin.hp.infoseek.co.jp/index.html

このサイトにあるソースなのですがこれはベクトル判定で線分ではありません
これを線分で判定できるようにするにはどうすれば良いかわかりません
ここには線分との判定と言うのもあるのですが若干計算方法が違い
上に示したソースで作っていたので上手く組み込むことが出来ないんです
上のソースをいじって動くようになるとありがたいです

663 :Now_loading...774KB:2006/06/04(日) 11:08:39 ID:h2PefPo4
>>662
線分で判定するって何?

664 :Now_loading...774KB:2006/06/05(月) 02:51:29 ID:OpDwPDqg
xpでFlash8を使っています。
actionscript1.0 flash8用にパブリッシュしています。

症状:
IEで表示すると、最初にIEを立ち上げて表示するときは問題ないのですが、リロードしたり、IEを立ち上げなおさずにアドレスをコピペしてもう一度表示する、と「スクリプトが原因でflashplayeの処理が〜」となって固まってしまいます。
IEを一度閉じたり、キャッシュを削除したりすると問題はなくなります。
スクリプトは「外部からswfとmp3を読み込む」スクリプトを書いています。固まる場所も、ちょうど外部swf,mp3を読み込むあたりで止まります。
また、Opera8.5だと何の問題もありません。

知人のお店のサイト用のフラッシュなのでそれ自体を晒せなくて申し訳ないのですが、何か原因に心当たりがつく方はいらっしゃいませんか?

もしくは、swfかhtmlの書き方によって、swfをキャッシュに残さない方法はありますか?

665 :Now_loading...774KB:2006/06/05(月) 09:07:55 ID:jFm3NXYj
>>664
止まる場所分かってるならそこが原因だから、
その部分を直していったらいいのでは?

666 :Now_loading...774KB:2006/06/05(月) 11:55:53 ID:Q3AoWwps
>>664
> もしくは、swfかhtmlの書き方によって、swfをキャッシュに残さない方法はありますか?

根本的な解決じゃないだろ、それ。
明らかにFLASH側の構造的欠陥なんだから、その部分を修正すべき。
商用サイトとしてそんな未完成なもの渡すのはやめた方がいい。
読み込みスクリプトの部分くらいは晒せるんじゃないのか?
具体的な外部ファイル名とかは伏せてさ。

667 :Now_loading...774KB:2006/06/05(月) 14:40:40 ID:H22isRjn
>>662
透明な矩形をattachして変形・回転させたものや、
drawingLayerで生成したMCとhitTestとかじゃダメ?

>>664
実際に書かれてるコードが見れないから予想しづらいけど、
読み込み対象のswfのロードが一瞬で終わらないことを期待して
動いてる部分があるとか?
ローカルで動いてたならその線は消えるかもしれないけど。

実際に外部ファイルを読んでいる行"だけ"をコメントアウトしてみて
それで症状が変わるかかわらないかみたいな切り分けはしてみた?

668 :Now_loading...774KB:2006/06/05(月) 15:45:54 ID:kr/lx4FK
かなり基本的な質問ですがよろしくお願いします。
if分を勉強したばかりなのですが、○○かつ●●だったら、××
を実行する、というのはどうやって実現するのでしょうか?
○○だったら××を実行というのは分かるのですが、
条件式が二つの場合が分かりません。
if()の中身に二つの条件式は入れられませんよね…

669 :Now_loading...774KB:2006/06/05(月) 16:43:35 ID:RIUTW5Ko
>>668
if( 条件1 && 条件2 && 条件3) {
処理ステートメント ;
}

&& == AND
|| == OR

演算子だけやっても無意味ですが
論理式やりながらでも演算子覚えてみてはどうでしょう?
数も少ないですし、覚えるとぐっと楽になりますよ。

670 :Now_loading...774KB:2006/06/05(月) 17:44:59 ID:cqz15YeA
と言うか基本

671 :Now_loading...774KB:2006/06/05(月) 18:17:45 ID:yzRXAle9
英会話教えて、ならいいけど、abcって何?は勘弁

672 :Now_loading...774KB:2006/06/05(月) 22:44:44 ID:2RB8dzf5
質問です。
movieClipLoader.loadClip();で読み込んだgifやpngなどの外部画像の縦横のサイズを取得する事ってできますか?
MCのサイズではなく、画像そのもののサイズを取得して、表示する枠のサイズにあうように自動的にリサイズしたいのですがXMLを使わないとダメなんでしょうか?

673 :Now_loading...774KB:2006/06/05(月) 22:47:18 ID:gNm/wbpq
>>672
出来るよ。
onLoadInitが読み込んだMCを引数として返すので、
onLoadInit = function(mc){
trace("width="+mc._width+", height="+mc._height);
}
ってところかな。

674 :Now_loading...774KB:2006/06/05(月) 23:01:08 ID:2RB8dzf5
>>673
早速のレス有難うございます。
チャレンジしてみます。

675 :Now_loading...774KB:2006/06/05(月) 23:31:57 ID:jMLZco1F
Math.random()が連続して同じような(似たような)数値を吐き出すのは仕様なんでしょうか?
たとえば
for( i=0;i<=99;i++){
Num = Math.floor(Math.random() * 100)+1;//1〜100まで吐き出す
trace("i="+i+" Num="+Num)
}
というコードを実行したときに結果が

i=0 Num=9
i=1 Num=71
i=2 Num=77
i=3 Num=73
i=4 Num=33
i=5 Num=99
i=6 Num=63
i=7 Num=55
i=8 Num=32

i=80 Num=65
i=81 Num=56
i=82 Num=90
i=83 Num=32
i=84 Num=66
i=85 Num=13
i=86 Num=82
i=87 Num=59
i=88 Num=67
i=89 Num=39
i=90 Num=66
というような感じで所々ほとどんど同じような数値ばっかり吐き出して使いものになりません
もっと数値を極端にばらつかせる良い方法ってないでしょうか?

676 :Now_loading...774KB:2006/06/05(月) 23:41:41 ID:RIUTW5Ko
二つランダム値出して一桁目と二桁目に割り当てれば
少しはマシになるんじゃ?やってないから分からないけど。

677 :Now_loading...774KB:2006/06/06(火) 00:16:27 ID:b8cDAwQR
>>675
試しにやってみたけど、たまたまじゃないの?

var count:Array = new Array();
var rnd:Number;
var i:Number;
for(i=0; i<100000; i++){
rnd = Math.floor(Math.random()*100);
count[rnd] = count[rnd] ? count[rnd]+1 : 1;
}
for(var i=0; i<count.length; i++){
trace("count["+i+"] = "+count[i]);
}

678 :Now_loading...774KB:2006/06/06(火) 00:27:20 ID:6wXGfguT
>>675
乱数っても乱数表に従って決まった値を出すだけだからねぇ
文句があるなら自力で乱数作る関数作れば?

679 :Now_loading...774KB:2006/06/06(火) 00:28:12 ID:VEcwqQix
>>675
>所々ほとどんど同じような数値ばっかり吐き出して
確率的に考えて、それが普通

680 :662:2006/06/06(火) 01:03:14 ID:cUfP6Q4c
>>667

その上を転がしたりするので 角度の計算などもしないといけないので
普通のhittest では実現できないんです

681 :Now_loading...774KB:2006/06/06(火) 02:49:52 ID:sVnDRbeY
>>680
ベクトルでのあたり判定自分で書いてるじゃん。それでできるでしょ。
hitTestの場合はshapeと座標で判定すればいいし。

682 :Now_loading...774KB:2006/06/06(火) 03:16:21 ID:cUfP6Q4c
>>681

このままだと 指定した座標を通る無限の線との判定になっちゃうんですよ
座標間だけの判定を取りたいんです

683 :Now_loading...774KB:2006/06/06(火) 03:23:28 ID:sVnDRbeY
>>682
MCのx座標(段々があるようならxy座標)の範囲によって、判定する
ルーチンを変えるとか。いずれにしても、複雑だから、ちゃんと
紙に書いて設計しないとぐちゃぐちゃになっちゃうよ。

684 :Now_loading...774KB:2006/06/07(水) 08:32:33 ID:PzvWE/Nk
>>675
お前がサイコロを100回振ったとする。
同じ面が連続して出ることがあるのは仕様だろ?それが確率というもの。

連続して出されたくないなら、自分で工夫するしかない。

685 :Now_loading...774KB:2006/06/07(水) 09:13:16 ID:bjzh7Ieg
>>675
生成された乱数を100倍して切り捨てたら本来の確率とは違うものになるってことは分かるよね?
目的が「1〜100までの数値が“同じ出現率”で“ある範囲に含まれる数値の差異がある閾値以上”である」ならば、一般的な乱数表を元にしては実現できない
自分でそれを満たす乱数表を生成し、その乱数表の選択にのみ組み込みの乱数を使用することをお勧めする
これは厳密な乱数を求めるシステムでは当たり前の手段です

686 :Now_loading...774KB:2006/06/07(水) 14:13:03 ID:0YoBjBt3
コインを10回投げました。表が○、裏が●です。

A:○●●●○○●○●○

B:○●○●○●○●○●

AとBどちらのほうが確率が高いでしょう。直感で答えてください。
とか書いてみたけど実はあまり関係ない

687 :Now_loading...774KB:2006/06/07(水) 15:46:34 ID:8OE/vnLl
何の確率

688 :Now_loading...774KB:2006/06/07(水) 16:17:33 ID:aCVxjikP
一週間我慢して無声する確立

689 :Now_loading...774KB:2006/06/07(水) 16:36:07 ID:47t767Z1
まれにだが、「コインは直立することもある」が抜けている。
サイコロも角で立つこともある。たぶん。

690 :Now_loading...774KB:2006/06/07(水) 16:46:45 ID:0p1j1YEH
地図上にアイコンを置き、そのアイコンの上にマウスカーソルを乗せるだけで
そのアイコンの説明をポップアップで出せるようにしたいのですが、
どのように書けばいいのでしょうか?

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

691 :Now_loading...774KB:2006/06/07(水) 16:49:17 ID:0p1j1YEH
>>690
すみません。
書き忘れました。

環境は
Windows XP
FlashMX
です。

692 :Now_loading...774KB:2006/06/07(水) 17:10:24 ID:61ltToMA
>>690
アイコンをボタンにすれば?
ボタンのオーバーフレームにポップアップを配置
ASでやりたいなら
ターゲット.onRollOver=function(){
//ここにポップアップ表示用のコード
}
必要ならアウト時の動作も設定

693 :Now_loading...774KB:2006/06/07(水) 17:39:36 ID:0p1j1YEH
>>692
ありがとうございます。
アイコンをボタンにするやり方でできました。

ASでやりたかったのですが、何故か上手くいきません。
うーん
ここで質問するには早すぎたかな・・・・・

694 :Now_loading...774KB:2006/06/08(木) 00:20:54 ID:gj0H5FRh
>>689
どちらも絶対に無い。

>>693
ASでやるならMCにする。

695 :Now_loading...774KB:2006/06/08(木) 00:33:07 ID:6fK+EC8w
>>694の中でコインはどうゆう形で認識されているのか知りたい

696 :Now_loading...774KB:2006/06/08(木) 00:40:51 ID:BDgzfp33
>>694
静かにやればコインは立つよな
つまり、コインは立つ可能性がある物体ってことだ
「コインを10回投げました」にコインが立つことを否定する要素が無い以上、立つ可能性は排除できない
ただし、>>695の言うように「コイン」という物体への認識が違っている可能性は否めない
私は「コイン」と言われるとクオータ(25¢)をイメージするが、>>694は違うのかもしれない

サイコロが角で立つかは非常に難しいところ
まずは立つことを証明する必要がある
手元に6面ダイスがあったから挑戦してみたが、ほぼ水平な机の上ではどうやっても立たなかった
私の認識では「ほぼ無理」と結論付ける

697 :Now_loading...774KB:2006/06/08(木) 00:58:49 ID:gj0H5FRh
>>695 >>696
>>694で言ったのはなんていうか「数学で言う確率」では起こらないってことね。
なんか乱数の話してたから。
そりゃ実際やれば直立することもあるし、転がってどっかに行ってしまうこともあるし、
何かに挟まって斜めになることもある。

698 :Now_loading...774KB:2006/06/08(木) 01:55:25 ID:lO1lbGW4
各々のフレームにいる場所で、アクションを変更したいのですが
どうするばいいでしょうか?

例えば、現フレームが、10フレームにいるのならば、
何々を実行するという、スクリプトは、シンボルにどうかけばいいのでしょか?

よろしくおねがいします

699 :Now_loading...774KB:2006/06/08(木) 02:16:20 ID:gj0H5FRh
>>698
_currentframe で現在いるフレームがわかるから
ifかswitchで場合分けする。

700 :Now_loading...774KB:2006/06/08(木) 07:15:03 ID:9nAUvCRa
>>698
各々のフレームにASかけばいいんじゃね

701 :Now_loading...774KB:2006/06/08(木) 19:58:08 ID:Hygo/0X2
>>698
普通に>>700の方法でやればいいだろwそれとも何か特別なことしたいの?
call()使うとか方法はあるかもしれないけど、目的が想像つかない。

702 :Now_loading...774KB:2006/06/09(金) 03:07:22 ID:P6t3Qkuc
FlashLite(FLASH4相当)の環境は、swapDepthsが使えないのですが、
インスタンスの深度変更はこの環境で実現不可能なのでしょうか?

703 :ミニジャン ◆HRb9814S6k :2006/06/09(金) 19:51:03 ID:cQZq3jQM
TOPページにFLASH音楽を流したいんですが、ボタンで[サウンド停止]を押したあと、
また再生できるようにするにはどうすればいいでしょうか?


704 :Now_loading...774KB:2006/06/09(金) 19:56:28 ID:wCo0hYUl
[サウンド再生]を押す 

705 :ミニジャン ◆HRb9814S6k :2006/06/09(金) 22:49:22 ID:cQZq3jQM
>>704あのーやってみたらメニューにないんですケド…

706 :Now_loading...774KB:2006/06/09(金) 22:57:40 ID:O6HSYIje
>>705
何のメニューだよ
そもそもお前は何を質問している?
このスレが何のスレか理解しているのか?

707 :Now_loading...774KB:2006/06/09(金) 22:57:41 ID:7YxUTE+3
ボタンにマウスを乗せてる間、徐々にMC『Clip_a』の色を薄くしたいと思います。
Clip_aのタイムラインの1フレームに

function c_Change(){
_alpha -=5;
}

と書いて、rootのボタンに
on(rollOver){
_root.Clip_a.c_Change();
}

としました。

これだと乗せた一瞬だけ-5だけアルファが下がり、また再度乗せないと
それ以上下がりません。
乗せているだけで徐々にアルファを下げて0にするにはどうすいれば
良いのでしょうか?

よろしくご教授ねがいます。


FlashMX
windows XP

708 :Now_loading...774KB:2006/06/09(金) 23:31:02 ID:7OiFWOau
>>707
こんな感じ?

function c_Change(){
this.onEnterFrame = function() {
if(this._alpha != 0){
this._alpha -=5;
} else {
delete this.onEnterFrame;
}
}
}

動作未確認な上に、王道なのかどうなのか分からんけど。

709 :708:2006/06/09(金) 23:42:11 ID:7OiFWOau
>>707
くせでthis書いたけど、全部取っても動くネ。

710 :Now_loading...774KB:2006/06/09(金) 23:43:49 ID:7YxUTE+3
>>708
ありがとうございます!
出来ました!
でも、なぜコレでそーなるのかが解らないです(T T)
という事は自力では絶対ムリだったって事で、勉強しないとダメですね。

711 :708:2006/06/09(金) 23:46:04 ID:7OiFWOau
連続投稿スマソ。
if文とこ _alpha >= 0 でないとEnterFrame消えヌ。

712 :708:2006/06/09(金) 23:50:32 ID:7OiFWOau
ttp://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002490.html
onEnterFrameをちゃんとdeleteしないと、エライ事になるので。

713 :Now_loading...774KB:2006/06/09(金) 23:58:15 ID:7YxUTE+3
>>711
ありがとうございます
alphaが0になってしまえば、残ってても問題ないように感じてしまいますが
それでは問題が起きてしまうのですか?

714 :708:2006/06/10(土) 00:10:53 ID:7MBzMNUp
>>713
自分も勉強中の身なもんで。
5づつマイナスしてるから「!=0」でいいかと思ったけど
アルファ値をtraceすると整数ではなかったから。

onEnterFrameは用が済んだら都度削除するようにしないと
永遠に処理を繰り返すから(この場合は見た目は変化ないけどアルファを-5し続ける)。
onEnterFrameが1つだけなら影響はあんまり無いけど、複数あって
全部消さずに処理すると激重になって割りとスペックの低いマシンでは動きが遅くなる→最悪フリーズする事も。

試しに(どこでもいいけど)「_alpha -= 5;」の下にでも「trace(_alpha);」を追加してみると分かるかと。



で、いいんでしょうか?ここに住んでる皆様。

715 :Now_loading...774KB:2006/06/10(土) 01:09:51 ID:1aI4+sPx
//俺だったら、enterFrameを定義したり消したりすんのがめんどうっていうのと、ロールオーバーとかロールアウトが拾ってもらえないことがあるのが嫌なので
//とりあえず、当該MC(alphaを0にしたいMCね)を"test_mc"
//マウスを乗せるボタンを"hit_mc"(ASで扱うときはボタンだとメンドイのでMCにしちゃって)
//と、して
_root.onEnterFrame=function(){
if(hit_mc.hitTest(_root._xmouse,_root._ymouse){
test_mc._alpha-=5;
}
}
//で済ましちゃうな

716 :Now_loading...774KB:2006/06/10(土) 01:10:41 ID:1aI4+sPx
//あ括弧が足りない ごめん
_root.onEnterFrame=function(){
if(hit_mc.hitTest(_root._xmouse,_root._ymouse)){
test_mc._alpha-=5;
}
}

717 :Now_loading...774KB:2006/06/10(土) 01:58:40 ID:jQ/LHSnQ
>>716
>enterFrameを定義したり消したりすんのがめんどう
っていうか、onEnterFrameつかってるじゃん。それonEnterFrame=nullで消さないと。
そもそも>707がやりたいのはボタンにマウスがのっているときであってMCにのっかっているときじゃないけどね

718 :Now_loading...774KB:2006/06/10(土) 08:45:21 ID:LeBuqrAN
707です
とても勉強になりました
ありがとう

719 :Now_loading...774KB:2006/06/10(土) 11:18:58 ID:yBaGGksJ
>>717
「定義したり消したりするのが面倒」の意味解らんのか?
しかもマウスとボタンについては
>//マウスを乗せるボタンを"hit_mc"(ASで扱うときはボタンだとメンドイのでMCにしちゃって)
とわざわざコメントアウトして書いてあるやん
何的外れな揚げ足取りばっかしてんだあんた
しかも"=null"では消えないよ。消すならdelete。

720 :Now_loading...774KB:2006/06/10(土) 11:22:16 ID:4XVI9FVF
>>719
なんで=nullで消えないの?詳細キボンヌ。

721 :Now_loading...774KB:2006/06/10(土) 11:31:16 ID:DG8VyUpi
いつもお世話になっております。
配列をevalでエミュレートしたいのですが、どうすれば良いのでしょうか?
例えば、my_array=[1,2,3]を、evalを用いてあらわしたいのです。
どなたか分かる方、お願い致します。

722 :717:2006/06/10(土) 12:43:22 ID:UriXP+c5
>>719
別に揚げ足とるつもりで書いたわけじゃない。ごめんなさい。
>マウスを乗せるボタンを"hit_mc"として
ってとこは思いっきり見落としてました。それで、
>「定義したり消したりするのが面倒」の意味解らんのか?
の意味がマジでわからない。

723 :Now_loading...774KB:2006/06/10(土) 14:55:28 ID:aHGIM/Gl
初心者です。マウスカーソルを持っていくとメニューボタンが伸び縮みするナビゲーションを作りたいのですが、
本に載っているサンプルだと横方向のしかありません。
たとえば横5列縦5列とか上下左右にも伸び縮みするものを作りたいのですが、ActionScriptを書き換えると出来そうな気がするのですが、うまくいきません。
誰かわかりませんでしょうか。よろしくお願いします。
メニューの生成部分のスクリプトはこうなってます。

// メニューの生成
for(i=1; i<=menuNum; i++){
this.attachMovie("menu_btn", "menu"+i, i);
this["menu"+i]._x = -(menuWid*menuNum+Space*(menuNum-1))/2+(menuWid+Space)*(i-1);
}
setMenuAction();

// メニューの配置
this.onEnterFrame = function(){
wid = 0;
for(i=1; i<=menuNum; i++){
wid += menuWid*(this["menu"+i]._xscale/100);
}
wid += Space*(menuNum-1);
menu1._x = -wid/2;
for(i=2; i<=menuNum; i++){
this["menu"+i]._x = this["menu"+(i-1)]._x+menuWid*(this["menu"+(i-1)]._xscale/100)

+Space;
}
};

724 :Now_loading...774KB:2006/06/10(土) 15:40:05 ID:yLyzBPYN
>>720
動作しなくなるけど存在がなくなるわけじゃないみたい。
onReleaseとかだと分かりやすいよ。
たとえば適当なMCに

onClipEvent (load) {
this.onRelease = function()
{
trace("押された!");
};
//
//×this.onReleaseで定義した内容は
// 実行されないがハンドカーソルは表示する
//
//○何も実行されないしハンドカーソルも表示しない
this.onRelease = null;//×
this.onRelease = undefined;//×
delete this.onRelease;//○
}

とか書いてみて最後の3行をそれぞれ試してみると分かるかも。
中身のない状態のonEnterFrameを裏で繰り返されるのも気持ち悪い
ので、できるだけdeleteで消しましょう、ってことでしょう。



725 :Now_loading...774KB:2006/06/10(土) 15:41:44 ID:yLyzBPYN
>>722
>>715のやり方なら全部のボタンのロールオーバーとかロールアウトを
_rootのonEnterFrameが監視するので定義するのも全体で1回で済むとか
そんな話のような気がする。hitTestで判定する場合はonRollOverなんかと
ちがって毎回trueが帰ってくるのでその動作の違いに注意が必要だね。

>>721
this.eval("my_array") = [ 1 , 2 , 3 ];
って書いたら
>代入演算子の左側は、変数またはプロパティでなければなりません。
とか怒られるってことなら
this["my_array"] = [ 1 , 2 , 3 ];
とすれば怒られないと思うけど。
ごめん、あんまりやりたいことが理解できなかった。

>>723
その、"本に載っているサンプル"を全部見せてくれた方が話が早そうなきがする

726 :Now_loading...774KB:2006/06/10(土) 15:53:19 ID:4XVI9FVF
>>724
ハンドカーソルてのがよくわかりません。普通の矢印カーソルのこと?
onEnterFrameイベントは常に起きていて、そのハンドラの関数参照をnullにする
と思うんだが。参照をはずされたインスタンスはGC対象になるから
どれも同等(消される)だと思うけど。

727 :Now_loading...774KB:2006/06/10(土) 16:11:40 ID:yLyzBPYN
ボタンにカーソル乗っけたときの手の形のuseHandCursorで消せるアレ。
ボタンイベントの場合はnullやundefinedを代入してもボタンとしての反応は消えない。
やっぱりdeleteで消すときとnullやundefinedを代入したときは違う結果になると思う。

>onEnterFrameイベントは常に起きていて
たしかにそうなんだけど、onReleaseなんかのボタンイベントでは使えない方法を
わざわざ使い続ける意味はないと思うなあ。
onEnterFrameがすでにそのMCに存在しているか調べるときにも困ると思うし。

728 :Now_loading...774KB:2006/06/10(土) 16:17:00 ID:4XVI9FVF
なんかごちゃになってるみたいだけど、MCやボタンインスタンス自体を消すのではなく、
delete onEnterFrameの話だと思ってた。
delete onEnterFrame
onEnterframe = null
onEnterFrame = undefined
は同等だよと言いたかったんでし。

729 :Now_loading...774KB:2006/06/10(土) 16:31:27 ID:M0uUeyWC
deleteしないと、onEnterFrameのスコープが残るんじゃなかった?
スコープパス分のメモリの違いだね。

730 :Now_loading...774KB:2006/06/10(土) 16:57:24 ID:aHGIM/Gl
723です。
本はMdNからでている北川高清著「ネタ帳ビギナーズFLASHテンプレート集」でP88の
ナビゲーション5のものです。

同じようなサンプルは調べた限りでは大塚勝三著「Flash ActionScript Handbook 4thEdition」の
P194のドックスタイルメニューと
大重美幸著「macromedia FLASH ActionScript スーパーサンプル集」のP280
カーソルに近いボタンほど大きくなるバーです。

自分的には最初の本のスクリプトが書き換え易そうな気がしたので
723のスクリプトはそれです。

731 :727:2006/06/10(土) 17:17:27 ID:q5jE2N8c
俺も説明がヘタクソでごめん(´・ω・`)
onEnterframe = null
onEnterFrame = undefined
よりは
delete使った方がいいんじゃないかしらと言いたかったんだ。

732 :Now_loading...774KB:2006/06/10(土) 17:26:16 ID:k4OUVlDZ
onEnterFrame = function(){};がいい

733 :Now_loading...774KB:2006/06/10(土) 19:12:04 ID:YjuqPZ1C
こちらのサイトのように
ttp://www.subaru.co.jp/forester/special/

ウィンドウをリサイズしてもMCが再配置されるようにしたいんですが
途中までやってみたんですがうまくいきません。
どなたか教えていただけますでしょうか

ソースは次にはっておきます

734 :733:2006/06/10(土) 19:14:03 ID:YjuqPZ1C
Stage.scaleMode = "noScale";
if(Stage.width>480){
this.onResize = function(){
move1();move2();move3();move4();move5();
}
}
//_rootをステージリスナーに登録
Stage.addListener(_root);
function move1(){
this.logo._x=10;
this.logo._y=10;
}
function move2(){
this.bNav._x=10;
this.bNav._y=10;
}
function move3(){
this.gNav._x=Stage.width/2-this.gNav._width/2;
this.gNav._y=Stage.height;
}
function move4(){
this.footer._x=Stage.width;
this.footer._y=Stage.height;
}
function move5(){
this.copyRight._x=Stage.width - this.copyRight._width;
this.copyRight._y=Stage.height - this.copyRight._height;
}
move1();move2();move3();move4();move5();

735 :Now_loading...774KB:2006/06/10(土) 21:25:09 ID:62MBamJF
| ̄ ̄|
|_| ̄ ̄|                  
 ...|    |
   ̄ ̄  
読み込み重ねて表示したあと、


| ̄ ̄|
|__|
クリックで削除



というふうに、loadMovieで指定したシンボルにswfを読み込んだ後、クリックでそのswfを非表示にすることはできますか?

736 :Now_loading...774KB:2006/06/10(土) 21:30:54 ID:xxgbvo8x
>>735
しこすーはシンキングしてYO!

737 :Now_loading...774KB:2006/06/10(土) 23:03:32 ID:aHGIM/Gl
723です。
雰囲気的にはこのサイト↓

ttp://www.jc-online.com/jc/thestore/index.htm

のようなボタンを作りたかったのですが、
やっぱり難しいかな。
もうちょっと勉強して出直します。

738 :Now_loading...774KB:2006/06/10(土) 23:32:20 ID:M0uUeyWC
>>733-734
最初の部分を下のに替えてみて。

Stage.scaleMode = "noScale";
Stage.align = "LT";
this.onResize = function(){
if(Stage.width>480){
move1();move2();move3();move4();move5();
}
}

>>735
loadMovieしたmovieclipをmcとすると、
mc.onPress = function(){this._visible=false};

739 :Now_loading...774KB:2006/06/11(日) 00:06:58 ID:1Vp4Bw+w
>>737
組むの面倒なので概要だけ。

1. まず最初に2次元配列でMCのパス一覧を作る
2. メニューひとつの幅、高さを1の列と行に対し、均等に振り分ける関数を作る。
  この関数の引数には拡大する行と列のidを持たせる。
  計算としては、拡大個所の幅、高さを全体の幅、高さから引き、
  残った値を行-1と列-1で割り、その値を入れる。
  その際に元の幅、高さとの差分を、指定行、列より未満なら位置から減算、
  指定行、列より以降なら位置に加算で多分いけるかな。
  ※位置は幅、高さが均等な集まりなら、
  元の位置を記憶しておかなくとも、行数x高さ、列数x幅で求められる。

以上かな。}

740 :Now_loading...774KB:2006/06/11(日) 02:38:27 ID:ITQDHO13
>>739
ありがとうございます。
でも自分にはやっぱりハードル高すぎ・・・。
甘えるなと言われるかもしれませんが、
やっぱりスクリプトで頂けないでしょうか。

741 :Now_loading...774KB:2006/06/11(日) 03:00:08 ID:erQ72jEm
( ゚д゚)

742 :Now_loading...774KB:2006/06/11(日) 04:02:06 ID:CXc2dFgA
( ゚д゚ )

743 :Now_loading...774KB:2006/06/11(日) 04:06:27 ID:3X4JS3O0
(゚д゚ )

744 :Now_loading...774KB:2006/06/11(日) 10:28:42 ID:M4UTtVhO
>>740
7倍ハゲろ

745 :Now_loading...774KB:2006/06/11(日) 10:53:56 ID:L8NdmR5v
MX2004、Win2000です。
外部SWFを読み込んで、そのステージのサイズ(高さ)を取得したいのですが、何かいい方法はありますか?

loadMovieで読み込んだシンボルにhogeと名前を付けて、
trace( hoge.Stage.height )
の結果はundefinedでした。

hoge._heightだと、ステージの高さではなく、たとえマスクで隠れていても、ステージからはみ出した分が含まれてしまいます。

読み込まれる側にはスクリプトは記述できません。
なんとかならないもんですか?

746 :Now_loading...774KB:2006/06/11(日) 11:23:32 ID:YI4bRiaM
ならない

747 :Now_loading...774KB:2006/06/11(日) 11:30:15 ID:L8NdmR5v
ソウディスカ。
どうもありがとうございました。

748 :708:2006/06/11(日) 12:28:28 ID:Vc63j9i9
知らん間に盛り上がってたのね。
>>715
これイイ!
onEnterFrameの使い方をつい1ヶ月前に覚えたばっかりなんで勉強なりました。
ありがd。


で、ひとつ質問デス。
_root.onEnterFrame(){
だと、onEnterFrameは消えないというか、永遠にifを評価し続けるって事ですよね?
ifがflaseになるから実際には何もしないけど
例えば、同じ処理の場合は使いまわすとして、処理内容の違うonEnterFrameが複数あった場合
全部評価し続ける事になると、負荷が高くなったりしない?気にするほどでもない程度?
いつもEnterFrameを使う時は、余計な事しないようにdeleteするか、条件分岐を入れてるけど
ひとつのEnterFrameでif文とかがいっぱいになったりすると、用がないときは全部falseになっても
その評価だけで負荷は高くなったりするんかな〜と疑問だったので。

749 :Now_loading...774KB:2006/06/11(日) 13:25:36 ID:ITQDHO13
>>739
すいません、
メニューひとつの幅、高さを1の列と行に対し、均等に振り分ける関数の作り方が
わからないんですが、この部分だけでも詳しく教えていただけないでしょうか。

750 :Now_loading...774KB:2006/06/11(日) 13:31:14 ID:/jD2d8ov
>>749
割り算もできんのかおまいは。あきらめろ。

751 :Now_loading...774KB:2006/06/11(日) 13:44:23 ID:/jD2d8ov
>>748
10万回のif文に要する時間を考えてみそ

752 :Now_loading...774KB:2006/06/11(日) 14:44:11 ID:EMrC9wT0
環境;MX2004pro WinXP
質問;
配列をシャッフルするとき、FLASH5以上なら、
my_array = new Array("a","b","c","d","e");
for (i=10;i<50;i++){
n1=Math.floor(Math.random()*my_array.length);
n2=Math.floor(Math.random()*my_array.length);
wait=my_array[n1];
my_array[n1]=my_array[n2];
my_array[n2]=wait;
}
と出来ると思うのですが、調べていく内に、FLASH4相当であるFlashLite1.1では、
配列が使えないことが分かりました。しかし、FLASH5が出る以前は別の方法で実現
していたそうなのですが、それが分かりません。上のスクリプトと同じことを
FLASH4ベースで実現するには、どうすれば良いのでしょうか?
専門家の方お知恵貸してください。

753 :Now_loading...774KB:2006/06/11(日) 14:58:12 ID:G6zsewop
>>752
そんなことより、そのシャッフルのやり方は絶対にやめなさい
http://pc8.2ch.net/test/read.cgi/hp/1148807484/
最近このスレでも同じような話題があった

754 :Now_loading...774KB:2006/06/11(日) 15:07:59 ID:EMrC9wT0
>>753
アドバイスどうもです。なんか致命的な所があるみたいですね…。
とりあえず、シャッフルの正確性にはこだわらないので、Flash4相当で
実現できればよいと考えています。どなたか宜しくお願い致します。


755 :Now_loading...774KB:2006/06/11(日) 15:23:44 ID:/jD2d8ov
>>754
やりたいのは5枚あるカードをランダムで引いていく、でいいのか?

756 :Now_loading...774KB:2006/06/11(日) 15:31:52 ID:JLcSQyzv
>>745
読まれる側のステージサイズやマスクに使ってるMCの名前が分からなければ>>746の言うとおり
どうしようもならないかもしれないね。分かったところでMath.minでステージサイズを超えないように
する程度しか出来ないかもしれないし。

>>748
結果がfalseでも判定は行ってるんだから何もかかれていない時と負荷が変わらないっていう
ことはないんじゃない?「気にする程度か」っていう話になると、規模の問題だとおもう。
そこを気にするなららそれと一緒に その処理がほんとに毎フレームごとに実行される必要が
あるのか って事から考え直す必要もありそうだしねえ。

>>752
>>753が示してくれたスレは見た?>>264あたりだと思うんだけど、これなら文字列の長ささえ
どうにかして知ることが出来てれば配列を使わなくても文字列で実現できると思うよ。

757 :Now_loading...774KB:2006/06/11(日) 15:37:18 ID:EMrC9wT0
>>755
はい、その通りです。試しに

rArray0="a";
rArray1="b";
rArray2="c";
rArray3="d";
rArray4="e";
for(i=0;i<20;i++){
n1=Math.floor(Math.random()*5);
n2=Math.floor(Math.random()*5);
wait=rArray[n1];
rArray[n1]=rArray[n2];
rArray[n2]=wait;
}
trace(rArray0);

としてみましたが、aしか返って来ませんでした。


758 :Now_loading...774KB:2006/06/11(日) 15:46:10 ID:JLcSQyzv
>>757
それだと最初に定義した
"rArray0"っていう名前の変数の中身が帰ってくるだけだw
rArray の 0 番目なら rArray[0] って書かないと。
で、配列の使えないFlashLiteだけどMCの中身には配列のようにアクセスできるので、
rArray=new Array();
する代わりにステージ上にrArrayという名前のMCを予め配置しておけば、

rArray[0] = "a";
rArray[1] = "b";
rArray[2] = "c";
rArray[3] = "d";
rArray[4] = "e";
for (i = 0; i < 20; i++)
{
n1 = random(5);
n2 = random(5);
wait = rArray[n1];
rArray[n1] = rArray[n2];
rArray[n2] = wait;
}
trace(rArray[0]);

これでも動くね。

759 :735:2006/06/11(日) 17:51:05 ID:mSvbhG5Y
>>736
指定法がわからなかったんです

>>738
mcに記述するのでしょうか?

760 :Now_loading...774KB:2006/06/11(日) 21:20:05 ID:YsAVt27K
>>748
_root.onEnterFrame=function(){
if(hit_mc.hitTest(_root._xmouse,_root._ymouse){
test_mc._alpha-=5;
if(test_mc._alpha<=5){
delete _root.onEnterFrame;
}
}
}

761 :Now_loading...774KB:2006/06/12(月) 00:41:50 ID:WA9IdQS2
MXを使ってます。
外部ファイル(jpg)を読み込み
ランダムに表示するようにしたいのですが
特定のフォルダに入っているファイル数をカウントする関数はあるのでしょうか?



762 :Now_loading...774KB:2006/06/12(月) 03:56:39 ID:Xhh8yqFJ
>>761
ない。PHPとか外のなにかにお願いするほかないとおもう。
連番であれば順番に読んでいってloadMovieが失敗した時点で
読み込むのをやめるという手はあると思うけど、あんまりよくないよね。

763 :Now_loading...774KB:2006/06/12(月) 10:35:43 ID:dRuxIGxi
文字列(半角英数)を「名前をつけて保存」したり、それを読み込んだりするにはswf単体じゃ無理ですよね?
soで擬似的にやればいいんでしょうけど、txtファイルで持ち運びしたいので。
JavaScriptを使って力技で何とか出来るのならそれでもいいんですけど、スレ違いと言われてしまうと悲しい。

764 :Now_loading...774KB:2006/06/12(月) 10:39:42 ID:dRuxIGxi
ageてしまった、大変申し訳ない。。。

環境はFlash8の体験版でした。
文字列は棋譜みたいなものです。

765 :Now_loading...774KB:2006/06/12(月) 11:37:51 ID:HQnHj2tU
>>763
PHPなりCGIなり外の何かでhttp鯖に保存しておく

766 :Now_loading...774KB:2006/06/12(月) 12:46:17 ID:dRuxIGxi
>>765
ごめんなさい、ローカル保存したかったんですがセキュリティに的に無理でしょうか?


767 :Now_loading...774KB:2006/06/12(月) 12:51:49 ID:oq1kGuNG
無理

768 :Now_loading...774KB:2006/06/12(月) 13:32:55 ID:dRuxIGxi
ホントに無理かなぁ
VBscriptを使えばできそうな気がしてきたんだけど、やったことある人いないもんかね。

769 :Now_loading...774KB:2006/06/12(月) 13:42:38 ID:l21mFvUw
swf単体じゃ無理だよね。
MMsaveとかもつかえなくなったし。

770 :Now_loading...774KB:2006/06/12(月) 14:11:48 ID:R7DWMH4n
>>768
しつこい。レス無視してうだうだ言うなら、adobeに電話して聞け。
そうすれば納得できるだろ。

771 :Now_loading...774KB:2006/06/12(月) 18:42:02 ID:dRuxIGxi
>>770
ありがとう、御陰様で保存出来るようになりました。
こんなスレで聞くより自力で頑張れって事ですね。

772 :Now_loading...774KB:2006/06/12(月) 19:15:54 ID:HQnHj2tU
Adobeの方が頑張れ

773 :Now_loading...774KB:2006/06/12(月) 20:09:40 ID:cI1+b+U9
>>771
どうやって保存したのか教えてくれ
SharedObjectとかViewStateとかCookieとか言わないでくれ
まさか完全にローカル実行ってことでFileSystemObjectってオチじゃないよな

774 :Now_loading...774KB:2006/06/12(月) 20:14:46 ID:cI1+b+U9
一応マジレス

IEなどActiveXを使用できるブラウザならFileSystemObjectとTextStreamを使うことでテキストファイルの入出力が可能
ただしセキュリティの問題があるため、インターネットゾーンにあるスクリプトからは行えない
完全にそのサイトを信頼してもらうか、HTML Applicationなどローカル環境での動作である必要がある

まとめると、以下を満たすなら可能
・ActiveXを使用できるブラウザで実行すること(事実上IEとIEコンポーネントを使うブラウザだけ)
・そのページのあるサイトが信頼されていると、もしくはHTML Applicationなどの完全に信頼されたローカルの環境であること
・スクリプトの実行が許可されていること

最近のWindowsならコモンダイアログが使えたりするから、ダイアログも表示できる場合がある

775 :Now_loading...774KB:2006/06/13(火) 02:19:15 ID:o3xEJMXp
すいません、ちょっと質問なんですが、
今までFLASH MXしか使ったことないのに、
ActionScript 2.0での仕事を頼まれて困ってます。

具体的な内容はわからないんですが、
XMLやloadVarsオブジェクトを使ってオブジェクト指向に準拠して開発してほしいと言われました。

自分の今のスキルは
・ActionScript 1.0のみ
・オブジェクト指向→最初は守ってたけど他にファイル触る人がいないので無視むし。
・XMLやloadVarsオブジェクト→使ったことない
・loadVariablesやloadMovie、SharedObjectなどは普通に使える
・プログラム自体のスキルはphpやcgiで普通に簡単な掲示板とか作れる程度。

です。
一番不安なのがActionScript 2.0ってのを使ったことがないってことなんですが、
全然違うもんなんでしょうか…。
仕事の内容がわからないことには何も言いようがないとは思いますが、
なんでも結構なのでよろしかったらアドバイスなど頂けたらと、、、

776 :Now_loading...774KB:2006/06/13(火) 02:40:21 ID:UVKUMHnD
>>775
つまりAS2.0で書いてソース自体を納品するということか?

型指定ちゃんとしてカスタムクラスを外部に作ればおk

777 :Now_loading...774KB:2006/06/13(火) 02:58:13 ID:dSCwk0pI
初歩のしつもんですみません。
myLoadVars.mailaddr = "abcdefg.hij@xxx.xxxxx";
_root.mailaddress.text = substring("myLoadVars.mailaddr",(myLoadVars.mailaddr.indexOf(".")),3);

のようにすると
_root.mailaddressに「Var」が代入されてしまいます。
hijを抜き出したいのですがどうしたら良いでしょうか?

778 :Now_loading...774KB:2006/06/13(火) 03:04:29 ID:10F8OBKc
substring("myLoadVars.mailaddr",(

"myLoadVars.mailaddr"
の""
はずして
myLoadVars.mailaddr
にすればいいんじゃないの?

779 :Now_loading...774KB:2006/06/13(火) 03:05:28 ID:10F8OBKc
あとドットシンタックスなのにsubstringじゃなくていいんじゃない?

780 :Now_loading...774KB:2006/06/13(火) 03:06:56 ID:o3xEJMXp
>>776
> つまりAS2.0で書いてソース自体を納品するということか?

いえ、関連会社のFLASH部署に回されそうなんです。
間もなく異動なんですが、忙しい部署みたいなんで、
自分が使い物にならなかったらどうしようかと…。
今ならまだ断れるので聞いてみました。

型指定?カスタムクラス?ひえええ、全然わからない…
なんか1.0→2.0の比較みたいなウェブサイトがあればいいんですが、
あとオススメの本とかも。
なにしろ上野亨さんって人の昔出た黄色い本しか持ってないもんで

781 :Now_loading...774KB:2006/06/13(火) 03:30:01 ID:RiEOCHrh
>>777
substrでやったらどうだろう?
.から@の文字数可変ならこっちの方が良いんじゃないかな。
_root.mailaddress.text = myLoadVars.mailaddr.substr((myLoadVars.mailaddr.indexOf(".") + 1)
,myLoadVars.mailaddr.indexOf("@") - (myLoadVars.mailaddr.indexOf(".") + 1));

ドットの数すら可変って場合はこっち
_root.mailaddress.text = myLoadVars.mailaddr.substr((myLoadVars.mailaddr.lastIndexOf("."
,myLoadVars.mailaddr.indexOf("@")) + 1),myLoadVars.mailaddr.indexOf("@") - (myLoadVars
.mailaddr.lastIndexOf(".",myLoadVars.mailaddr.indexOf("@")) + 1));

両方一行。長すぎて書き込めないので改行してます。

782 :777:2006/06/13(火) 03:43:33 ID:dSCwk0pI
>>778
>>781
ありがとうございます。おっしゃるとおりでした。
_root.mailaddress.text = myLoadVars.mailaddr.substr((myLoadVars.mailaddr.indexOf(".") + 1),3);
でいけました。
例は固定数でしたが文字数可変ですのでサンプル助かります。

783 :Now_loading...774KB:2006/06/13(火) 14:04:03 ID:ewbUjAqe
Flash6からFlash8の間で座標関係のスクリプトの記述の仕方が変わりましたか?
Flash8でパブリッシュすると座標位置がずれるんですが。

784 :Now_loading...774KB:2006/06/13(火) 14:25:40 ID:ElLCCwdf
>>783
変数・関数名等の大文字と小文字が区別されるようになった
未定義の変数にいきなり++とかしてもundefinedのままになった、とか。
座標の取り方は以前のままだからもっと別のところでコケてるんじゃないかなー。

参考URL:
ttp://f-site.org/articles/2003/09/26164841.html
ttp://mamnag.org/prmx/flash/


785 :Now_loading...774KB:2006/06/13(火) 14:26:58 ID:BsTKcRbz
>>783
ビットマップが1dotほどならば、そういうこともあります。
Flash8パブから正常に直ったので。

786 :Now_loading...774KB:2006/06/13(火) 15:41:25 ID:ewbUjAqe
>>784,785
ありがとうございます。

>未定義の変数にいきなり++とかしても

これっぽいでけど、参考URLをもうちょっと見てみます。

787 :783:2006/06/13(火) 16:21:59 ID:ewbUjAqe
うーん、やっぱりよくわかんないですね。
このページの一番下のjamieMacdonald.zip のなかの.flaなんですが、Flash6でパブリッシュすると中央から旋回して円が出現します。
Flash8だと左上から出現で動きもおかしい。

ttp://friendsofed.infopop.net/2/OpenTopic?a=tpc&s=989094322&f=3953051263&m=289106381

788 :Now_loading...774KB:2006/06/13(火) 17:12:21 ID:ElLCCwdf
>>787
>>784に書いたことだらけだよ。よくみてみようよw
とりあえず大文字と小文字の扱いがばらばらすぎだよこれ。ちょっとひどい。
あと depth は最初に一回だけ適当な数値を定義してあげた方がいいとおもう。

789 :Now_loading...774KB:2006/06/13(火) 17:30:00 ID:WQNwa7qB
質問です。MovieClipLoaderで外部ファイルを呼び出して、自動的にリサイズするものを作っているのですが、
jpg,png,gif等は正しくサイズを取得できるのですが、swfの場合うまくいきません。
どうやら、オーサリング時に決めたステージのサイズではなく描画領域全体のサイズを取得しているっぽいです。
呼び出される側のステージのサイズを取得する方法ってありますか?


790 :Now_loading...774KB:2006/06/13(火) 17:38:32 ID:K4haoBbD
>>788
しーましぇん!
大文字と小文字よくみてませんでした。
depthは気づいたんですが、初期値を設定しても結果が変わらなかったんで…


791 :Now_loading...774KB:2006/06/13(火) 18:38:02 ID:bu/nlfcD
質問です。
みなさんクラス使ってますか?ASファイルがたくさんできませんか?
ボタン1個に対して1つのクラスはやりすぎでしょうか?

792 :Now_loading...774KB:2006/06/13(火) 19:13:55 ID:IgIEA9S1
使いまわせるものをクラスにするんじゃないのか

793 :Now_loading...774KB:2006/06/13(火) 19:43:13 ID:ElLCCwdf
俺も分業するときか使いまわすものしか外に出してないよ。
全部をasファイルにするのって時間かからない?

794 :Now_loading...774KB:2006/06/13(火) 20:13:42 ID:bu/nlfcD
>>792-793
そうですよね使いまわすのをクラスに、ですよね。
レスありがとうございます。

続けて質問で申し訳ないのですが
class GeneralBtn extends Button{
// コンストラクタ
function GeneralBtn(){
}
function onPress(){
trace("押された(・∀・)");
}
}
このようなクラスを作って、ライブラリのボタンシンボルにリンケージしたのですが
識別子[汎用ボタン]
AS 2.0クラス[GeneralBtn]
そのボタンをステージに配置しても動いてくれませんでした...orz
もしかしてボタンクラスの拡張はできないのでしょうか?

(ちなみにクラスの1行目を〜extend MovieClip{ にして
ライブラリのシンボルをMovieClipにしたところ動きました)


795 :Now_loading...774KB:2006/06/13(火) 20:18:04 ID:zSKMw1il
>>794
ムービークリップはムービークリップ以外には出来ないから、
ボタンシンボルに変換するのは無理じゃないかな。

796 :Now_loading...774KB:2006/06/13(火) 21:01:49 ID:GddX8MyA
>>794
やったことないんでよくわからんが、コンストラクタって空でいいんかな。
super();しなくても。

797 :Now_loading...774KB:2006/06/13(火) 22:00:46 ID:bu/nlfcD
>>795
そっかー。ムービークリップだけしか拡張できないのですね。
うすうすそんな気はしてました。
透明ボタンクラスつくりたかったんだけどなー…。

>>796
…super()?(知らない(・∀・;))

798 :Now_loading...774KB:2006/06/13(火) 22:53:34 ID:PTM0IXp+
Flash MX 2004を使用しています。
キーボードのボタンを3つ同時に押し場合だけMCを動かしたいのですが可能でしょうか?

799 :Now_loading...774KB:2006/06/13(火) 23:18:59 ID:N/DaA16n
>>798
キーボード依存で可能だったり可能じゃなかったりする。
同時に押下されたキー全てを正しく取得できないものがあるです。

800 :Now_loading...774KB:2006/06/13(火) 23:34:37 ID:jHTaGbW9
クリックした箇所に、ライブラリの指定したMCの中からランダムに、どれかひとつを表示する
ということをしたいのですが、どのようにすればいいのでしょうか

801 :Now_loading...774KB:2006/06/13(火) 23:48:41 ID://QaH4q0
>>800
attachMovie
Math.random

802 :Now_loading...774KB:2006/06/13(火) 23:58:41 ID:PTM0IXp+
>>800
素早いレスありがとうございます!
2つ同時は出来るのでそれでなんとかやってみます

803 :Now_loading...774KB:2006/06/14(水) 06:26:16 ID:QfTHfkNa
すいません、XMLから特定のノードの値をリターンさせるクラスを作ってみたんですが、
せっかくonLoadの中で変数「t」に入れた値が、onLoadから出ると無効になってしまってるようです。
きちんとreturnで返すにはどのように書いたらいいんでしょうか?

class hoge {
function hogeData(url:String) {
var t = "ほげほげ";
var hogeXML:XML = new XML();
hogeXML.load(url);
hogeXML.ignoreWhite = true;
hogeXML.onLoad = function(success:Boolean) {
if (success) {
var rootNode = this.firstChild;
t = rootNode.firstChild;
trace(t); //ここはちゃんとノードのテキストが入ってる
}
};
return (t);//返り値はなぜか最初の「ほげほげ」になってしまう
}
}

804 :Now_loading...774KB:2006/06/14(水) 06:54:39 ID:lQK+IFv3
>>803
if (success) {
var rootNode = this.firstChild;
t = rootNode.firstChild;
return(t)
}
でいいよ。その位置でreturnしてもまだloadイベント起きてないんじゃない?


805 :803:2006/06/14(水) 07:08:37 ID:QfTHfkNa
>>804
ああ、その位置でreturnするとなぜか返り値はunderfindになってしまうんです。
直前にtrace(t); するとちゃんとノードの値の文字列が入ってるにもかかわらず…。

一応書いておくと呼び元のソースはこんな感じです

var hogeObj:hoge = new hoge();
t = hogeObj.hogeData("test.xml");

806 :Now_loading...774KB:2006/06/14(水) 07:29:26 ID:lQK+IFv3
>>805
そっか。コールバックする仕組みを用意しないとだめだね。
処理が終わるまで同期して待ってるわけじゃないから、イベントが
発生したら値を返す仕組み。
それかあらかじめxmlファイルは読んでおくかどっちかかな。

いずれにしても、読み込みと値の取り出しは同期しないからその書き方だと無理だね。


807 :Now_loading...774KB:2006/06/14(水) 07:35:22 ID:ti4LFAqo
隠蔽されてるだけだと思われ

808 :Now_loading...774KB:2006/06/14(水) 07:51:52 ID:lQK+IFv3
>>805
最初に読み込む形だとこんなかな

class test {
private var _xml:XML
function test(uri) { _xml = new XML();_xml.load(uri);}
function hogeData() {
return (_xml.loaded) ? _xml.firstChild.firstChild : "まだ読み込みが完了していません";
}
}

としておいて、
var hogeObj:test = new test("test.xml"); //最初にxml読み込んで置く
で、読み込み確認後に
t = hogeObj.hogeData();

>>807
このケースは隠ぺいは関係ないよ


809 :Now_loading...774KB:2006/06/14(水) 07:55:30 ID:QfTHfkNa
>>806
>>807
すいません、情報小出しとかじゃないです、知りませんでした。
クラス使ったスクリプトに初挑戦中なもので。
普通にreturnで返せないんですねえ。

コンストラクタ関数?とかいうのを使うのかなあ、
ちょっとウェブで探してみますね。

810 :Now_loading...774KB:2006/06/14(水) 07:56:48 ID:QfTHfkNa
あ、書き込んだ後にレスが…

>>808
ありがとうございます!教えてもらったコード試してみて勉強してみますね

811 :Now_loading...774KB:2006/06/14(水) 08:01:49 ID:ti4LFAqo
>>809
>var t = "ほげほげ";
>...
>return (t);//返り値はなぜか最初の「ほげほげ」になってしまう

onLoadでタイムライン変数tに代入してるから、上記のhogeDataでvar定義しているtが
隠蔽していると思うのだが。

812 :Now_loading...774KB:2006/06/14(水) 11:36:22 ID:QfTHfkNa
おかげさまでコールバック仕様にして実現できました。ありがとうございます。

ちょっと質問なんですが、ポリシーファイルがないためクロスドメインのxmlファイルが
抜けない時ってありますよね?(企業側では積極的にRSS配信してる)
で、困ったのでphpでいったん読み込んでxmlとして出力するようにしたんですが、

hogeObj.hogeData("reader.php?q=http://rss.com/hoge.xml", callFunc, this);

みたいに引数でurl渡してxmlをロードすることって出来ないんでしょうか。

813 :Now_loading...774KB:2006/06/14(水) 11:40:07 ID:QfTHfkNa
なんか化けちゃったのでダブルクォーテーションだけ全角にします

hogeObj.hogeData(”reader.php?q=http://rss.com/hoge.xml” , callFunc, this);

814 :Now_loading...774KB:2006/06/14(水) 13:35:50 ID:rLdl08hM
コンポーネント利用で、フィルリファレンスで読み込むビデオ指定して再生すると
シークバーが機能しくなるんですが、どうすればシークバーが機能するんでしょうか。
import flash.net.FileReference;
this.fileUpBtn.onRelease = function() {
var listener:Object = new Object();
listener.onSelect = function(file:FileReference):Void {
my_FLVPlybk.contentPath = String(file.name);
};
listener.onCancel = function(file:FileReference):Void {
trace("User cancelled");
};
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
};

815 :Now_loading...774KB:2006/06/14(水) 16:35:11 ID:hGtLSQpc
教えてください。

タイトルがうろ覚えなんですが、
 「ActionScript 2.0 リファレンスガイド」というのが、昔マクロメディアから書籍で
 販売されてたと思うのですが・・・調べてもでてきません。

どなたか、ご存知でしたら教えてください。
 

816 :Now_loading...774KB:2006/06/14(水) 17:34:58 ID:abeiCwO3
知ってる。
何を教えてほしいの?

817 :Now_loading...774KB:2006/06/14(水) 18:33:21 ID:rM2DcTA0
>>811
あー、そう言われるとそうだね。ごめんごめん。

>>812
PHPでそういうの作ればいいんじゃない?PHPスレで聞いてごらん。

818 :815:2006/06/14(水) 19:19:05 ID:hGtLSQpc
>>816
出版社名と正式なタイトルが知りたいです。

宜しくお願いします。

819 :Now_loading...774KB:2006/06/14(水) 21:55:12 ID:5dx4OKlt
すみません。サーバーに置いたflvを再生するswf(Flash8で作りました)を
ウェブサイトで再生する物を作ったのですが、
そのウェブサイトを開く→再生途中でブラウザを閉じる
を何度も繰り返すとPCの動作が遅くなってきます。
スクリプトは下に書くものしか書いていませんが、
何か不足してるでしょうか。

nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
vi.attachVideo(ns);
ns.setBufferTime(3);

ns.play("xxx.flv");

820 :Now_loading...774KB:2006/06/14(水) 22:24:33 ID:Ss264KWd
カウントアップとカウントダウンをしたいんでけどどうすればいいですかね?
ご教授お願いします。秒数まで表示できるとうれしいんですが・・・。

821 :Now_loading...774KB:2006/06/15(木) 00:18:53 ID:jKnvV1CD
>>820
Date

822 :Now_loading...774KB:2006/06/15(木) 00:47:26 ID:jeyD/4Ca
var item = "hoge";
this.onEnterFrame = function () {
 trace(item);
};
function itemChange(oneItem:String) {
 item = oneItem;
}

とだけフレームに書いたこのシンボルの関数、itemChange( )を
他の階層から読んでitemの値を変更してるんですが、
onEnterFrameでのtraceを見ると変更が反映されずに延々と「hoge」を出しています。

itemChangeでの変更をシンボル全体に適用するにはどうしたらいいんでしょうか?

823 :Now_loading...774KB:2006/06/15(木) 01:37:52 ID:DbURghW0
>>822
_rootに関数作ったなら_root.itemChange("aaa")ってパス付けて呼ばないとダメ。

824 :Now_loading...774KB:2006/06/15(木) 02:12:50 ID:jeyD/4Ca
>>823
できました、ありがとうございます

825 :Now_loading...774KB:2006/06/15(木) 07:45:52 ID:SJOLWNqm
>>820
count=0;
countid=setInterval(cout,1000);
function cout(){
trace(count++);
if(count >10){
clearInterval(countid);
trace("End of count");
}
}
こんな感じ。カウントダウンは初期値と増分と終了条件を変えれ。

826 :Now_loading...774KB:2006/06/15(木) 07:50:36 ID:jeyD/4Ca
すいません、

var obj1:hogeClass = new hogeClass();
var obj2:hogeClass = new hogeClass();
var obj3:hogeClass = new hogeClass();


みたいに連番でインスタンスを作るのが面倒なのでループをまわそうと思ったんですが、
書き方が悪いのかエラーが出ます

var obj[String(n)].hogeClass = new hogeClass();
とか
var eval("obj"+(String(n))).hogeClass = new hogeClass();

みたいに書いてみたんですが…。
こういう場合はどういう風にして書くのが正しいんでしょうか、よろしくおねがいします。

827 :Now_loading...774KB:2006/06/15(木) 08:33:22 ID:SJOLWNqm
>>826
配列にいれちゃえばええがな。
var aa:Array = new Array();
for(var i=0;i<10;i++){
aa.push(new Date());
}
for(var i=0;i<aa.length;i++){
trace(aa[i]);
}
なんか、一瞬で終わってるからみんな同じだけど、言わんとしてることはわかるべ。

828 :Now_loading...774KB:2006/06/15(木) 15:18:21 ID:+DrQjQf4
左辺にあるEval()は正常に動作しないんじゃないっけ。

829 :Now_loading...774KB:2006/06/16(金) 02:15:27 ID:ulSXoW6g
すいません、classの中に書いた「this」って、
デフォルトでは呼び出し元を指すわけではなく空ですよね?

それに気づいたので、「ある任意のムービークリップhogeMCの上の階層」というカタチで
thisを求めようとしたんですが、うまくいきません。

引数としてthisを渡したらいいじゃん、と思われるかもしれませんが、
すでにhogeMCという別のMovieClipオブジェクトを渡してるので、
あんまり引数が増やさないためにも、そのhogeMCを基準として相対的にthisを指定したいんですよね。

とりあえず自分が書いたコードはこんな感じです、どなたかアドバイスのほどを…

class hoge {
function createMC(target:MovieClip) {//ここの引数は呼び出し元の階層にあるhogeMC
 var mc:MovieClip; 
 mc = target;
 var thisMC:MovieClip;
 thisMC._target = _parent.mc._target;
 trace(thisMC._target)//結果はunderfined
//処理
}
}

830 :829:2006/06/16(金) 02:49:29 ID:ulSXoW6g
thisMC = mc._parent;
で解決しました。
ありがとうございます。

831 :Now_loading...774KB:2006/06/17(土) 22:33:20 ID:64wZG99L
みんなクラスってどういう時に使ってるの?
いちいちnewしてインスタンス作成しないと使えないし
外部asファイルにfunctionだけ書いた方が便利だと思うんだけど。

クラスを有効活用してる人はどういう使い方してるんですか?

832 :Now_loading...774KB:2006/06/17(土) 23:22:27 ID:ggMbjudY
>>831
クラスがそもそも何のために存在しているのか
もっかい勉強し直してくださいな

833 :Now_loading...774KB:2006/06/18(日) 00:04:11 ID:cQcCAoD/
他スレで聞いてきます

834 :Now_loading...774KB:2006/06/18(日) 00:08:36 ID:m+IO29Gz
自己解決しました

835 :Now_loading...774KB:2006/06/18(日) 00:34:36 ID:nw2mI6ro
>>831
僕も疑問でした。
ASオブジェクト指向スレは過疎ってるし、
いまいちメリットが分からないです。
再生産性が高いってことですか?

836 :Now_loading...774KB:2006/06/18(日) 01:08:28 ID:DVDNfHYZ
>>835
ttp://www.geocities.co.jp/Milano-Cat/4036/bote2/index.html

837 :Now_loading...774KB:2006/06/18(日) 01:32:53 ID:cQcCAoD/
>>836
これだと外部asファイルにfunctionだけ書く方法とどう違うのかが説明されてないんじゃない?

838 :Now_loading...774KB:2006/06/18(日) 02:23:39 ID:cQcCAoD/
なんというかこういう解説って普通に他の方法で簡単に出来ることを例題として上げてるから
混乱する人が多いんだと思う。
で、こういうのを見てわかった気になった人が同じように解説しちゃうからよけいややこしいと。

例えばこのサイトの例じゃ、「ヒデキ」に「ベース」を弾かせる呼び出しは、
functionだけだと、

 演奏する("ヒデキ","ベース");

で済むのに、classを使うと

 var ヒデキclass : メンバー = new メンバー();
 ヒデキclass.名前 = ヒデキ;
 ヒデキclass.演奏楽器 = ベース;
 ヒデキclass.演奏する();

みたいに途端に冗長になってしまうんだもん。

839 :Now_loading...774KB:2006/06/18(日) 10:16:29 ID:MBiBjvpl
javaしか使った事ない人は、こっちの方が作り易いんじゃないか?
と、java使った事ないけど、想像してみるテスト。

840 :Now_loading...774KB:2006/06/18(日) 11:23:37 ID:JW1w3clu
ムービークリップが、自分自身のパスを知るにはどうすれば良いのでしょうか。
FLASH4までの技術で。

841 :Now_loading...774KB:2006/06/18(日) 11:31:30 ID:GZvUrQI2
>>838
クラスの使い方としてはそんなもんじゃないの?
プロパティ与えて処理を指定するって部分は、
VBでも同じような書き方するし



842 :Now_loading...774KB:2006/06/18(日) 11:52:28 ID:t1CQe2b+
OOPの本かJavaの本もくしはヘルプを読んでから発言しようね

843 :Now_loading...774KB:2006/06/18(日) 12:14:58 ID:cQcCAoD/
>>842
質問の意図がつかめてないってことは君はclassのことは勉強不足

>>1
> 初歩的な質問でもなんでもおk

だからそもそもスレ違いだし。かまってほしいんなら素直に言えばいいと思うよ
混ぜてやらんけどね

844 :Now_loading...774KB:2006/06/18(日) 12:25:27 ID:t1CQe2b+
>>843
ASに関して初歩的な質問はいいけど、classの利点はどうなの?ってのは
スレ違い。利点をこのスレで述べるつもりはないし、先に書いたようにヘルプにだって
記載されてる。俺の勉強不足とは違うと思うが。

845 :848:2006/06/18(日) 12:40:04 ID:szjSdP6o
説明出来ないけど理解してるように見せたい

846 :Now_loading...774KB:2006/06/18(日) 13:00:54 ID:cQcCAoD/
>>844
いや、だからクラスの利点についての質問だって初歩的なASについてのものでしょ。
別にコードの正否を照らし合わせるだけのスレでもないし。
あんたが利点について述べるつもりないのは結構だけど、ここで言われても知らんって。

「ヘルプに載ってる」なんて曖昧な情報もいらんっての
記載されてるから答えない主義ならそれでいいじゃん
ほんとは何も語れないくせに何しにノコノコやってくるんだろうねこの子は

847 :Now_loading...774KB:2006/06/18(日) 13:35:19 ID:t1CQe2b+
>>846
クラスの利点に関してはOOPの本嫁と書いてるんだが。何か間違ってるか?

848 :Now_loading...774KB:2006/06/18(日) 14:10:42 ID:cQcCAoD/
アホか
具体的な例えまで出てる段階なのに自分の弁取り繕うだけのレスするな

849 :Now_loading...774KB:2006/06/18(日) 14:22:26 ID:t1CQe2b+
>>848
君のレスは俺への意味のない中傷だけなんだが。
ASでのclass利用の利点を述べてから言ってもらいたいものだ。

850 :Now_loading...774KB:2006/06/18(日) 14:32:18 ID:cQcCAoD/
今度はおれに対する人格批判か
二つだけ、答える気がないなら書き込むな、話の途中で的外れな介入をするな

851 :Now_loading...774KB:2006/06/18(日) 14:37:53 ID:c4fbnImF
>>847
質問全て本読め、で終わるだろ。

まぁ、それが正解なところはあるが、
せめてなんという題名の本を読むべきか示したら?

852 :Now_loading...774KB:2006/06/18(日) 14:45:35 ID:t1CQe2b+
ASだと変数のカプセル化がいちばんかな。
privateにして_glovalやタイムライン変数の他ルーチンからの破壊を除去できる。
不変な定数をASで実現するにはclassを使う以外にない。
あと↓みたいに、構造化言語やDBでのレコードの表現をスマートに記述できる。
class Person{
var id:String;
var nameKana:String;

function Person(id:String,nameKana:String){
this.id=id;
this.nameKana=nameKana;
}
function toString(){
return id +" "+nameKana;
}
}
オーバーライドが出来ないのがネックだが他にもここでは書ききれないほど
利点はあると思う。


853 :Now_loading...774KB:2006/06/18(日) 14:48:28 ID:t1CQe2b+
>>851
片っ端から読めとしかいえない。自分に合う本を探すのは難しいし、
自分自身そうしたから。

854 :Now_loading...774KB:2006/06/18(日) 14:48:33 ID:cQcCAoD/
>>852
Excellent!!!
あんたは素敵だ

855 :Now_loading...774KB:2006/06/18(日) 14:49:15 ID:qVozlJR9
クラス(オブジェクト指向)は、普通のFlashアニメーションには必要ありませんが、ゲームなどのアプリケーションっぽいものを作るときには取り入れると便利です。
例えば、シューティングゲームを作る際に、敵によって動き方を変えたい。そのような時に、従来だとこうします。

function 動く(敵の名前) {
if (敵の名前 == 雑魚) {
//のろのろ動く
} else if (敵の名前 == 強敵) {
//素早く動く
}
}

従来の形だと、敵の種類だけif文が増えます。
では、このパターンにクラス「敵」を導入します。

class 敵 {
//動くメソッド
function 動く() {
//そのクラスのアルゴリズムで動く
}
}

これが「敵」のスーパークラス。この場合「敵」スーパークラスをそのままでは使えないので、
雑魚や強敵のサブクラスを作ります。

856 :Now_loading...774KB:2006/06/18(日) 14:50:48 ID:qVozlJR9
class 雑魚 extends 敵 {
function 動く() {
//のろのろ動く
}
}

class 強敵 extends 敵 {
function 動く() {
//素早く動く
}
}

つまり、敵の種類を増やしたいときは、サブクラスを増やします。
どこがメリットかというと、敵を管理しやすくなるわけです。
動く命令の他に、ある敵だけには、自爆を実装したい、などが可能です。

FlashOOPに関しては、
http://www.amazon.co.jp/gp/product/4798106119/
の本が有名、というか和書だとまともなのはこれくらいしかありません。

857 :Now_loading...774KB:2006/06/18(日) 14:55:46 ID:vPAeL8GR
>>855
横から質問ですみませんが、
if文を増やすのと、そのサブクラスを増やすのと
あまり変わりが無いように思えてしまうんですが
処理速度が違うのでしょうか。

858 :852:2006/06/18(日) 15:00:28 ID:t1CQe2b+
>>852
訂正:
×オーバーライド
○オーバーロード

859 :Now_loading...774KB:2006/06/18(日) 15:05:09 ID:t1CQe2b+
>>854
>Excellent!!!
ならせめて謝罪してほしいものだ。

860 :Now_loading...774KB:2006/06/18(日) 15:08:31 ID:qVozlJR9
>>857

規模と拡張性の問題です。
もしif文の中身が何百行もあったら、などと考えると分割した方が良いです。
また、「動く」以外に「撃つ」「パワーアップ」などの動作全てを、グローバル関数とifで管理していたら
そのゲームの全体像が見えにくくなります。

861 :Now_loading...774KB:2006/06/18(日) 15:25:31 ID:GCFazh/f
AS2のprivateってさ、他の言語でいうところのprotectedなんだよな。
これ紛らわしいっつーか、知らずに継承して一度酷い目にあったよ。
おまけにprivate相当のステートメントが無いから完全にカプセル化できないんだよ。
つーことでAS3には期待している。

862 :Now_loading...774KB:2006/06/18(日) 15:26:23 ID:JU3x7n+P
>>857
クラスの継承をフローチャートとかマップにして考えるとわかりやすいと思う。
if文では、フローと比較しながら書かなきゃいけないけど、
クラス使うとフローがそのまま当てはまるというか。

863 :Now_loading...774KB:2006/06/18(日) 15:38:20 ID:dTADmajw
みんなに親しみのあるwindowで考えると判りやすいかもね。

windowには
・ドラッグ移動
・クリックによって深度を最善面に設定
・サイズ変更
・画面サイズに拡大/元サイズへ縮小
・表示/非表示(最小化)
・閉じる

ってな基本動作を別に作っておけば、
処理がごっちゃにならないので判りやすい。

そして内部の処理ではwindowの基本動作を継承すれば
window自体の基本動作と表示処理を分けられるし。

window以外でもこういう風に単純なパーツ群として作っていくと、
小さな単位で作っていけるので把握し易く、
そして拡張も容易になるってとこかな。

864 :Now_loading...774KB:2006/06/18(日) 15:39:28 ID:dTADmajw
読み返したら日本語変になってるけど気にしない方向で('A`)

865 :Now_loading...774KB:2006/06/18(日) 15:59:24 ID:t1CQe2b+
毎度ですがホス規制でたてれません(´д`)関連スレということで、どなたかお願いします。
修正済みテンプレは↓(追加はどうぞ)
スレタイ
Flashの超基本的な質問はここでしろ! part30
>>1
どの質問スレでもスルーされるような超基本的な質問はここでしろ!
調べるのがめんどくさい初心者はなんでもかいとけ!知ってたら即、答えるし、
知らんかったら知らんと書く。検索なんかクソでも喰っとけ!教えて君以外は逝ってヨシ!

★しかし良心があるならせめて質問前に↓まずここに目を通せ!! [Q&A と 問題解決リンク]
 http://z-temp.hp.infoseek.co.jp/2ch/flash_faq.htm

質問テンプレ(書いてあると回答者がレスしやすい)
(1)使用ソフト/バージョン:FLASH 5/ MX / MX2004 / Pro / 8Pro / 8Basic など
(2)OSのVer:Win2K/ WinME /WinXP /MacOS 10 など
(3)作品の具体例がある場合はリンク必須
(「このサイトのように○○したいhttp://〜」とか)

前スレ
Flashの超基本的な質問はここでしろ! part29
http://pc8.2ch.net/test/read.cgi/swf/1146155024/l50

関連スレ
Flash製作初心者の質問スレッド レイヤー33
http://pc8.2ch.net/test/read.cgi/swf/1141303780/l50
ActionScript 誰かが物凄い勢いで解答するスレ 12
http://pc8.2ch.net/test/read.cgi/swf/1145601039/l50

866 :Now_loading...774KB:2006/06/18(日) 17:53:28 ID:cQcCAoD/
思い出したようにまとめ
まとめるほどかとは突っ込み済み


【functionのみのデータ管理】
・小規模のデータ管理ならこっちの方がスマートな場合もある

【class使ったデータ管理】
・大規模のデータを扱う場合、情報が視覚的にも整理されてて見やすい
・変数のカプセル化(privateにして_glovalやタイムライン変数、ルーチンからの干渉を防ぐ)が可能。
・↑つまりパーツ毎に分けて作業するのに向いてるってこと、他人との分担作業もしやすい

FlashOOP参考書
http://www.amazon.co.jp/gp/product/4798106119/

867 :Now_loading...774KB:2006/06/18(日) 21:58:59 ID:GtlIC5yN
ものすげー古臭い思想だな
C++なのにCっぽく組んでるような感じだ

とは言え、デザイナーがちょっと込み入ったことする程度ならそれでもいいよね
手早く作れて動けば良い訳だし、本質はデザインにあるわけだし

純粋な開発者だったらありえない
OOPをしっかり理解して組むべき
開発思想は一つに絞れば後に引き継ぐときも確実

868 :Now_loading...774KB:2006/06/19(月) 00:32:12 ID:NuvPIy2h
質問です
CSS使うためにsetstyle使ってるんですが、動的に値を代入したいので

styles.setStyle(".sFont", "{fontSize:'"+hogeSize+"', color:'"+hogeColor+"'}");

みたいにhogeSizeとhogeColorを間に入れて書いてみたんですが、
ちゃんと変数展開されてないようです

この場合どのように書けばいいですか?

869 :Now_loading...774KB:2006/06/19(月) 00:38:52 ID:wUypVsF5
質問があります。
1つのフレームしかないときに、フレームアクションに処理を書いて実行させると
1度しか呼ばれません。フレームを2個にすると何度も呼ばれます。
これはフレームが1つしかないときは、Flashはループしない仕組みになってるからでしょうか?

ところが、1つしかフレームが無い場合でもnClipEvent (enterFrame)に処理を書くと
何度でも呼ばれます。これは一体どういう仕組みであると解釈したらイイのでしょうか?

870 :Now_loading...774KB:2006/06/19(月) 13:40:54 ID:8ZMfTIjf
>>869
>1つのフレームしかないときに、1度しか呼ばれません。
正解

>フレームを2個にすると何度も呼ばれます。
正解

イベントハンドラのonEnterFrameに定義すると何度でも呼ばれる。それはそのためのもの。

871 :Now_loading...774KB:2006/06/19(月) 13:54:49 ID:6SY1MuHv
>>869
> フレームアクション
そのフレームに再生ヘッドが来た時だけ実行する。
Flashは同じフレームへの移動は移動無しと同じ扱いなので
1フレームしかない場合は、そのフレームに再び再生ヘッドが移動するということはない。
従って1フレームだけなら、this.stop()があるのと同じ。

> onEnterFrame
その名の通り、毎フレーム実行する。
フレームアクションとは別。

872 :868:2006/06/19(月) 18:11:19 ID:NuvPIy2h
すいません、色々試して下記のようにも書き換えてみたんですが、
適用されないようです。
変数に格納しないで普通にsetStyleの引数に書き込むとちゃんと適用されるんですが…。
シングルクォーテーションを円記号でエスケープもしてみましたが結果は同じでした。

どなたかよろしくおねがいします

var fontCss = "{fontSize:'12px', color:'#a0a0a0'}";
styles.setStyle("a:hover", eval(fontCss));

873 :Now_loading...774KB:2006/06/19(月) 18:30:00 ID:8ZMfTIjf
>>868
styles.setStyle(".sFont", {fontSize:hogeSize, color:hogeColor});

874 :Now_loading...774KB:2006/06/19(月) 18:37:08 ID:NYr0fk9h
>>872
スペルミスってオチじゃないよね
そこで使う変数に本当に値入ってる?

875 :Now_loading...774KB:2006/06/19(月) 18:45:05 ID:NuvPIy2h
>>873
>>874
ありがとうございます、873さんの方法でいけました
シングルクォーテーションいらなかったんですね

876 :Now_loading...774KB:2006/06/19(月) 20:54:25 ID:80bCpg9m
複数のASが同じフレームで実行される場合の実行順序の優劣って何で決まっているのかどなたかわかりますか?

例えば、あるMCで何か条件が満たされた場合にフラグを立て、
別のMCで毎フレームそのフラグをチェックして、フラグが立ってたらある動作Aをしてフラグを消す。
そんな場合、動作Aの実行はフラグが立ったフレームか次フレームか、どっちなんでしょう?

この例の場合では動作部に直接フラグ条件書いてしまえばそんなこと気にする必要はないというのはごもっともな意見ですが。

877 :869:2006/06/19(月) 20:59:14 ID:2Z11+Skf
>>870-871
とても参考になりました、ありがとうございます

878 :Now_loading...774KB:2006/06/19(月) 22:02:48 ID:YIKTxxgk
>>876
入れ子のMCなら親から順、
タイムラインなら上から順。
onClipEventのloadはタイムラインより先。

879 :Now_loading...774KB:2006/06/19(月) 22:03:02 ID:NYr0fk9h
>>876
ActionScriptに限らないが、非同期処理で何らかの処理順を期待する処理を書いてはいけない
フロー処理におけるフラグはウオーターフォールでループな処理で用いた概念
イベントドリブンな仕組みではイベントなりリスナなりを活用するように仕様を変えたほうがいい

880 :Now_loading...774KB:2006/06/19(月) 23:25:43 ID:80bCpg9m
>>878-879
御回答ありがとうございます。
例にあげたものよりもう少し複雑なもので、
同じフレームでの実行順序が決まっているならもっとすっきり処理できるのになぁ、と思ったりしたのですが、
やはりそんなおいしい話はないようですね。
参考になりました。どうもありがとうございました。

881 :Now_loading...774KB:2006/06/20(火) 02:28:07 ID:cXVXH7Ik
ちょっと質問です。
ムービークリップシンボルのフレームアクションに書かれた関数を
rootのタイムラインから呼び出したいのですが、どうすれば呼び出す事ができますでしょうか。
やってみたんですが上手くいかなくて…

例えば、root上のムービークリップ"mc"の1フレーム目にカスタム関数"test()"を書き、
rootのタイムライン1フレーム目にthis.mc.test() と呼び出した場合です。

882 ::2006/06/20(火) 04:11:12 ID:ghXrquEB
>>881
functionがまだ存在しないからじゃん。
すぐ上でも関連レスがあったけど。。。

この機会にいろいろtrace入れて実験してみるといいよ。


883 :Now_loading...774KB:2006/06/20(火) 06:11:04 ID:cXVXH7Ik
>882
おお、onEnterFrame = function() にてできました。
しかしonLoadで使えなかったのが少し不便…上記のにonEnterFrame = null を付け加えて対処したけど。

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

884 :Now_loading...774KB:2006/06/20(火) 11:23:26 ID:Di5Q18Lf
ActionScript初心者ですので、お見苦しい所があるかもしれませんが、教えてくださいませ。
ムービークリップを、2つ、別の位置に配置して、
1つ目のMCの1フレーム目に
_parent.x_MC1=_x;
2つ目のMCの1フレーム目に
_parent.x_MC2=_x;
と記述しました。そして、メインフレームの1フレーム目に
trace(x_MC1 - x_MC2);
と記述しました。が、どうしてもNaNと返ってきます。何故でしょうか?

885 :Now_loading...774KB:2006/06/20(火) 11:31:07 ID:5RWCEmqI
>>884
メインフレームの2フレーム目に
trace(x_MC1 - x_MC2);
だと、どうなる?

886 :AMETH:2006/06/20(火) 12:14:32 ID:pBldw6iB
郵便番号を入力して、郵便番号に該当する住所を表示する機能をFLASH組み込みたいのですが、プログラムのサンプルとして参考となるサイトなどご存知の方いますか?

使用しているのはFlashMX
データベースは、MySQLかXMLを使用しようかと検討中です。

できれば、郵便番号を入力すると同時に住所が表示される、
http://blog.japan.zdnet.com/flash/a/000154.html
のようなプログラムを埋め込みたいのです..

なにかサンプルのプログラムのあるサイトとか
ご存知の方いらっしゃったら教えていただけないでしょうか。

よろしくお願いします!


887 :Now_loading...774KB:2006/06/20(火) 13:35:39 ID:flLCALNC
自分で組むの面倒だから臭がするのでスルー

888 :Now_loading...774KB:2006/06/20(火) 13:38:20 ID:Di5Q18Lf
>>885
おお、きちんと表示されました。何故かは理解出来ていないのですが、
「間に合わない」と言うことなのでしょうか?それとも、ちゃんと優先される
順番が決まっているのでしょうか。

889 :Now_loading...774KB:2006/06/20(火) 13:52:41 ID:5RWCEmqI
>>888
実行順は決まっていますが、それをあてにするのはバグの元。

890 :Now_loading...774KB:2006/06/20(火) 14:23:21 ID:ZQk+woDO
>>886
マルチはいかんよ

891 :Now_loading...774KB:2006/06/20(火) 14:28:55 ID:JuEdgYtL
>>886
そこのサンプル落としてスクリプト抜けばいいじゃない

892 :Now_loading...774KB:2006/06/20(火) 15:43:29 ID:ZQk+woDO
ASで指定したディレクトリにある全てのファイル名、
フォルダ名を取得することは出来ますか?

893 :Now_loading...774KB:2006/06/20(火) 15:44:00 ID:y2EX4oR9
できません

894 :Now_loading...774KB:2006/06/20(火) 16:13:02 ID:o0y34Hxm
youtubeのような映像プレイヤー(タイムラインやサウンドのオンオフ程度)はMXで作成できますか?

895 :Now_loading...774KB:2006/06/20(火) 16:40:48 ID:Di5Q18Lf
>>889
そうなんですか。感謝します。

あともう一つ質問があるのですが、Flash Lite1.1(Flash MX04Proで書き出す)
だと、if文の条件式が二つ以上あるときの&&が使えないみたいなのですが、
どうすれば良いのでしょうか?

896 :Now_loading...774KB:2006/06/20(火) 17:20:52 ID:Di5Q18Lf
895の質問を訂正させて頂きます。

if(interval1<40&&interval1>-40&&interval2<40&&interval2>-40){
gotoAndStop("gameover");
}
の様な、if文を書くと、条件式に関係なく、強制的にgameoverのコマに飛ばされてしまいます。
全てのプレイヤーバージョンで試しましたが、ver7のみOKで、他のバージョンではすべて同じ
現象が発生しました。根本的にif文の書き方が間違っているのでしょうか?
お詳しい方、教えてください。

897 :Now_loading...774KB:2006/06/20(火) 17:33:01 ID:OuYInsiS
>>895
and

898 :Now_loading...774KB:2006/06/20(火) 17:42:58 ID:qtQmJGlh
>>896
&&は使えるよ

&& 論理積 (AND) 演算子
http://livedocs.macromedia.com/flashlite/2_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_wEcute&file=00000272.html

そもそもinterval1とinterval2の値はどうなのよ

899 :Now_loading...774KB:2006/06/20(火) 17:43:31 ID:+4IZpNRv
>>896
interval1 か interval2、又は両方が未定義のままなんじゃないの?
flashLiteではundefinedは無いし、player6までとplayer7以降はundefinedの扱いが違うよ。

http://www.adobe.com/support/documentation/jp/flash/mx2004/releasenotes.html
>79815 : trace(false !== 1) を実行すると、Flash MX 2004 では false が、Flash MX では true が返されます。

900 :896:2006/06/20(火) 17:59:48 ID:Di5Q18Lf
ご解答ありがとうございます。
traceで確認しましたが、interval1、interval2には、きちんと値が入っています。
なのに、なぜver7だけ動作するのか、不思議です。そもそも別の部分が間違っているのでしょうか。
話が長くなって申し訳ないのですが、実は
interval1=xzahyou_myMC-xzahyou_MC1;
interval2=yzahyou_myMC-yzahyou_MC1;

if(interval1<40&&interval1>-40&&interval2<40&&interval2>-40){
gotoAndStop("gameover");
}

として、myMCとMC1の当たり判定を、hitTestを用いないで実現しようとしたのです(^^;
初心者の発想ですが…。しかしどうにも上手くいきません。


901 :Now_loading...774KB:2006/06/20(火) 18:35:36 ID:+4IZpNRv
じゃあNaNになってるとか?

ためしにif文の直前で

interval1 = -41;

とかしてみなよ。
gotoAndPlayは呼ばれないから。

902 :Now_loading...774KB:2006/06/20(火) 20:08:33 ID:Di5Q18Lf
interval1 = -41;
のように定義したら、確かにgotoAndPlayは呼ばれなくなりましたが、
trace(interval1);としたら、NaNではなく、きちんと値が返ってきました。

903 :Now_loading...774KB:2006/06/20(火) 20:41:25 ID:G/p8fHey
質問ですー。
あるフレームに

_root.attachMovie("ボール","ball"+ballNum,ballNum);
_root["ball"+ballNum]._x = 10;
_root["ball"+ballNum]._y = 10;
_root.ballNum++;

var dx = 18;
var dy = 2;

_root["ball"+ballNum].onEnterFrame = function(){
 dx++;
 dy++;
 this._x += dx;
 this._y += dy;
}
として、このフレームが回ってくるたびにこれを実行させて
ボールをたくさん出すASを組みました。
(出てくるボール毎にdx,dyは独立した値になります)

ここで更に他のフレームやインスタンから、dx,dyをいじろうと思ったのですが
パスがどうなっているのかがよくわからなくなってしまいました。
_root.ball?.dxでもないし
このフレームインスタンス.dxでもないのですよね?
この場合どうなるのかわかる方いましたらご教授お願いします。

904 :Now_loading...774KB:2006/06/20(火) 20:50:51 ID:mI3+fTje
>>903
trace(目的のボール) は?

905 :Now_loading...774KB:2006/06/20(火) 20:58:47 ID:fi/33bBC
環境:FlashMX2004(Player7)です

カンマ区切りの文字列
10,-2,-1,3
1,10,3,30
-1,-2,5,10
の改行「\r」をカンマに変換するにはどうしたらいいでしょうか?

この文字列の名前をelem1,長さをlen1として、カンマの文字コード
が44なので
for (po=0; po<len1; po++) {
if (elem1.charAt(po) == "\r") {
elem1.charAt(po) = String.fromCharCode(44);
trace("cRTN");
}
}

としましたが、エラーになります。
宜しくお願いします。


906 :Now_loading...774KB:2006/06/20(火) 21:16:56 ID:OuYInsiS
>>905
elem1=elem1.split("\r").join();

907 :Now_loading...774KB:2006/06/20(火) 21:33:32 ID:qtQmJGlh
>>902
if文の直前でtrace、gotoAndStopの直前でtrace
interval1と2はそれぞれどうなってる?
期待しないタイミングで値が変化していないか?

あと、スペルミスってオチはないよね

908 :Now_loading...774KB:2006/06/20(火) 21:39:35 ID:+4IZpNRv
>>902
そのinterval1,2は本当にNumber型なのかなー。

909 :Now_loading...774KB:2006/06/20(火) 23:17:39 ID:icOxoy6A
>>903
作成したボールMCの中にdx, dyの値を持てばいいんじゃない?

mc = _root.attachMovie("ボール", "ball"+ballNum, ballNum);
trace(mc);   // (*)
mc._x = 10;
mc._y = 10;
mc.dx = 18;
mc.dy = 2;
mc.onEnterFrame = function() {
 this.dy++;
 this._x += this.dx;
 this._y += this.dy;
};
ballNum++;
this.gotoAndPlay(this._currentframe-1);

(*)部分の出力結果がmc名だから、例えば _root.ball5.dx=20 とかで変えられるはず

910 :905:2006/06/20(火) 23:19:15 ID:WoLtEJ0e
>>906
Thx。出来ました。


911 :Now_loading...774KB:2006/06/21(水) 23:03:47 ID:W9o26KHr
>>904,909
レスサンキュウ。
>>903の様にするとdx,dyのパスが怪しいことになるので
(デバッグモードで見ても出てこないし)
結局、>>909の通りにしてみました。ありがとうございました。

912 :Now_loading...774KB:2006/06/21(水) 23:50:13 ID:i0Hh4DuO
SharedObjectについて質問でつ
通常はflush()実行時かswfを閉じた時にデータが保存されますが
flush()実行時のみ保存したい場合はどうすれば??

913 :Now_loading...774KB:2006/06/22(木) 00:08:54 ID:PFPPJtbn
solのデータをflash()するタイミングで更新する。
何ら問題ないと思うが。

914 :912:2006/06/22(木) 00:35:41 ID:FZXWyaTr
説明下手で失礼しますた
要はswfを閉じた時に保存されないようにするにはどうすれば?って事でつ

915 :Now_loading...774KB:2006/06/22(木) 00:42:33 ID:PFPPJtbn
無理

916 :Now_loading...774KB:2006/06/22(木) 01:44:30 ID:EwxuDOt8
書き出す前にデータを詰めて、flush()したら
保持してるデータを空にしたらいいんじゃん。


917 :Now_loading...774KB:2006/06/22(木) 02:01:07 ID:PFPPJtbn
>>916
空のデータが終了時に書き込まれてもいいのか?

918 :Now_loading...774KB:2006/06/22(木) 02:06:10 ID:RDmKS9f8
load時にsolのデータを変数に入れて、
終了時はその変数のデータをsolに入れればとか考えたけど
Flashは終了時にイベント取れないから無理だよね。

919 :Now_loading...774KB:2006/06/22(木) 02:10:08 ID:EwxuDOt8
空じゃないやdelete so;

920 :Now_loading...774KB:2006/06/22(木) 02:16:06 ID:PFPPJtbn
>>919
やってみて言ってるの?

921 :Now_loading...774KB:2006/06/22(木) 02:29:56 ID:EwxuDOt8
>>920
できない?試してないからわかんないけど。できないならごめんね。


じゃ発想変えて
flush()する直前だけしかso.dataにデータ入れない。
そうすれば、閉じたときもそのデータになるでしょ。
だめ?

922 :Now_loading...774KB:2006/06/22(木) 02:31:22 ID:PFPPJtbn
>>921
そうしろと最初に言ってる。

923 :Now_loading...774KB:2006/06/22(木) 02:38:25 ID:PFPPJtbn
補足すると、SOLはセーブデータとしてのみ使うべきで、普通に変数として
使うのは良くないと言うこと。セーブしたい時に実際使ってる変数とかを
SOLデータとして保存するだけにすればなんも問題ないでし。

924 :Now_loading...774KB:2006/06/22(木) 02:57:22 ID:EwxuDOt8
やってみたらけど問題なかったよ。環境の問題?

var my_lso = SharedObject.getLocal("myspecialshareeeeedobject", "/");
trace(my_lso.data.key);//valueのまま
my_lso.data.key = "value";
my_lso.flush();//書き込み
delete my_lso;//削除

//以下の処理で値を変更
//my_lsoないので空振り
my_lso.data.key = 12345;
//swf閉じる

>>920はできなかった?

まぁ、いいや。寝ないと。。。

925 :Now_loading...774KB:2006/06/22(木) 03:18:07 ID:PFPPJtbn
>>924
おー、できた。でも、変数では使えなくなっちゃうね。当然だけど。

926 :912:2006/06/22(木) 04:58:40 ID:VFAi2aRL
なんか盛り上がってるw
SharedObject関係はムズイな…
onStatusハンドラとか…戻り値はブールなのにストリングも返ってくるし…
まだまだ勉強が足りんすOTZ

927 :Now_loading...774KB:2006/06/22(木) 11:32:46 ID:vL/s1z5p
this.onLoad = function() {
var  arr:Array = new Array(0, 0, 0, 0);
trace(arr);
};
this.onEnterFrame = function() {
trace(arr);
};
trace結果が、
0,0,0,0
undefined
undefined
undefined
....
になってしまいます。
なにがまちがってるんでしょうか。

928 :Now_loading...774KB:2006/06/22(木) 11:37:33 ID:PFPPJtbn
var取る

929 :Now_loading...774KB:2006/06/22(木) 11:47:16 ID:vL/s1z5p
>>928
AS2.0ではvar付けないとダメなのかと勘違いしてました。
function内限定になってたんですね。
ありがとうございました。

930 :Now_loading...774KB:2006/06/22(木) 13:02:58 ID:WsI6ZBJM
WinXP,Flash8PROです

画像を外部から読み込んで順に表示するスライドショーを作ってます。
読み込む際に読み込む画像の枚数は一切指定しないで、フォルダ内にある
画像を全て読み込んで表示する、という使用にしたいのですが
そんなことはできないでしょうか?画像の枚数はその時々で変化します。

自分が考えたのは

//読み込みが成功したかどうかのフラグを用意
bLoadSuccess=true;
//ムービークリップローダー
loadPhoto_mcl = new MovieClipLoader();
mclListener = new Object();
mclListener.onLoadError = function(target_mc, errCode) {
_root.bLoadSuccess=false; //読み込みが失敗したフラグを立てる。
};
loadPhoto_mcl.addListener(mclListener);

//この画像はありません。
loadPhoto_mcl.loadClip("P4.png",photo1_mc);
//フラグが立ったかチャック
trace(bLoadSuccess)

としてみたのですが、bLoadSuccessがfalseになりません。

この先の処理は漠然と頭の中で考えてあって、
この先の処理で無理が出てくるかもしれないんですけど、
とりあえずこの時点でfalseにならないのはなぜでしょうか?

又、このようなシステムをうまく作る方法があったらご伝授願います。

931 :Now_loading...774KB:2006/06/22(木) 13:58:35 ID:vL/s1z5p
onLoadErrorの処理の前にtrace(bLoadSuccess)が動いている為だと思う。

932 :Now_loading...774KB:2006/06/22(木) 14:54:08 ID:WsI6ZBJM
>>931

おお、本当だ
trace(bLoadSuccess)を少し先のフレームに書いたらfalseになった。

ふむ〜
これを考慮して又考えます

ありがとうございます

933 :Now_loading...774KB:2006/06/23(金) 21:42:05 ID:HrmHvBPn
プロジェクタでローカルのOffice系ファイルにアクセスできる
ランチャー的なものを製作しているのですが、
getURLではIEのOfficeプラグイン内でファイルが開いてしまい、
fscommandはEXEそのものしか立ち上げられないようで困っています。
その他にFlashのプロジェクタからローカルファイルを起動する
良い方法はありませんでしょうか?
ローカルファイルの設置場所は問いません。

934 :Now_loading...774KB:2006/06/24(土) 15:36:28 ID:ZXNkJiCs
on(release)に回数制限を設けるにはどうすればいいんでしょうか
できれば制限を使い切ったあとに、特定動作で制限値を満タンに戻るようにもしたいのですが

935 :Now_loading...774KB:2006/06/24(土) 16:37:21 ID:MNLKdOCP
>>933
無理です。

>>934
//タイムラインに
var kaisu = 10
//ボタンに
on(release){
if (kaisu>0){
kaisu--;
}
}

936 :Now_loading...774KB:2006/06/24(土) 18:20:42 ID:ZXNkJiCs
>>935
タイムラインを戻すボタンをつくればまた満タンにできるんでしょうかね?

937 :Now_loading...774KB:2006/06/24(土) 18:29:42 ID:ytNZ4yms
>>936
//回復ボタンに
on(release){
kaisu = 10;
}

938 :Now_loading...774KB:2006/06/24(土) 19:23:42 ID:ZXNkJiCs
>>937
入れ子みたいなものなんですね。これは応用利きそうだ
ありがd!

939 :Now_loading...774KB:2006/06/24(土) 19:58:37 ID:ytNZ4yms
入れ子…?
まあ応用いろいろやってみ。

940 :Now_loading...774KB:2006/06/24(土) 23:49:04 ID:TtGvGaXs
テキストに関するプロパティで
インデント値が正の整数しか効いてないよう気がするんですが、
負の値を反映するにはどうすればいいのでしょうか?

textFormat.indent = -20;

よろしくおねがいします。

941 :Now_loading...774KB:2006/06/25(日) 04:07:13 ID:+IrQ9oS9
>>940
気がするってのじゃだめだろ。
こうやったので、こうなるはずとか具体的に書かないとわからん。
ttp://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002808.html

942 :Now_loading...774KB:2006/06/25(日) 04:17:49 ID:pFk08P5v
ダイミックテキストに正の値では、インデント値が目に見えるように
変化していくのですが、0以下の数値を指定すると、0の数値以下のインデント値
のまま、まったく効いていません。


943 :Now_loading...774KB:2006/06/25(日) 04:42:22 ID:+IrQ9oS9
>>942
リンク先見た?インデントをどう理解してるのか解らんが、どうなってほしいのかな。

944 :Now_loading...774KB:2006/06/25(日) 05:00:33 ID:pFk08P5v
Site Area Temporarily Unavailable
とでて、表示できないみたいです?

945 :Now_loading...774KB:2006/06/25(日) 05:02:42 ID:+IrQ9oS9
>>944
んじゃ、ヘルプをtextFormat.indentで検索しる。内容は同じだ。

946 :Now_loading...774KB:2006/06/25(日) 05:49:09 ID:pFk08P5v
みました。つまり左のマージン設定がある場合にかぎり、
負の値が効くのでしょうか?

ただ、そうすると、デフォルトのインデント値より、小さくすることは
事実上、不可能ということでいいのでしょうか。
であれば、文字列のサイズ値のXのみを縮小する方法などは
ないのでしょうか。ダイミックテキストの字間のカーニングは
みなさんどうしているのでしょう?


947 :Now_loading...774KB:2006/06/25(日) 06:16:00 ID:+IrQ9oS9
>>946
すまんが、インデントは理解したのか?
2度目だが、まったく解らないなら何をやりたいのかを書け。
インデントとカーニングと拡大縮小は違うし。

948 :Now_loading...774KB:2006/06/25(日) 10:02:28 ID:pFk08P5v
すいません。やりたいことは、Flash上で入力した文字列のダイミックテキストの
文字と文字の間の間隔をせばめたいです。よろしくお願いします。



949 :Now_loading...774KB:2006/06/25(日) 10:18:23 ID:soJaslKo
インデントじゃねーじゃん。

950 :Now_loading...774KB:2006/06/25(日) 11:52:50 ID:+IrQ9oS9
>>948
文字間隔は.letterSpacingで指定。
新たに入力されるものにはsetNewTextFormatで適用する。

951 :Now_loading...774KB:2006/06/25(日) 12:57:21 ID:6fGhDGYG
leftKey = false;
rightKey = false;
...
if (Key.isDown(Key.LEFT) || Key.isDown(100) || Key.isDown(72)) {
  leftKey = true;
}
...

if (leftKey) {
  // 左移動
}

とかってカーソル左とHと4を左方向キーにしたりしてるんですが、
たまに左移動しっぱなしになることがあります。
普段全然起こらなかったり、ブラウザ起動しなおすと直ったりするので、原因がつかめませぬ。
なんか心当たりないすか。

952 :Now_loading...774KB:2006/06/25(日) 13:35:26 ID:XtzlNSJZ
if (Key.isDown(Key.LEFT) || Key.isDown(100) || Key.isDown(72)) {
  // 左移動
}

953 :948:2006/06/25(日) 16:55:05 ID:pFk08P5v
950さん>ありがとうございます。できました。Flash8でないと、
この関数は使えないようですね。あともうひとつ実現したいことが
あるんですが、それは改行処理なんですが、可能でしょうか?
\nと記述していけるとおもったんですが、無理でした。
何かよい方法があればお教えください。


954 :Now_loading...774KB:2006/06/25(日) 18:33:06 ID:mbYf47aC
flash8Basicを使っています。

.mov形式の普通のムービーがありまして、
内容はコップが横に倒れるようなものだとします。

これをどうにかflash上に読み込み、
コップの上辺りに矢印かなんかを表示させて、
それをマウスでドラッグするとそれにあわせてコップが倒れるようにしたいです。
かつ、逆方向にドラッグしたら元に戻るように。

要するにマウスのドラッグにあわせて
ムービーの再生・逆再生を制御したいということなのですが、
どう書いたらよいでしょうか?

ちょっとドラッグしたらムービーの端まで一気に進んでしまうのではなくて、
出来ればマウスの移動量にあわせてコマ単位で制御したいです。
(半分あたりで行ったり戻ったり「行き来」ができる感じに)

ムービーで無理だとしたら、連番の静止画を用意することも出来ますので
それでもいいです。ASでどうやって書いたらよいか教えてください。
よろしくお願いします。

955 :Now_loading...774KB:2006/06/25(日) 18:56:24 ID:ZiIWqGaZ
>>952
ああいや、これはソース見やすくするために分離してるだけで
leftKeyがどっかで変更されてるとかはないんですが。

956 :Now_loading...774KB:2006/06/25(日) 19:22:17 ID:xmvkGDGf
if (Key.isDown(Key.LEFT) || Key.isDown(100) || Key.isDown(72)) {
  leftKey = true;
} else {
  leftKey = false;
}

957 :Now_loading...774KB:2006/06/25(日) 19:46:45 ID:vCww1Inu
>>953
外部テキストで\nしてるなら、
読み込み時点で\\nに変換されてるので、
str.split("\\n").join("\n")しないとダメ。

HTMLテキストの話なら単に<br>にしないとダメ。

958 :Now_loading...774KB:2006/06/25(日) 19:47:46 ID:XtzlNSJZ
>>956
leftKey = Key.isDown(Key.LEFT) || Key.isDown(100) || Key.isDown(72);

959 :Now_loading...774KB:2006/06/25(日) 19:52:45 ID:xmvkGDGf
>>954
メディアコンポーネントを使えばASいらないよ。
あとmovファイルよりもflvファイルをオススメする。
理由は自分で調べてみるといい。

960 :954:2006/06/25(日) 22:30:44 ID:mbYf47aC
>>959
レスありがとうございます。
そのメディアコンポーネントという奴を調べてみたんですが、
どうもflashのBasicでは使えないみたいです。
なのでどうにか他の方法は無いでしょうか・・・

961 :Now_loading...774KB:2006/06/25(日) 23:42:06 ID:xmvkGDGf
ごめんよ、professionalのみだと知らんかった

962 :Now_loading...774KB:2006/06/26(月) 00:33:24 ID:CFT/qwfI
>>954
ムービーの形式はどうであれ、マウスの移動量に対して、フレームを進めるのであれば
こう考えてみては。

theMovie.gotoAndStop(theMovie._totalframes * マウス座標の割合);

マウス座標の割合は0〜1の間で変化します。
例えば、x座標系でのドラッグを行うのであれば

現在のx座標 / 移動できる最大のx座標

で割合を出せます。(左端が0の場合)

963 :951:2006/06/26(月) 15:46:34 ID:hMsFNHT4
結局手がかりなしか。on_
なんなんだろうこれ。どっかローレベルで不具合があるとしか思えん。

964 :Now_loading...774KB:2006/06/26(月) 15:52:46 ID:N0LhgiCv
>>963
おまいはレス全部試してからいってんだろうな?お礼も無しか。

965 :Now_loading...774KB:2006/06/26(月) 15:55:11 ID:qx9C7nuj
>>951
100%あなたに原因があるとしか思えん。

966 :Now_loading...774KB:2006/06/26(月) 16:11:32 ID:u6yWYrfX
>>963
今まで出たような単純なスクリプトだけ書いても同じ現象が起こるのか?
そうでないなら、ここに提示されてない部分に原因がある。
trace()でフラグの変化見るなどして、いつどうしてそうの現象が起こるのかを探ってみたか?
ホラーじゃないんだから、作り方か仕様でそうなるように作られてるだけだろ。

967 :Now_loading...774KB:2006/06/26(月) 22:28:19 ID:x+CBcgj6
困った時はこれを使おう
callESP();

968 :Now_loading...774KB:2006/06/26(月) 22:41:39 ID:PbgMUxwl
callESPって何?

969 :Now_loading...774KB:2006/06/26(月) 22:43:16 ID:N0LhgiCv
エスパー来て〜と思われ。

970 :Now_loading...774KB:2006/06/27(火) 03:28:16 ID:3eDOSleX
tellTarget("/967"){
 _visible=false;
}

ってなあに?

971 :Now_loading...774KB:2006/06/27(火) 08:10:32 ID:92Wxh+oi
967._visible=false;
と同じ。

972 :Now_loading...774KB:2006/06/27(火) 16:41:58 ID:lxYNPPud
秒から時分秒にわけるにはどうしたらいいんでしょうか。
とりあえず分と秒にする方法は考えてみたんですが、

hun = byotime/60;
syosuPoint = Number(String(hun).indexOf(".", 0));
byo = Number("0"+String(hun).substr(syosuPoint, 5));
playtimeTxt.text = Math.floor(hun)+" : "+Math.floor(byo*60);

もっといい方法はないでしょうか。

973 :Now_loading...774KB:2006/06/27(火) 16:56:08 ID:SN09D9sQ
sec = time%60;
min = Math.floor(time/60);
/*
hour = Math.floor(min/24);
min = min%24;
*/

とかこの辺では

974 :Now_loading...774KB:2006/06/27(火) 17:01:39 ID:q6HsdXqm
>>972
24時間限定。0フォーマットは適当にしる。
var t_seconds = 3670;
var aa:Date = new Date(t_seconds*1000);
trace(t_seconds+"秒は"+aa.getUTCHours()+":"+aa.getUTCMinutes()+":"+aa.getUTCSeconds());


975 :Now_loading...774KB:2006/06/27(火) 17:08:41 ID:lxYNPPud
>>973-974
ありがとうございます。
参考にさせていただきます。

976 :951:2006/06/28(水) 00:58:52 ID:j3nRiz0U
>>966
>trace()でフラグの変化見るなどして、いつどうしてそうの現象が起こるのかを探ってみたか?

だから再現性がないんですよ。本当にまれにしか起きない。
でもトラブルのメールが1通来たので(何百通も来る中での1通)、
どうも偶然ではないらしいと。

Flashだけでなく、DirectXアプリケーションなんかでも何回か同じ現象を見たので、
やっぱりWindowsのキー周りか何かでおかしなことが起こってると思うんですが。
Flashの質問じゃなかったかも知れないけど、こんなことどこで訊いたらいいかわからないし。

とりあえずこの現象に心当たりのある方がいないのは分かりました。
ホラーじゃないっていうけど完全にホラーです。

977 :Now_loading...774KB:2006/06/28(水) 01:06:29 ID:m+tIVmfb
>>976
全体のスクリプトがわからないとなんともいえない。
他のところは関係ないと思っててもそこに原因があったりする。

978 :Now_loading...774KB:2006/06/28(水) 01:17:30 ID:cQcCKVzF
よろしくお願いします。
いま、フレームアクションに以下を記述しています。

//
_root.abc.loadMovie("aaa.swf");
_root.abc.loadMovie("bbb.swf");
_root.abc.loadMovie("ccc.swf");
timer_ID = setInterval( function(){ _root.gotoAndPlay(2);} , 2000 );
//

この記述だと、aaa.swf,bbb.swf,ccc.swfの読み込みが終了するか、
しないか、わからないまま、20秒たつと、フレーム2に進んでしまう
という処理になります。これを、すべてswfファイルの読み込みが終了した
時から、20sたつと、フレーム2に進むという処理のフローにしたいのですが、
可能でしょうか? よろしくお願いします。

979 :Now_loading...774KB:2006/06/28(水) 01:18:26 ID:n0XXKjo5
>>976
最初の書き込みでは、951の環境でも再現されたみたいに読めたけど
実はそうじゃないのか?
それとも、951とそのメールの相手、二件だけ確認されたってことか?

確かに、全体がわからんとこれ以上何とも言えないが。

980 :Now_loading...774KB:2006/06/28(水) 01:47:11 ID:54Hsv3Jy
>>978
Loaderコンポーネントを使うか MovieClipLoaderクラスを使うなりして
bytesLoaded と bytesTotalを取得して読み込みできたか確認すればいいと思うよ。

981 :Now_loading...774KB:2006/06/28(水) 01:47:30 ID:TA0qYdZy
キーリスナーを多重登録してるとかでないの?
Windowsキーとか危ないボタンもあるし
自分の所で再現しなければ、よっぽどじゃなければ知らぬ存ぜぬだな。

982 :Now_loading...774KB:2006/06/28(水) 06:09:11 ID:gpAfnE6W
>>976
少なくとも必要のない変数を使うこと自体がおかしい。
わざわざ、他から破壊される要素を持ち込んでる。


983 :978:2006/06/28(水) 07:34:47 ID:cQcCKVzF
980>ありがとうございます。
なにぶん、Flash初心者なもので、申し訳ありませんが、
書き方のヒントをお教え頂けないでしょうか?


984 :Now_loading...774KB:2006/06/28(水) 12:39:28 ID:VlyewM6/
>>983
http://www.google.co.jp/

985 :Now_loading...774KB:2006/06/28(水) 14:32:25 ID:NwoC6KHy
>>983
アクションウィンドウにMovieClipLoaderと書いて、
書いたMovieClipLoaderを選択し、
ウィンドウの?ボタンを押すとヘルプが出てくる。
例も載ってるよ。


986 :Now_loading...774KB:2006/06/28(水) 19:31:36 ID:54Hsv3Jy
//_rootにabc、abc内にaaa,bbb,cccを配置しておく。
var timeOut:Number = 2000;
var count:Number = 0;
var timer_ID:Number;
var myLoader:MovieClipLoader = new MovieClipLoader();
myLoader.addListener(this);
myLoader.loadClip("aaa.swf", _root.abc.aaa);
myLoader.loadClip("bbb.swf", _root.abc.bbb);
myLoader.loadClip("ccc.swf", _root.abc.ccc);

//読み込みがひとつ終わるたびに実行される
function onLoadInit(target_mc:MovieClip) {
count++;
if( count >=3 ) {
timer_ID = setInterval( function(){ _root.gotoAndPlay(2); clearInterval(ID); } , timeOut) ;
}
}

987 :Now_loading...774KB:2006/06/28(水) 19:58:19 ID:fjtuo5kZ
変数aがあるとして、
ある画像Aを表示した時aを10増やして、
また別の画像Bを表示した時はaが5増えるようにするアクションスクリプトを教えていただけませんか?
(つまり、画像Aと画像Bを両方表示したら、変数aの値が15になるようにしたい)

988 :Now_loading...774KB:2006/06/28(水) 20:03:37 ID:54Hsv3Jy
>>987
画像AとBはどこにあってどうやって表示させてるん?
それによって答えは違うよ。

989 :Now_loading...774KB:2006/06/28(水) 20:17:03 ID:fjtuo5kZ
>>988
paraflaを使っているので、言い方が良く分かりませんが、
普通に画像を表示させているだけで、特に変わったことはしてません。

990 :Now_loading...774KB:2006/06/28(水) 20:41:51 ID:m+tIVmfb
>>989
paraflaは使ったことが無いけど、フレームに画像が置いてあるってこと?
var a = 0;
//画像Aを表示させたとき(Aのフレームにきたとき)
a+=10
//画像Bを表示させたとき(Bのフレームにきたとき)
a+=5;

991 :Now_loading...774KB:2006/06/28(水) 20:42:35 ID:54Hsv3Jy
変数の値を15にするのはいいとして、それを何に使いたいん?
やりたいことと違うって言われても困るから。

992 :Now_loading...774KB:2006/06/28(水) 23:17:08 ID:fjtuo5kZ
>>991
結論から言うと、音ゲーみたいなのを作ってて、
それの『スコア』を表示をしようと思ってるんです…。

993 :Now_loading...774KB:2006/06/28(水) 23:38:30 ID:54Hsv3Jy
てことは、ダイナミックテキストを配置して変数をaに指定、
最初のフレームで var a = 0;
Aが表示されるフレームで a +=10;
Bが表示されるフレームで a += 5;
とすればいいんだろうけど、
指定されたフレームに到達したときにしか動作しないならゲームとはいえないけど


994 :Now_loading...774KB:2006/06/28(水) 23:59:36 ID:54Hsv3Jy
画像AとBをそれぞれ子スプライトにして
親スプライトの1フレーム目に
var a = 0;

画像Aの1フレーム目に
onClipEvent(load){_root.a += 10}

画像Bの1フレーム目に
onClipEvent(load){_root.a += 5}

とするとAとBを表示するたびにaに加算されるはず。
paraflaの仕様がわからなくてちょっとだけ調べてしまった。

995 :Now_loading...774KB:2006/06/29(木) 16:37:01 ID:VciUe71p
外部のflvファイルをnetStreamでmovieclipに割り当てて再生しているのですが
再生されるムービーに対してアンチエイリアスがかかりません。
ムービークリップも_rootも_quality = "best";にしたのですがダメでした。
どうすればアンチエイリアスがかかるんでしょうか?


996 :Now_loading...774KB:2006/06/29(木) 16:38:31 ID:zhLKiNve
誰か次スレよろ

997 :Now_loading...774KB:2006/06/29(木) 16:45:53 ID:7tIBZnzd
XPでfashMXです。

getURLで、外部テキスト(**.txt)に書かれてあるURLをリンク先に設定することはできますか?

998 :Now_loading...774KB:2006/06/29(木) 17:35:35 ID:pDTUVQj/
できる

999 :Now_loading...774KB:2006/06/29(木) 20:40:23 ID:yHa4zmYO
>>995
flvファイルにアンチエイリアス?

1000 :Now_loading...774KB:2006/06/29(木) 20:47:57 ID:yHa4zmYO
次スレたてた
ActionScript 誰かが物凄い勢いで解答するスレ 13
http://pc8.2ch.net/test/read.cgi/swf/1151581429/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

349 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)