mirror of
				https://github.com/unanmed/HumanBreak.git
				synced 2025-10-31 04:02:59 +08:00 
			
		
		
		
	chore:修正存档界面按键监听写法
This commit is contained in:
		
							parent
							
								
									156869b5f4
								
							
						
					
					
						commit
						3cab218a36
					
				| @ -434,7 +434,45 @@ gameKey | |||||||
|         id: '@fly_right_t_2', |         id: '@fly_right_t_2', | ||||||
|         name: '后10张地图_2', |         name: '后10张地图_2', | ||||||
|         defaults: KeyCode.PageUp |         defaults: KeyCode.PageUp | ||||||
|  |     }) | ||||||
|  |     // #region 存档界面
 | ||||||
|  |     .group('@ui_save', 'save') | ||||||
|  |     .register({ | ||||||
|  |         id: '@ui_save_exit', | ||||||
|  |         name: '退出存档界面', | ||||||
|  |         defaults: KeyCode.KeyS | ||||||
|  |     }) | ||||||
|  |     .register({ | ||||||
|  |         id: '@ui_save_pageUp', | ||||||
|  |         name: '存档向后翻页', | ||||||
|  |         defaults: KeyCode.PageUp | ||||||
|  |     }) | ||||||
|  |     .register({ | ||||||
|  |         id: '@ui_save_pageDown', | ||||||
|  |         name: '存档向前翻页', | ||||||
|  |         defaults: KeyCode.PageDown | ||||||
|  |     }) | ||||||
|  |     .register({ | ||||||
|  |         id: '@ui_save_up', | ||||||
|  |         name: '存档选择框向上', | ||||||
|  |         defaults: KeyCode.UpArrow | ||||||
|  |     }) | ||||||
|  |     .register({ | ||||||
|  |         id: '@ui_save_down', | ||||||
|  |         name: '存档选择框向下', | ||||||
|  |         defaults: KeyCode.DownArrow | ||||||
|  |     }) | ||||||
|  |     .register({ | ||||||
|  |         id: '@ui_save_left', | ||||||
|  |         name: '存档选择框向左', | ||||||
|  |         defaults: KeyCode.LeftArrow | ||||||
|  |     }) | ||||||
|  |     .register({ | ||||||
|  |         id: '@ui_save_right', | ||||||
|  |         name: '存档选择框向右', | ||||||
|  |         defaults: KeyCode.RightArrow | ||||||
|     }); |     }); | ||||||
|  | // #endregion
 | ||||||
| 
 | 
 | ||||||
| gameKey.enable(); | gameKey.enable(); | ||||||
| gameKey.use(mainScope); | gameKey.use(mainScope); | ||||||
|  | |||||||
| @ -11,8 +11,6 @@ import { defineComponent, ref, computed } from 'vue'; | |||||||
| import { Background, Page, PageExpose } from '../components'; | import { Background, Page, PageExpose } from '../components'; | ||||||
| import { useKey } from '../use'; | import { useKey } from '../use'; | ||||||
| import { MAP_WIDTH, MAP_HEIGHT } from '../shared'; | import { MAP_WIDTH, MAP_HEIGHT } from '../shared'; | ||||||
| import { gameKey } from '@motajs/system-action'; |  | ||||||
| import { KeyCode } from '@motajs/client-base'; |  | ||||||
| 
 | 
 | ||||||
