トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   どこでもFlash【携帯向けFlash関連】
     ムービークリップをランダムで配置
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
imakara
Åê¹ÆNo.38076
投稿日時: 2008-3-18 19:10
新米
居住地:
投稿: 12
使用環境:
WinXP,Flash8
ムービークリップをランダムで配置
毎回参考にさせていただいてます。
今回Flashlite1.1で初めてFlashゲーム作りにチャレンジして
いて、ここのサイトの書き込みを参考にスライドパズルゲーム
を作り、一応できたのですが、

絵を書いたパネルの配置が毎回同じでは味気ないので、
毎回ランダムでパネルの配置が変わるようにしたいのですが、
いまいちやり方がわかりません・・・。

パズルは240×240でPanelは同じ大きさの16個の絵が描かれた
MCでできていてそれぞれPanel1?16とインスタンス名をつけてます。
一応自分で考えて、以下のように書いてみたんですが、

r = random(16)+1;
for (i=1; i<=16; i++) {
if (i<>r) {
setProperty("/panel" add i, _x, getProperty("/panel" add r, _x));
}
if (i<>r) {
setProperty("/panel" add i, _y, getProperty("/panel" add r, _y));
}
}

パネルの数字とランダムの数字が違う時だけ位置を入れ替える
みたいな感じにしようかと思ったんですが・・・。
これだとPanel16だけランダムで配置されて他のMCは
ステージから消えてしまいました・・・。

なにかヒントをいただけたらありがたいです。
よろしくお願いします。
ruriwo
Åê¹ÆNo.38077
投稿日時: 2008-3-18 20:27
新米
居住地: okinawa
投稿: 11
使用環境:
Flash Pro8/WinXP Pro SP3
au W61CA/DoCoMo P902i
オンライン
Re: ムービークリップをランダムで配置
ん?、ざっと考えてみたんですが、
こんなのはどぉでしょう・・・。

//mainAS-----------------------------
num = 16//枚数
/*---------------------------------*/
i=0;j=0;ct=0;
for(i=1;i<=num;i++){
eval("a"add i) = 0;
}
/*---------------------------------*/
i=0;j=0;ct=0;
for(i=1;i<num+1;i++){
r = random(num)+1;
for(j=1;j<num+1;j++){
if(eval("a" add j) == r){
i--;
break;
}
}
if(j == num+1){
eval("a" add i ) = r;
}
}
/*---------------------------------*/
i=0;j=0;ct=0;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
ct++;
tmp = "panel" add ct;
duplicateMovieClip("panel", tmp, eval("i") + 8 * eval("j"));
tellTarget(tmp){
n=eval("../:a"add ../:ct);
setProperty("", _x, (eval("../:i")* 60));
setProperty("", _y, (eval("../:j")* 60));
}
}
}


i=0;j=0;ct=0;
↑が汚いですが;
imakara
Åê¹ÆNo.38095
投稿日時: 2008-3-19 16:09
新米
居住地:
投稿: 12
使用環境:
WinXP,Flash8
Re: ムービークリップをランダムで配置
ありがとうございます!
とりあえずパネルがバラバラに配置されるようになりました。
ですが、やはり毎回同じ位置にMCが配置されるみたいです。

まだ初心者の自分にはMCの複製などあまり使ったこともなく、
実は書いていただいたスクリプトが、なにがどうなって
こういう動きになるのかパっと見わからないのですが、
ちょっと書いていただいたものを参考に自分で調べつつ
いじってみます。
ありがとうございます。
swimmy
Åê¹ÆNo.38106
投稿日時: 2008-3-20 9:58
新米
居住地: 東京
投稿: 2
使用環境:
CS3
XP Pro
Re: ムービークリップをランダムで配置
FlashLiteは触ったことがないので、実際にソースは書けないのですが、パネルゲームのパネルはランダムに配置しちゃうとクリアできない並び方とかになったりしそうですが。。。

なので全部きちんと配置したあとに適当にゲームを行った状態を作りだせばいいのでは?

for (i=0; i<100; i++) {
r = random(16)+1;
//指定したパネルが動けば、動かす関数を呼ぶ。
movePanel(r);
}

みたいなことをループの回数を調整してやってみたらどうでしょう?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops