CALENDAR
Sun Mon Tue Wed Thu Fri Sat
1234567
891011121314
15161718192021
22232425262728
293031    
<< July 2018 >>
本家STORY FACTサイト
NEW ENTRIES
CATEGORIES
RECENT COMMENTS
  • GB解析 -NG- 邪聖剣ネクロマンサー イシュメリアの悪夢 やったことあるんだよね・・・
    hikali (05/08)
  • GB解析 -NG- 邪聖剣ネクロマンサー イシュメリアの悪夢 やったことあるんだよね・・・
    マイケル村田 (05/04)
  • GB解析 -NG- ウィザードリィ3 ダイヤモンドの騎士 橋爪さんですね・・・
    hikali (03/29)
  • GB解析 -NG- ウィザードリィ3 ダイヤモンドの騎士 橋爪さんですね・・・
    マイケル村田 (03/25)
  • GB解析 -NG- ルパン三世/暁の第三帝国 良作なエンターテイメント
    hikali (01/09)
  • GB解析 -NG- ルパン三世/暁の第三帝国 良作なエンターテイメント
    マイケル村田 (01/06)
  • GB解析 -NG- 邪聖剣ネクロマンサー イシュメリアの悪夢 やったことあるんだよね・・・
    hikali (11/24)
  • GB解析 -NG- 邪聖剣ネクロマンサー イシュメリアの悪夢 やったことあるんだよね・・・
    マイケル村田 (11/21)
  • GB解析 -NG- 新・鬼ヶ島 暗黒の化身を討て! 成功した理由が良く分かりました。
    hikali (06/27)
  • GB解析 -NG- 新・鬼ヶ島 暗黒の化身を討て! 成功した理由が良く分かりました。
    マイケル村田 (06/24)
RECENT TRACKBACK
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS
無料ブログ作成サービス JUGEM
 
管理人hikaliの開発の日々の備忘録です。
本家はこちら。
http://plaza.rakuten.co.jp/hikali/
<<  [エイゴ修行] 天の川は思っていたのの二倍のサイズ。 | main | エントリー一覧 #401−#450 >>
[ActionScript2.0]ドラッグして投げることができるボール
 えーと、ActionScriptをいじっています。

 なんか、あちこちめぐっていて、すさまじく簡単なレベルのActionScriptってあんまりおいてないなあと思い、わたし本人が、あんまりにもだめだめなコーダーなため、ちょっとしたコードをせっせと置いておくことにしてみることにした。



 コードはこんな感じ。
 ムービークリップにActionScriptを貼っている。

 なんで、こんなどうでもいいコード書いてるんだなどと笑わないで(笑)。細かい動作のチェックをしているのです、例えば、減速具合とか。
 こういう、小さなコードの断片を、晒していきたいなあと思います。
 最終的には、こういう断片をたくさん組み上げて完成品を作るつもりですが・・・。
 というわけで、とりあえずコード。


onClipEvent(load){
dx = 0;
dy = 0;
oldx = 0;
oldy = 0;
}

onClipEvent (mouseDown) {
this.startDrag();
oldx = this._x;
oldy = this._y;
flag = 0;
}
onClipEvent(mouseUp){
this.stopDrag();
flag = 1;
}
onClipEvent(enterFrame) {
if (flag == 1) {
this._x = this._x + dx;
this._y = this._y + dy;
dx = dx * 0.5;
dy = dy * 0.5;
} else {
dx = this._x - oldx;
dy = this._y - oldy;
oldx = this._x;
oldy = this._y;
}
}



 ■おまけ

 えーと、ちょっと派生したもの。
 説明はしません(笑)。



 コードはこちら。



onClipEvent(load){
dx = 0;
dy = 0;
oldx = 0;
oldy = 0;
}

onClipEvent (mouseDown) {
this.startDrag();
oldx = this._x;
oldy = this._y;
flag = 0;
}
onClipEvent(mouseUp){
this.stopDrag();
flag = 1;
}
onClipEvent(enterFrame) {
if (this._y >200) {
//下限に近づいた場合の例外処理
if (flag == 1) {
dy = (280 - this._y) /2;
this._x = this._x + dx;
this._y = this._y + dy;
dx = dx * 0.5;
} else {
this._y = 280;
dx = this._x - oldx;
dy = this._y - oldy;
oldx = this._x;
oldy = this._y;
}
} else {
//通常時
if (flag == 1) {
this._x = this._x + dx;
this._y = this._y + dy;
dx = dx * 0.5;
dy = dy * 0.5;
} else {
dx = this._x - oldx;
dy = this._y - oldy;
oldx = this._x;
oldy = this._y;
}
}
}



追記:

 ■まったく同じFLASHのActionScript3版はこちら。
 http://blog.story-fact.com/?eid=1094262







| 開発日誌 | 23:02 | comments(0) | trackbacks(0) | 昨年の記事









http://blog.story-fact.com/trackback/775440