問題は厳密にTypeScriptにあります。Cocos Creator に JavaScript ベースの Cocos プロジェクトがある場合、私が抱えている問題は完全に機能します。
enums というファイルに次の列挙型があります。
export const enum CollisionType {
Static= 0,
Dynamic= 1,
Solid= 2,
SemiSolid= 3
}
私のgame.tsファイルには次のものがあります
import {CollisionType} from "./Enums";
export default class PlayerControl extends cc.Component {
@property (CollisionType)
collisionType:CollisionType = CollisionType.Static;
残念ながら、これは機能しません。CollisionType の下に赤い線が表示され、次のエラーが表示されます。
Argument of type 'typeof CollisionType' is not assignable to parameter of type 'string | number | boolean | Function | any[] | { type?: any; visible?: boolean | (() => boolean); displayName?: string; tooltip?: string; multiline?: boolean; readonly?: boolean; min?: number; max?: number; ... 7 more ...; animatable?: boolean; } | ValueType'.
@property を変数に設定しないと問題なく動作しますが、この値は Cocos Creator エディターで編集できません。
何か案は?