2017-10-15 19 views
-4

Unity3dでのプログラミングではとても新しいです。私の問題は、モンスターを選ぶことなくスキルをキャッチしようとしていることです。メソッド `CastSkill 'のオーバーロードが` 2'引数をとることはありません。

ので、コードは次のとおりです。

if (EventSkillFinished()) { 
     var skill = skills[currentSkill]; 

     // apply the skill on the target 
     **CastSkill(skill, target);** 

     if (nextSkill != -1) { 
      currentSkill = nextSkill; 
      nextSkill = -1; 
     } else currentSkill = skill.followupDefaultAttack ? 0 : -1; 

、ここではいくつかのコード

public void CastSkill(Skill skill) { 
     if (CastCheckSelf(skill, false) && CastCheckTarget(skill)) { 
      // do the logic in here or let the skill effect take care of it? 
      if (skill.effectPrefab == null || skill.effectPrefab.isPurelyVisual) { 
       // attack 
       if (skill.category == "Attack") { 
        // deal damage directly 
        DealDamageAt(target, damage + skill.damage, skill.aoeRadius); 

答えて

0
//This function takes one parameter: 
public void CastSkill(Skill skill) { ... } 

//This is passing two parameters: 
CastSkill(skill, target); 

あなたは何を期待したのですか?

2つのパラメータを受け入れる新しい関数を作成する必要があります.1つはスキルが使用され、もう1つはTypeのターゲットです。

+0

誰かが私に言った "CastSkillを(スキル)の代わりに(スキル、ターゲット)を変更する必要があります。そしてそこから目標を設定してください。申し訳ありませんプログラミングでうまくいきません –

+0

@mhartiancruz 'public void CastSkill(スキルスキル)'の部分を修正する必要があります。具体的には、2つのパラメータを取る新しい関数を作成します。 – Draco18s

+0

これは質問に対する答えを提供しません。批評をしたり、著者の説明を求めるには、投稿の下にコメントを残してください。 - [レビューから](/レビュー/低品質の投稿/ 17633707) – Suvitruf

関連する問題