問題はもう同じではないので意味があるので、私は新しい質問をしました。AS3カスタムカーソルインビジブル
私は着色ゲームを作っています。 CanvPark_mcは、キャンバスの作成の詳細とすべてのブラシの詳細が記載されたムービークリップです。 Huge、Medium、およびSmallSelected1変数は、ブラシをクリックすると変更される変数で、ブラシを識別できます。
最後にクリックされたブラシに応じてカーソルを切り替える必要があります。これは最初のparamentersを通して行うことができます。 は今のところ、これがスイッチに私のコードで、previous question
var cursor_mc: MovieClip = new MovieClip();
if (CanvPark_mc.HugeSelected1 == true) {
cursor_mc = cursor1_mc; //Big Cursor
removeChild(cursor_mc);
}
if (CanvPark_mc.MediumSelected1 == true) {
cursor_mc = cursor2_mc; //Medium Cursor
removeChild(cursor_mc);
}
if (CanvPark_mc.SmallSelected1 == true) {
cursor_mc = cursor3_mc; //Small Cursor
removeChild(cursor_mc);
}
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveCursor);
function moveCursor(myEvent: MouseEvent) {
if (CanvPark_mc.SmallSelected1 == false && CanvPark_mc.MediumSelected1 == false && CanvPark_mc.HugeSelected1 == false) {
Mouse.cursor = "auto";
} else if (cursor_mc){
addChild(cursor_mc);
setChildIndex(cursor_mc, this.numChildren - 1);
cursor_mc.x = stage.mouseX;
cursor_mc.y = stage.mouseY;
cursor_mc.mouseChildren = cursor_mc.mouseEnabled = false;
Mouse.hide();
}
}
で@NBoooの助けを借り、このコードの問題のおかげで、残念ながら、私が言ったのボタンをクリックすると、カーソルが消え、ということです。これまでに作ったムービークリップには変わりません。
ifブロック内のremoveChildは、以前にカーソルをクリックした後、画面上のcursor_mcの以前のインスタンスを削除することを目的としています。
テストでは、最初のifブロックで、パラメータの1つに==の代わりに=が付いています。
例:彼らはすべてちょうど=にまで減少している場合は、リスト内の場合はさらに
if (CanvPark_mc.HugeSelected1 == true) {
cursor_mc = cursor1_mc; // Big Cursor
removeChild(cursor_mc);
}
if (CanvPark_mc.MediumSelected1 == true) {
cursor_mc = cursor2_mc; //Medium Cursor
removeChild(cursor_mc);
}
if (CanvPark_mc.SmallSelected1 = true) {
cursor_mc = cursor3_mc; //This is the one he'll run, showing the smallest cursor
removeChild(cursor_mc);
}
、コードは最後を選ぶだろう。 私のコードに問題があると思うし、何時間も試してみると何か分からない。
私がこれを理解するのを手伝ってもらえますか?
新しいカーソルに 'cursor_mc'を設定していますが、すぐにステージから削除しますか?私は古いカーソルを削除したいと思います。新しいカーソルではありません。 EG:カーソルを変更する前に 'removeChild'を実行してみてください。 –
@ SunilD。 'removeChild(cursor_mc);がある前であっても、すでにこの問題が起きていました。 'Error#2025:提供されたDisplayObjectは呼び出し元の子でなければなりません。 ' – TwistedRaven
最後のコード例では、' == 'を'='は1つの '= 'が代入をしているので意味があり、ブール式ではありません。ですから、 'if'文の条件で' = 'を使うと、それは通常"真理 "として解決されます。すべてのif文を1つの '= 'を使用するように変更すると、それらはすべて真であり、最後のif文の結果が表示されます。これはすべて、あなたの 'if'ステートメントの条件がおそらく"真 "と評価されていないと言っている長いことです。あなたはそれらをチェックしようと思うかもしれません。 –