Bu rehberde, en yeni güncellemeleri kullanmak için Unity oyununuzu nasıl taşıyacağınız açıklanmaktadır. SDK'yı girin. 1.0.0-beta SDK, önceki 0.0.4 önizlemesi. En kısa sürede önceki önizlemelerden geçiş yapmanız gerekir yardımcı olabilirsiniz. 0.0.4 SDK'sı Mart 2023'e kadar çalışmaya devam edecektir.
Referansları güncelle
Sınıflar, Unity ile adlandırma çakışmalarını önlemek için Play
önekini aldı.
Şuna benzer bir hata mesajı gördüğünüzde:
hata CS0246: 'InputMatchProvider' tür veya ad alanı adı yapılamadı bulundu (kullanma yönergesi veya bir derleme referansı eksik mi?)
sınıf adına Play
ön ekini eklemeniz gerekir. Örneğin,
InputMappingProvider
, PlayInputMappingProvider
olur.
Her Giriş İşlemini güncelle
InputAction
, artık bunun yerine PlayInputAction.Create
çağrısıyla oluşturuluyor
adlandırılmış alanları içeren yeni bir struct
oluşturmak için kullanılır.
new InputAction
kodunu çağıran kodu bulun:
var driveAction = new InputAction
{
ActionLabel = "Drive",
UniqueId = (int)InputEventIds.DRIVE,
InputControls = new InputControls
{
AndroidKeycodes = new[] { AndroidKeyCode.KEYCODE_SPACE }
}
};
Ve bunun yerine bir PlayInputAction.Create
çağrısıyla değiştirin:
var driveAction = PlayInputAction.Create(
"Drive",
(int)InputEventIds.DRIVE,
PlayInputControls.Create(
new[] { AndroidKeyCode.KEYCODE_SPACE },
null
)
);
Her bir Giriş Grubu'nu güncelle
InputAction
gibi, InputGroup
de artık PlayInputGroup.Create
çağrısına sahip
.struct
Bu, new InputGroup
numaralı telefona yapılan tüm aramaları bulmanız gerektiği anlamına gelir:
var gameInputGroup = new InputGroup
{
GroupLabel = "Game controls",
InputActions = new List<InputAction>
{
driveAction,
turboAction,
openGarageAction,
openStoreAction
}
};
Ve bunu, bir PlayInputGroup.Create
çağrısıyla değiştirin:
var gameInputGroup = PlayInputGroup.Create(
"Game controls",
new List<PlayInputAction>
{
driveAction,
turboAction,
openGarageAction,
openStoreAction
}
);
Giriş Haritası'nı güncelleme
InputMap
, yeni bir kod oluşturmak yerine PlayInputMap.Create
parametresini de kullanıyor
struct.
new InputMap
numaralı telefona yapılan aramaları bulun:
return new InputMap
{
InputGroups = new List<InputGroup>
{
gameInputGroup,
menuInputGroup
},
MouseSettings = new MouseSettings
{
AllowMouseSensitivityAdjustment = false,
InvertMouseMovement = false
}
};
Ve bunun yerine bir PlayInputMap.Create
çağrısıyla değiştirin:
return PlayInputMap.Create(
new List<PlayInputGroup>
{
gameInputGroup,
menuInputGroup
},
PlayMouseSettings.Create(false, false)
);
PlayInputMatchClient yöntemlerini yeniden adlandırma
PlayInputMappingClient
için RegisterInputMappingProvider
, şu şekilde yeniden adlandırıldı:
SetInputMappingProvider
.
Bu nedenle, RegisterInputMappingProvider
numaralı telefona yapılan aramaları bulun:
Input.GetInputMappingClient().RegisterInputMappingProvider(_inputMappingProvider);
Ve bunları bir SetInputMappingProvider
çağrısıyla değiştirin:
PlayInputMappingClient inputMappingClient =
Google.Play.InputMapping.PlayInput.GetInputMappingClient();
inputMappingClient.SetInputMappingProvider(_inputMapProvider);
UnregisterInputMappingProvider
, ayrıca şu şekilde yeniden adlandırıldı:
ClearInputMappingProvider
ve artık daha önce kayıtlı olan
InputMappingProvider
parametresi kullanılır.
UnregisterInputMappingProvider
numaralı telefona yapılan aramaları bulun:
Input.GetInputMappingClient().UnregisterInputMappingProvider(_inputMapProvider);
Ve bunları ClearInputMappingProvider
ile değiştirin:
PlayInput.GetInputMappingClient().ClearInputMappingProvider();