今後はコードをフォーマットすることをお勧めします。また、追加の利点がないため、コードを 1 行で記述しないことをお勧めします。コードは、Flash Player が実行するオブジェクト コードにコンパイルされます。
とにかく、あなたの機能にはいくつか問題があります。エラーの最初の原因は、戻り値を if/else ブロックで囲んでいることです。関数本体自体はリターンを指定しません。コードは次のようになります。
public function get(_bulletT:String):String {
for (var i:int = 0; i < _bulletT.length; i++) {
if (_bulletT.charAt(i) == "star") {
return "star";
}
}
return "circle";
}
条件が満たされた場合にのみ「星」を返したいことに注意してください。値を返すと、ループが終了し、関数が終了します。もう 1 つのケースは、条件がループ内で満たされない場合、関数は円を返す必要があるということです。ただし、この関数は意味がありません。文字列に「星」という単語が含まれているかどうかをテストしていると思いますよね?その場合は、次のことができます。
public function get(_bulletT:String):String {
if (_bulletT.indexOf("star") != -1) {
return "star";
}
return "circle";
}
しかし、私はそれがあなたが本当に望んでいることだとは思いません。おそらく、_bulletTが値 star を保持しているかどうかを判断する必要があります。その場合は、次のことができます。
public function get(_bulletT:String):String {
if (_bulletT == "star") {
return "star";
}
return "circle";
}
関数に getという名前を付けています。これは、クラスを操作し、クラスの getter/setter プロパティを作成する際の Actionscript の予約語です。とにかく、これがお役に立てば幸いです。