Flashでマスク上のオブジェクトをドラッグ
-
23-08-2019 - |
質問
私はと少し問題を抱えていることを、Flashで小さなタスクを持っています。
まず、私は2層を持っています。第一は、その上に、様々な色のグラデーション形状トゥイーン(ムービークリップ)である第二の層です。 CS4、クラシックトゥイーンを使用してあなたのそれらのために。 I
CS3とActionScript 2を使用しています私は出回っシェイプトゥイーンをやった、それは非常に簡単です、それが戻ってサークルに手裏剣になります。
事は、私はサークルの上に私のマウスを移動すると、これはのみ発生するようにプログラムする必要があります。そして、私は離れ円/手裏剣から私のマウスを移動する必要があり、それは私がエリアを左瞬間があった形状に永遠に残るべき。それは手裏剣するサークルから途中だと、私はエリアから私のマウスを削除するのであれば、それは円であることに戻ってジャンプしない、という中途半端な形で残っているはずです。
第二に、私は図形をドラッグできるようにする必要があり、それをドラッグしながら、シェイプトゥイーンでは、それは通常と同じように振る舞う必要があります。それを解放すると、そのエリアの場合にのみ私のマウスを動かし、「トゥイーン」を止めることはありません。グラデーションの背景には、絶えず変化する色の素敵な影響を与えます。
私は、形状トゥイーン "circle_mcが" と命名しました。
私は、実装することはできませんどうます。
1)形状は、私のマウスオーバーに反応
2)形状ドラッグ可能となっています。
誰かが私にこの上でいくつかのヒントは、おそらく記事や例を与えることはできますか?
解決
私が正しく、次てる場合は、あなたがあなたのシェイプトゥイーンが「circle_mcが」クリップ内部の次のスクリプトに似た何かを置くことができるはずです。これにより、同じ行動を行うクリップの複数のインスタンスを作成することができます。あなたがチェックアウトするために私がテストをアップロードしました。それはあなたが何を意味するのか全くないなら、私に知らせてください。また、あなたのグラフィックスの基本クラスとして使用し、そこにコードを配置するために外部のクラスを作成することができます。
var hasRolledOver:Boolean = false;
this.onPress = function():Void
{
this.startDrag();
}
this.onRelease = function():Void
{
this.stopDrag();
}
this.onRollOver = function():Void
{
if (!hasRolledOver)
{
this.gotoAndPlay(2);
hasRolledOver = true;
}
}
this.onRollOut = function():Void
{
this.stop();
}