我一直在寻找一种用Java开发iOS应用程序的方法。尤其是Java,因为我希望能够将Processing用作Java库。 首先我找到了RoboVM。只是为了发现微软在收购Xamarin之后确实关闭了它。 然后我找到了英特尔的多操作系统引擎,这是一个技术预览版。看起来您可以像开发Java和Android Studio一样开发Android应用程序。然后你重写UI(可能还有一些iOS特定的API调用)并为iOS构建它。无论是在使用Xcode的Mac上还是在英特尔的构建云中(似乎都是免费的)。
在Android应用中使用处理并不是一件新鲜事(即使它对我来说也是新手)。但它看起来与iOS应用程序不同。 由于您必须重写iOS的UI,我不确定是否仍然可以以相同的方式使用Processing。
如果那是不可能的,我想知道在绘制函数结束时调用loadPixels()是否可能/一个好主意,然后读取所有像素值并将它们写入iOS UI元素。 如果没有其他办法,它会使用多少CPU功率来完成每一帧吗?或者这可以成为解决方案吗?
只会给我UI输出进行处理。不知何故,如果我想在那里处理那些事件,我仍然必须将触摸事件处理。
在jQuery中,我不仅可以为$("#myButton").click(myFunction);
的事件注册回调,还可以使用$("#myButton").click();
模拟事件。当您在没有任何参数的情况下调用click函数时,将在该DOM元素上触发事件,而不是为该DOM元素和该事件注册回调。
在Processing中有没有办法做类似的事情?
如果是这样,我可以从Multi-OS Engine获取触摸事件,然后将它们传递给Processing。
答案 0 :(得分:0)
你可以认为Processing实际上是两件事:它是一个库,它是一套处理你出口的工具。
如果您正在使用处理编辑器,那么您将使用处理导出的工具。您可以通过Processing.js部署为Java应用程序,Android应用程序,甚至JavaScript。这些工具使用您的Processing代码,然后将其转换为部署代码所需的格式。
但是,您也可以将Processing用作Java库,就像使用任何其他Java库一样。您可以通过简单地将Processing的jar添加到类路径中来完成此操作,然后您可以调用Processing函数,就像调用任何其他库一样。如果您这样做,那么您负责编写代码然后进行部署。但是,使用Processing作为Java库来绘制图像,然后将该图像绘制到本机组件当然是可能的。
它变得棘手的是你不能只为Java编写Java,所以你不能只编写使用Processing作为Java库的代码。这就是RoboVM所帮助的。您可能想查看RoboVM's closing announcement中提到的替代方案之一:
根据您在开发应用程序中的位置,可以使用多种选项,包括可以帮助您移植到Xamarin的工具,以及针对iOS的替代Java SDK。特别是,libGDX刚刚宣布支持英特尔的多操作系统引擎,这意味着大多数RoboVM的活跃开发人员都有替代方案。
您可能考虑的另一个选项是使用Processing.js或p5.js来部署为html和JavaScript。然后,您只需在手机浏览器上访问您的网页即可。