したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

プログラミングを語るスレ

1名無しさん:2012/07/23(月) 18:05:40
レッツプログラム!

2れいぷっぷ:2012/07/23(月) 18:06:40
onClipEvent(load) {
_visible = false;
}

onClipEvent(enterFrame) {
if (_visible) {
_x += 16;
if (_x > Stage.width) _visible = false;
}
}

onClipEvent(mouseDown) {
if (!_visible) {
_x = _root.jiki_mc._x;
_y = _root.jiki_mc._y;
_visible = true;
}
}

3れいぷっぷ:2012/07/23(月) 18:07:39
onClipEvent(enterFrame) {
_x -= speed;
if (_x < 0) {
_rotation = 0;
_x = Stage.width;
_y = Math.random() * Stage.height;
speed++;
}
if (_rotation == 0) {
if (hitTest(_root.tama_mc) && _root.tama_mc._visible) {
_rotation = 90;
_root.tama_mc._visible = false;
} else if (hitTest(_root.jiki_mc)) {
_root.gotoAndPlay(1);
}
}
}

4れいぷっぷ:2012/07/23(月) 18:08:24
onClipEvent(enterFrame) {
_x -= speed;
if (_x < 0) {
_rotation = 0;
_x = Stage.width;
_y = Math.random() * Stage.height;
speed++;
}
if (_rotation == 0) {
if (hitTest(_root.tama_mc) && _root.tama_mc._visible) {
_rotation = 90;
_root.tama_mc._visible = false;
} else if (hitTest(_root.jiki_mc)) {
_root.gotoAndPlay(1);
}
}
}

5れいぷっぷ:2012/07/23(月) 18:10:21
>>2が「弾を発射」
>>3が「敵が移動する」
>>4が「敵に弾があたったら倒す」

AS2の式を3に直してくれ〜レゥ〜

6れいぷっぷ:2012/07/23(月) 18:26:31
ところで上記の件とは関係ないけど
(Event〜〜〜)って描くときと(e〜〜〜)ってかくときは
どうやってわけてるんだぜ?

7名無しさん:2012/07/24(火) 03:29:16
んー順番に説明するけど・・・


私はアクションスクリプト製作はsuzukaというフリーソフトを使っています。なので呼び方とか違ってたらごめ

んなさい><

AS2はタイムラインに配置したスプライトとかシンボルにもスクリプトを書けます。
AS3はそれができなくなったので、タイムライン上で全てのインスタンスを動かす必要があります。

onClipEvent(load) { … などはAS2時代のスプライトに書き込むタイプの記述方法なのでAS3では使えないです



なので、タイムラインにアクションレイヤー(flashでは呼び方が違うかも)を挿入して、そこで全てのスプラ

イトを統括して動かすのがいいです。
(タイムラインにスクリプトを書く方法が分からなかったらまた聞いてね><)



タイムラインにそのままスプライトを追加してもいいですが、弾とかは2発以上に複製しなきゃなので、具体的

には・・・まず画像をスプライトに貼り付けて、そのスプライトをリンケージさせます。
↓↓↓
ttp://hakuhin.jp/as/movieclip.html#MOVIECLIP_08
(ライブラリから動的にインスタンス化したいの項目)

あとは先ほどのタイムライン上のアクションレイヤーで名前をつけたスプライトを任意に呼び出せばいいです。

8レウ:2012/07/24(火) 03:50:54
//初期化(それぞれの座標は適当にv)
jiki._x = 100;
jiki._y = 100;

teki._x = Stage.width;
teki._y = Math.random() * Stage.height;

tama._visible = false;




//毎フレーム呼び出すアクション//////////////////////////////////////
_root.onEnterFrame = function() {


//弾の移動////////////////////////////////
if (tama._visible) {
tama._x += 16;

if (tama._x > Stage.width) tama._visible = false;

}

//敵の移動/////////////////////////////
teki._x -= speed;

if (teki._x < 0) {
teki._rotation = 0;
teki._x = Stage.width;
teki._y = Math.random() * Stage.height;

speed++;
}

if (teki._rotation == 0) {
if (hitTest(tama) && tama._visible) {
teki._rotation = 90;
tama._visible = false;
}else if (hitTest(jiki)) {
_root.gotoAndPlay(1);
}
}

};




//マウスアクション///////////////////////////////////////////////
_root.onMouseDown = function () {

if (tama._visible == false) {
tama._x = jiki_mc._x;
tama._y = jiki_mc._y;
}

};

9レウ:2012/07/24(火) 03:55:03
ちょっと長いけど、>>2 >>3 >>4を書き直すと>>8こんな感じになると思う。
これをタイムラインに書き込んでください。

大事なのは、リンケージでちゃんとスプライトをインスタンス化することかな・・・
でも、これでは弾が一発ずつしか発射できないねw

10れいぷっぷ:2012/07/24(火) 08:38:35
うごかないお(;_;)

11わっちょい:2012/07/26(木) 19:40:28
(^0^)レウー


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板