久々のAS掲載

最近あんま記述載っけて無かったんで更新・新たに追記したスクリプト記載
と言っても11月頭くらいのでちと古い気味。
興味のある方続きをどうぞ。


パラメーター
プレイヤーMC⇔攻撃判定送受信
↑↓
各種パラメタ管理MC⇔乱数発生器
↑↓
敵MC⇔攻撃判定送受信
プレイヤー:ほとんど自分でパラメタを持って無い。各種パラメタ管理に丸投げ。攻撃が当たったとか当てられたとかその程度。ばかちん。
各種パラメタ管理:プレイヤーの装備武器、防具、各種ステータス、命中・回避、LV、各種補正値などあらゆる数値の中枢。ランダムな数値についてはすべて乱数発生器から拾ってきてる。外部からいじるならココ。テストに出ます。
乱数発生器:主に1~100の整数をしこしこ。武器用の小さい数値もしこしこ。縁の下の力持ち。別名CPU圧迫機。
敵:敵HPくらいしかパラメタ持ってねー。基本はプレイヤーとほぼ同じ。
銀武器とか普通の武器とかの見分けはつく子。
フレームに記述がよう分からんので、全部MC作ってそこに書いとります。
CPU重くなるけど簡単で便利。お勧め・・・は出来ないと思います、はい。
—スケルトンアックスムービークリップAS 更新分—
onClipEvent (enterFrame) {
if (HP>1) {
rad = Math.atan2(this._parent.deathknight._y-this._y, this._parent.deathknight._x-this._x);
enemy_rotations = rad*180/Math.PI;
disX = this._parent.deathknight._x-this._x;
disY = this._parent.deathknight._y-this._y;
dis_result = Math.sqrt(disX*disX+disY*disY);
}
}
onClipEvent (enterFrame) {
if (HP>0) {
if (dis_result0) {
//命中値代入
enemyhit_number = this._parent.hit_box.hit_number;
//プレイヤーの命中補正値を加算
enemyhit_number += this._parent.state_box.PlayerHitRevision;
//命中範囲
if (enemyhit_number>hitMin) {
if (enemy_rotations>45 && enemy_rotations<135) { if (this.hitTest(this._parent.deathknight.attack_top.hitter)) { attack_direction = "on"; nockback_direction = "bottom"; dead_direction = "bottom"; stand_direction = "bottom"; firsthit = "true"; HP -= this._parent.state_box.DMGSB; } } else if (enemy_rotations<-45 && enemy_rotations>-135) {
if (this.hitTest(this._parent.deathknight.attack_bottom.hitter)) {
attack_direction = “on”;
nockback_direction = “top”;
dead_direction = “top”;
stand_direction = “top”;
firsthit = “true”;
HP -= this._parent.state_box.DMGSB;
}
} else if (enemy_rotations<=45 && enemy_rotations>=-45) {
if (this.hitTest(this._parent.deathknight.attack_left.hitter)) {
attack_direction = “on”;
nockback_direction = “right”;
dead_direction = “right”;
stand_direction = “right”;
firsthit = “true”;
HP -= this._parent.state_box.DMGSB;
}
} else if (enemy_rotations>=135 || enemy_rotations<=-135) { if (this.hitTest(this._parent.deathknight.attack_right.hitter)) { attack_direction = "on"; nockback_direction = "left"; dead_direction = "left"; stand_direction = "left"; firsthit = "true"; HP -= this._parent.state_box.DMGSB; } } } } } } } onClipEvent (enterFrame) { if (HP>0) {
if (dis_result45 && enemy_rotations<135) { this.gotoAndStop("attack_bottom"); stand_direction = "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 = "playerkillbottom"; } if (attack_direction == "playerkillbottom") { if (this._parent.state_box.PlayerHP<=0) { this._parent.enemy_attack_hit.gotoAndPlay("hit_none"); this.gotoAndStop("stand_bottom"); } else { attack_direction = "on"; } } } else if (enemy_rotations<-45 && enemy_rotations>-135) {
this.gotoAndStop(“attack_top”);
stand_direction = “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 = “playerkilltop”;
}
if (attack_direction == “playerkilltop”) {
if (this._parent.state_box.PlayerHP<=0) { this._parent.enemy_attack_hit.gotoAndPlay("hit_none"); this.gotoAndStop("stand_top"); } else { attack_direction = "on"; } } } else if (enemy_rotations<=45 && enemy_rotations>=-45) {
this.gotoAndStop(“attack_right”);
stand_direction = “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 = “playerkillright”;
}
if (attack_direction == “playerkillright”) {
if (this._parent.state_box.PlayerHP<=0) { this._parent.enemy_attack_hit.gotoAndPlay("hit_none"); this.gotoAndStop("stand_right"); } else { attack_direction = "on"; } } } else if (enemy_rotations>=135 || enemy_rotations<=-135) { this.gotoAndStop("attack_left"); stand_direction = "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 = "playerkillleft"; } if (attack_direction == "playerkillleft") { if (this._parent.state_box.PlayerHP<=0) { this._parent.enemy_attack_hit.gotoAndPlay("hit_none"); this.gotoAndStop("stand_left"); } else { attack_direction = "on"; } } } } } } } ---スケルトンアックスムービークリップASEND--- ---アイテム欄MCAS--- onClipEvent(load){ this._visible = false; function chgVisible(){ this._visible = !this._visible; } } ---アイテム欄MCASEND--- -アイテム欄MC表示非表示管理- onClipEvent (keyDown) { if (Key.isDown(90)) { this._parent.itemran.chgVisible(); } } -END- スケアックス更新分は相手との角度と距離について書き換えたものを記載 ステータス系・アイテム辺りのテスト版についてはマタ今度(。・ω・)ノ゙ というかクリックでキャラ移動できるFLAを見つけてしまってウアーな気分 MAP移動もイメージどおりの事やってて更にウヴァー。 Project街っつうFLASHっす。 どういう構造なのかちょっとタシロing now

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>