2012-02-21 4 views
0

私はヘルスバーで試合をしています。私はヘルスバーを湾曲させようとしています。湾曲したヘルスバーを作成するにはどうすればよいですか?

現在、私は画面の左下にこのように見える20のセグメントを持つラインバーを持っています。

私がしたいのは、曲線のバーを取得するためにそれぞれのscaleYを変更する関数を書くことです。

私は簡単に一直線に縮小することができます。三角形のように見えるように。

指数関数的減衰が必要です。

通常の数学用語では、y = Pa^xのようなものかもしれません。

+2

Cool!あなたの特定のプログラミングに関する質問は何ですか? – paislee

+0

あなたが作成しようとしている健康バーのスタイルであれば[ここで私のフラッシュゲームをプレイしてください](https://projectavian.com/games/daz3/)と教えてください。 – Marty

+0

本当に答えはありますが、美しい美しさを達成しながら努力を惜しまないために、部分的な画像を使う方が簡単かもしれません。右から空の健康画像の左から「完全な健康」のX%、またはその方法で任意の数のバリエーションを表示することができます。 –

答えて

4

私は、これは私がそれを達成する方法で、しばらく前に曲がったヘルスバーでゲームを開発:

ステップ1:

があなたの曲がったバーを作成します。

enter image description here

があなたのバーを描く:私はOval Primitiveツールを示唆しています。私はあなたの湾曲したセグメントの全体円のビジュアルを示すガイドレイヤを作成することをお勧めします。バーを別のレイヤーにコピーしてマスクにすると、健康バーが表示されます。

enter image description here


ステップ2:あなたのガイド円の中心にあなたのマスクの基準点を設定

マスクとセグメントMovieClipsであるべきです。マスクはこの点を中心に回転し、実際のバーを表示します。

enter image description here


ステップ3:

追加(100のフレームにわたって時計回りに回転し、あなたのマスクのトゥイーンを作成し、それはあなたの実際のバーグラフの左側にあるように、あなたのマスクを回転させますより細かいプログレッションのためのより多くのフレーム)。この要素に

使用gotoAndStop():あなたもなど赤から緑に色の変化は、それが満たされるにつれて、あなたのバー・グラフィックス、

enter image description here


ステップ4にトゥイーンを適用することができますアニメーション全体を通してどのフレームを停止するかを決定します。私がここで使う式は一般的です:xはあなたが作成したフレームの量がある

gotoAndStop(Math.round(currentHealth/maxHealth * x)); 

これが役に立ちます。

+0

ありがとう私はこれをいくつかの時間を使用することがあります。私はラインセグメントを使用して終了しました。最初に、1つのセグメント、セグメントの数、セグメントの間隔を渡すことができるベースラインバーを作った。そして、私はそれにまともな曲線を得るためにこの方程式を使ってカーブするための関数を与えました。 –

関連する問題