| export interface SaveProps extends UIComponentProps, DefaultProps { | export interface SaveProps extends UIComponentProps, DefaultProps { | ||||||
|     loc: ElementLocator; |     loc: ElementLocator; | ||||||
| @ -43,50 +41,16 @@ const saveBtnProps = { | |||||||
|     props: ['loc', 'index', 'isSelected', 'isDelete'] |     props: ['loc', 'index', 'isSelected', 'isDelete'] | ||||||
| } satisfies SetupComponentOptions<SaveBtnProps>; | } satisfies SetupComponentOptions<SaveBtnProps>; | ||||||
| 
 | 
 | ||||||
| gameKey |  | ||||||
|     .group('@ui_save', 'save') |  | ||||||
|     .register({ |  | ||||||
|         id: '@ui_save_exit', |  | ||||||
|         name: '退出存档界面', |  | ||||||
|         defaults: KeyCode.KeyS |  | ||||||
|     }) |  | ||||||
|     .register({ |  | ||||||
|         id: '@ui_save_pageUp', |  | ||||||
|         name: '存档向后翻页', |  | ||||||
|         defaults: KeyCode.PageUp |  | ||||||
|     }) |  | ||||||
|     .register({ |  | ||||||
|         id: '@ui_save_pageDown', |  | ||||||
|         name: '存档向前翻页', |  | ||||||
|         defaults: KeyCode.PageDown |  | ||||||
|     }) |  | ||||||
|     .register({ |  | ||||||
|         id: '@ui_save_up', |  | ||||||
|         name: '存档选择框向上', |  | ||||||
|         defaults: KeyCode.UpArrow |  | ||||||
|     }) |  | ||||||
|     .register({ |  | ||||||
|         id: '@ui_save_down', |  | ||||||
|         name: '存档选择框向下', |  | ||||||
|         defaults: KeyCode.DownArrow |  | ||||||
|     }) |  | ||||||
|     .register({ |  | ||||||
|         id: '@ui_save_left', |  | ||||||
|         name: '存档选择框向左', |  | ||||||
|         defaults: KeyCode.LeftArrow |  | ||||||
|     }) |  | ||||||
|     .register({ |  | ||||||
|         id: '@ui_save_right', |  | ||||||
|         name: '存档选择框向右', |  | ||||||
|         defaults: KeyCode.RightArrow |  | ||||||
|     }); |  | ||||||
| 
 |  | ||||||
| export const SaveBtn = defineComponent<SaveBtnProps>(props => { | export const SaveBtn = defineComponent<SaveBtnProps>(props => { | ||||||
|     const w = props.loc[2] ?? 200; |     const w = props.loc[2] ?? 200; | ||||||
|     const font = new Font('normal', 18); |     const font = new Font('normal', 18); | ||||||
|     const text = computed(() => |     const text = computed(() => | ||||||
|         props.index === -1 ? '自动存档' : `存档${props.index + 1}` |         props.index === -1 ? '自动存档' : `存档${props.index + 1}` | ||||||
|     ); |     ); | ||||||
|  |     const strokeStyle = computed(() => { | ||||||
|  |         if (props.isSelected) return props.isDelete ? 'red' : 'gold'; | ||||||
|  |         else return 'white'; | ||||||
|  |     }); | ||||||
|     const lineWidth = computed(() => (props.isSelected ? 2 : 1)); |     const lineWidth = computed(() => (props.isSelected ? 2 : 1)); | ||||||
|     return () => ( |     return () => ( | ||||||
|         <container loc={props.loc}> |         <container loc={props.loc}> | ||||||
| @ -100,13 +64,7 @@ export const SaveBtn = defineComponent<SaveBtnProps>(props => { | |||||||
|                 fill |                 fill | ||||||
|                 stroke |                 stroke | ||||||
|                 fillStyle="gray" |                 fillStyle="gray" | ||||||
|                 strokeStyle={ |                 strokeStyle={strokeStyle.value} | ||||||
|                     props.isSelected |  | ||||||
|                         ? props.isDelete |  | ||||||
|                             ? 'red' |  | ||||||
|                             : 'gold' |  | ||||||
|                         : 'white' |  | ||||||
|                 } |  | ||||||
|                 lineWidth={lineWidth.value} |                 lineWidth={lineWidth.value} | ||||||
|             /> |             /> | ||||||
|             <text |             <text | ||||||
| @ -127,7 +85,8 @@ export const Save = defineComponent<SaveProps, SaveEmits, keyof SaveEmits>( | |||||||
|         // onEmit 事件在点击存档或按键确认时触发
 |         // onEmit 事件在点击存档或按键确认时触发
 | ||||||
|         // 存读档执行函数在 ../../utils/saves.ts
 |         // 存读档执行函数在 ../../utils/saves.ts
 | ||||||
| 
 | 
 | ||||||
|         const [row, column] = [2, 3]; |         const row = 2; | ||||||
|  |         const column = 3; | ||||||
|         /** 除自动存档外,每一页容纳的存档数量 */ |         /** 除自动存档外,每一页容纳的存档数量 */ | ||||||
|         const pageCap = row * column - 1; |         const pageCap = row * column - 1; | ||||||
|         const font = new Font('normal', 18); |         const font = new Font('normal', 18); | ||||||
| @ -140,7 +99,7 @@ export const Save = defineComponent<SaveProps, SaveEmits, keyof SaveEmits>( | |||||||
|         const emitSave = (index: number) => { |         const emitSave = (index: number) => { | ||||||
|             if (isDelete.value) emit('delete', index); |             if (isDelete.value) emit('delete', index); | ||||||
|             else emit('emit', index); |             else emit('emit', index); | ||||||
|             pickIndex.value = (index % 5) + 1; |             pickIndex.value = (index % pageCap) + 1; | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|         const wheel = (ev: IWheelEvent) => { |         const wheel = (ev: IWheelEvent) => { | ||||||
| @ -170,24 +129,65 @@ export const Save = defineComponent<SaveProps, SaveEmits, keyof SaveEmits>( | |||||||
|         }) |         }) | ||||||
|             .realize('exit', exit) |             .realize('exit', exit) | ||||||
|             .realize('@ui_save_exit', exit) |             .realize('@ui_save_exit', exit) | ||||||
|             .realize('@ui_save_pageUp', () => { |             .realize( | ||||||
|                 pageRef.value?.movePage(1); |                 '@ui_save_pageUp', | ||||||
|             }) |                 () => { | ||||||
|             .realize('@ui_save_pageDown', () => { |                     pageRef.value?.movePage(1); | ||||||
|                 pageRef.value?.movePage(-1); |                 }, | ||||||
|             }) |                 { type: 'down-repeat' } | ||||||
|             .realize('@ui_save_up', () => { |             ) | ||||||
|                 if (pickIndex.value >= row) pickIndex.value -= column; |             .realize( | ||||||
|             }) |                 '@ui_save_pageDown', | ||||||
|             .realize('@ui_save_down', () => { |                 () => { | ||||||
|                 if (pickIndex.value <= pageCap - row) pickIndex.value += column; |                     pageRef.value?.movePage(-1); | ||||||
|             }) |                 }, | ||||||
|             .realize('@ui_save_left', () => { |                 { type: 'down-repeat' } | ||||||
|                 if (pickIndex.value > 0) pickIndex.value--; |             ) | ||||||
|             }) |             .realize( | ||||||
|             .realize('@ui_save_right', () => { |                 '@ui_save_up', | ||||||
|                 if (pickIndex.value < pageCap) pickIndex.value++; |                 () => { | ||||||
|             }); |                     if (pickIndex.value >= row) pickIndex.value -= column; | ||||||
|  |                     else { | ||||||
|  |                         pickIndex.value += pageCap + 1 - column; | ||||||
|  |                         pageRef.value?.movePage(-1); | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 { type: 'down-repeat' } | ||||||
|  |             ) | ||||||
|  |             .realize( | ||||||
|  |                 '@ui_save_down', | ||||||
|  |                 () => { | ||||||
|  |                     if (pickIndex.value <= pageCap - row) | ||||||
|  |                         pickIndex.value += column; | ||||||
|  |                     else { | ||||||
|  |                         pickIndex.value += column - pageCap - 1; | ||||||
|  |                         pageRef.value?.movePage(1); | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 { type: 'down-repeat' } | ||||||
|  |             ) | ||||||
|  |             .realize( | ||||||
|  |                 '@ui_save_left', | ||||||
|  |                 () => { | ||||||
|  |                     if (pickIndex.value > 0) pickIndex.value--; | ||||||
|  |                     else { | ||||||
|  |                         pickIndex.value = pageCap; | ||||||
|  |                         pageRef.value?.movePage(-1); | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 { type: 'down-repeat' } | ||||||
|  |             ) | ||||||
|  |             .realize( | ||||||
|  |                 '@ui_save_right', | ||||||
|  |                 () => { | ||||||
|  |                     if (pickIndex.value < pageCap) pickIndex.value++; | ||||||
|  |                     else { | ||||||
|  |                         pickIndex.value = 0; | ||||||
|  |                         pageRef.value?.movePage(1); | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 { type: 'down-repeat' } | ||||||
|  |             ); | ||||||
|         // 其他按键自定义,需要新开一个 save 的 group
 |         // 其他按键自定义,需要新开一个 save 的 group
 | ||||||
| 
 | 
 | ||||||
|         return () => ( |         return () => ( | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 ShakeFlower
						ShakeFlower