このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

ActiinScript2.0 縦横移動 ボールを掴む

ActionScript

2011.11.04

この記事は最終更新日から1年以上が経過しています。

前回の記事、ActiinScript2.0 縦横移動ボールアクションの続きとなります。

前回では縦横と移動するボールでした。

これを更にクリックして掴めるようにしたいと思います。

掴めるようにするには、前回作成したムービークリップの中にボタンシンボルを作成します。

一応手順を

ステージに配置されたインスタンスをダブルクリックし、

ムービークリップの編集画面へと切り替えます。

左上が「シーン1>ボール」となっていれば大丈夫です。

この状態はムービークリップを編集する画面となります。

さらに配置されているシンボルを選択し、メニューの 修正>シンボルに変換を選択

シンボルタイプを「ボタン」にし、ボタンシンボルへと変換します。

このとき、プレビューを行うと確認できるのですが、ムービークリップにマウスを合わせると指マークに変わります。

つまり、ムービークリップの特性を持ったボタンが出来ている事になります。

それでは、ボタンを掴んで離すActionScriptを記述していきます。

記述場所は前回記述した場所になります。

ActionScript2.0

on (press) {
startDrag(this, true);
}
on (release) {
stopDrag();
}

それでは解説を。

 on(press)はムービークリップがマウスでクリックされた時、アクションを実行させます。

startDrag(this,true);

の部分ですが、startDragはドラッグを始めるという意味で、(〜)に記述されている

thisはムービークリップ自身を表します。

tureはその物体の中心をマウスの位置に自動的に合わすことを意味します。

すなわち、ドラッグをするとムービークリップはマウスに合わせて移動する。

となります。

on(release)はマウスが押されて離された時、アクションを起こします。

基本的なドラッグ&ドロップのスクリプトは以上となるのですが、

今のままでは、とてもぎこちない動きとなります。

この挙動はドラッグされているときもムービークリップが動き続けている為におこる挙動となります。

なので、ドラッグされているときは移動を行わないスクリプトを記述します。

仮にballHoldとします。

掴まれている時はballHold =1;それ以外はballHold = 0;とします。

先ほどのスクリプトに追加。

ActionScript2.0

on (press) {
ballHold =1;
startDrag(this, true);
}
on (release) {
ballHold =0;
stopDrag();
}

更にフレーム毎に処理されているムービークリップのスクリプトにも追加を行います。

ActionScript2.0(ムービークリップが読み込まれた時)

onClipEvent(load){
speedX = 10;
speedY = 8;
ballHold = 0;
}

 

ActionScript2.0(毎フレーム処理)

onClipEvent(enterFrame){
if(ballHold == 1){
}else{
if (this._x>500-this._width/2){
speedX = speedX*-1;
}
if (this._x<0+this._width/2) {
speedX = speedX*-1;
}
if (this._y>400-this._width/2) {
speedY = speedY*-1;
}
if (this._y<0+this._width/2) {
speedY = speedY*-1;
}
this._x += speedX;
this._y += speedY;
}
}

 

if(ballHpld == 1){

で掴まれている時の処理。

移動はさせたくないの特に記述はしません。

}else{ それ以外の処理。

ここに移動の処理を記述します。

}

そうする事によって、掴んでいるときは移動せず、離すと移動を始めます。

ムービークリップが読み込まれた時はballHold = 0;に設定しているので、

縦横移動をしている状態となります。

デモページ
デモページはこちらから

 

確認されるとわかるのですが、離したときに離した感触がないので、

更に離したときの遠心力を次回は付けていこうと思います。

ActiinScript2.0 縦横移動 ボールを掴んで投げる 

Comment

Related Article

ActionScript ランダム関数 Math.random() まとめ

2012.04.18

ActionScript トゥイーン制御ライブラリ Tweenerの使い方

2012.04.06

ActionScript ムービークリップからメインタイムラインの関数実行

2012.02.27

ActiinScript2.0 ムービークリップを複製 duplicateMovieClip

2011.11.04

ActiinScript2.0 縦横移動ボールアクション

2011.11.04

ActiinScript2.0 ボールアクション 重力、摩擦、跳ね返り係数

2011.11.04

ActiinScript2.0 縦横移動 ボールを掴んで投げる

2011.11.04

ActiinScript2.0 縦横移動 ボールを掴む

2011.11.04

ActionScript onClipEvent()ハンドラ

2011.11.04

ActionScript2.0 ボール反転

2011.11.03

CATEGORY LIST

LATEST NEWS

Rustでつくる ふっかつのじゅもん

Rust

2025.04.29

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その5

Rust

2025.04.14

う、動くぞ! Mac mini Apple M4 Pro で PS3ソフトを遊ぶ。RPCS3 Mac版を起動

Game

2025.04.12

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その4

Rust

2025.04.10

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その3

Rust

2025.04.08

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その2

Rust

2025.04.07

時代を先取りし過ぎた ニューラルネットワークが導入されたゲーム『がんばれ森川君2号』を令和に嗜んでみる。

Game

2025.04.06

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その1

Rust

2025.04.05

keyring-rsで、Macのキーチェーンに登録する。

Rust

2025.04.04

RustとWebAssemblyによるゲーム開発 Webpack5対応

Rust

2025.03.27

Rustで創る MOS 6502 CPU その3 (Cursorと共に)

Rust

2025.02.24

あけましておめでとうございます(24日経過)

イベント

2025.01.24

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US