我知道默认值是30分钟,但我正在考虑在小部件中制作游戏
这需要毫秒级的响应....有没有人搞砸了AlarmClock Timing,据说用来实现这个目的?它运作良好吗?
我还没有为项目完成软件Arc,因为我在网上看到很多关于这个的抱怨,所以在我去冒险之前需要知道这是否可行......但游戏将包括一个屏幕的大小部件大小...许多区域点击并与多个纹理动画交互
看起来我可以绘制到画布,然后将其弹出到位图来执行此操作...但这仍然让我感到困惑,所以如果有人知道一些好的教程我会非常感激
这就是我被告知的作品:
代码: Paint p = new Paint(); p.setAntiAlias(真); p.setStyle(Style.STROKE); p.setStrokeWidth(8); p.setColor(0xFFFF0000地址);
Bitmap bitmap = Bitmap.createBitmap(100, 100, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawArc(new RectF(10, 10, 90, 90), 0, 270, false, p);
// RemoteViews views = new RemoteViews(updateService.getPackageName(), R.layout.main);
RemoteViews updateViews = null;
updateViews.setImageViewBitmap(R.id.canvas, bitmap);
ComponentName componentName = new ComponentName(updateService, DashboardAppWidgetProvider.class);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(updateService);
appWidgetManager.updateAppWidget(componentName, views);
但我正在努力解决这个代码的概念,它有一个画布的ID以及如何使用它,所以我无法测试这段代码
(我是第一次使用android和java的经验丰富的c / c ++ / c#/ dx / opengl编码器)
谢谢!
答案 0 :(得分:1)
但是我正在考虑在小部件中制作游戏
我不建议这样做。
这需要毫秒响应
考虑到主屏幕的运行方式与游戏代码不同,这是非常不切实际的。
有没有人搞砸AlarmClock Timing,而是用来代替实现这个目的?它运作良好吗?
AlarmManager
并非设计用于每秒触发多个事件。
但游戏将包含一个大屏幕小部件的一个屏幕
您无法指定“一个屏幕大小”的应用小部件。您必须指定大小,并且该大小不会因硬件屏幕大小而异。
许多区域可以点击并与多个纹理动画进行交互
app小部件无法使用动画。
看起来我可以绘制到画布,然后将其弹出到位图来执行此操作
考虑到您的代码和主屏幕在不同的进程中运行,这将是低效的。
您可以编写另一个主屏幕并将游戏放入其中。然后,你的性能限制就会消失,你可以做动画和其他任何你想要的动画。当然,您需要添加大量的主屏功能,否则用户将不希望将您的应用作为主屏幕。
答案 1 :(得分:0)
动画可能但非常有限。
主屏幕小部件的进程优先级似乎非常低。 您可以根据需要触发警报,但是当设备处于睡眠模式时,有一些问题可以正确停止,否则您会遇到设备耗电的实际问题。
您设置的任何警报都会触发一个事件,但只要cpu工作或多或少,您就永远无法获得相同的执行时间。
问题的另一个原因是图形的刷新率。你可以在这样的警报中绘制你想要的任何东西,但是android的widget-drawer有一个非常糟糕的刷新模型。你永远不会知道,图形真的是吸引用户的。
我是新的“动画滚动时钟小工具”(http://www.androidzoom.com/android_applications/lifestyle/animated-rolling-clock-widget_lviw.html?nav=recategorized)的开发人员,我们有一些真正难以管理的事情让我们按预期工作。 如果你试试这个,你可以很快看到刷新的局限性。
有关详细问题,您可以使用与此应用程序相关联的官方电子邮件地址。