206 lines
7.8 KiB
JavaScript
206 lines
7.8 KiB
JavaScript
/**
|
||
* ============================================================================
|
||
* GameView_Sprites.template.js - 精灵 ID 定义规范
|
||
* ============================================================================
|
||
*
|
||
* 使用方式:
|
||
* 将此文件复制到游戏项目中,按实际精灵 ID 填写。
|
||
* 建议按界面拆分为多个文件,例如:
|
||
* RoomView_Sprites.js (房间等待界面)
|
||
* GameView_Sprites.js (游戏主界面)
|
||
* PopupView_Sprites.js (弹窗/结算界面)
|
||
* 所有 ID 值必须与 gameabc 编辑器中实际配置的精灵/图层/群组 ID 完全一致,
|
||
* 不可自行编造数字。
|
||
*
|
||
* ============================================================================
|
||
* ID 分配规范
|
||
* ============================================================================
|
||
*
|
||
* 精灵 ID:子游戏使用 1001+(框架保留 1–1000)
|
||
* 图层 ID:普通图层 101–200,弹窗图层 301+(框架保留 1–100)
|
||
* 群组 ID:子游戏使用 201+(框架保留 1–200)
|
||
*
|
||
* ============================================================================
|
||
* 文件结构规范
|
||
* ============================================================================
|
||
*
|
||
* 顶层变量对应一个"界面",每个界面包含:
|
||
*
|
||
* VAR_NAME.VIEW_NAME = {
|
||
* LAYER: <图层ID>, // 必填,该界面挂载的图层
|
||
*
|
||
* SOME_GROUP: {
|
||
* GROUP_ID: <群组ID>, // 必填,该功能区的群组
|
||
* SPRITES: {
|
||
* SPRITE_KEY: <精灵ID>, // 每个精灵
|
||
* ...
|
||
* }
|
||
* },
|
||
*
|
||
* // 也可不用群组,直接列精灵
|
||
* SIMPLE_SPRITE: <精灵ID>
|
||
* };
|
||
*
|
||
* ============================================================================
|
||
* 每个精灵条目必须包含的注释字段
|
||
* ============================================================================
|
||
*
|
||
* 类型:图片精灵 / 文字精灵 / 容器精灵 / 热区精灵
|
||
* 用途:一句话说明该精灵在游戏中的作用
|
||
* 资源:引用的 ImageResources 键名(图片精灵必填)
|
||
* 帧说明:初始帧及切换时机(如有多帧)
|
||
*
|
||
* ============================================================================
|
||
* 精灵类型说明
|
||
* ============================================================================
|
||
*
|
||
* 图片精灵:显示图片/帧动画,用 SpriteManager.setFrame() 切换画面
|
||
* 文字精灵:显示动态文字,用 SpriteManager.setText() 修改内容
|
||
* 容器精灵:作为 SpriteCopyUtils 的父容器,本身不显示内容
|
||
* 热区精灵:仅用于点击检测,透明不显示
|
||
*
|
||
* ============================================================================
|
||
* 注意事项
|
||
* ============================================================================
|
||
*
|
||
* - 玩家信息 UI(头像/昵称/分数/准备标识/房主标识)由平台框架提供,
|
||
* 子游戏无需也不应在此重复定义
|
||
* - GlobalUI(加载界面、消息弹窗、确认对话框)由框架提供,
|
||
* 子游戏弹窗从 Layer 302+ 开始定义
|
||
*
|
||
* @see ImageResources.template.js 图片资源 ID 定义规范
|
||
* @see SoundResources.template.js 音效资源 ID 定义规范
|
||
*/
|
||
|
||
'use strict';
|
||
|
||
// ============================================================================
|
||
// 房间界面精灵定义 (Layer xxx)
|
||
// ============================================================================
|
||
|
||
// /**
|
||
// * RoomView_Sprites - 房间等待界面精灵定义
|
||
// * 图层:Layer <在编辑器查到的图层ID>
|
||
// * 用途:显示等待玩家加入、规则配置、准备/开始状态
|
||
// */
|
||
// var RoomView_Sprites = {};
|
||
//
|
||
// RoomView_Sprites.ROOM_VIEW = {
|
||
// LAYER: <图层ID>,
|
||
//
|
||
// // 规则配置群组
|
||
// // 用途:创建房间时的玩法选项(圈数、人数、特殊规则等)
|
||
// ROOM_CONFIG_GROUP: {
|
||
// GROUP_ID: <群组ID>,
|
||
// SPRITES: {
|
||
// // 图片精灵:第1行标题图片,资源=ImageResources.XXX,帧=1
|
||
// ROW1_TITLE: <精灵ID>,
|
||
//
|
||
// // 图片精灵:第1行选项1图标,资源=ImageResources.XXX,帧1=未选中 帧2=已选中
|
||
// ROW1_OPTION1: <精灵ID>,
|
||
//
|
||
// // 文字精灵:第1行选项1文字说明
|
||
// ROW1_OPTION1_TEXT: <精灵ID>,
|
||
//
|
||
// // ... 按实际选项行数继续定义
|
||
// }
|
||
// }
|
||
// };
|
||
|
||
// ============================================================================
|
||
// 游戏主界面精灵定义 (Layer xxx)
|
||
// ============================================================================
|
||
|
||
// /**
|
||
// * GameView_Sprites - 游戏主界面精灵定义
|
||
// */
|
||
// var GameView_Sprites = {};
|
||
//
|
||
// /**
|
||
// * 牌桌主体
|
||
// * 图层:Layer <在编辑器查到的图层ID>
|
||
// */
|
||
// GameView_Sprites.GAME_VIEW = {
|
||
// LAYER: <图层ID>,
|
||
//
|
||
// // 中央信息群组
|
||
// // 用途:牌桌中央区域,方向指示器、剩余牌数、倒计时等
|
||
// CENTER_INFO_GROUP: {
|
||
// GROUP_ID: <群组ID>,
|
||
// SPRITES: {
|
||
// // 图片精灵:方向面板背景,资源=ImageResources.XXX,4帧(帧1–4对应庄家方向)
|
||
// DIRECTION_PANEL_BG: <精灵ID>,
|
||
//
|
||
// // 图片精灵:倒计时数字,资源=ImageResources.XXX,10帧(帧1–10对应数字0–9)
|
||
// COUNTDOWN_NUMBER: <精灵ID>,
|
||
//
|
||
// // 图片精灵:剩余牌数数字,资源=ImageResources.XXX,10帧(帧1–10对应数字0–9)
|
||
// REMAIN_COUNT: <精灵ID>
|
||
// }
|
||
// },
|
||
//
|
||
// // 玩家1手牌群组(下方/自己)
|
||
// // 用途:显示自己手牌,支持点击选牌出牌
|
||
// PLAYER1_HAND_GROUP: {
|
||
// GROUP_ID: <群组ID>,
|
||
// SPRITES: {
|
||
// // 图片精灵×13:手牌1–13,资源=ImageResources.CARD_FACE,帧=当前牌值对应帧
|
||
// HAND_CARD_1: <精灵ID>,
|
||
// // ... HAND_CARD_2 至 HAND_CARD_13
|
||
// HAND_CARD_13: <精灵ID>,
|
||
//
|
||
// // 图片精灵:摸牌(最右端,与手牌略有间距)
|
||
// DRAW_CARD: <精灵ID>
|
||
// }
|
||
// },
|
||
//
|
||
// // 玩家2手牌群组(右方)
|
||
// // 用途:显示右方玩家牌背(侧面透视角度)
|
||
// PLAYER2_HAND_GROUP: {
|
||
// GROUP_ID: <群组ID>,
|
||
// SPRITES: {
|
||
// HAND_CARD_1: <精灵ID>,
|
||
// // ...
|
||
// DRAW_CARD: <精灵ID>
|
||
// }
|
||
// }
|
||
//
|
||
// // 玩家3(上方)、玩家4(左方)结构同上...
|
||
// };
|
||
//
|
||
// /**
|
||
// * 游戏操作按钮
|
||
// * 图层:Layer <在编辑器查到的图层ID>
|
||
// * 用途:玩家可操作时显示的吃/碰/杠/胡/过/听按钮
|
||
// */
|
||
// GameView_Sprites.GAME_ACTIONS_UI = {
|
||
// LAYER: <图层ID>,
|
||
//
|
||
// ACTION_BUTTONS_GROUP: {
|
||
// GROUP_ID: <群组ID>,
|
||
// SPRITES: {
|
||
// // 图片精灵:吃牌按钮,资源=ImageResources.BTN_CHI,1帧
|
||
// BTN_CHI: <精灵ID>,
|
||
// BTN_PONG: <精灵ID>,
|
||
// BTN_KONG: <精灵ID>,
|
||
// BTN_HU: <精灵ID>,
|
||
// BTN_PASS: <精灵ID>,
|
||
// BTN_TING: <精灵ID>,
|
||
//
|
||
// // 图片精灵:操作文字弹出动画,资源=ImageResources.OPERATION_EFFECT_XXX
|
||
// ACTION_EFFECT_CHI: <精灵ID>,
|
||
// ACTION_EFFECT_PONG: <精灵ID>,
|
||
// ACTION_EFFECT_KONG: <精灵ID>,
|
||
// ACTION_EFFECT_HU: <精灵ID>
|
||
// }
|
||
// }
|
||
// };
|
||
|
||
// ============================================================================
|
||
// 弹窗界面精灵定义 (Layer 301+)
|
||
// ============================================================================
|
||
|
||
// 子游戏自定义弹窗从 Layer 302+ 开始定义
|
||
// Layer 301 建议预留给最高优先级的全局弹窗(如断线重连提示)
|
||
|