热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为小型设备编程用户界面-Programmingauserinterfaceforasmalldevice

ImlookingforideaselementsofauserinterfaceforadeviceImmaking.Fulldescription(andvi

I'm looking for ideas/elements of a user interface for a device I'm making. Full description (and video of development setup) here.

我正在寻找我正在制作的设备的用户界面的想法/元素。这里有完整的描述(以及开发设置的视频)。

In short:

  • It's essentially a direction finder, so I'm starting off thinking, "Compass" but wondering what other design patterns would fit
  • 它本质上是一个方向发现者,所以我开始思考“指南针”,但想知道其他设计模式是否合适

  • There isn't much interface to a compass - what kinds of input, other than physically turning the device, should I consider?
  • 罗盘的接口不多 - 我应该考虑除了物理转动设备之外还有哪些输入?

  • I don't like deep menus. These are targetted at kids, so what gaming patterns and interfaces should I consider for options? I'm assuming that children aren't invested heavily in computer patterns, but don't know what patterns they are invested in.
  • 我不喜欢深层菜单。这些是针对孩子的,所以我应该考虑哪些游戏模式和界面?我假设孩子们没有大量投入计算机模式,但不知道他们投入的模式是什么。

This device is limited memory - so the interface has to be dynamically drawn each refresh, there is no video buffer. In some versions I'll have color (160x128 and 320x240) and others I'll have 15 level grayscale (100x160). I'd like the interface to be general enough, and vector-ish enough that one can use any of the devices as easily as the others.

这个设备是有限的内存 - 所以每次刷新都必须动态绘制接口,没有视频缓冲区。在某些版本中,我将有颜色(160x128和320x240),而其他版本我将有15级灰度(100x160)。我希望界面足够通用,并且足够向量,以便可以像使用其他设备一样轻松地使用任何设备。

What ideas do you have?

你有什么想法?

Where should I look for such interface and design patterns?

我应该在哪里寻找这样的界面和设计模式?

Where should I look for low level graphics programming (generating vector graphics on the fly, I expect, but perhaps I'm wrong to think of it this way)?

我应该在哪里寻找低级别的图形编程(动态生成矢量图形,我希望,但也许我错误地想到这一点)?

-Adam

3 个解决方案

#1


4  

You're summary page indicates that you're getting GPS coordinates from two devices... so a nice feature for children would be to show a dot for mom and a dot at display center for the child. Draw a line between these. Draw an arrow showing the child's most recent direction of travel to GPS resolution.

您的摘要页面表明您正在从两个设备获取GPS坐标...因此,对于孩子来说,一个很好的功能是为妈妈显示一个点,在孩子的显示中心显示一个点。在这些之间画一条线。绘制一个箭头,显示孩子最近的GPS分辨率行进方向。

Tell the child to press the "FIND MOM" button, line up the arrow on the line, and go that way, going around things as needed (and the arrow and line will always keep them up to date on which way they would like to be walking, if possible).

告诉孩子按下“FIND MOM”按钮,将线上的箭头对齐,然后按照需要绕过东西(箭头和线条始终保持最新状态,以便他们想要的方式如果可能的话,走路。

Make the dots, line, and arrow, big and friendly. Change the colors or make things flash when you're within the minimum GPS resolution or, generally, within shouting distance. This way, if the child ends up on the other side of a high barrier, he or she knows shouting is an option.

制作点,线和箭头,大而友好。当你处于最低GPS分辨率或者通常在呼喊距离内时,改变颜色或使事物闪烁。这样,如果孩子最终在高障碍的另一边,他或她知道喊叫是一种选择。

Interesting project idea. I think that moving the thing and having the "on" button is enough of an interface, if you have good enough motion detection sensors in the unit. It should probably auto-poweroff after an interval.

有趣的项目理念。如果您在单元中有足够好的运动检测传感器,我认为移动物体并使用“开启”按钮就足够了界面。它可能应该在一段时间后自动断电。

Whether you generate vector graphics or not is not the main thing... you should probably generate coordinates for the dots (which are also the endpoints of a line) and the arrow and arrowhead segments. All these can be drawn on a raster display quickly using only integer math using the old Bresenham line and circle algorithms.

无论你是否生成矢量图形都不是主要的事情......你应该为点(也就是一条线的端点)以及箭头和箭头段生成坐标。所有这些都可以使用旧的Bresenham线和圆算法仅使用整数数学快速绘制在光栅显示器上。

Links to Wikipedia:

维基百科的链接:

http://en.wikipedia.org/wiki/Midpoint_circle_algorithm

http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm

#2


1  

I’d certainly try to look at some GPS, something basic like the Garmin eTrex Legend. It’s cheap, it’s grayscale, it’s probably also memory constrained as Your device will be and I am sure You will find a lot of UI ideas there. I would also consider looking at the iPhone. It is quite a different device, but lot of the UI concepts there are well thought-out and could be used even on a simple grayscale device. You can get the iPhone SDK with the iPhone simulator for free.

我当然会尝试看一些GPS,像Garmin eTrex Legend这样基本的东西。它很便宜,它是灰度级的,它可能也会因为你的设备而受到内存限制,我相信你会在那里找到很多UI想法。我也会考虑看看iPhone。这是一个完全不同的设备,但很多UI概念都经过深思熟虑,甚至可以在简单的灰度设备上使用。您可以免费使用iPhone模拟器获取iPhone SDK。

#3


0  

I think it would be really cool to have it shaped like a Pokemon. I'm just saying...

我觉得把它塑造成一个口袋妖怪真的很酷。我只是说...


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • ipsec 加密流程(二):ipsec初始化操作
    《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。Author:叨陪鲤Email:vip_13031075266163.comDate:2020.1 ... [详细]
  • 最近遇到了一道关于哈夫曼树的编程题目,需要在下午之前完成。题目要求设计一个哈夫曼编码和解码系统,能够反复显示和处理多个项目,直到用户选择退出。希望各位大神能够提供帮助。 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 在数据库事务处理中,InnoDB 存储引擎提供了多种隔离级别,其中 READ COMMITTED 和 REPEATABLE READ 是两个常用的选项。本文详细对比了这两种隔离级别的特点和差异,不仅从理论角度分析了它们对“脏读”和“幻读”的处理方式,还结合实际应用场景探讨了它们在并发控制和性能表现上的不同。特别关注了行锁机制在不同隔离级别下的行为,为开发者选择合适的隔离级别提供了参考。 ... [详细]
  • 在处理大图片时,PHP 常常会遇到内存溢出的问题。为了避免这种情况,建议避免使用 `setImageBitmap`、`setImageResource` 或 `BitmapFactory.decodeResource` 等方法直接加载大图。这些函数在处理大图片时会消耗大量内存,导致应用崩溃。推荐采用分块处理、图像压缩和缓存机制等策略,以优化内存使用并提高处理效率。此外,可以考虑使用第三方库如 ImageMagick 或 GD 库来处理大图片,这些库提供了更高效的内存管理和图像处理功能。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
author-avatar
手机用户2502903761
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有