ActionScript 誰かが物凄い勢いで解答するスレ 6
>>794 on(rollOver){trace("rollover");}
800 :
795:2005/04/25(月) 08:08:22 ID:hB//AuRw
(水玉が2のn乗に分裂していくAS)
>>796 確認しましたが、Dは1づつ増加しこれに関しては問題はありません。
ググりましたが、今のところ「水玉が2のn乗に分裂していくAS」は
見つかりません。どなたかご存知でしたら、宜しくお願い致します。
>>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」があるとして、ベースはこんなかな?あとは好きにして。
802 :
800:2005/04/25(月) 11:58:29 ID:oaFGTvoE
>>801 ありがとうございます。これでやってみます。
タイムスタンプからDateオブジェクトを生成する方法ってないでしょうか?
>>803 タイムスタンプをパースしてコンストラクタにぶち込むしか無さそう
805 :
803:2005/04/25(月) 16:45:39 ID:dJKVMOUu
orz やっぱそうっすよね。。
ガリガリとパースします、アリガトウ。
お前らスクリプト組む時流れ図とか書いてる?
>>806 書かない
大規模なもの作るときも書いたことない
アルゴリズムからだめっぽいですが、
特定のフレームを再生で通過すると、貼ってあるダイナミックテキストのカウンターが設定しただけ加算されるというふうにしたいのですが
5フレ目通過で3、カウンタが上昇、34フレ目で16上昇、という風に・・・
どのようにASを組めばいいのでしょうか。
>>806 ちょっと複雑なのは紙でチャート作ったりする
>>808 ダイナミックテキストに変数設定してフレームスクリプトで変数に値を入れれば?
>>806 裏紙にメモする程度
(それもプログラムのフローっていうよりGUI決めるため)
MXでスクリプトを書いているのですが初歩的な質問させてください。
ライブラリにある画像(png/jpg等)をムービークリップに配置したいだけなのですが
外部画像ファイルならloadMovie()、ライブラリにあるシンボルならリンケージを
指定してattachMovie()で可能でした。
ライブラリにある画像ファイルをシンボル化しないで読む方法はあります?
ないっす。
やはりないっすか。
全部シンボル変換します orz
ありがとうございました。
学校の課題研究でFlashでゲームを作ることになった。
なかなかおもしろいね。これ。
816 :
Now_loading...774KB:2005/04/26(火) 23:40:40 ID:Tfn3uyji
MXでつくってます
this.onEnterFrame = function(){
…
}
とするとうまくいっても、一度関数をはさんだら一回しか実行されなかったりします。
this.onEnterFrame = f_kansu();
function f_kansu(){
…
}
この挙動の違いはどこだら来るんですか?
>>816 上はenterframeでその後の処理ブロック内が実行される
下は下記のように書くと上と同じように動く
function f_kansu() {
…
}
this.onEnterFrame = function() {
f_kansu()
};
下のthis.onEnterFrame = f_kansu();はf_kansuを実行してonEnterFrameに実行するから1回しか実行されない
this.onEnterFrame = は関係ないって事ね
いやいや、カッコが要らないだけだと思うんだ。
this.onEnterFrame = f_kansu();
↓
this.onEnterFrame = f_kansu;
this.onEnterFrame=f_kansu;
じゃいけないの?
820 :
816:2005/04/27(水) 00:01:20 ID:njStY+ML
なるほど、分かりました
ありがとう
821 :
816:2005/04/27(水) 00:05:32 ID:Tfn3uyji
後で変数の受け渡しが必要になると思うので
>>817でやらせてもらいます
ASでモーショントゥイーンのイージングをいじる事ってできますかね?
823 :
Now_loading...774KB:2005/04/27(水) 08:12:19 ID:U+n/SZgf
>>822 無理。そもそもASにモーショントゥイーンという概念は無い。
ただし、イージングと同じように加減速する計算を行っての
モーションは可能。
変数aにいくつ改行が入ってるかを調べる方法を教えてください
>>825 split("\n")してlength-1とか
827 :
826:2005/04/27(水) 16:38:06 ID:3GR6u+Ir
やっぱループで一個一個検索した方が早いかも
>>825 こんなのはどう?
a.length-a.split("\n").join("").length;
829 :
828:2005/04/27(水) 17:50:57 ID:ru7Fedmy
ちょっと勘違いしてた。826で全ての場合にOKだね。
830 :
Now_loading...774KB:2005/04/27(水) 20:22:32 ID:c/331TFc
(たぶん配列を使うと思いますが)
1〜100の数字のグループがあったとき、これらに対してある数字を
適当に打ち、それがこのグループに入っているかの判定ASはどの
ようになるでしょうか?
例えば
54を入力→true
150を入力→false
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
きし団のワンナイカーニバルのフラッシュを作ってください!
お願いします!!
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));
こういう感じでよいのかな。取り違えてたらごめん。
>>832 それが違法かどうかも解らない屑に作る奴がいるか
死ねやガキ
>>832 ヤターできたよ!
trace("わんないかーにばーるほっほー♪");
見事だ
837 :
830: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さんの方が理想形に
近いですが、実際に判定は可能でしょうか?
838 :
833:2005/04/28(木) 00:03:21 ID:3/Zuovw7
839 :
830&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までの数字の乱数当てゲームだと考えて頂いて結構です。
840 :
Now_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;
では上手くいきませんでした。基本的なことと思いますが
修正してください。
this["pic001Movie_"+i]._visible = false;
842 :
Now_loading...774KB:2005/04/28(木) 09:26:42 ID:nSlQIrLq
本当は配列に入れてやって処理する方がいいんだろうけどね〜
ついでにこういうやり方を知っとくと今後役立つかも。
for (i=1; i<=3; i++) {
newMC = this.attachMovie ("pic001Movie", "pic001Movie_"+i, i);
newMC._visible = false
};
乱数当ての件、解決しました
質問です。
removeMovieClip()を実行したときに呼ばれるイベントってありますか?
onUnloadはちょっと違うようだったもので。
ムービークリップ内でsetInterval()でタイマを作った後始末をやりたいのです。
removeMovieClip()を呼ぶ直前に処理コードを書くのでもいいんですけど
それだとremoveMovieClip()を呼ぶ個所に全部書かなきゃで面倒だしバグの
原因にもなりそうなんですよね。
ActionScript2.0でもデストラクタって見あたらないような気がするんですが
無いのかな・・・
環境はMXですがMX2004でないと無理ならMX2004にします。
onUnloadでいいと思うけどなあ
そのインスタンスってどうやって配置してんの?
>>847 インスタンスはattachMovie()で配置してます。
情報を出し損ねてすみません。stop()でフレームは全部止めてます。
マニュアルによるとonUnloadは「ムービークリップをタイムラインから
削除した後に表示される最初のフレームで呼び出されます。」
となっているので、フレームを止めている為に呼ばれないのかな。