跳到主要内容

moveCamera 移动摄像机

moveCamera

类型: MethodDeclaration

所属类: CommandFunctionList

定义位置: command.ts

描述

移动摄像机

参数

参数名类型描述默认值
\{ mode, position, actor, easingId, duration, wait, \}{
	mode: "position" \| "actor";
position?: [`PositionGetter`](https://github.com/Open-Yami-Community/open-yami-doc/blob/main/i18n/zh/docusaurus-plugin-content-docs/current/script/yami/yami.command.d.ts#L289);
actor?: [`ActorGetter`](https://github.com/Open-Yami-Community/open-yami-doc/blob/main/i18n/zh/docusaurus-plugin-content-docs/current/script/yami/yami.command.d.ts#L152);
easingId: string;
duration: number;
wait: boolean;
} | - | - |

返回值

类型: CommandFunction

源代码

位置: 第 8305 行

protected moveCamera({
mode,
position,
actor,
easingId,
duration,
wait,
}: {
mode: "position" | "actor";
position?: PositionGetter;
actor?: ActorGetter;
easingId: string;
duration: number;
wait: boolean;
}): CommandFunction {
switch (mode) {
case "position": {
const getPoint = Command.compilePosition(position!);
return () => {
if (Scene.binding !== null) {
const point = getPoint(Camera);
if (point) {
Camera.moveTo(point.x, point.y, easingId, duration);
if (wait && duration > 0) {
return CurrentEvent.wait(duration);
}
}
}
return true;
};
}
case "actor": {
const getActor = Command.compileActor(actor!);
return () => {
if (Scene.binding !== null) {
const actor = getActor();
if (actor && !actor.destroyed) {
Camera.follow(actor, easingId, duration);
if (wait && duration > 0) {
return CurrentEvent.wait(duration);
}
}
}
return true;
};
}
}
}

文档生成时间:2026/2/1 16:51:39