java吧 关注:1,245,728贴子:12,721,015
  • 4回复贴,共1

求助,怎么编写游戏里使用,调用技能

只看楼主收藏回复

int skill_Id,技能编号
useskSkill(int skill_Id),通过技能编号判断所使用的是哪个技能,然后再在里面调用对应的技能实现函数
如果技能的种类和实现非常多,怎么直接根据skill_Id,找到对应的技能实现函数?


IP属地:广东1楼2014-04-28 16:18回复
    case判断少不了的吧?不然只能用反射了


    IP属地:福建2楼2014-04-28 17:01
    收起回复
      大概写了点,你可以参考下
      import java.lang.reflect.InvocationTargetException;
      import java.lang.reflect.Method;
      public class Test {
      public static void main(String[] args) {
      useskSkill(1);
      useskSkill(2);
      }
      public static Method useskSkill(int skillID) {
      Method method = null;
      try {
      method = Test.class.getMethod("method_" + skillID, new Class[] {});
      method.invoke(Test.class.newInstance(), new Object[] {});
      } catch (SecurityException e) {
      e.printStackTrace();
      } catch (NoSuchMethodException e) {
      e.printStackTrace();
      } catch (IllegalArgumentException e) {
      e.printStackTrace();
      } catch (IllegalAccessException e) {
      e.printStackTrace();
      } catch (InvocationTargetException e) {
      e.printStackTrace();
      } catch (InstantiationException e) {
      e.printStackTrace();
      }
      return method;
      }
      public void method_1() {
      System.out.println("调用方法1..");
      }
      public void method_2() {
      System.out.println("调用方2..");
      }
      }


      IP属地:福建3楼2014-04-28 17:33
      收起回复