忍者ブログ

マヨナカの記録

雑貨やイラストの制作過程など。
 
画像・文章のすべての無断転載・転用・加工等禁止。
Copyright (c) 2010 マヨナカ工房

[PR]

2024/04/19(Fri)11:12

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

No.|CommentTrackback

AS3.0メモ その3

2011/06/06(Mon)00:25



脱出ゲームにありそうな仕掛けpart2

taiya.jpg








回転矢印の装置
3つの矢印を正しい位置に回すとネズミが描かれたトビラが開くっていうやつ。

■インスタンス名
矢印ボタン 左:yb1、真ん中:yb2、右:yb3
ネズミ nezu
戻るボタン G322

■スクリプト
ボタンそれぞれの変数
var a:uint=0; (yb1)
var b:uint=0; (yb2)
var c:uint=0; (yb3)

違うページに移動したら変数をリセット
G322.addEventListener(MouseEvent.CLICK,cl_G322);
function cl_G322(evt:MouseEvent):void{
    gotoAndPlay(32);
    a=0;
    b=0;
    c=0;
}


矢印ボタンを押したら
 
yb1.addEventListener(MouseEvent.CLICK,cl_yb);
function cl_yb(evt:MouseEvent):void{
    a++;
「++」は1ずつ足してくやつなので、ボタン1回押すごとに「a」に1ずつ追加される。
押した回数数えてる感じ。

    if(a>=8){

        a=0;
8回押すと変数を0にリセット
(8回で矢印が一回転するから)
    }
}

yb2.addEventListener(MouseEvent.CLICK,cl_yb2);
function cl_yb2(evt:MouseEvent):void{
    b++;
    if(b>=8){
        b=0;
    }
}

yb3.addEventListener(MouseEvent.CLICK,cl_yb3);
function cl_yb3(evt:MouseEvent):void{
    c++;
    if(c>=8){
        c=0;
    }
}

ネズミボタンを押したら
nezu.addEventListener(MouseEvent.CLICK,cl_nezu);
function cl_nezu(evt:MouseEvent):void{
    if(a==5&&b==2&&c==7){
正解の向きになるのに押さなきゃいけない回数をそれぞれ設定
        gotoAndPlay(38);
もしこの通りだったら38フレーム目に飛んでね。
    }
}





■矢印ボタンのアクションスクリプト
矢印はシンボルのタイムラインに色々します。

新規シンボル(ムービークリップ)

シンボルのタイムラインを編集↓
c7a848c6.jpg




それぞれのフレームに好きな角度に回転させたボタンを配置して
それぞれインスタンス名をつけておく。
stop();
y1.addEventListener(MouseEvent.CLICK,cl_y1);
function cl_y1(evt:MouseEvent):void{
    nextFrame();
クリックしたら次のフレームに行ってね。
}
最後のフレームだけ nextFrame();  gotoAndPlay(1);

これでメインタイムラインに戻ってステージにインスタンスを配置します。
押してみるとくるくる回っていくと思います。


面倒なやり方ですね!
ボタン押すたびに任意の角度に回転してっていうスクリプト書いた方がお手軽だと思いました。
作ってから気づいたうへー


拍手[0回]

PR

No.292|アニメーションとかComment(0)Trackback()

AS3.0メモ その2

2011/05/13(Fri)22:07



脱出ゲームでよくあるボタン入力式パスワード作り。
こんな奴。

pass.jpg








正解を入力してまるボタンを押すと白いところ(ダイナミックテキストボックス)に
「OPEN」と表示され、不正解だとERRORと表示される。
バツボタンはリセット。
正解文字順はM→N→Z→K



まず正誤判定に使う変数宣言。

var ans:String="";

文字列を使うのでString。
answerのansに設定。
ansという入れ物を作ったと考える。



それぞれボタンを押したらダイナミックテキストボックス(インスタンス名:passW)に文字を表示して、
入れ物ansにこの文字が押されたよ!という情報を入れる。
「A」ボタン(インスタンス名:aB)の場合。

