11.5.0 • Published 10 months ago

lite-cc v11.5.0

Weekly downloads
-
License
GPL-3.0
Repository
-
Last release
10 months ago

Version

规范

  • 多语言键
    • 枚举名-编号-场景 其中场景是可选的 比如: ValueTypeData为道具表 道具名的多语言键为ValueTypeData-编号 道具描述的多语言键为ValueTypeData-编号-desc
    • 编号0为通用 比如: 多个页面都会用到使用 那么这个多语言键就为ViewData-0-use

代码

CcAssetManager - 资源管理器

const assetManager = new CcAssetManager({
    [路径]: 资源,
    ...
});

// 本地资源
const localAsset = await assetManager.load(资源类型, 'bundle:asset相对地址');
// 远程图片资源
const remoteAsset = await assetManager.load(SpriteFrame, 'https://xx.png');

CcClick - 点击

// 一直按住按钮超过该时间将不会触发点击事件
CcClick.maxInterval = 300;

// 按钮默认音效
CcClick.defaultSound = {
    path: '音频路径',
    scene: '场景',
};

// 音效断言
CcClick.soundPredicate = async (node: Node) => {
    // 是否播放
    return true; 
};

const safeClick: CcClick;

// 点击按钮是否触发点击事件
safaClick.interactable = true or false;

safeClick.init({
    clickAction: async () => {
        // 点击事件
    },
    // 音效 无效则使用CcClick.defaultSound
    sound: {
        path: '音频路径',
        scene: '场景',
    },
});

CcAudioService - 音频服务

const assetManager: CcAssetManager;
const ccFactory: CcFactory;
const destoryAction: () => void;
const audioService = new CcAudioService(assetManager, ccFactory, 使用场景, destoryAction);;

// 获取音量
const volume = audioService.volumn;

// 设置音量(0.0-1.0)
audioService.volumn = 0.5;

// 销毁当前音频
audioService.destory();

// 暂停
audioService.pause();

// 循环播放
await audioService.play(路径或者AudioClip);

// 循环一次
await audioService.playOnce(路径或者AudioClip);

// 继续
audioService.resume();

// 停止
audioService.stop();

CcAudioFactory - 音频工厂

const assetManager: CcAssetManager;
const ccFactory: CcFactory;
const audioPlayerFactory = new AudioPlayerFactory(assetManager, ccFactory);

// 主场景音频播放器
const mainAudioPlayer = audioPlayerFactory.build('main');
// 战斗音频播放器
const battleAudioPlayer = audioPlayerFactory.build('battle');

CcCopyServiceBase - 复制服务

const service: CcCopyServiceBase;

await service.copy('内容');

CcFactory - cc工厂

const factory = new CcFactory();

// 创建构造函数
const nodeCtor = factory.buildCtor<Node>('Node');

// 创建函数
const instantiate = factory.buildFunc<Node>('instantiate');

// 创建对象
const layers = factory.buildObj<{
    Enum: {
        UI_2D: number;
    };
}>('Layers');

// 是否有效
const node: Node;
const res = factory.isValid(node);

CcErrorSubject - 错误主题

const errSubject: CcErrorSubject = new CcErrorSubject();

const err: Error;
await errSubject.notify(err);

CcLang - 多语言组件

const node: cc.Node;
node.getComponent(CcLang).keys = ['多语言键1', ..., '多语言键n'];

CcLangAccessorBase - 多语言读取器

const langAccessor: CcLangAccessorBase;

// 获取当前语言缩写
const res = langAccessor.langAbbr;

// 当参数为多个时 多语言键1的文本包含{0}...{n}
const res = await langAccessor.get('多语言键1', ..., '多语言键n');

// 多语言数据内是否包含该键
const res = await langAccessor.has('多语言键');

CcNumberFormatter - 数字格式化器

  1. 该脚本需挂载在节点上且节点上需包含Label
// 小数位数(默认: 2)
CcNumberFormatter.fractionDigits = 2;
CcNumberFormatter.unit = {
    M: 1_000_000,
    K: 1_000,
};

const node: cc.Node;

node.getComponent(CcNumberFormatter).setValue(1.23456);
// Label.string = '1.23';

node.getComponent(CcNumberFormatter).setValue(123_456_789);
// Label.string = '123.46M';

node.getComponent(CcNumberFormatter).setValue({
    lang: {
        numIndex: 数字在keys中的下标,
        keys: ['多语言键1', ..., '多语言键n'],
    }
} as CcNumberFormatterOption);
//例如:
// lang.numIndex = 1
// lang.keys = ['获得{0}金币', 123_456_789]
// CcLang.keys = ['获得{0}金币', '123.46M'];
// Label.string = '获得123.46M金币';

CcUnixFormatter - 时间戳格式化器

  1. 该脚本需挂载在节点上且节点上需包含Label
// 时间戳默认格式化结构
CcUnixFormatter.format = 'HH:mm:ss';
// 是否utc 默认: true
CcUnixFormatter.isUTC = true;

this.unixFormatter.setValue(时间戳 or {
    format: '自定义格式化',
    unix: 时间戳,
});

node.getComponent(CcUnixFormatter).setValue({
    lang: {
        unixIndex: 数字在keys中的下标,
        keys: ['多语言键1', ..., '多语言键n'],
    }
} as CcUnixFormatterOption);
//例如:
// lang.unixIndex = 1
// lang.keys = ['剩余: {0}', 3665]
// CcLang.keys = ['剩余: {0}', '01:01:05'];
// Label.string = '剩余: 01:01:05';

ICcErrorObserver - 错误观察者

const observer: ICcErrorObserver;

const err: Error;
await observer.updateWithError(err);
11.5.0

10 months ago

11.4.0

11 months ago

11.3.0

12 months ago

11.2.0

1 year ago

11.1.0

1 year ago

11.0.0

1 year ago