2010-11-01 66 views

回答

6

Morphic远远超过NSView或任何其他图形类,它只允许重新实现有限的一组特征。 Morphic是一个非常可塑的UI构建工具包。 Morphic背后的一些设计理念使此意图清晰:

  • 包括了2D坐标系的综合层次结构。它们不限于笛卡儿或线性。有用的非线性坐标系统包括极坐标,对数坐标,双曲线坐标和地理坐标(类似地图)投影。
  • 从变形本身分离坐标系的处理。变形只需要选择其首选的坐标系,而不需要将其绘制的每个点都自行转换为世界坐标。它的#drawOn:方法和它的子变体的位置在它自己的坐标系中表示。
  • 完全独立的显示属性,如大小或分辨率。没有像素的概念。 GUI被认为是更高层次的。所有的GUI都独立于像素分辨率。所有的渲染都是反锯齿的。
  • 分离坐标系可以简化变形的移动,缩放和旋转。
  • 所有的坐标都是浮点数。这对于允许完全任意的尺度没有显着的舍入误差是很好的。
  • Morph层次结构不是形状的层次结构。变形没有边框或颜色的概念。没有子形状对齐的一般概念。特定的变体可以以任何对自身有意义的方式实现这些变体。
  • 变形事件处理是灵活的,并允许您发送事件到任意对象。该对象不需要子类Morph。
6

警告:Smalltalk的实时动态环境是red pill。 Morphic的一个虚拟世界在那里你可以直接探索活动对象(就像真实的世界):你;-)

简而言之静态,冷冻语言将永远是相同的。你有没有看过用户界面和...

  • 想知道“哇,真的很酷!他们是怎么做到的?
  • kvetch“我希望他们已经完成了X!”

虽然这些想法会导致任何其他环境中的痛苦和沮丧,但在Morphic中并非如此。

如果你想吹你的心,成为一个Morphic手机世界的神。

  1. 推出菲罗图像,点击背景(这实际上是“世界”),弹出世界菜单:

    alt text

  2. 弹出 “光晕” 上的菜单选项之一(在我的Mac Shift + Alt键点击): alt text

  3. 拖动“捡”光环(顶部中间)和地方砸在世界: alt text

  4. 享受你的菜单项,这是目前可用的地方希望: alt text

说真的,点击它并观看浏览器打开!

有没有选择你总是使用一个供应商已经深埋三层菜单层?这可能有用吗?!这是一个像Morphic一样的直接GUI环境的强大功能。

如果你感兴趣,请阅读约翰·马洛尼&兰德尔·史密斯的纸Directness and Liveness in the Morphic User Interface Construction Environment

+0

可以在可可F-脚本来完成了。 – 2010-12-10 21:49:47

+0

感谢您的答案和链接。关于Morphic的在线信息并不多。我发现的那个小东西只是滔滔不绝地说,它没有参考资料(维基百科不少)。 – Stephen 2014-02-21 19:32:45

+1

尝试使用Google搜索“morphic self”。自我语言是Morphic发明的地方(Squeak/Pharo/LievelyKernel的Morphic是端口)。当我研究原作者的作品时,我才真正理解了这些原则(如果我现在这样做的话)。 – 2014-03-07 18:54:31