aB.addEventListener(MouseEvent.CLICK,cl_aB);
function cl_aB(evt:MouseEvent):void{
    passW.appendText("A");
    ans=ans+"A";
}


!注意点!
★テキスト表示について
一般にテキストボックスにスクリプトで文字入力する時は
passW.text="A"; が多いけどこの場合は使わない。
別のボタン押したら表示がまるっと入れ替わっちゃうから。
(「A」ボタン押して「A」を表示させても、次に「B」ボタンを押したら「A」の表示が消えて「B」だけになる)
passW.appendText("A"); を使うと続けて文字が入力できる。

他のボタンに対しても同じように記述。



バツボタンのスクリプト
noB.addEventListener(MouseEvent.CLICK,cl_noB);
function cl_noB(evt:MouseEvent):void{
    passW.text="";
    ans="";
}


全消しするので「””」の間には何も入れない。
テキストボックスはまるっと「何もない」状態に入れ替えるので
passW.text=""; の書き方をする。



まるボタンのスクリプト
yesB.addEventListener(MouseEvent.CLICK,cl_yesB);
function cl_yesB(evt:MouseEvent):void{
    if(ans=="MNZK"){
        passW.text="OPEN";
    }else{
        passW.text="ERROR";
    }
}


もしansにMNZKという順番にボタンを押した!という情報が入っていたら
テキストボックスに「OPEN」と表示させる。
それ以外だったら「ERROR」と表示させる。

そんな感じ。




拍手[0回]

No.280|アニメーションとかComment(0)Trackback()

携帯待ち受け作り ASメモ2

2011/05/04(Wed)18:43



時間帯で色が変わる時計付き待ちうけー。

tl.jpg





あれ、画像ちっちゃいー


全5フレーム構成。

■1フレーム目
hour=fscommand2("GetTimeHours");
if(18<=hour and hour<=23){
    gotoAndPlay(4);
}else if(0<=hour and hour<=6){
        gotoAndPlay(4);
}else{
    gotoAndPlay(2);
}

画像は配置しない。

■1画像目
2フレーム目
時間取得スクリプト
3フレーム目
gotoAndPlay(2);

■2画像目
4フレーム目
時間取得スクリプト
5フレーム目
gotoAndPlay(4);


1フレーム目は、まず時間を取得してこの時間帯はこの画像のとこに行けよっていう命令。

1つの画像につき2つフレームを使う。
この2つのフレームのうち、最初のフレームに時間取得、次のフレームに最初のフレームに戻す命令。
こうやって行ったりきたりさせると一秒ずつカウントしてくれる。
おわり



拍手[0回]

No.275|アニメーションとかComment(0)Trackback()

携帯待ち受け作り ASメモ

2011/04/21(Thu)15:58



AS等自分用備忘録その2。
今回はFlashLight1.1。

これを見て質問等されても答えられません。
私は質問に答えられるほど能力が高くないです。


■日時取得編

年取得
year=fscommand2("GetDateYear");

月取得
month=fscommand2("GetDateMonth");

日取得
day=fscommand2("GetDateDay");

曜日取得
week=fscommand2("GetDateWeekday");
曜日は「日~土」=「0~6」と数字で出てくるから
switch(week){
case 0:
w="日";
break;


}
というように、指定の文字で出てくるようにする。
wはダイナミックテキストボックス変数。
インスタンス名とは別に入力欄があるので注意。

時間取得
hour=fscommand2("GetTimeHours");

分取得
minute=fscommand2("GetTimeMinutes");

秒取得
second=fscommand2("GetTimeSeconds");
秒等一桁の時、10の位に0をつける。
f(second<10){
    second=String(second);
    second="0" add second;
}

それぞれつくったダイナミックテキストボックスに代入してできあがり。
1、秒を表示させたいダイナミックテキストボックスに変数を「s」とつけてみる。
2、s=second add"秒";
すると23秒~とかでるようになる。
他も同じようにやる。

