FLashのお勉強

よくあるゲームのスコアのぎゅるるるるるって加算されていくやつ
のコード@AS2.0

前に作った脱衣ゲーム
に使ったやつ

なんら難しいことはして無い

onClipEvent(load){

_root.score =0; // スコア
var add_point = 0; //仮のスコア
}

onClipEvent(enterFrame){
if(_root.score < add_point){
if((add_point -_root.score)/10 < 10){
_root.score +=10;
}else{
_root.score += Math.floor((add_point -_root.score)/10);
}
}else if(_root.score >= add_point)_root.score = add_point;
}



で、あとはダイナミックテキストにscoreという変数を入れてやればできるというわけです。

上のコードを見てもらえばわかる?と思いますが、
獲得したスコアadd_pointにスコア_root.scoreスコアを近づけていく、それだけです。
あとは「近づけていく数が小さくなりすぎた場合の処理」と「超えてしまった場合の処理」をするだけ

うん、簡単だね

知人が教えてー><って言ってきたけど、メッセにインしないのでここに書いておきました><

日記

そうそう、
実は1年と半年前に始めて、そのまま放置してたTwitterを、
1ヶ月ほど前から友人とまた始めまして

このブログの右上に設置してあるのが、それです

このブログがFlash作成日記であるそれに対し、
主にtwitterの方はコンシューマーゲーム、PCゲーム等のつぶやきですが



■にっき

先日、GamersGateというサイトでS.T.A.L.K.E.R.というゲームが安売りされていたので買ったのです。
10$で。

その3日後にsteamで5$で同じゲームが売られていました

泣きました


あと、ゲームを一つ作ったのですが、更新するのがだるいです。
あー


それと、友人の絵を待ってるのですがいつになるのかなー
というかプロジェクトファイルどっかにやっちまったぞー

円状の体力ゲージ

Flashのお勉強
つい最近endFill()というのを知った
これは動的に引いた線の中を塗りつぶすといったもの

これがまた便利
長年の謎だった、初代キングダムハーツのHPゲージを再現することに成功



まぁ、いわゆる、円状のゲージというやつです、ハイ

やっぱりソースとか書いたほうがいいんだろうか・・?
一応乗せておこう

以下糞コード

var health =250;//ゲージの総量
var radius = 30;//内周の半径
var radius2 = 40;//外周の〃
var ring_max = 36;//円を形成するポイントの数
var defaltpos = 180;//リングの始まるポイント

create_posX =100;//リングの位置
create_posY =100;

_root.createEmptyMovieClip ("board", 1000);
board._x = board._y =0;
RingHealth();
function RingHealth(){
board.clear();

//線の外周にポイントを設置
for(i=0;i< ring_max;i++){
_root.attachMovie("p","p"+i,i);
_root["p"+i]._alpha =0;
_root["p"+i].rot =(i/ring_max * health) -defaltpos;
_root["p"+i].rad = _root["p"+i].rot * Math.PI / 180;
_root["p"+i]._x = Math.cos(_root["p"+i].rad) * radius + create_posX;
_root["p"+i]._y = Math.sin(_root["p"+i].rad) * radius +create_posY;
}
//リングの内周にポイントを設置
for(i=0;i<(ring_max);i++){
n=i+ring_max;
_root.attachMovie("p","p"+n,i+ring_max);
_root["p"+n]._alpha =0;
_root["p"+n].rot =(i/ring_max * health) -defaltpos;
_root["p"+n].rad = _root["p"+n].rot * Math.PI / 180;
_root["p"+n]._x = Math.cos(_root["p"+n].rad) * radius2 + create_posX;
_root["p"+n]._y = Math.sin(_root["p"+n].rad) * radius2 + create_posY;
}

//線を描画
board.lineStyle(2, 0x000000, 0);
_root.board.beginFill (0xFF0000, 100);
board.moveTo(p0._x,p0._y);
for(i=0;i<(ring_max);i++){
board.lineTo(_root["p"+i]._x, _root["p"+i]._y);
}
for(i=ring_max*2-1;i>=ring_max;i--){
board.lineTo(_root["p"+i]._x, _root["p"+i]._y);
}


//塗る
_root.board.endFill();
}




で、pという名前のムービークリップを用意して、書き出し設定してやると円状のゲージが作れるはず

更新が滞っているのは、現在STGを作っていて、

その仕様の糞さに気づいてしまって
気が滅入っているからです


なんというか
作り始めたばかりなのに
ものすごいでかいプロジェクトになっているような気がする。。。

なんだか凄いことになってしまったぞ…
FLASH置き場
■作ったゲーム+α
■作ったもの[ゲーム以外]
"PUSH!"-[WEB拍手]
プロフィール

inuki

  • Author:inuki
  • "■"
    Flashでゲームとか、
    いろんなものつくってたり
カテゴリー
ランキング
■スポンサード リンク
Amazon
■steam ID
Steam ID

L4DとかTF2やってます。
見かけたら遊んでやって下さい。
ぐ!