ホーム › UI.Input.GameInput › GameInputUiNavigationInfo
GameInputUiNavigationInfo
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| menuButtonLabel | GameInputLabel | 4 | +0 | +0 | メニューボタンの物理ラベルである。 |
| viewButtonLabel | GameInputLabel | 4 | +4 | +4 | ビューボタンの物理ラベルである。 |
| acceptButtonLabel | GameInputLabel | 4 | +8 | +8 | 決定ボタンの物理ラベルである。 |
| cancelButtonLabel | GameInputLabel | 4 | +12 | +12 | キャンセルボタンの物理ラベルである。 |
| upButtonLabel | GameInputLabel | 4 | +16 | +16 | 上方向ボタンの物理ラベルである。 |
| downButtonLabel | GameInputLabel | 4 | +20 | +20 | 下方向ボタンの物理ラベルである。 |
| leftButtonLabel | GameInputLabel | 4 | +24 | +24 | 左方向ボタンの物理ラベルである。 |
| rightButtonLabel | GameInputLabel | 4 | +28 | +28 | 右方向ボタンの物理ラベルである。 |
| contextButton1Label | GameInputLabel | 4 | +32 | +32 | コンテキストボタン1の物理ラベルである。 |
| contextButton2Label | GameInputLabel | 4 | +36 | +36 | コンテキストボタン2の物理ラベルである。 |
| contextButton3Label | GameInputLabel | 4 | +40 | +40 | コンテキストボタン3の物理ラベルである。 |
| contextButton4Label | GameInputLabel | 4 | +44 | +44 | コンテキストボタン4の物理ラベルである。 |
| pageUpButtonLabel | GameInputLabel | 4 | +48 | +48 | ページアップボタンの物理ラベルである。 |
| pageDownButtonLabel | GameInputLabel | 4 | +52 | +52 | ページダウンボタンの物理ラベルである。 |
| pageLeftButtonLabel | GameInputLabel | 4 | +56 | +56 | ページ左ボタンの物理ラベルである。 |
| pageRightButtonLabel | GameInputLabel | 4 | +60 | +60 | ページ右ボタンの物理ラベルである。 |
| scrollUpButtonLabel | GameInputLabel | 4 | +64 | +64 | 上スクロールボタンの物理ラベルである。 |
| scrollDownButtonLabel | GameInputLabel | 4 | +68 | +68 | 下スクロールボタンの物理ラベルである。 |
| scrollLeftButtonLabel | GameInputLabel | 4 | +72 | +72 | 左スクロールボタンの物理ラベルである。 |
| scrollRightButtonLabel | GameInputLabel | 4 | +76 | +76 | 右スクロールボタンの物理ラベルである。 |
| guideButtonLabel | GameInputLabel | 4 | +80 | +80 | ガイド(ホーム)ボタンの物理ラベルである。 |
各言語での定義
#include <windows.h>
// GameInputUiNavigationInfo (x64 84 / x86 84 バイト)
typedef struct GameInputUiNavigationInfo {
GameInputLabel menuButtonLabel;
GameInputLabel viewButtonLabel;
GameInputLabel acceptButtonLabel;
GameInputLabel cancelButtonLabel;
GameInputLabel upButtonLabel;
GameInputLabel downButtonLabel;
GameInputLabel leftButtonLabel;
GameInputLabel rightButtonLabel;
GameInputLabel contextButton1Label;
GameInputLabel contextButton2Label;
GameInputLabel contextButton3Label;
GameInputLabel contextButton4Label;
GameInputLabel pageUpButtonLabel;
GameInputLabel pageDownButtonLabel;
GameInputLabel pageLeftButtonLabel;
GameInputLabel pageRightButtonLabel;
GameInputLabel scrollUpButtonLabel;
GameInputLabel scrollDownButtonLabel;
GameInputLabel scrollLeftButtonLabel;
GameInputLabel scrollRightButtonLabel;
GameInputLabel guideButtonLabel;
} GameInputUiNavigationInfo;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct GameInputUiNavigationInfo
{
public int menuButtonLabel;
public int viewButtonLabel;
public int acceptButtonLabel;
public int cancelButtonLabel;
public int upButtonLabel;
public int downButtonLabel;
public int leftButtonLabel;
public int rightButtonLabel;
public int contextButton1Label;
public int contextButton2Label;
public int contextButton3Label;
public int contextButton4Label;
public int pageUpButtonLabel;
public int pageDownButtonLabel;
public int pageLeftButtonLabel;
public int pageRightButtonLabel;
public int scrollUpButtonLabel;
public int scrollDownButtonLabel;
public int scrollLeftButtonLabel;
public int scrollRightButtonLabel;
public int guideButtonLabel;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure GameInputUiNavigationInfo
Public menuButtonLabel As Integer
Public viewButtonLabel As Integer
Public acceptButtonLabel As Integer
Public cancelButtonLabel As Integer
Public upButtonLabel As Integer
Public downButtonLabel As Integer
Public leftButtonLabel As Integer
Public rightButtonLabel As Integer
Public contextButton1Label As Integer
Public contextButton2Label As Integer
Public contextButton3Label As Integer
Public contextButton4Label As Integer
Public pageUpButtonLabel As Integer
Public pageDownButtonLabel As Integer
Public pageLeftButtonLabel As Integer
Public pageRightButtonLabel As Integer
Public scrollUpButtonLabel As Integer
Public scrollDownButtonLabel As Integer
Public scrollLeftButtonLabel As Integer
Public scrollRightButtonLabel As Integer
Public guideButtonLabel As Integer
End Structureimport ctypes
from ctypes import wintypes
class GameInputUiNavigationInfo(ctypes.Structure):
_fields_ = [
("menuButtonLabel", ctypes.c_int),
("viewButtonLabel", ctypes.c_int),
("acceptButtonLabel", ctypes.c_int),
("cancelButtonLabel", ctypes.c_int),
("upButtonLabel", ctypes.c_int),
("downButtonLabel", ctypes.c_int),
("leftButtonLabel", ctypes.c_int),
("rightButtonLabel", ctypes.c_int),
("contextButton1Label", ctypes.c_int),
("contextButton2Label", ctypes.c_int),
("contextButton3Label", ctypes.c_int),
("contextButton4Label", ctypes.c_int),
("pageUpButtonLabel", ctypes.c_int),
("pageDownButtonLabel", ctypes.c_int),
("pageLeftButtonLabel", ctypes.c_int),
("pageRightButtonLabel", ctypes.c_int),
("scrollUpButtonLabel", ctypes.c_int),
("scrollDownButtonLabel", ctypes.c_int),
("scrollLeftButtonLabel", ctypes.c_int),
("scrollRightButtonLabel", ctypes.c_int),
("guideButtonLabel", ctypes.c_int),
]#[repr(C)]
pub struct GameInputUiNavigationInfo {
pub menuButtonLabel: i32,
pub viewButtonLabel: i32,
pub acceptButtonLabel: i32,
pub cancelButtonLabel: i32,
pub upButtonLabel: i32,
pub downButtonLabel: i32,
pub leftButtonLabel: i32,
pub rightButtonLabel: i32,
pub contextButton1Label: i32,
pub contextButton2Label: i32,
pub contextButton3Label: i32,
pub contextButton4Label: i32,
pub pageUpButtonLabel: i32,
pub pageDownButtonLabel: i32,
pub pageLeftButtonLabel: i32,
pub pageRightButtonLabel: i32,
pub scrollUpButtonLabel: i32,
pub scrollDownButtonLabel: i32,
pub scrollLeftButtonLabel: i32,
pub scrollRightButtonLabel: i32,
pub guideButtonLabel: i32,
}import "golang.org/x/sys/windows"
type GameInputUiNavigationInfo struct {
menuButtonLabel int32
viewButtonLabel int32
acceptButtonLabel int32
cancelButtonLabel int32
upButtonLabel int32
downButtonLabel int32
leftButtonLabel int32
rightButtonLabel int32
contextButton1Label int32
contextButton2Label int32
contextButton3Label int32
contextButton4Label int32
pageUpButtonLabel int32
pageDownButtonLabel int32
pageLeftButtonLabel int32
pageRightButtonLabel int32
scrollUpButtonLabel int32
scrollDownButtonLabel int32
scrollLeftButtonLabel int32
scrollRightButtonLabel int32
guideButtonLabel int32
}type
GameInputUiNavigationInfo = record
menuButtonLabel: Integer;
viewButtonLabel: Integer;
acceptButtonLabel: Integer;
cancelButtonLabel: Integer;
upButtonLabel: Integer;
downButtonLabel: Integer;
leftButtonLabel: Integer;
rightButtonLabel: Integer;
contextButton1Label: Integer;
contextButton2Label: Integer;
contextButton3Label: Integer;
contextButton4Label: Integer;
pageUpButtonLabel: Integer;
pageDownButtonLabel: Integer;
pageLeftButtonLabel: Integer;
pageRightButtonLabel: Integer;
scrollUpButtonLabel: Integer;
scrollDownButtonLabel: Integer;
scrollLeftButtonLabel: Integer;
scrollRightButtonLabel: Integer;
guideButtonLabel: Integer;
end;const GameInputUiNavigationInfo = extern struct {
menuButtonLabel: i32,
viewButtonLabel: i32,
acceptButtonLabel: i32,
cancelButtonLabel: i32,
upButtonLabel: i32,
downButtonLabel: i32,
leftButtonLabel: i32,
rightButtonLabel: i32,
contextButton1Label: i32,
contextButton2Label: i32,
contextButton3Label: i32,
contextButton4Label: i32,
pageUpButtonLabel: i32,
pageDownButtonLabel: i32,
pageLeftButtonLabel: i32,
pageRightButtonLabel: i32,
scrollUpButtonLabel: i32,
scrollDownButtonLabel: i32,
scrollLeftButtonLabel: i32,
scrollRightButtonLabel: i32,
guideButtonLabel: i32,
};type
GameInputUiNavigationInfo {.bycopy.} = object
menuButtonLabel: int32
viewButtonLabel: int32
acceptButtonLabel: int32
cancelButtonLabel: int32
upButtonLabel: int32
downButtonLabel: int32
leftButtonLabel: int32
rightButtonLabel: int32
contextButton1Label: int32
contextButton2Label: int32
contextButton3Label: int32
contextButton4Label: int32
pageUpButtonLabel: int32
pageDownButtonLabel: int32
pageLeftButtonLabel: int32
pageRightButtonLabel: int32
scrollUpButtonLabel: int32
scrollDownButtonLabel: int32
scrollLeftButtonLabel: int32
scrollRightButtonLabel: int32
guideButtonLabel: int32struct GameInputUiNavigationInfo
{
int menuButtonLabel;
int viewButtonLabel;
int acceptButtonLabel;
int cancelButtonLabel;
int upButtonLabel;
int downButtonLabel;
int leftButtonLabel;
int rightButtonLabel;
int contextButton1Label;
int contextButton2Label;
int contextButton3Label;
int contextButton4Label;
int pageUpButtonLabel;
int pageDownButtonLabel;
int pageLeftButtonLabel;
int pageRightButtonLabel;
int scrollUpButtonLabel;
int scrollDownButtonLabel;
int scrollLeftButtonLabel;
int scrollRightButtonLabel;
int guideButtonLabel;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; GameInputUiNavigationInfo サイズ: 84 バイト(x64)
dim st, 21 ; 4byte整数×21(構造体サイズ 84 / 4 切り上げ)
; menuButtonLabel : GameInputLabel (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; viewButtonLabel : GameInputLabel (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; acceptButtonLabel : GameInputLabel (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; cancelButtonLabel : GameInputLabel (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; upButtonLabel : GameInputLabel (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; downButtonLabel : GameInputLabel (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; leftButtonLabel : GameInputLabel (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; rightButtonLabel : GameInputLabel (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; contextButton1Label : GameInputLabel (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; contextButton2Label : GameInputLabel (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; contextButton3Label : GameInputLabel (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; contextButton4Label : GameInputLabel (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; pageUpButtonLabel : GameInputLabel (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; pageDownButtonLabel : GameInputLabel (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; pageLeftButtonLabel : GameInputLabel (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; pageRightButtonLabel : GameInputLabel (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; scrollUpButtonLabel : GameInputLabel (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; scrollDownButtonLabel : GameInputLabel (+68, 4byte) st.17 = 値 / 値 = st.17 (lpoke/lpeek も可)
; scrollLeftButtonLabel : GameInputLabel (+72, 4byte) st.18 = 値 / 値 = st.18 (lpoke/lpeek も可)
; scrollRightButtonLabel : GameInputLabel (+76, 4byte) st.19 = 値 / 値 = st.19 (lpoke/lpeek も可)
; guideButtonLabel : GameInputLabel (+80, 4byte) st.20 = 値 / 値 = st.20 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global GameInputUiNavigationInfo
#field int menuButtonLabel
#field int viewButtonLabel
#field int acceptButtonLabel
#field int cancelButtonLabel
#field int upButtonLabel
#field int downButtonLabel
#field int leftButtonLabel
#field int rightButtonLabel
#field int contextButton1Label
#field int contextButton2Label
#field int contextButton3Label
#field int contextButton4Label
#field int pageUpButtonLabel
#field int pageDownButtonLabel
#field int pageLeftButtonLabel
#field int pageRightButtonLabel
#field int scrollUpButtonLabel
#field int scrollDownButtonLabel
#field int scrollLeftButtonLabel
#field int scrollRightButtonLabel
#field int guideButtonLabel
#endstruct
stdim st, GameInputUiNavigationInfo ; NSTRUCT 変数を確保
st->menuButtonLabel = 100
mes "menuButtonLabel=" + st->menuButtonLabel