Giter Club home page Giter Club logo

Comments (15)

XingjianXie avatar XingjianXie commented on July 30, 2024

抱歉

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

抱歉

您好,才看到不好意思。
目前版本中,游戏的窗口是固定值设置,暂不支持全屏模式,也不支持运行时动态调整画面大小。但是窗口尺寸是可修改的:
在编译完成后,你可以在 "publish" 目录下,寻找 "...jsons/windowConfig.json" 文件。然后直接修改里面的一组变量:"windowPixW", "windowPixH",改成适合屏幕尺寸的整数就行。改完且保存文件后,再次启动程序,就能适配到新的尺寸。

额外信息:
(1)在程序内,对窗口长宽比其实是做了层限制的。也就是说,不是任意修改值都会被原样支持。比如,如果你设置为 (1000, 50) 这种扁得夸张的比例,最后是会被程序强制适配的(按照一定规则,具体写在了 "src/Engine/camera/ViewingBox.cpp" 文件内)
(2)我在电脑上测了下,switch 的 (1280,720) 尺寸是可以被支持的,你可以直接改。
(3)最初把窗口做得这么死,是因为当时的水域还是用 着色器(shader)来实现的,为了简化 显卡层和主程序之间的交互,我把窗口尺寸写死了。目前的水域已经修改了实现方式,着色器层被彻底抛弃了,也许未来我应该把它写成动态的...

非常感谢您的提议和反馈!!!

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

抱歉

另外,大哥您这在 switch 上玩 ubuntu 也太疯狂了!!!
如果您有空,请问可以传几张 tprpix 运行后的截图我嘛~ 作为steam党,我已经很久不碰掌机了(不!你只是想掩饰你没switch!)

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

抱歉

然后我想请问下,switch 的按键是否会被程序读取?
我这边猜测大概率是不会被识别的...
而且我并没有为程序编写支持鼠标点击的功能。是不是暂时只能停留在那个简陋的存档界面了

from tprpix.

XingjianXie avatar XingjianXie commented on July 30, 2024

from tprpix.

XingjianXie avatar XingjianXie commented on July 30, 2024

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

实际上我最开始是以为窗口大小是不能调的,后来我看到了文档,就把issue关了😂。 其实我是想把joycon映射成按键,但是不知道为什么我编译的按键映射器没办法支持joycon。 理论上应该是可以通过udev标准来支持(因为红海豚实际上是可以检测到joycon(而且还能玩的挺流畅的)) 如果你知道什么别的支持udev映射按键的映射器可以告诉我嘛 dock也是能用的,所以其实可以接显示器和鼠标键盘玩,但后来我不小心把分区搞坏了,就没继续研究下去 我现在在SD安装的是Lakka系统,如果我换回Ubuntu,可能会再想办法试一下别的按键映射器

非常感谢!看来想要彻底能跑还有段距离。过阵子我也去搞台机子来试试水!

from tprpix.

XingjianXie avatar XingjianXie commented on July 30, 2024

from tprpix.

XingjianXie avatar XingjianXie commented on July 30, 2024

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

说起来,它是原生支持xbox手柄么 如果这样的话其实把joycon映射到xbox好像也可以 在这方面可能会有更成熟的解决方案

非常感谢 mark07x 的深夜研究!

tprpix 对游戏手柄的支持,依赖于 glfw3 中的 Gamepad input 模块,参见此处描述

简单地说,它依赖一个名为 SDL_GameControllerDB 的协议,以此来规范硬件生厂商的按键映射规则。所以,但凡是支持这个 协议的手柄,都支持。
而这个协议,是基于 xbox360-style 的。

我的手头有三个国产的仿xbox360手柄,都能直接支持这个协议。(某种角度讲,这个协议被支持的范围,比我预想得要广)

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

说起来,它是原生支持xbox手柄么 如果这样的话其实把joycon映射到xbox好像也可以 在这方面可能会有更成熟的解决方案

最初,我想直接绑定手柄按键。但是不同厂商的手柄,按键映射值是不一样的。比方说,A厂的手柄,按键0123 对应的是 ABXY 键,到了 B厂手柄上,0123就变成了十字方向键。当时我差点写个界面来要求玩家手动绑定映射。

后来发现 glfw3 中的 Gamepad input 模块就是用来搞定这个事的。进一步说,是那个 SDL_GameControllerDB协议:每个厂都把自己的映射表登记到这个组织中,然后软件在运行时,当识别到一个手柄设备时,就会从一张特定的表中查找,是否有这个型号的手柄。查找到了就录入它的映射规则,最后实现软件层的统一。

from tprpix.

XingjianXie avatar XingjianXie commented on July 30, 2024

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

说起来如果有手动绑定反倒是好了,那样Joycon就可以绑定了。 不知道为什么,我更新了deps/glfw_unix/下的mapping之后重新编译,似乎还是不能正常识别joycon。 值得注意的是,通过fuser可以看到tprpix的进程读取了/dev/input/eventx(joycon)。

看来确实可以读取原始键值,但仅仅到这里了。
这意味着,可能要专门为 switch 写一个按键映射层。

from tprpix.

XingjianXie avatar XingjianXie commented on July 30, 2024

from tprpix.

turesnake avatar turesnake commented on July 30, 2024

但我已经把适合joycon的mapping配置写进去了,这个时候也应该是可以识别了吧?可能是mapping的配置有误或者别的什么原因吧。不过现在我拿switch玩起了动森😂,而且我最近暂时在研究在树莓派上接4g模块拨号,准备暂时开始研究一下跟硬件有一定相关的东西。最近快ap考试了,倒是还没怎么准备好

最好也是最简单的办法,就是单独为 switch 做个迷你程序来测试按键识别。我最近在继续学习C++,顺利的话会在夏天回来继续推进tprpix。到时我来做个测试程序看。

最后,祝考试顺利~

from tprpix.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.