タイムラインは2フレーム構成で、asは1フレーム目に書く。
2フレーム目には GotoAndPlay(2); とだけ書く。
これで一秒ずつカウントされる。

あと画像が粗い時は fscommand2("SetQuality","hight");
と書くと高画質モード。
どこまで効果があるのかは謎。



拍手[0回]

No.271|アニメーションとかComment(0)Trackback()

AS3.0メモ その1

2011/01/15(Sat)16:59



アクションスクリプト3.0自分用備忘録。
質問には絶対に答えられません。
何故ならそこまで使いこなしていないから^p^
スペルミス・・・あるかも・・・

色々なHPやブログ、本を参考にさせて頂いております。
感謝!
何か問題がありましたら教えて頂けると助かります。



【マウスイベントのダブルクリック】

カエルのボタン又はムービークリップをダブルクリックしたら10フレーム目に飛びたい!
を叶える。

インスタンス名 kaeru

【1】
kaeru.addEventListener(MouseEvent.DOUBLE_CLICK,dc_kaeru);
function dc_kaeru(evt:MouseEvent):void{
     gotoAndPlay(10);
}

何だかこれだけでは反応しない。
なので【1】の前に 【2】kaeru.doubleClickEnabled=true; と書くと大体反応するようになる。
それでもダメなときは更に 【3】kaeru.mouseChildren=false; を追加。
すると出来た。
【2】【3】【1】の順に書いた。


これでも反応しない時は原因が分からんです。


拍手[0回]

No.227|アニメーションとかComment(0)Trackback()

じゃんけん大会ー

2010/07/29(Thu)17:45



学校の課題で作った対CPとのじゃんけんプログラムー。
1から作ったわけじゃないけど半日かかったずー・・・

下のほうのちっちゃい箱は勝ち数表示です。

ランダムで乱数発生させてるはずなのに何故か負け率が高いという・・・^^
よかったら遊んでみてくださいー

※携帯では表示されません





拍手[0回]

No.158|アニメーションとかComment(0)Trackback()

ぴろりーん

2010/06/23(Wed)21:29



授業で作った計算機~
せっかくなので晒してみる。

水色の箱のなかに自分の数値を入力して「計算」ボタンを押すと
「やせ」か「ふつう」か「ひまん」かがわかります。

※身長は160センチのばあい「1.6」と入力します。
 体重40キロのばあいは「40」と入力。
 身長入力要注意!



ちなみに入力した数値を取得したり~という事はありませんのでご心配なく!

携帯では見られないかも知れません。

拍手[1回]

No.151|アニメーションとかComment(0)Trackback()

ロールオーバー

2010/01/06(Wed)13:17



ガッコの授業課題なんですけども。
オンマウスで色が変わったり絵が動いたりするやつです。
Flashのアクションスクリプト記述でどうにかするんですけど
ちょっとした勘違いからココにたどり着くまで随分な遠回りをしてしまったという、、
ちゃんと動いた時の感動はひとしおですよー…

というわけで下の「続きを見る!」からどうぞ。
※携帯では閲覧出来ないかも知れません。

拍手[0回]


続きを見る!

No.116|アニメーションとかComment(0)Trackback()

初Flash

2009/10/12(Mon)12:50



イメージはホラーゲームのサイレンですー。
サイレンのweb広告つくるとしたら?っていうのが基です。
手形をべたべたしたかっただけだったり^^
初めてにしては…どうだろう。
画面が若干うるさい気がする。

私ホラーは大好きなんですけど、追いかけられたりするのが
凄く苦手なのでサイレンは見るの専門でした 笑




これフラッシュプレイヤーのバージョン10なんで
っていうか私のやり方が悪くて見られない方もしかしたらいるかもです;
あと携帯でも見られないようです…!

拍手[0回]

No.92|アニメーションとかComment(0)Trackback()