Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DirectionPad部分游戏的适配问题 #3

Open
mingjun97 opened this issue Jul 25, 2023 · 0 comments
Open

DirectionPad部分游戏的适配问题 #3

mingjun97 opened this issue Jul 25, 2023 · 0 comments

Comments

@mingjun97
Copy link

大佬你好!看到你contribute了很多代码到3.0版本的playcover。前来膜拜一下。

目前3.0版本中的playtools的DirectionPad实现逻辑对部分游戏并不友好,不知道大佬有没有时间修复一下。(比如我最近在玩的逆水寒手游)

这类游戏的方向控制的joystick不是固定坐标的。而是以手指按下的第一个位置作为中心,然后根据手指后续的移动向量实现方向控制的。目前的directionpad感觉上是按下wasd的一瞬间,就将faketouch移动到相应的位置了。导致非预期位置被判定成了当次的joystick中心,而后无法在游戏内正常移动。

比如下面的例子中,我按下键盘上的“D”,可以看到D的位置直接被识别成了方向操作的中心了,就会导致方向控制无法正常生效。

image

image

image

附上一张正常状态下的表现:

CleanShot 2023-07-24 at 20 08 25

XuYicong pushed a commit that referenced this issue Sep 15, 2023
…s responsive fix on default (PlayCover#77)

* Fix for default screen

* Code cleanup

* setting @objc to scene control vars

* PR to make default size work correctly (#1)

* Reverting cleanup

* Testing removing new scaling methods for default

* Revert to new methods for testing

* Setting orientation to 1

* 4

* commenting suspect stuff

* 12

* sd

* removing FBS

* test

* returning back to normal

* Test

* a

* test

* x

* a

* a

* a

* as

* 1

* as

* así

* aa

* as

* Change names

* testing something

* testing 2

* more test

* 12

* return

* 123

* Testing defaults and auto fix

* Testing c

* is this ready?

* test

* 1

* returning adaptive

* Delete PlayScreenDefault.swift

* Update project.pbxproj

Removing All references to PlayScreenDefault.swift

* Adds fix for some apps with adaptive display enabled (#3)

* testing changing to default bounds

* Update project.pbxproj (#2)

Removing All references to PlayScreenDefault.swift

* test 2

* rest

* test

* as

* asd

* test

* 123

* Adding inverseScreenValues to settings

* Reduced code and added ternaries

* added else when inverseScreenValues is false (might rework

* Adds MacOSVersion to plist and a 'fix' for screen issue (PlayCover#4)

* testing changing to default bounds

* Update project.pbxproj (#2)

Removing All references to PlayScreenDefault.swift

* test 2

* rest

* test

* as

* asd

* test

* 123

* Adding inverseScreenValues to settings

* Reduced code and added ternaries

* added else when inverseScreenValues is false (might rework

* Test to fix pre MacOS 13.2

* Check this out

* Using float instead of string

* v2

* test

* lets see

* adding print

* NSLog(@"macOS version: %f", [[PlaySettings shared] macOSVersion]);

* [[PlaySettings shared] macOSVersion] rounded

* adding 00000 to every float

* testing

* return back to normal double

* Forgot about floating point error

* more than 13.1

* more

* 13.199

* setting to latest macOS version

* more floating error and macOS fixes

* reduced lines and fix some errors

* Update project.pbxproj

* Update project.pbxproj

* Update PlaySettings.swift

* Enables responsiveness for some apps for default screen settings if toggle enabled (PlayCover#5)

* test disabling FBSDisplayMode

* disabling FBS

* Adding experimental fix toggle to fix responsiveness

* adding an extra log

* extra

* moving the function to a better place

* back to another place

* added CheckResizabilityHasRun

* Testing some stuff

* name issue

* added some comments to test

* added fuction stop

* True to yes

* Changed yes to no

* adding observer for resize

* adding chess

* test

* back again

* Removing extra check for a future commit

* changed macos check to ios check

* Remove macOSVersion
XuYicong pushed a commit that referenced this issue May 24, 2024
…s responsive fix on default (PlayCover#77)

* Fix for default screen

* Code cleanup

* setting @objc to scene control vars

* PR to make default size work correctly (#1)

* Reverting cleanup

* Testing removing new scaling methods for default

* Revert to new methods for testing

* Setting orientation to 1

* 4

* commenting suspect stuff

* 12

* sd

* removing FBS

* test

* returning back to normal

* Test

* a

* test

* x

* a

* a

* a

* as

* 1

* as

* así

* aa

* as

* Change names

* testing something

* testing 2

* more test

* 12

* return

* 123

* Testing defaults and auto fix

* Testing c

* is this ready?

* test

* 1

* returning adaptive

* Delete PlayScreenDefault.swift

* Update project.pbxproj

Removing All references to PlayScreenDefault.swift

* Adds fix for some apps with adaptive display enabled (#3)

* testing changing to default bounds

* Update project.pbxproj (#2)

Removing All references to PlayScreenDefault.swift

* test 2

* rest

* test

* as

* asd

* test

* 123

* Adding inverseScreenValues to settings

* Reduced code and added ternaries

* added else when inverseScreenValues is false (might rework

* Adds MacOSVersion to plist and a 'fix' for screen issue (PlayCover#4)

* testing changing to default bounds

* Update project.pbxproj (#2)

Removing All references to PlayScreenDefault.swift

* test 2

* rest

* test

* as

* asd

* test

* 123

* Adding inverseScreenValues to settings

* Reduced code and added ternaries

* added else when inverseScreenValues is false (might rework

* Test to fix pre MacOS 13.2

* Check this out

* Using float instead of string

* v2

* test

* lets see

* adding print

* NSLog(@"macOS version: %f", [[PlaySettings shared] macOSVersion]);

* [[PlaySettings shared] macOSVersion] rounded

* adding 00000 to every float

* testing

* return back to normal double

* Forgot about floating point error

* more than 13.1

* more

* 13.199

* setting to latest macOS version

* more floating error and macOS fixes

* reduced lines and fix some errors

* Update project.pbxproj

* Update project.pbxproj

* Update PlaySettings.swift

* Enables responsiveness for some apps for default screen settings if toggle enabled (PlayCover#5)

* test disabling FBSDisplayMode

* disabling FBS

* Adding experimental fix toggle to fix responsiveness

* adding an extra log

* extra

* moving the function to a better place

* back to another place

* added CheckResizabilityHasRun

* Testing some stuff

* name issue

* added some comments to test

* added fuction stop

* True to yes

* Changed yes to no

* adding observer for resize

* adding chess

* test

* back again

* Removing extra check for a future commit

* changed macos check to ios check

* Remove macOSVersion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant