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

このエントリーをはてなブックマークに追加
799Now_loading...774KB:2005/04/25(月) 07:56:20 ID:iOtFFRhS
>>794
on(rollOver){trace("rollover");}
800795:2005/04/25(月) 08:08:22 ID:hB//AuRw
(水玉が2のn乗に分裂していくAS)

>>796
確認しましたが、Dは1づつ増加しこれに関しては問題はありません。

ググりましたが、今のところ「水玉が2のn乗に分裂していくAS」は
見つかりません。どなたかご存知でしたら、宜しくお願い致します。
801Now_loading...774KB:2005/04/25(月) 11:40:24 ID:WqgmePuB
>>800
//_rootのタイムライン
var D = 0;var MAX_D = 500
function segmentMC(){
var D = ++_root.D
if(D>MAX_D){delete this.onEnterFrame;return;}
var x = Math.random()*300;var y = Math.random()*300
this.duplicateMovieClip("mark" + D,D,{_x:x,_y:y,onEnterFrame:segmentMC})
}
mark.onEnterFrame = segmentMC

_rootにインスタンス「mark」があるとして、ベースはこんなかな?あとは好きにして。
802800:2005/04/25(月) 11:58:29 ID:oaFGTvoE
>>801
ありがとうございます。これでやってみます。
803Now_loading...774KB:2005/04/25(月) 12:01:48 ID:dJKVMOUu
タイムスタンプからDateオブジェクトを生成する方法ってないでしょうか?
804Now_loading...774KB:2005/04/25(月) 16:07:11 ID:KFat5ZZP
>>803
タイムスタンプをパースしてコンストラクタにぶち込むしか無さそう
805803:2005/04/25(月) 16:45:39 ID:dJKVMOUu
orz やっぱそうっすよね。。
ガリガリとパースします、アリガトウ。
806Now_loading...774KB:2005/04/25(月) 17:28:18 ID:XxIVnT5e
お前らスクリプト組む時流れ図とか書いてる?
807Now_loading...774KB:2005/04/25(月) 17:33:07 ID:fSuO426A
>>806
書かない
大規模なもの作るときも書いたことない
808Now_loading...774KB:2005/04/25(月) 18:07:00 ID:enm7SQcB
アルゴリズムからだめっぽいですが、


特定のフレームを再生で通過すると、貼ってあるダイナミックテキストのカウンターが設定しただけ加算されるというふうにしたいのですが


5フレ目通過で3、カウンタが上昇、34フレ目で16上昇、という風に・・・

どのようにASを組めばいいのでしょうか。
809Now_loading...774KB:2005/04/25(月) 18:31:56 ID:AHcniU8Z
>>806
ちょっと複雑なのは紙でチャート作ったりする
810Now_loading...774KB:2005/04/25(月) 20:45:32 ID:KFat5ZZP
>>808
ダイナミックテキストに変数設定してフレームスクリプトで変数に値を入れれば?
811Now_loading...774KB:2005/04/26(火) 17:18:31 ID:i6QHfpRp
>>806
裏紙にメモする程度
(それもプログラムのフローっていうよりGUI決めるため)
812Now_loading...774KB:2005/04/26(火) 17:34:02 ID:U96BGCEn
MXでスクリプトを書いているのですが初歩的な質問させてください。

ライブラリにある画像(png/jpg等)をムービークリップに配置したいだけなのですが
外部画像ファイルならloadMovie()、ライブラリにあるシンボルならリンケージを
指定してattachMovie()で可能でした。
ライブラリにある画像ファイルをシンボル化しないで読む方法はあります?
813Now_loading...774KB:2005/04/26(火) 20:18:48 ID:1PVJSHnb
ないっす。
814Now_loading...774KB:2005/04/26(火) 20:52:48 ID:U96BGCEn
やはりないっすか。
全部シンボル変換します orz

ありがとうございました。
815Now_loading...774KB:2005/04/26(火) 21:58:37 ID:aaG09lJQ
学校の課題研究でFlashでゲームを作ることになった。
なかなかおもしろいね。これ。
816Now_loading...774KB:2005/04/26(火) 23:40:40 ID:Tfn3uyji
MXでつくってます

this.onEnterFrame = function(){
 …
}

とするとうまくいっても、一度関数をはさんだら一回しか実行されなかったりします。

this.onEnterFrame = f_kansu();
function f_kansu(){
 …
}

この挙動の違いはどこだら来るんですか?
817Now_loading...774KB:2005/04/26(火) 23:53:05 ID:NisehwO9
>>816
上はenterframeでその後の処理ブロック内が実行される
下は下記のように書くと上と同じように動く
function f_kansu() {

}
this.onEnterFrame = function() {
f_kansu()
};

下のthis.onEnterFrame = f_kansu();はf_kansuを実行してonEnterFrameに実行するから1回しか実行されない
this.onEnterFrame = は関係ないって事ね
818Now_loading...774KB:2005/04/27(水) 00:00:11 ID:2c8nz3Ph
いやいや、カッコが要らないだけだと思うんだ。

this.onEnterFrame = f_kansu();

this.onEnterFrame = f_kansu;
819Now_loading...774KB:2005/04/27(水) 00:00:46 ID:6agUU4E7
this.onEnterFrame=f_kansu;
じゃいけないの?
820816:2005/04/27(水) 00:01:20 ID:njStY+ML
なるほど、分かりました
ありがとう
821816:2005/04/27(水) 00:05:32 ID:Tfn3uyji
後で変数の受け渡しが必要になると思うので
>>817でやらせてもらいます
822Now_loading...774KB:2005/04/27(水) 07:19:55 ID:mY5NjENI
ASでモーショントゥイーンのイージングをいじる事ってできますかね?
823Now_loading...774KB:2005/04/27(水) 08:12:19 ID:U+n/SZgf
>>822
無理。そもそもASにモーショントゥイーンという概念は無い。
ただし、イージングと同じように加減速する計算を行っての
モーションは可能。
824Now_loading...774KB:2005/04/27(水) 08:38:13 ID:ru7Fedmy
825Now_loading...774KB:2005/04/27(水) 13:16:05 ID:LVs951JA
変数aにいくつ改行が入ってるかを調べる方法を教えてください
826Now_loading...774KB:2005/04/27(水) 16:35:44 ID:3GR6u+Ir
>>825
split("\n")してlength-1とか
827826:2005/04/27(水) 16:38:06 ID:3GR6u+Ir
やっぱループで一個一個検索した方が早いかも
828Now_loading...774KB:2005/04/27(水) 17:30:56 ID:ru7Fedmy
>>825
こんなのはどう?
a.length-a.split("\n").join("").length;
829828:2005/04/27(水) 17:50:57 ID:ru7Fedmy
ちょっと勘違いしてた。826で全ての場合にOKだね。
830Now_loading...774KB:2005/04/27(水) 20:22:32 ID:c/331TFc
(たぶん配列を使うと思いますが)
1〜100の数字のグループがあったとき、これらに対してある数字を
適当に打ち、それがこのグループに入っているかの判定ASはどの
ようになるでしょうか?
 例えば
