Category Archives: 8.リネージュ - Page 12

ちょ おま 趣旨変わってんじゃんwww(ry

ようやくアイテム欄について光が見えたかなぁ・・・という感じです。
表示・非表示ですでに詰まりんこ。
どうもアイテム欄非表示にしてしまうと反応が皆無。
座標変えてアイテム欄をウィンドウごと外に移してしまうのが簡単かなぁと思いつつ、試行錯誤中。
普通の斬りだけじゃおもろないんで、スキルとか考えてま。
参考用にレジェマナBUY。アイディアだけ突っ走り中。

ちゅーどくせー

狩りがしたい。
狩りがしたい。
狩りがしたい。
絶妙なEXP配分なのだろうか
狩りの次から次へと移るレスポンスの良さなのだろうか
次の段階の装備へ進みたいからなのだろうか
30分だけインしたのにも関わらず、物凄い中毒性。
地味に初心者MAPおもろくなってた。うちらんときは旧MAPがあるだけだったのに・・・w
HV東北出口の溜まり場が懐かしい。
FLAの方は、のけぞり辺りを実機に(暫定的)近づけてみた。
ランダム関数がここでも活躍。お世話になってます。
アイテム欄は進んでないがな。(´・ω・`)
てかFLAで再現できねぇかな?中毒性も。

実機

658c25a6.jpg動作チェックついで、8ヶ月ぶりに実機リネイン。
初心者MAPでチクチクやってみたのですが、今作ってるのと色々ズレがありますね。
攻撃ヒットしても、のけぞらずダメージだけ与えたり与えられたり。
一番驚いたのが画面の縦横比。想像以上に横デヴい。
いつの間にか新キャラグラフィックになってますのぅ。
とても、いらん。

アイテム欄

08aec85b.gif
地味に壁厚そうっス。
うーぬ。
配列かねぇ・・・?

方向転換、追尾、回避(命中)

追跡者まだまだ追いかける
更にまだまだ追いかける更にしつこくまだまだ追いかk(ry
オート方向転換・オート追尾・回避(命中)
第一の厚壁、突破!!!!
方向転換:自分と比較対象2点のx,yの差を調べ角度を出し、
      ある角度なら下向きにしたり上向きにしたり。
追尾:ラジアン・三平方の定理で距離算出。
    ある程度離れると追尾。ある程度近づくと攻撃開始。
回避:ランダム数値0~100生成して、30以上が出ると命中みたいな。
ここで出るかー!と思ったのが平方根
高校の頃、将来絶対使わないと思ってたのにw
敵の動作はパッシブモンスターと同じ動作になってます。おおよそ。

スケルトンアックスMC

座標から方向を取得するため、書き換えが必要に。
ちょっと手間取ってます。
しばらく記述載せてなかったんで、旧スケルトンアックスMCのスクリプト載せときますネ。
if文サイコー
—-
onClipEvent (load) {
HP = 10;
attack_direction = “none”;
dead_direction = “none2”;
nockback_direction = “none3”;
attack_direction_hit = “hit”;
//
}
onClipEvent (enterFrame) {
if (HP>1 && HP<10) { rad = Math.atan2(this._parent.deathknight._y-this._y, this._parent.deathknight._x-this._y); enemy_rotations = rad*180/Math.PI; } } onClipEvent (enterFrame) { if (HP>0) {
if (this.hitTest(this._parent.deathknight.attack_top.hitter)) {
this._parent.chatbox.supermes += “スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 2;
attack_direction = “attackbottom”;
dead_direction = “deadbottom”;
nockback_direction = “nockbackbottom”;
} else if (this.hitTest(this._parent.deathknight.attack_bottom.hitter)) {
this._parent.chatbox.supermes += “スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 2;
attack_direction = “attacktop”;
dead_direction = “deadtop”;
nockback_direction = “nockbacktop”;
} else if (this.hitTest(this._parent.deathknight.attack_left.hitter)) {
this._parent.chatbox.supermes += “スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 2;
attack_direction = “attackright”;
dead_direction = “deadright”;
nockback_direction = “nockbackright”;
} else if (this.hitTest(this._parent.deathknight.attack_right.hitter)) {
this._parent.chatbox.supermes += “スケルトンアックスに(ダメージ表示)のダメージを与えました。”+”r”;
this._parent.chatbox.supermes.scroll += 2;
HP -= 2;
attack_direction = “attackleft”;
dead_direction = “deadleft”;
nockback_direction = “nockbackleft”;
}
}
}
onClipEvent (enterFrame) {
if (HP<1) { HP = "dead_delay"; } else if (HP == "dead_delay") { this._parent.chatbox.supermes += "スケルトンアックスを倒しました。“+”r”;
this._parent.chatbox.supermes += “アデナ(数)、EXP(数)を取得。“+”r”;
this._parent.chatbox.supermes.scroll += 2;
this._parent.state_box.PlayerNowEXP += 10.5;
HP = “mobdead”;
}
}
onClipEvent (enterFrame) {
if (HP>1 && HP<9) { if (attack_direction == "attackbottom") { this.gotoAndStop("attack_bottom"); if (attack_direction_hit == "hit") { this._parent.enemy_attack_hit._x = this._x; this._parent.enemy_attack_hit._y = this._y; this._parent.enemy_attack_hit.gotoAndPlay("hit_bottom_f"); attack_direction_hit = "hitted"; attack_direction = "bottom"; } if (attack_direction == "bottom") { if (_parent.deathknight.PlayerHP<=0) { this.gotoAndStop("stand_bottom"); } else { attack_direction = "attackbottom"; } } } else if (attack_direction == "attacktop") { this.gotoAndStop("attack_top"); if (attack_direction_hit == "hit") { this._parent.enemy_attack_hit._x = this._x; this._parent.enemy_attack_hit._y = this._y; this._parent.enemy_attack_hit.gotoAndPlay("hit_top_f"); attack_direction_hit = "hitted"; attack_direction = "top"; } if (attack_direction == "top") { if (_parent.deathknight.PlayerHP<=0) { this.gotoAndStop("stand_top"); } else { attack_direction = "attacktop"; } } } else if (attack_direction == "attackright") { this.gotoAndStop("attack_right"); if (attack_direction_hit == "hit") { this._parent.enemy_attack_hit._x = this._x; this._parent.enemy_attack_hit._y = this._y; this._parent.enemy_attack_hit.gotoAndPlay("hit_right_f"); attack_direction_hit = "hitted"; attack_direction = "right"; } if (attack_direction == "right") { if (_parent.deathknight.PlayerHP<=0) { this.gotoAndStop("stand_right"); } else { attack_direction = "attackright"; } } } else if (attack_direction == "attackleft") { this.gotoAndStop("attack_left"); if (attack_direction_hit == "hit") { this._parent.enemy_attack_hit._x = this._x; this._parent.enemy_attack_hit._y = this._y; this._parent.enemy_attack_hit.gotoAndPlay("hit_left_f"); attack_direction_hit = "hitted"; attack_direction = "left"; } if (attack_direction == "left") { if (_parent.deathknight.PlayerHP<=0) { this.gotoAndStop("stand_left"); } else { attack_direction = "attackleft"; } } } } } onClipEvent (enterFrame) { if (HP !== "dead_delay") { if (HP !== "mobdead") { if (nockback_direction == "nockbackbottom") { this.gotoAndStop("nockback_bottom"); nockback_direction = "none3"; } else if (nockback_direction == "nockbacktop") { this.gotoAndStop("nockback_top"); nockback_direction = "none3"; } else if (nockback_direction == "nockbackright") { this.gotoAndStop("nockback_right"); nockback_direction = "none3"; } else if (nockback_direction == "nockbackleft") { this.gotoAndStop("nockback_left"); nockback_direction = "none3"; } } } } onClipEvent (enterFrame) { if (HP == "mobdead") { if (dead_direction == "deadbottom") { this.gotoAndStop("dead_bottom"); } else if (dead_direction == "deadtop") { this.gotoAndStop("dead_top"); } else if (dead_direction == "deadright") { this.gotoAndStop("dead_right"); } else if (dead_direction == "deadleft") { this.gotoAndStop("dead_left"); } } }

光が見えた

rotation1rotation2
気がする。

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