- ベストアンサー
hitTest(_root._xmouse, _root._ymouse, true)が有効になりません
- WinXP,Flash8pro,photoshopCS2,IllustratorCSでオーサリングしています。フォトショとイラレでPNG画像を作成し、Flash8Proに読み込んでステージに配置し、MCに変換してからhitTestスクリプトでhitTest(_root._xmouse, _root._ymouse, true)としようとしていますが、hitTest(_root._xmouse, _root._ymouse, false)で処理されてしまいます。
- FireWorksで作成したFireWorksPNG形式だと正常にTrueで動作します。フォトショやイラレのPNGでは透過部分を判別し、True判定できないのでしょうか?
- また、どのようにしたらフォトショやイラレのPNGをTrueで処理できるのでしょうか。どうぞ宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- hitTestについて教えてください
var hit = mc.hitTest(_root._xmouse, _root._ymouse); if (hit) { ・・・・ } クリップ上にマウスオーバーしている時に、if分の処理を行うコードを上記のように書きました。 マウスがクリップにマウスオーバーした状態で、ステージ外へと移動するとif分が実行され続けます。 マウスがステージ外へ出たことを知ることは可能でしょうか教えてください。
- ベストアンサー
- Flash
- ゲージと連動したムービークリップのアニメーションを動かす方法
アクションスクリプト初心者です。 サンプルでいただいたムービーを参考に、ファイルを作成しなければならないのですが、うまく動かなくて困っています。 画面に横に長い帯(ゲージ)を置き、その上をマウスで横にスライドさせると、ムービークリップの中のアニメーションがマウスの動きと連動して動くというアニメーションなのですが、うまく動きません。 サンプルでいただいたファイルの帯(ゲージ)の部分、(これもムービークリップです) には -------------------------------------------- onClipEvent (mouseMove) { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { _root.pressure.gotoAndStop(Math.round(((_root._xmouse)/12))); } } -------------------------------------------- と入っていました。 他には、STOPしか入っていませんでした。 数値を変えてみたりしたのですが、アニメーションの途中から動いたり、うまく連動してくれません。 どうやら、サンプルでいただいたムービーと、ファイルサイズが違うことと、新たに作成するファイルは、帯(ゲージ)を画面の右側に置かなければいけないところがうまくいかない原因のひとつかと、わからないながらに思っているのですが・・・; 環境は、Windows2000、FLASHMX2004です。 どなたか、よろしくお願いします。m(__)m
- 締切済み
- Flash
- 右回り、左回りの判定
ムービークリップをドラッグし、右回転させている間はAの処理、左回転させている間はBの処理という判定の仕方がわからなくて困っています。 イメージとしてはターンテーブルのようなものです。 現在はムービークリップをドラッグし、右・左回転させるところまでは出来ています。 何かヒント・考え方で結構ですので、ご教授頂けないでしょうか。 下記に現在記述しているスクリプトを記載します。 root階層にインスタンス名"handle"というムービークリップを配置し、Iフレーム目に下記のスクリプトを記述。 handle.onPress = function():Void { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { this.flag = true; } }; handle.onMouseMove = function():Void { if (this.flag == true) { xp = _root._xmouse-this._x; yp = _root._ymouse-this._y; rad = Math.atan2(yp, xp); degree = rad*(180/Math.PI); this._rotation = degree; } }; handle.onMouseUp = function():Void { this.flag = false; }; 宜しくお願いします。
- ベストアンサー
- Flash
- マウスを追いかける
ムービークリップがマウスを追いかけるというようにしたいのですが、追いかけるムービークリップが別のシンボルの中にあると座標がずれるようで、このずれをなくしたいのですがどのようにすればよいのでしょうか? 詳しくは、シーン1にシンボル(ただの図形と追いかけてほしいムービー:mc1)を置いて、mc1に下記のスクリプトを書きました。 -------------------------------------------- onClipEvent (load) { _root.mc1.startDrag(true); x = _root._xmouse; y = _root._ymouse; } onClipEvent (enterFrame) { _x += (_root._xmouse-_x)/4; _y += (_root._ymouse-_y)/4; } --------------------------------------------
- ベストアンサー
- Flash
- 入れ子になっているMCのクリック判定について
Flash ver9 AS2.0 使用です。 親MCの中に子MCがいる構造です。 親MCはロールオーバーで移動、ロールアウトで元の位置へ戻るボタンアクション(onRollOver、onRollOut)を付けています。 その中にいる子MCにもロールオーバーで拡大するというアクションを付けていますが、 こちらにはonClipEventで接触判定(hitTestメソッド)で拡大するかどうかを判断しています。 分からないのは、この子MCをクリックした時に他のシーンへ移動させたいのですが、苦し紛れで onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { //拡大処理 } onClipEvent(mouseDown){ //シーン移動処理 } としても、シーン移動が出来ませんでした。(当たり前ですよね…) hitTestメソッドのクリック判定バージョンがあれば良いのですが、 検索不足か本当に無いのか見つけられませんでした。 分かり難い説明かとは思いますが、シーン移動のさせ方、またはクリック判定の仕方を教えていただきたいです。
- ベストアンサー
- Flash
- チェックボックスについて
現在チェックボックスを使用した作品を作成しています。 チェックボックスの左隅(ボックスの左辺)に マウスが乗ってるか乗ってないか位の位置でクリックをすると イベント処理は行われるのですが、チェックが消えなかったり 逆にチェックが表示されないままになってしまいます。 何かいい対処法はあるのでしょうか? ご教授頂けたら幸いです。 開発環境:CS3 AS2.0 以下チェックボックスに記述しているスクリプトです。 onClipEvent(mouseUp){ if(this.hitTest(_root._xmouse, _root._ymouse, false)){ if(this.getState()){ //処理 } else{ //処理 } //処理 } } }
- ベストアンサー
- Flash
- 複数のmcに同じイベントを記述したら、1つしか反応しない
うまくいかない原因がわからず困っています。 画面上の複数のmcに同じイベントを記述しました。 内容はシンプルで、「mc01にマウスがのったらフレームf01に移動する、 マウスが離れたらフレームstartに戻る」というものです。 mc02はf02へ、mc03はf03へ移動というふうにします。 これをmc01からmc07まで順番に書いていったところ mc07は反応するのですが、あとの6つが反応しません。 mc07の記述を消すとmc06が反応するようになり、 どうやら一番最後に記述している部分しか反応しないようです。 これ↓がそれぞれのmcに書いてるASです。 ---------------------------------------------------------- onClipEvent (enterFrame) { if (_root.mc01.hitTest(_root._xmouse,_root._ymouse,1)) { _root.gotoAndPlay("f01"); } else { _root.gotoAndPlay("start"); } } ---------------------------------------------------------- ちなみにFlash8使用、プレイヤー8でパブリッシュしてます。 どうぞよろしくお願いします。
- ベストアンサー
- Flash
- hitTestのロールアウト判定
auのスライド式メニューなんですが、あれってボタンの中にボタンが入っていますよね?過去記事を読んだところ、「ボタンが重なり合った領域でマウス操作すると手前のインスタンスしかイベントを受け取れない」ので「hitTestを使う」とありました。ただ、ちょっと問題が・・ --問題点--- _________________________ | |mc|mc|mc|mc| | 余白 | | | | | | | | | | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ こんな感じなんですが、swfに余白のある左側に出た場合はrollOut処理が働くのですが、余白のない「上、右、下」に出た場合に、処理が働かないんです。on()で記述した場合にはどの方向からでもrolloutするのに何故ダメなのでしょうか? --ActionScript--- onClipEvent (load) { totalNum=4;leftX=20;rightX=320;mcPos=rightX;speed=5; function mcSet(myNum){ var i=1; while(i<=myNum){_parent["cont"+i+"_mc"].setMove("left");i++;} while(i<=totalNum){_parent["cont"+i+"_mc"].setMove("right");i++;} } function setMove(dir) { if(dir=="left"){mcPos=leftX;}else if(dir=="right"){mcPos=rightX;} this.onEnterFrame=xMove; } function xMove(){ nextX=this._x+(mcPos-this._x)/speed; if(Math.abs(mcPos-nextX)>0.1){this._x=nextX; }else{this._x=mcPos;this.onEnterFrame=undefined;} } function init(){ var i=1; while(i<=totalNum){ _parent["cont"+i+"_mc"].setMove("right");i++; } } } onClipEvent(enterFrame){ if(this.hitTest(_root._xmouse, _root._ymouse, true)){this.mcSet(1);}else{init();} }
- ベストアンサー
- Flash
- 解像度や保存形式の基礎知識
自分はFLASH8とIllustratorCS、PhotoshopCSなどを使用してWebページを作ることが多いのですが、いつもできあがったFLASHサイトのデータが重くなってしまうことで困っています。 原因としてはやはり画像データが重過ぎるせいだとは思うのですがイラレのaiデータを作成するといつも1Mを越えてしまう重さになってしまいます。その上画質もあまり良くなかったり・・・。 プロの方が作ったサイトなどを見ると、画質が綺麗なわりに読み込み時間がそんなにかからなかったりするのはなぜなのでしょうか? 今まで全て独学で行き当たりばったりでやってきてしまったので、画質の適正な解像度や、データを軽減する工夫などの知識が全くありません。 ここら辺で一からしっかりと手堅いデータの作り方を勉強したいと思うのですが、お勧めの書籍やサイト等ありましたら、どうか教えていただけないでしょうか。 主に、FLASH8、IllustratorCS、PhotoshopCSの画質保存、相互のソフトに読み込むための知識に特化したものを探しています。 またはFLASHデータ軽減の助けになるものをお願いします。 一応基本的なマニュアル本は持っているのですが・・・イマイチかゆいところに手が届かない感じで困っています。 よろしくお願いいたします。
- ベストアンサー
- グラフィックソフト
- ポップアップを一定時間、またはマウスが乗っている間表示させておく
スクリプトに詳しくないので、教えていただきたいです。 画面上のあるエリアにマウスをのせるとポップアップウィンドウのようなものが表示され、 その中にあるボタンをクリックすると外部swfを読み込むという仕組みを 作りたいと思っています。 下に書いてあるスクリプトでポップアップが出てくるようにしたのですが、 その次がわからなくて困っています。 (1)マウスがエリアから外れても、一定時間(例えば1秒とか)ポップアップを 表示したままにしたい (2)ポップアップにマウスがのっている間は表示させておきたい (1)はエリア部分とポップアップが離れている場合(といってもほんの少しです)を 考えてのことです。 いい方法がありましたらぜひ教えてください。 どうぞよろしくお願いいたします。 エリア部分に書いたActionScript --------------------------------------------------------------- onClipEvent (load) { _root.popup._visible = false; } onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse,_root._ymouse,1)) { _root.popup._visible = true; } else { _root.popup._visible = false; } } ---------------------------------------------------------------
- ベストアンサー
- Flash
- プリンターダウンロードに関する相談内容とエラー11についての情報を提供
- 質問者のパソコン環境や接続方法、関連ソフトや電話回線の情報を記載
- ブラザー製品のインクジェット/レーザープリンターに関するFAQの閲覧履歴
お礼
いつもお世話になっております。 最高の設定だと綺麗にできました。 AI(10)で読み込めるとは知らなかったので、 AIがそのままで使えて、こちらの方が断然便利でした。 この度も大変助かり、また詳しく解りやすい解説が とっても勉強になりました。 どうもありがとう御座いました!