D-pad导航 - 数据结构和编程?

时间:2011-09-07 00:12:24

标签: javascript html5 google-chrome google-tv d-pad

我的任务是为GoogleTV的现有网络应用程序实施d-pad导航(我正在Google Chrome中进行测试,到目前为止,它们的运行方式似乎相同。In their notes用于实施d-pad导航他们有向上,向右,向左,向下和选择的基本处理程序。

目前我有一个初始化虚拟光标的方案,然后是各种dpad笔画。我依赖于使用document.elementFromPoint()并循环直到找到之前未选择的新元素。我正在使用outline: css来指示当前位置,我只在选择了其中一个dpad控件时显示它。

我有一个初始化步骤,它将类dpadClickable添加到可点击的所有项目中,然后随着光标的移动,我将dpadHighlighted添加到新的项目并从所有其他元素中删除。看起来不错。

如果我有一个可滚动的元素,或者如果方向向下移动我的点找不到任何内容,则全部失败。

我想要的是一个数据结构,用于保存我的所有dpadClickable项,然后在d-pad点击中,能够迭代它以找到最接近的最佳,上,下,左和右元素。比如,我应该根据topleft属性执行此操作吗?或者基于计算的中心点?

我找到了一个jQuery library来实现这一点,并在某种程度上对其进行逆向工程。但我真正喜欢的是这类编程问题的入门读物:我应该寻找图形编程算法吗?游戏?还有别的吗?

Page layout with blue boxes indicated selectable areas

更新User Experience StackExchange网站上的问题:Adding D-pad navigation to an existing web application: Resources?

1 个答案:

答案 0 :(得分:3)

您是否查看了http://code.google.com/tv/web/lib/官方Google TV Java脚本扩展/库的位置?他们可能会帮助你。