Category Archives: リネフラ - Page 5

HP MP EXP LV

28cc2c25.JPGHP、MP、EXP、LV連動表示
やっとこさ左下のインターフェイスがちょっとだけ形に。
インターフェイスの山場はショートカットにアイテムドラッグドロップかなぁ、
んでアイテム欄も。
ステータスやら武器パラメータはちょっと後回し。
STRのみ補正かけるようにセッティングしたけど、どうもうまくいかず。
概念しっかり考えないと乗せられないっぽいっす。
そろそろ後回しにしてきた壁ども(オート方向転換、オート追尾、回避)と向き合う時がやってきました。
イメージは頭の中にありますが、それをどう処理するのかが問題ですね。
p.s.
メッセージのログ削除ら辺り、変数に空白いれればいいんスね。
何をトチ狂ってマイナスなんか入れたのだろう。

ぶっちゃけ

HP減りingびよーん
瞬殺でHP表示連動、完成
よくFLASH読み込み中にある、プログレスバーを流用してみました。

CPU使用率100%ナリ

dd33881a.gifちょっと動作テストで学校のPCで起動させて見たんですが、この有様っす。
動作自体は画像ファイルを流してるだけなんで、トゥイーンやらシェイプよりは軽くなるはずなんやけどなぁ。
家戻ってからブリブリしながらテストテストテスト。
Doやらリネらしく雰囲気をかもし出した、メッセージ欄に問題があるようです。
とりあえず文字だけ増えるよう設定して増殖させまくると、CPU使用率がグングンうp。
テキストの癖になんだねコレはw
メッセージ自体は + で次から次へと追加してるんで、- なら消えるんじゃねぇの?
と思いおもむろに
on(press){
supermes -= ” “;
}
パブリッシュ、パブリッシュ♪
┌─────────────
│スケルトンアックスに(ダメージ表示)のダメージを与えました。
│スケルトンアックスに(ダメージ表示)のダメージを与えました。
│スケルトンアックスに(ダメージ表示)のダメージを与えました。
│スケルトンアックスに(ダメージ表示)のダメージを与えました。
│スケルトンアックスに(ダメージ表示)のダメージを与えました。
│スケルトンアックスに(ダメージ表示)のダメージを与えました。
└─────────────
  ↓
 出来たボタンをポチリとプッシュ
  ↓
┌─────────────
│NaN





└─────────────
おそらく物凄い勢いで間違ってるんだろうと思いますが、ログの削除に成功!
この後、一定のログ数になると削除されるように設定しておきました。
が、起動するだけでCPU10%くらい削られるのは内緒にしておきますネ:P

反撃(今んとこ回避無し)

ノックバック
とりあえず攻撃を受けた方向に向きなおして反撃するようになりました。
タイトルどおり、回避の概念まだつっこんで無いんで100%命中。
敵(アックス)は攻撃を受けた方向むきっぱなしで攻撃連射してくるんで、
うまく背後に回ってズシャ!
また背後に回ってズシャ!
んで背後にm(ry
・・・
先生!避けゲーになってます!
死亡
てか、アックスつえー
NEXT
範囲外に出ると攻撃やめて追尾するとか、
攻撃を受けた方向じゃなくて、今居る場所をリアルタイムで追いかけて方向転換するとか、目標。
三角関数を使う予感です。
HP表示連動のが簡単そうだから先やってしまうくさい。
復活
復活もあるでよ。

難航

13e7804b.gif反撃と振り向きでかなり詰まってます。

相対

duplicateナンタラでのけぞりが止まらない!!!て書きましたが、
▽のけぞった後に立ち止まった動作に移るスクリプト
this.gotoAndStop(“this._parent.stand_top”);
上記の様に書いてたのですが、
this.gotoAndStop(“_parent.stand_top”);
とthisを削ってみたところ、アッサリ動作するように。
・・・
何この脱力感。

ヒットテスト だめぇじ

スケルトンアックスムービークリップに記述したスクリプト丸写し
—-
onClipEvent(load){
HP = 5;
}
onClipEvent(enterFrame){
if(HP > 0){
if(this.hitTest(this._parent.deathknight.attack_top.hitter)){
this.gotoAndStop(“nockback_bottom”);
this._parent.chatbox.supermes +=”スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 1;
} else if(this.hitTest(this._parent.deathknight.attack_bottom.hitter)){
this.gotoAndStop(“nockback_top”);
this._parent.chatbox.supermes +=”スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 1;
} else if(this.hitTest(this._parent.deathknight.attack_left.hitter)){
this.gotoAndStop(“nockback_right”);
this._parent.chatbox.supermes +=”スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 1;
} else if(this.hitTest(this._parent.deathknight.attack_right.hitter)){
this.gotoAndStop(“nockback_left”);
this._parent.chatbox.supermes +=”スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 1;
}
}
}
onClipEvent(enterFrame){
if (HP == (0<99)) { HP = "dead_delay"; } else if (HP == "dead_delay"){ this._parent.chatbox.supermes +="<font color="#FFFF99">スケルトンアックスを倒しました。</font>"+"r"; this._parent.chatbox.supermes +="<font color="#FFFF99">アデナ(数)、EXP(数)を取得。</font>"+"r"; this._parent.chatbox.supermes.scroll += 2; HP = "mobdead"; } } onClipEvent(enterFrame){ switch(HP){ case "mobdead" : this.gotoAndStop("dead"); break; } } ---- ifだと処理がループしてるっぽかったんで、死亡動作にswitch導入。意味無ぇ・・・? 後duplicateMovieClipでアックスクリップコピーして配置してみたら 攻撃を受けた後、一回だけのけぞるハズがそのクリップ内で(のけぞる動作)延々ループ・・・ また壁っす。ウォールっす。

HP概念

8dc4cd25.JPG思ったよりすんなりと。
とりあえずHP5にしてヒットする度にHP1減るようにしてみました。
後々武器の攻撃力やら補正値やら入れれるようにしますです。
アックス君が死んだ時に死亡モーション(バラバラになってるアレ)出した後、消えるようになってるんですが、何も無いフレームまで進めてthis.stop();でただ単にストップかけてるだけです。
何かコレだと数増えた時、メモリ食って動作重くなるんじゃないかと・・・
でもまぁ悩んでてもしゃーないんで、いつもどおりこのままで行ってまいます。
次は
敵の反撃と
自HP連動表示です。

攻撃 ヒットテスト

ad4ff1c0.JPGちと分かりづらいです。
攻撃判定、暫定的ですがなんとかこぎつけました。
イマイチドットシンタックスが分からん。
どう記述しても拾ってくれるらしーっスけど。
次でた問題は、インスタンスをコピーして配置すると
オリジナルの方に攻撃当てると、コピーした方が反応してしまうこと。
コピーした方に攻撃しても反応が無いこと。
インスタンスリンケージ?しなさい!らしいです。リファレンス的に。
これはまぁOKなんですが、重なり順が致命的な問題かなぁ・・・
敵より下に居れば、プレイヤーの重なりが敵の上で、
敵より上に居れば、プレイヤーの重なりが敵の下になる 感じで
座標の辺りのスクリプトを細々組めば解決できそうっすけど、
時間かかりそうなんで、後回し後回し。一休み一休み。
次はHPの概念実装。
これでようやくRPGっぽくなるぜ

enter

ENTER KEY [Tentative]
message input – blank
decide mode or action-none
message input – string exists
chat mode
character upper display (DeathknightLevel1Layer) – string
supermes +=”string(var)”+”r”;
scroll += 6;