2009年10月31日土曜日

15パズル・リターンズっす

勝手に「ペライニー」作って、送りつけてるっす。
NO!と言われる前に送りつけるっす。
何の機能もない、ただの基本プリムの塊っす。
ご安心くださいっす。
どうもぺんぎんっす( ◎v◎ )


随分前にやった、15パズル大会で作ったスクリプトの改造っす。
やろうやろうとは思ってたんっすけど、手が出てなかったっす。

今回、改造するにあたっての方針っす。
1.サイズが大きすぎるので、まずは15パズル→8パズルにする。
2.そのあとは8パズルを頑張って解く。
これは以前と全く同じっす。
スピードと手数と容量を考えていくと、結局これになったっす。

1.の部分がうまく作れれば、かなりの時間と手数の短縮になる予感っす。
というのも、8パズルに持っていくまでの過程は「幅優先探索」で作ってあるっす。
「反復深化探索」で書くとイイ感じになると予想してるっす。

大事な「枝刈り」のところの評価方法は、マンハッタン距離を採用っす。
8パズルにする=外側の1, 2, 3, 4, 5, 9, 13を確定させる
っていうことを考えると、そのほかのコマは「どうでも良い」っすから、
過程で、その「どうでも良いコマ」をかなりの頻度、動かす必要があるっす。
これを使うと、別の何かうまい評価方法がありそうな感じっす。


ま、作りながら考えるっす。

2009年10月30日金曜日

HUDに追加して・・・っす

ここんところ、プリムでラクガキするのにハマってるっす。
プリムいじりのリハビリっすね。
どうもぺんぎんっす( ◎v◎ )


良くイベント会場で、「HUDは外してください」と言われるっす。
理由は負荷の高いスクリプトが入ってる可能性があるからっすね。
いろいろ悪影響が出ちゃうっす。

なら逆に、リージョンのパフォーマンスが悪くなってきたら、
勝手にデタッチする機能を持ったHUDがあっても良くないっすかね?
リージョンFPSとかはスクリプトから取得できるっすからね。


「勝手に外れた!」と、制作者にIMが飛ぶ可能性が高いっすから、
デタッチまで行かずに、警告メッセージ出すくらいが現実的かもっすね。

2009年10月29日木曜日

ダイアログっす(1)

久しぶりのスクリプトネタっす。
頭の整理が出来たモノから書いていくっす。
どうもぺんぎんっす( ◎v◎ )


[12個以上ボタンがあるダイアログって、どう作る?]
がテーマっす。
ラクで簡単な方法を考え中なんっすけど、アイデアがあれば
教えてくださいっす。
最初なので、自分の方法を載せるっす。

ここでのケースは、
項目A - 値A1, 値A2, 値A3,・・・
項目B - 値B1, 値B2, 値B3,・・・
項目C - 値C1, 値C2, 値C3,・・・
と、なってる場合を考えるっす。
たとえば、
項目A = サイズ
項目B = 色
項目C = 透明度
で、値にはそれぞれに合ったものが入ってるとかっす。


ここから自分の方法についてっす。
まず、
list 項目A = [値A1, 値A2, 値A3,・・・];
list 項目B = [値B1, 値B2, 値B3,・・・];
list 項目C = [値C1, 値C2, 値C3,・・・];
というふうに、全部listにぶち込んでおくっす。

(i) 値が11個以下の場合
値全てと、[項目選択ページ(以下TOP)に戻る]ボタンだけ

(ii) 値が12個以上の場合
グローバル変数として、integer pageを宣言しておくっす。
llList2Listを使って9個抜き出したものと、
[1つ前のページに戻る][TOPに戻る][1つ先のページに進む]
ボタンを出すっす。
最後に中途半端な数が余った場合は、[何もしない]ボタンで穴埋めっす。
空っぽだとダメっすから、テキトーに、スペースとかっすね。


とまぁ、誰でも思いつきそうな方法っす。
A,B,Cそれぞれでやることが違うっすから、
if(項目AをTOPで選択した)
{
  項目Aを反映させる(ダイアログで選ばれた値); // ←ユーザー関数
}
else if(項目BをTOPで選択した)
{
  項目Bを反映させる(ダイアログで選ばれた値); // ←ユーザー関数
}
else if(項目CをTOPで選択した)
{
  項目Cを反映させる(ダイアログで選ばれた値); // ←ユーザー関数
}
として、3つとも別々に処理することを書いてやらないといけないっす。
救いは、元は1つのlistっすから、インデックスによる対応付けが
出来ることっすね。
ユーザー関数で利用できるかもっすね。


結論としては、やることが違えば、それについて書かないといけなくって、
あれこれやってみたけど結局は面倒くさい・・・ってことっすかね?

2009年10月27日火曜日

フレーム数っす

アップテンポ過ぎて、実際にやろうとするとアキレス腱傷めるっす。
アバターにやらせるものっすから、多少のムリは入ってるっす。
アニメは現在3つ完成っす。
どうもぺんぎんっす( ◎v◎ )


ざっと、4/4拍子で2小節分のフレーム数を書いておくっす。
FPSは30で固定っすから、計算すれば求められるんっすけどね。
この場合、(テンポ)×(Frame数)=14,400になるっす。

テンポ Frame数
100 144
120 120
125 115
130 111
135 107
140 103
145 99
150 96
155 93
160 90
165 87
170 85
175 83
180 80

だいたいこんなもんっす。
4/3拍子のときは、3/4を掛ければ出るっす。
音と同期させるアニメを作るときの参考にどうぞっす。

2009年10月26日月曜日

Animation作るのも面白いっすね

LSLCON終了後の充電期間が終了しましたっす。
というわけで、ブログも書いていくっす。
どうもぺんぎんっす( ◎v◎ )


アニメーションを再生させるHUD作ったついでに、タイニー用アニメも作ってるっす。
作ってるのはテンポをあげて、ダンス(に見えるっすかねぇ?)っす。

今後、ちょっとでもラクするために、簡単な作戦を立てたっす。
[作戦]
2小節くらいで動きをいろいろ作っておいて、あとで合体させる

テンポの調節は後でやることにして、動きだけ作るっす。
というのも、いざ作ろうとして自分の「ダンス」の引き出しを開けてみたら
何も入っていなかったっていう・・・
で、とりあえず引き出しに何か詰めておこうかと考えたわけっす。


いろんな動画で、動きをパク参考にして作るっす。
Free Avatar