Unity3d - RPG项目学习笔记(十四)

上期工程实现了角色状态栏的显示,现在开始实现角色的加点功能。

需求:当角色存在point_Remain > 0 时,可以分配给伤害、防御及速度中的任意一个。

思路:

在PlayerStatus脚本中更新关于point_Remain -1的方法,并且在按键响应的脚本中调用该方法,并使对应的属性值加1。

这样就实现了,无论增加哪个属性值,都会通过PlayerStatus中的脚本进行实现。

简直完美。

脚本如下:

Class PlayerStatus

{

    public bool GetPoint(int i = 1)

    {

        if( point_Remain >= i )

        {

            point_Remain -= i;

            return true;

        }

        return false;

    }

}

Class Status

{

    public void OnAttack_PlusClick( )

    {

        bool sucess = playerstatus.GetPoint( );

        if(sucess)

        {

            playerstatus.attack_plus ++;

            Show();

        }

    }

    public void OnDef_PlusClick( )

    {

        bool sucess = playerstatus.GetPoint( );

        if(sucess)

        {

            playerstatus.def_plus ++;

            Show();

        }

    }

    public void OnSpeed_PlusClick( )

    {

        bool sucess = playerstatus.GetPoint( );

        if(sucess)

        {

            playerstatus.speed_plus ++;

            Show();

        }

    }

}

将上述方法注册到加号按钮就可以了。

posted on 2016-09-07 20:38  心醉的未来  阅读(238)  评论(0编辑  收藏  举报

导航