とりあえず攻撃を受けた方向に向きなおして反撃するようになりました。
タイトルどおり、回避の概念まだつっこんで無いんで100%命中。
敵(アックス)は攻撃を受けた方向むきっぱなしで攻撃連射してくるんで、
うまく背後に回ってズシャ!
また背後に回ってズシャ!
んで背後にm(ry
・・・
先生!避けゲーになってます!
てか、アックスつえー
NEXT
範囲外に出ると攻撃やめて追尾するとか、
攻撃を受けた方向じゃなくて、今居る場所をリアルタイムで追いかけて方向転換するとか、目標。
三角関数を使う予感です。
HP表示連動のが簡単そうだから先やってしまうくさい。
復活もあるでよ。
Category Archives: 8.リネージュ - Page 13
反撃(今んとこ回避無し)
相対
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概念
攻撃 ヒットテスト
ちと分かりづらいです。
攻撃判定、暫定的ですがなんとかこぎつけました。
イマイチドットシンタックスが分からん。
どう記述しても拾ってくれるらしーっスけど。
次でた問題は、インスタンスをコピーして配置すると
オリジナルの方に攻撃当てると、コピーした方が反応してしまうこと。
コピーした方に攻撃しても反応が無いこと。
インスタンスリンケージ?しなさい!らしいです。リファレンス的に。
これはまぁ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;
遠い昔、数学で0点をとった人の夢
FCSでオンライン化したい!んですが、
何か1から作り直しって感じもしますネ。
この際気にせずオフラインで進めて行きます。
昨日のメッセージ表示らへんのスクリプト
▽下ごしらえ
ダイナミックテキスト・複数行 変数を supermes に。
フレームにスクリプト記述
supermes = [“”,””,””,””,””,””];
test = “Lineage Reproduce 20050927″+”r”;
supermes.push( test );
supermes.scroll += 2;
supermes = supermes.join(“r”);
1行目:メッセージ表示を最下に持ってくるため
チャット欄上部に空白を作る。
2行目:変数testの中に”と”に挟まれたメッセージを代入+改行
3行目:変数testを配列の最後に追加
4行目:2行下にスクロール
5行目:改行を各配列に追加
結局リバースいらないし!w
メッセージを後からぼんぼん追加したい時は
(ルート)supermes += “めっせーじ”+”r”;
(ルート)supermes.scroll += 2;
を各所に書いておけばOK
(ルート)は記述したスクリプトのクリップからsupermesまでのパスを記述。
同じスクリプト内なら(ルート)の記述不要
もっとかるそーな記述法がありそうなんですが、
とりあえず動作するぞって事でこのまま行ってます。
正直
supermes = [“”,””,””,””,””,””];
supermes = supermes.join(“r”);
supermes += “何かメッセージ”+”r”;
supermes.scroll += 2;
で、いいんじゃないかと思い記述したらエラー。
なんやねコイツ
まだまだ壁は厚く高い様です。
メッセージ欄
結局一つのテキストフィールドを複数行の設定にしておいて、
・リバースで順序反転
・テキストは最後尾に付け足す。
・テキストが流れ込んできたら自動で下へスクロール
最初のリバースいらんかもw
にしても文字にするとたったこんだけかよ!
意外と単純ですね。はい。
色チェンジについては
・テキストフィールドをHTML形式にしておいて
<font color=”FF9999″>~されました。</font>
という風にタグで強制的に色変えしてます。
んーで、順次こなしていく予定は以下
□1.攻撃した&当たり判定
□2.攻撃を受けた判定
□3.自プレイヤーのHPとMP表示の連動
□4.リクエスト:ショートカットへ色々登録できて、Fキーでも使えるようにしてくれ
□5.MAP移動(時間なかったらやんない)
□6.リネデータを元に武器・防具、敵HP、攻撃速度等の色々なデータを限りなくリネに近づけて実装(予定は未定)
こんな感じどえす。
コメント