万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    SendMessageの罠 UniryScript

    SendMessageの引数にArray型を仕込む

    private var ary : Array;
    
    function OnTriggerEnter(info:Collider)
    {
        if(info.gameObject.tag == "Enemy")
        {
            info.gameObject.SendMessage("ApplyDamage", ary);
        }
    }
    



    上のメソッドに対してSendMessageの受け皿はこれ。

    public function ApplyDamage( ary:Array )
    {
        // do something
    }
    

    ↑Arrayの引数を受け取る前提のApplyDamageだ。


    しかしながら、こんなエラーが出ることがある。

    Calling function without parameters but the function requires 1.

    →引数がない関数を呼んだのに、呼ばれた関数は引数を1つ必要だよ。


    え??引数にArrayなのに、なぜ??
    原因は、のArrayが引数になってることだ。
    Arrayが初期化されずにnullの場合は引数がなかったことにされる罠