トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     キーを押したら、変形
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
wowow
Åê¹ÆNo.39144
投稿日時: 2008-6-9 17:34
新米
居住地:
投稿: 28
使用環境:
WinVista,Flash MX2004
キーを押したら、変形
hitoというムービークリップの中身が
label ラベル名記述
script フレームアクション記述
anime アニメーション
の3つのレイヤーがあり、

1フレーム目に
label名 hito
script stop();
anime 人の形の絵

2フレーム目から5フレーム目までに
label名 fly
script 5フレーム目にstop();
anime 変形アニメ
です。

キーCを押したとき、
人型のとき変形させて、
変形状態のとき元に戻すようにしたいのです。

ムービークリップアクション
onClipEvent(keyDown){
//形態フラグtrueなら人状態、falseなら変形状態。初期状態true//
var flag = true;
//キーCを押したら//
if (Key.getCode() == 67){
//flagがtrueなら//
if(flag == true){
//再生ヘッドがflyに移動//
this.gotoAndPlay("fly");
//flagにfalseを入れる//
flag = false;
//flagがfalseなら//
}else if(flag == false){
//再生ヘッドがhitoに移動//
this.gotoAndStop("hito");
//flagにtrueを入れる//
flag = true;
}
}
}

と、やってみたのです。
変形はするのですが、
もう一度、Cを押すと、変形アニメがもう一度再生されます。
C押しっぱなしだと、変形アニメの途中で止まります。
どうすれば、まともに動くでしょうか?
野中文雄
Åê¹ÆNo.39145
投稿日時: 2008-6-9 18:23
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: キーを押したら、変形
キーを押せば、変数flagはつねにtrueに設定されます。したがって、フラグとしての用をなしていません。また、キーを押し続ければ、onClipEvent(keyDown)ハンドラは連続して呼出され続けます。
引用:
wowowさんは書きました:
ムービークリップアクション
onClipEvent(keyDown){
	//形態フラグtrueなら人状態、falseなら変形状態。初期状態true//
	var flag = true;
	// ...[後略]...

と、やってみたのです。
変形はするのですが、
もう一度、Cを押すと、変形アニメがもう一度再生されます。
C押しっぱなしだと、変形アニメの途中で止まります。

「まとも」な動きがどういうものなのかを、まずことばで正確に書出してみましょう。おそらくそれが具体的に構成できていないために、「まとも」に動かないものと推測されます。

その際、「人型」とか「変形状態」という表現では、説明も正確に伝わりませんし、ActionScriptの指示として書けません。変数(flag)の値とか現行フレームの値とか、スクリプトの用語で記述する必要があります。それが「まとも」にできて初めて、スクリプトを作成する作業に取りかかれます。
引用:
どうすれば、まともに動くでしょうか?


----------------
 

wowow
Åê¹ÆNo.39146
投稿日時: 2008-6-9 20:36
新米
居住地:
投稿: 28
使用環境:
WinVista,Flash MX2004
Re: キーを押したら、変形
毎度分かりにくい文ですみません。
一つ思いついたことがあるのでやってみます。

人型とかは、ニュアンスで言ってるだけです。
見た目の形状。
想像し易いかなあと。

人型の時はhito
変形時はfly
と書いたつもりですが、分かりづらかったならすみません。
あにぃ
Åê¹ÆNo.39150
投稿日時: 2008-6-10 10:07
職人
居住地: 北海道
投稿: 250
使用環境:
Flash8
FlashCS3
WinXP
FlashLite1.1 / 2.0
Re: キーを押したら、変形
//初期設定
onClipEvent(load){
    flag = true;
    keyflag = true;
    this.gotoAndStop(1);
}
//キーアクションの設定
onClipEvent(keyDown){
    if(keyflag == true){
        keyflag = false;
        if (Key.getCode() == 67){
            if(flag == true){
                flag = false;
            }else if(flag == false){
                flag = true;
            }
        }
    }
}
//flagによって、フレーム位置の変更
onClipEvent(enterFrame){
    if(flag == true){
        if(this._currentframe > 1){
            prevFrame();
        }else{
            keyflag = true;
        }
    }else if(flag == false){
        if(this._currentframe < 5){
            nextFrame();
        }else{
            keyflag = true;
        }
    }
}

1Frame目(人型)?5Frame目(変形型)にアニメーションがしてあるかと思いますので、こんな感じでどうでしょうか?
flagがtrueの時は、人型に
flagがfalseの時は変形型に変化するはずです。


----------------
質問する際には、ご自分でできる限り調べてから投稿して下さい

P・S 職人おめでとう。(08/10/09)

wowow
Åê¹ÆNo.39153
投稿日時: 2008-6-10 17:17
新米
居住地:
投稿: 28
使用環境:
WinVista,Flash MX2004
Re: キーを押したら、変形
なるほど。
こういうやり方もあるのか。
loadを忘れてました。

私が思いついたのは、
_rootのタイムラインに_root.flagを書いて、
解決させました。
が、教えていたやりかたのほうがいいですね。
ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops