プロフィール

はーさん

Author:はーさん
1人創作チームDeadMan'sSunのボスです。
Twitter→@Ha_Shok_ko

TERA HITO:Revolutionを作りました。よろしく頼むぜ、兄弟!
・ふりーむ!のTERAのページ(exe形式公開場所)へ
・UnityRoomのTERAのページ(WebGL版公開場所)へ

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム
QRコード
QR

私のアイランド


2015/07/15 23:33 はーさん

UnityでHPメーターみたいなものを作った話続編

昨日の記事におコメントがございました。

「Imageのtypeをfilledにすればバーできるよ。」

・・・ほぉ。
そのあと、フォロワーの方からも(画像付きで丁寧に説明してくれました。感謝。)

「filledならこうなりますよ。イメージこんな感じです。(画像」

ワッザ!?

僕はここでそれがどういうことか理解してしまいました。

「わしの天才コードよりも楽な方法があるっちゅーことなんやな・・・!」

ショック1割発見の喜び7割、残り2割はコメントもらえてラッキーな気持ちです。
と、いうわけでfilledを使ったものをひとつ。
どーぞ。




おー・・・ワンダフル。
これを使えばコードもガッツリ短縮できそうな雰囲気。

・作り方

まず、UGUIの使えるUnityであるのが前提条件でございますわよ奥様。
4.6から使えた気がします。

で、UIからImageを選択してオブジェクトを召喚します(4つ星モンスター)

このUGUIのImageとかButtonnとかなんですけどコード上では最初から使えませんので、「using UnityEngine.UI」という具合に上のほうで宣言してあげないとダメなんですよね。
このusingの宣言は、継承とはまた別らしい。
リソースを開放したものを云々かんぬんと言われました。
「あ、わて~っつー機能、このコードで使いますんで!やからよろしく頼むわ!」みたいなもんやと思ってます。

・・・継承と何が違うんだろう?

で、Imageを作ったらその中にImage(Scripts)ってのがあるんです。
そこのImageTypeからfilledを選択します。

で、このfilledタイプなんですけど、fillって英語で埋めるとかいっぱいにする、みたいな意味なんですよね。
たぶん、このタイプのやっていることは設定したSpriteImageをしまう箱があって、その箱をSpriteImageで塗りつぶす、みたいな感じです。
たとえば花の描いてある絵がありますやろ。
その絵をしまう箱がありますねん。
それがImgaeのSpriteですねん。
ほいでその箱にはすだれみたいな、外から見えなくするもんがついてますねん。
で、それに絵をしまいまっしゃろ?
filledタイプなら、すだれを動かして絵をちらちらって見え隠れさせることができるっちゅーわけですねん!

・・・なんか分かりにくい例えだなぁ!

まぁ、やってもらえたらたぶん僕の言いたいことが伝わると思います(投げっぱなしジャーマン)


で、そして次にfill Methodから塗りつぶす動きのパターンを選びます。
動きの軸が縦か横か、あとは90度、180度、360度のどのパターンか。
さっきの埋め込みツイートでは360度パターンにしてます。
fill Originは開始場所です。上下右左から選べます。
で、fillAmountが動きの量です。0~1の間の数値で、float型です。
clockwiseは時計回りか反時計回りか、っぽいですな。onにすると時計回りになります。

あとはコードからこのfillAmountをHPの割合とかを送ってあげて動かしてあげるだけ。
位置の変更とかそういうの一切しなくて良いわけです。
うーん。これは便利。


そういうわけで、昨日ドヤ顔したら見事に粉砕された僕ちゃんなのでした。

どこかの優しいUnity使いの人、ありがとうございました。
おかげで新しいことを知れました。

スポンサーサイト
UnityのVector3.angleの話+継承とusingの違い | ホーム | ライフバーを作ってみたので、作る過程を載せます。
Comment
継承はびっくりするほど関係ないよ。
UnityEngine.UI.Imageって書くのが面倒だから省略できるようにするのがusing。
だからugingの行を消して全部のImageにUnityEngine.UI.って書いても動くよ。
> 継承はびっくりするほど関係ないよ。
> UnityEngine.UI.Imageって書くのが面倒だから省略できるようにするのがusing。
> だからugingの行を消して全部のImageにUnityEngine.UI.って書いても動くよ。

usingの宣言は軽症とは別で、「~という機能使うのをすぐ書けるようにします」と、いった感じなんですね。
しかし、UnityEngine.UIでも動くのは初耳でした。てっきり書かないと絶対使えないもんだと・・・。ありがとうございます。


Trackback
この記事のトラックバックURL
http://watasinoilands.blog.fc2.com/tb.php/51-8b8ef8b7
この記事にトラックバックする(FC2ブログユーザー)