1

ゲームのスコアカウンターを作っています。2 つのオブジェクトの x 座標が一致すると、スコアが増加します。小さなスクリプトを作成し、マネージャ オブジェクトから実行しました。その後、スクリプトからエラーが発生し、エラー応答は無意味です。

スクリプト:

if (obj_char.x == obj_ball.x)
{
    obj_manager.myScore += 1;
}

エラーは次のとおりです。

############################################################################################
FATAL ERROR in
action number 1
of  Step Event0
for object obj_manager:

Push :: Execution Error - Variable Get 0.x(0, -2147483648)
 at gml_Script_scr_score (line 1) - if (obj_char.x == obj_ball.x)
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Script_scr_score (line 1)
called from - gml_Object_obj_manager_StepNormalEvent_1 (line 9) - scr_score();
4

2 に答える 2

0

コードを実行すると、obj_char または obj_ball は存在しません。試す:

if instance_number(obj_char)>0 and instance_number(obj_ball)>0
{
    with obj_char
    {
        with obj_ball
        {
            if (other.x=x)
            {
                obj_manager.myScore+=1;
            }
        } 
    }
}

これで、0 個または多数の obj_char と 0 個または多数の obj_ball を持つことができ、2 つが出会うたびにスコアが増加します。

于 2015-11-17T08:25:04.633 に答える