忍者ブログ

背伸びした視点のブログ→ちびネタ


ちびネタ  2010 / 02 / 21 ( Sun )

こんにちは。

kiri.jpg
(ゆっくりクリックして原寸大にしていってね!)


MikuMikuDanceでテキトーに遊んでるとすげえ楽しいぽりです。





1.ゲーム製作日誌と見せかけた何か



今作ってる(一応公式ウディコン目標)のゲームのSS。


gra.png
(クリックで原寸大 画面は激しく開発中のものです)


これがどういう意味を持ったSSかというと、実際にこれが全てを表してるような感じです。マジで。





……という意味深な書き込みだけじゃ許してもらえない気もするんで、ウディタの小ネタいくつか言ってお茶を濁します。




2.ウディタの小ネタ


その1:処理の軽さより見た目を重視したゲージを作るときは

ウディタでゲージをピクチャ表示するとき「ピクチャ表示」の「拡大率(横のみ)」を使用することが多いと思います。が、いくつかこれには欠点がありまして。


欠点1:長さに関わらず100%刻みでしか使えない
欠点2:長方形のゲージしか作れない&デザインが凝れない
欠点3:縦方向または横方向のみの1次元ゲージしか使えない



という欠点を補うゲージ表示方法。それは


「お手軽ウインドウ」


ということで、お手軽ウインドウでゲージを表示させる方法について。



1:お手軽ウインドウの中心部分にあたるところだけ塗ったピクチャを用意する
1.png
(分かりやすいように3x3する罫線を描いてます&白黒部分は透明化処理を行ってる部分です)


2:お手軽ウインドウで「表示するゲージの長さ+ピクチャサイズの2/3」のサイズで表示する


お手軽ウインドウのウインドウサイズ部分にも変数が使用できることを利用します。
ピクチャサイズの2/3というのは、↑ピクチャで塗らなかった外枠分です。



これを使えば、1px区切りでゲージが表示できるのでおすすめです。
また、お手軽ウインドウであることを利用したこんなデザインゲージも作れます


b7db113f.png

これを「ピクチャ表示」の拡大率のみでやろうとすると、ゲージの推移によって角度がだんだん変わってきちゃうので見た目がよろしくありません。



まぁこの方法にも弱点はあって、

1:毎回「ピクチャ表示」するので重い
2:お手軽ウインドウ外枠にもデザインした「デザインゲージ」の場合、表示できるゲージの短さに下限がある

などでしょうか。





その2:何番のピクチャにマウスを重ねてるか確認する方法

「変数操作+」に用意されている「マウスカーソル重なっている」の処理。ピクチャをボタンのように使用できるので便利なのですが、いちいち全部のピクチャに毎回イベントを使ってるために変数を大量に使用してる人がいます(主に昔のぽり)

すなわちこういう事なのですが、

■変数操作+: このコモンEvセルフ20 = ピクチャ:100のマウス重なってる?(1=YES)
■変数操作+: このコモンEvセルフ21 = ピクチャ:101のマウス重なってる?(1=YES)
■変数操作+: このコモンEvセルフ22 = ピクチャ:102のマウス重なってる?(1=YES)
■変数操作+: このコモンEvセルフ23 = ピクチャ:103のマウス重なってる?(1=YES)
■変数操作+: このコモンEvセルフ24 = ピクチャ:104のマウス重なってる?(1=YES)

■条件分岐(変数): 【1】このコモンEvセルフ20が1と同じ 【2】このコモンEvセルフ21が1と同じ 【3】このコモンEvセルフ22が1と同じ
◇分岐: 【1】 [ このコモンEvセルフ20が1と同じ ]の場合↓
|■
◇分岐: 【2】 [ このコモンEvセルフ21が1と同じ ]の場合↓
|■
◇分岐: 【3】 [ このコモンEvセルフ22が1と同じ ]の場合↓
|■
◇分岐終了◇◇
■条件分岐(変数): 【1】このコモンEvセルフ23が1と同じ 【2】このコモンEvセルフ24が1と同じ
◇分岐: 【1】 [ このコモンEvセルフ23が1と同じ ]の場合↓
|■
◇分岐: 【2】 [ このコモンEvセルフ24が1と同じ ]の場合↓
|■
◇分岐終了◇◇

ってな感じにね。この例みたいに4~5個程度ならまだマシですが、これが多くなると明らかに変数領域の無駄です。


ということで、たとえピクチャが何枚だろうが変数5個(実質3個)しか使わないピクチャのオンマウス処理をどうぞ

▼ ID:cself[0]~cself[1]のピクチャのうち、
▼ 現在どのピクチャ上にマウスがあるか調べる

■変数操作: このコモンEvセルフ0 = 1 + 0
■変数操作: このコモンEvセルフ1 = 100 + 0

▼ ↓↓ここから計算
■変数操作: このコモンEvセルフ10 = 0 + 0
■変数操作: このコモンEvセルフ11<ループ回数> = このコモンEvセルフ1 - このコモンEvセルフ0
■変数操作: このコモンEvセルフ11<ループ回数> += 1 + 0

■回数付きループ [ このコモンEvセルフ11<ループ回数> ]回
|■変数操作+: このコモンEvセルフ12<ピクチャ判定> = ピクチャ:このコモンEvセルフ0のマウス重なってる?(1=YES)
|■変数操作: このコモンEvセルフ10 += このコモンEvセルフ12<ピクチャ判定> * このコモンEvセルフ0
|■変数操作: このコモンEvセルフ0 += 1 + 0

|■
◇ループここまで◇◇
▼ これでcself[10]にはマウスが重なってるピクチャID(大きい方優先)が代入されている
▼ (どのピクチャ上にもマウスがなかった場合0が代入されている)


これはただ単に「『マウス重なってる』は0か1かどっちかしか代入しないこと」「0に何をかけ算しても0なこと」の2つを利用した計算方法です。



これ自体は簡単な話かもしれませんが、ゲームシステムの最適化ってのはこういうちょっとしたところから始まるものだと思ってます。

拍手

PR

Comment

お名前
タイトル
文字色
URL
コメント
パスワード

プラグイン

カウンター

サイト移動

メインページへ行く
背伸びした視点の日々
旧ブログへ行く
この視点の日々

執筆者として参加していたようです
ウディタ新聞

ついったー

カレンダー

06 2017/07 08
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 25 26 27 28 29
30 31

プロフィール

HN:
ぽり0655
年齢:
28
性別:
男性
誕生日:
1989/04/16
自己紹介:
主に日記を書きながら、たまにゲームを作ったり作らなかったり。

最新記事

最新コメント

※ぽりが返信したコメントには、タイトル横にマークが付いています
[07/28 MK]
[03/10 拍手したものです]
[12/25 NONAME]
[12/13 拍手したものです]
[09/15 拍手したものです]

カテゴリー

ブログ内検索

アーカイブ

RSS

管理者専用