54を入力→true
150を入力→false
831Now_loading...774KB:2005/04/27(水) 20:45:01 ID:LVs951JA
num = 54;
trace(1<=num&&num<=100);//trueになる
num = 150;
trace(1<=num&&num<=100;//falseになる
832ガイ先生:2005/04/27(水) 20:46:40 ID:o3/w7RQJ
きし団のワンナイカーニバルのフラッシュを作ってください!
お願いします!!
833Now_loading...774KB:2005/04/27(水) 21:31:38 ID:3/Zuovw7
function xserch(grpAry,inputNum){
found=false;
for( i in grpAry){
if(grpAry[i]==inputNum){
found=true;
break;
}
}
return (found);
}

aa=[1,2,3,4,5,6,7,8,9,10,11,54,2568,800,157];
num=150;
trace(num+"=>"+xserch(aa,num));
num=54;
trace(num+"=>"+xserch(aa,num));

こういう感じでよいのかな。取り違えてたらごめん。
834Now_loading...774KB:2005/04/27(水) 22:44:38 ID:xmlmZOUJ
>>832
それが違法かどうかも解らない屑に作る奴がいるか
死ねやガキ
835Now_loading...774KB:2005/04/27(水) 23:08:13 ID:9nvtZ1sv
>>832
ヤターできたよ!
trace("わんないかーにばーるほっほー♪");
836Now_loading...774KB:2005/04/27(水) 23:19:47 ID:LVs951JA
見事だ
837830:2005/04/27(水) 23:57:40 ID:PsmvE1aT
>>831, 833
すみません。最初の質問が間違っていました。
「1〜100の数字のグループがあったとき」
は正しくは
「1〜100の範囲にあるランダムな数字群(1,7,19,25,54,66,・・・)
があったとき」です。
つまりこのような数字群で、
54 → true
150 → false
の判定を行いたいと思っています。833さんの方が理想形に
近いですが、実際に判定は可能でしょうか?
838833:2005/04/28(木) 00:03:21 ID:3/Zuovw7
>>837
判定出来なかった?
839830&837:2005/04/28(木) 00:59:43 ID:0/vyEiCM
(日本人ですが日本語に苦労していますw)
ここでのランダムな数字群とは、random()を用いて発生させたもので
予めAS欄に存在するものではないです。そこで10個の乱数ならば
for(i=1; i<=10; i++){
grpAry[i]=Math.random()による整数乱数
}
と配列に格納する部分を加え、833の方法で判定しようと思います。

言葉足らずですみません。
※1〜100までの数字の乱数当てゲームだと考えて頂いて結構です。
840Now_loading...774KB:2005/04/28(木) 08:39:15 ID:nSlQIrLq
初心者の質問ですみません。FLASH MXです。

for (i=1; i<=3; i++) {
this.attachMovie ("pic001Movie", "pic001Movie_"+i, i);
pic001Movie_1._visible = false;
pic001Movie_2._visible = false;
pic001Movie_3._visible = false;
};

上の部分にある

pic001Movie_1._visible = false;
pic001Movie_2._visible = false;
pic001Movie_3._visible = false;

を i を使って一文にまとめましたが

pic001Movie_+i._visible = false;

では上手くいきませんでした。基本的なことと思いますが
修正してください。
841Now_loading...774KB:2005/04/28(木) 08:48:59 ID:0s/0WaW1
this["pic001Movie_"+i]._visible = false;
842Now_loading...774KB:2005/04/28(木) 09:26:42 ID:nSlQIrLq
>>841 さん
上手くいきました。ありがとう。
843Now_loading...774KB:2005/04/28(木) 10:05:53 ID:tsgX/qNE
本当は配列に入れてやって処理する方がいいんだろうけどね〜
844Now_loading...774KB:2005/04/28(木) 10:08:22 ID:tsgX/qNE
ついでにこういうやり方を知っとくと今後役立つかも。

for (i=1; i<=3; i++) {
newMC = this.attachMovie ("pic001Movie", "pic001Movie_"+i, i);
newMC._visible = false
};
845830&837:2005/04/28(木) 10:55:30 ID:GYcqLxA5
乱数当ての件、解決しました
846Now_loading...774KB:2005/04/28(木) 13:20:50 ID:tFk54//7
質問です。

removeMovieClip()を実行したときに呼ばれるイベントってありますか?
onUnloadはちょっと違うようだったもので。

ムービークリップ内でsetInterval()でタイマを作った後始末をやりたいのです。
removeMovieClip()を呼ぶ直前に処理コードを書くのでもいいんですけど
それだとremoveMovieClip()を呼ぶ個所に全部書かなきゃで面倒だしバグの
原因にもなりそうなんですよね。

ActionScript2.0でもデストラクタって見あたらないような気がするんですが
無いのかな・・・

環境はMXですがMX2004でないと無理ならMX2004にします。
847Now_loading...774KB:2005/04/28(木) 13:32:12 ID:aB7QS724
onUnloadでいいと思うけどなあ
そのインスタンスってどうやって配置してんの?
848Now_loading...774KB
>>847
インスタンスはattachMovie()で配置してます。

情報を出し損ねてすみません。stop()でフレームは全部止めてます。

マニュアルによるとonUnloadは「ムービークリップをタイムラインから
削除した後に表示される最初のフレームで呼び出されます。」
となっているので、フレームを止めている為に呼ばれないのかな。