• 締切済み

adobe edge animateのアクション

adobe edge animateであるエレメントのアクションを開くでmouseoverを選択して開いて // マウスがオブジェクトに重なったときに実行されるコードを挿入します var a=0; if(a=0){ sym.play("k_click"); a=1; } といったコードを記入したのですが、エレメントをマウスオーバーした時一度のみsym.play("k_click");を実行するという事をしたいのですが、うまくいきません。 どのようにしたらよいでしょうか?

みんなの回答

回答No.1

adobe edge animateこのソフトを知らないのですが。 プログラマーなので、回答しますが、 var a=0; if(a=0){ sym.play("k_click"); a=1; } 最初にこのコードを実行したら、a=0を実行せよ。 と書いているので、2度目にも、a=0なので、常に、 中の、 sym.play("k_click"); は実行されている。 ってのが、問題なのではないですか? var a=0 をグローバル側に配置しておけばOKです。 その後リスナー関数mouseoverの中では、 変数をいきなり使えばOK で、テクニックなのですが、 最初0ではなく、1にするといいです。 グローバル定義のほうで、var a=1; /* 0以外なら何でもいい */ リスナーでは、 if (a) { /* 処理 */ a=0; } 値のチェックをしないで置くという感じで。 なぜかというと、後で、3回まで音を鳴らしたい?ってときは、 グローバル側で var a=3; として、 リスナー側を if (a) { /* 処理 */ a--; } に書き換えるだけで対応できるのと、 これらの何回まで?とかの値を一箇所に集めるほうが 管理しやすく、バグが出にくいからです。 <長くプログラムをすれば、なれますよ

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • :not(:animate)の不具合

    こんにちは、たとえば以下のようなコードにおいて、対象要素が小さい場合、マウスアウトを認識せずに、ホバーの状態でアニメーションが止まってしまいます。mouseout, mouseleaveにしても症状は同じです。何か対応策などはあるのでしょうか? $("#smallBox").hover(function(){ $("#target:not(:animate)").css("backGround", "red"); },function(){ $("#target:not(:animate)").css("backGround","blue"); また、0.5秒以上マウスが要素にホバーしていたらプログラムを実行、0.5秒以内にマウスがアウトしたらば実行しない・・というようなことはできるのでしょうか。理解せずにコピペ、というようなことはあまりしたくないので、複雑なコードになるようであれば、あきらめるのですが。 よろしくお願いします。

  • 複数のイベントリスナーを設置するのは正しい?

    クリック時、マウスオーバー時、マウスアウト時の処理を作るとき、 イベントリスナーの使い方はこのようなやり方でよいでしょうか。 var d = document.getElement.ById("id"); d.addEventListener('click', function(e){ var tar=e.target; tar.style.backgroundColor ="#000000"; },false); d.addEventListener('mouseover', function(e){ var tar=e.target; tar.style.backgroundColor ="#aaaaaa"; },false); d.addEventListener('mouseout', function(e){ var tar=e.target; tar.style.backgroundColor ="#555555"; },false);

  • 選択されたラジオボタンの値が取り出せない

    フォームを使って普通のHTMLで記述すれば選択された値が 送られてくると思うのですが、エレメントを作って次のような やり方だと、「2」を選択したとしてもvalueが「1」しか返ってきません。 どうすれば適切に値を取り出すことができるのでしょうか? var element1 = document.createElement("span"); element1.innerHTML = "<input type='radio' name='a' value=1>"; document.body.appendChild(element1); var element2 = document.createElement("span"); element2.innerHTML = "<input type='radio' name='a' value=2>"; document.body.appendChild(element2); ~何かクリックした先でidが「a」のオブジェクトを取得し、選択されてた値を取り出したい~ var ele = document.getElementById("a"); alert(ele.value);←1しか表示されない

  • 左メニューにプルダウンメニューを適用したい

    左メニューにプルダウンメニューを適用したい 全くの初心者なのですが、質問失礼します。 http://www.stone-m.com/ このサイト様の左ショップメニューのように縦に展開していくショップメニューを作りたい と考えております。 (このサイト様ではクリックで展開しますがマウスオーバーで展開する形で) いろいろなスクリプトのサンプルを探しましたが横型が多くて、どれもピタリときません。 こちらのアコーディオンメニューでもやってみました。 次のマウスオーバーに行ったときに今まで展開していたものが閉じるので、 閉じないようにしたいです。 (上からなぞって見やすいように) var j$ = jQuery; j$(function(){ j$(".acc").each(function(){ j$("li > a", this).each(function(index){ var $this = j$(this); if(index > 0) $this.next().hide(); $this.mouseover(function() var params = {height:"toggle", opacity:"toggle"}; j$(this).next().animate(params).parent().siblings() .children("ul:visible").animate(params); return false; }); }); }); }); scriptのサンプルか、上記を修正して活用する方法があれば教えていただけないでしょうか。 どうぞよろしくお願いします。

  • アクションスクリプトのフォトビューアの制作にあったての質問

    フォトビューア作成で困っています。 http://hfm-kenchan.com/Lesson/sample/daniwell_3d.htm これがサンプルのフラッシュです。 各BOXごとにムービクリップローダーで外部からイメージ写真を読み込ませるところまでできたのですが 画面の中央に来た写真をクリックすると拡大表示されて、マウスが写真上からなくなると元に戻るようにしたいのですどうしてもできません。 これが、そのスクリプトです。 Stage.scaleMode = "exactFit"; var yoko :Number = 4; var oku :Number = 4; var edge :Number = 5; var cx :Number = 320; var cy :Number = 0; var vp :Number = 200; var sx :Number = 400; var sy :Number = 240; var sz :Number = 100; var nx :Number = 0; var nz :Array = new Array(); var ax :Array = new Array(); var az :Array = new Array(); function func_projection ( px :Number, py :Number, pz :Number, cx :Number, cy :Number, f :Number ) :Object { var s :Number = f /( f - pz ); var obj :Object = new Object(); obj.x = cx + s * px; obj.y = cy + s * py; obj.s = s * 100; return( obj ); } var mcl :MovieClipLoader = new MovieClipLoader(); var listener :Object = new Object(); listener.onLoadInit = function ( mc :MovieClip ) { mc._x = -mc._width/2; mc._y = -mc._height/2; with ( mc._parent.back ) { _width = mc._width + edge*2; _height = mc._height + edge*2; _x = mc._x - edge; _y = mc._y - edge; } } mcl.addListener( listener ); for ( var i = 0; i < yoko; i ++ ) { az[ i ] = new Array(); for ( var k = 0; k < oku; k ++ ) { var mc :MovieClip = _root.attachMovie( "box", "box"+ i +"_"+ k, (yoko-k) * yoko + i ); mc.createEmptyMovieClip( "image_load", 0 ); mcl.loadClip( "image"+ i +"/image"+k+".jpg", mc.image_load ); var obj :Object = func_projection( i * sx, sy, - k * sz, cx, cy, vp ); mc._x = obj.x; mc._y = obj.y; mc._xscale = mc._yscale = obj.s; mc.i = i; mc.k = k; mc.onPress = function ( ) { nx = this.i; for ( var i = 0; i < yoko; i ++ ) nz[ i ] = 0; nz[ this.i ] = this.k; } az[ i ][ k ] = - k * sz; } ax[ i ] = i * sx; nz[ i ] = 0; } _root.onEnterFrame = function ( ) { for ( var i = 0; i < yoko; i ++ ) { ax[ i ] += ( (i-nx) * sx - ax[ i ] ) / 5;     for ( var k = 0; k < oku; k ++ ) { var mc :MovieClip = _root[ "box"+ i +"_"+ k ]; mc.swapDepths( (yoko-k+nz[i]) * yoko + i ); az[ i ][ k ] += ( (-k+nz[ i ]) * sz - az[ i ][ k ] ) / 5; if ( az[ i ][ k ] <= 0 )mc._alpha = 100; else mc._alpha = (sz-az[ i ][ k ])/sz * 100; if ( 1 < mc._alpha )       mc._visible = true; else mc._visible = false; var obj :Object = func_projection( ax[ i ], 240, az[ i ][ k ], cx, cy, vp ); mc._x = obj.x; mc._y = obj.y; mc._xscale = mc._yscale = obj.s; } } } http://hfm-kenchan.com/Lesson/contents/index.htm このサイトを参考にしています。 アクションスクリプトに詳しい方 よろしくお願いします。

  • animateを使用したマウスオーバー時の反応

    jQuery初心者で、知識が浅いのでご教授頂けると幸いです。 横1列に下記のような順番でテキストや画像を並べています。 ================================= タグ 画像 テキストテキストテキスト          テキスト ================================= このBOX自体に class="top_odai" とつけています。 これが30段程、同じものが繰り返されます。(タグやテキスト内容は変わります。画像は同じものです) .top_odai内のリンクを探して、このBOX全体がリンクになるように設定しています。 マウスオーバー(hover)すると、「画像が少し大きくなる&タグが左にずれる」動作が起きるようにしました。 テキスト自体は、色が変わってシャドウが付きます。 この設定をjQueryで書いてみました。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー $(document).ready(function() { var linkboxes = $('.top_odai'); for (var i=0; i<linkboxes.length; i++){ var readmores = $('div.title'); for (var j=0; j<readmores.length; j++){ $('.top_odai').click(function() { var anchorTags = this.getElementsByTagName("a"); window.location = anchorTags[0].href; }); } } }); $(function(){ $('.top_odai') .each(function(){ $('.top_odai div.headwill img').css({'width':'20px','height':'20px'}); }) .hover(function(){ $(this).addClass('top_odai_hover'); $('div.title a').css({'color':'#FF3300','text-decoration':'none'}); $('.top_odai div.headwill img').stop().animate({'width':'30px','height':'30px','marginTop':'-5px'},'normal'); }, function(){ $(this).removeClass("top_odai_hover"); $('div.title a').css({'color':'#525252','text-decoration':'none'}); $('.top_odai div.headwill img').stop().animate({'width':'20px','height':'20px','marginTop':'0px'},'normal'); } ); }); ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー これで、記述はかなりスマートじゃないと思いますが、、、一応希望通りの動きはします。 ただこれでは全ての「class="top_odai"」に反応してしまいます。 1つのリンクに触れると、他の段の全てのBOXが同じく動いてしまいます。 下記は動作のテストページになります。 http://music333.oops.jp/test/test.html これを1つのリンクに触れたら、そのBOX(.top_odai)だけ上記の動きを させたいのですが、どのようにすれば良いのか、、、かなりハマっております。 各top_odaiに連番のidを割当て指定してみたりと色々試してみましたが全滅でした。 どのように書き換えたら、良いでしょうか? アドバイス・ご教授どうぞ宜しくお願い致します。

  • コマンドボタンを押すと・・・

    vbの超初心者なのですが、フォームにコマンドボタンを何度か設置したら Private Sub Button1_Click(sender As System.Object,・・・ というのと Private Sub Button1_Click_1(sender As System.Object,・・・ というのが出来上がっていて、コマンドボタンをクリックすると Private Sub Button1_Click_1 のほうのコードが実行されるのですが、 Private Sub Button1_ClickとPrivate Sub Button1_Click_1 の違いはなんでしょうか? Private Sub Button1_Clickは、どのコマンドボタンを押せば実行されるのでしょうか?

  • HTMLのinputタグ数が変わる場合のjavascript処理

    パターンA ~HTML~ <input type='text' name='a[]'> <input type='text' name='a[]'> ~JavaScript~ var n = document.form1.elements["a"][0].value ; var n = document.form1.elements["a"][1].value ; パターンB ~HTML~ <input type='text' name='a[]'> ~JavaScript~ var n = document.form1.elements["a"][0].value ; ---(1) パターンAではエラーが出ないのですが、パターンBでは(1)のところでエラーになってしまいます。 【elements["a"][0]】の部分を【elements["a"]】とすればエラーは出ません。 どうやら、inputタグが1つしかない場合は、Javascriptでは配列として認識しないようです。 できれば、inputタグが1つの場合でも複数の場合でも、同じJavascriptコードを使いたいのですが、何か良い方法はありますか?

  • Letステートメントの使い方について

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=307244 に書込もうとしたら締め切られたので,質問という形で投稿します。 Private Sub Command1_Click() Dim a As Object Let a = Label1 End Sub を実行すると 実行時エラー91:オブジェクト変数が設定されていません。 になります。 どういう理由でしょうか?

  • マウスをのせてながら、2秒後にフェイドインしたい

    すみません、jquery初心者です。 下記の様にコードを書きました。 マウスをのせてから、2秒後にフェイドインはしたのですが、 一瞬だけマウスをのせてもフェイドインしてしまいます。 $(function(){ $("div#aaa").hide(); $("div#bbb a").mouseover(function(){ setTimeout( function () { $("div#aaa").fadeIn(1500); } , 2000 ); }); try { clearTimeout(); } catch ( e ) {} }); マウスをのせてながら、2秒後にフェイドインさせる場合は どのように書けば良いのでしょうか? ご教授頂けると助かります。 何卒、よろしくお願いします。

絶縁された友達について
このQ&Aのポイント
  • 絶縁された友達への未練が消えず苦しい日々を送っています。
  • 新たな友達を作ることに苦労しており、コミュニケーション力の低さに悩んでいます。
  • 絶縁された友達との関係が深かったため、失った喪失感が強くあります。少しでも楽になる方法はありますか?
回答を見る

専門家に質問してみよう