标签: morphic

Morphic GUI中的事件传播

我有一个Squeak Morphic GUI的图像,它包含一些透明部分,因此不应该接受任何鼠标事件等但只是可见,但它需要在其他变形前面可见.

这就是为什么我认为将出现的鼠标事件传播到底层变形是有用的.有没有人知道我的问题的解决方案或解决它的其他建议.

    V                         <- mouseDownEvent
_____________________________ <- transparent image (BorderedMorph)
  _____    _____     _____
_|     |___|    |___|     |__ <- buttons waiting for click and drop events

_____________________________ <- basic morph
Run Code Online (Sandbox Code Playgroud)

我希望这能说明我的问题.

smalltalk squeak event-handling morphic

9
推荐指数
1
解决办法
537
查看次数

8
推荐指数
2
解决办法
735
查看次数

雅典究竟是什么?

虽然我已经和雅典玩过(参见PharoBoids)并且喜欢它,但我仍然错过了关于它的确切观点.

我自己想出了这两个图(见下文).他们是对的吗?还有相应的Canvas类.他们的角色是什么?

没有雅典的Pharo/Squeak Pharo与雅典

smalltalk squeak pharo morphic athens

8
推荐指数
1
解决办法
1024
查看次数

为Pharo 1.3安装OmniBrowser的脚本?

请不要在这里推广Nautilus或Glamour.我正在使用Pharo 1.3(没有计划迁移到Pharo 1.4或2.0).它似乎是OmniBrowser的许多版本.哪一个是最受测试的(在覆盖的意义上)或只是无人驾驶?

我有一些问题:

  • 它适用于Shout吗?
  • 我可以在没有AST和重构引擎的情况下加载吗?
  • 我可以在没有Morphic的情况下加载吗?
  • 它与任何版本的Squeak兼容?
  • 它可装载在Cuis?

谢谢

smalltalk squeak pharo morphic

6
推荐指数
2
解决办法
367
查看次数

Polymorph和Spec有什么区别?

最近在线发布了一个Spec文档,它与Polymorph项目有什么关系?阅读这些项目的未来会很高兴.Polymorph是否已停产?

smalltalk pharo morphic

6
推荐指数
1
解决办法
745
查看次数

Squeak Smalltalk:游戏循环

在许多语言中,您可以执行以下操作:

while true:
  handle events like keyboard input
  update game world
  draw screen
  (optional: delay execution)
Run Code Online (Sandbox Code Playgroud)

虽然这远非最佳,但它应该足够简单的游戏.

你是怎么在Squeak Smalltalk做到这一点的?

我可以阅读键盘输入并对其做出反应,如wiki.squeak.org所述.但是,如果我尝试执行类似的东西

1 to: 10 do: [ :i | game updateAndDraw ]
Run Code Online (Sandbox Code Playgroud)

所有事件只在循环执行后才被处理.

smalltalk squeak morphic

6
推荐指数
1
解决办法
376
查看次数

如何使用Pharo或Squeak部署一个漂亮的单窗口应用程序?

我有一个应用程序,它在一个Morph中拥有它的整个GUI.Pharo和Squeak在主机操作系统中有一个窗口.

现在我想把这个Morph绑定到一个Pharo/Squeak窗口,它填充整个Pharo/Squeak窗口,调整大小(并更新Morph的布局),当Pharo/Squeak窗口调整大小并且以某种方式用户没有(意外)可能访问除Morph之外的任何东西(这只是关于可用性,而不是关于安全性!).

我怎样才能实现这一目标?

deployment smalltalk squeak pharo morphic

5
推荐指数
1
解决办法
888
查看次数

Morphic:自动调整滚动窗格中包含的组框的大小?

使用Pharo 1.4夏季进行测试.我认为最好用截图来解释它,代码如下.

这是我的初始状态(我现在用我的代码得到的):

初始状态

我希望在打开时水平填充组框变形,如下所示:

初始期望状态

调整大小后,我希望组框变形以保持边界,即:

调整所需状态的大小

这是我试过的代码:

| s morph1 morph2 row groupBox scroller |
s := ScrollPane new.
morph1 := BorderedMorph new.
morph2 := BorderedMorph new.
row := UITheme builder newRow: {morph1 . morph2}.
groupBox := UITheme builder newGroupbox: 'Group Box Test' for: row.
    groupBox 
        layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0.8));
        vResizing: #spaceFill;
        hResizing: #spaceFill;
        layoutChanged.
scroller := s scroller.
scroller 
    addMorph: (groupBox position: 0@0)
    fullFrame: (0 @ 0 corner: 0.8@0.5).
s scroller color: Color white. …
Run Code Online (Sandbox Code Playgroud)

smalltalk squeak pharo morphic

5
推荐指数
1
解决办法
619
查看次数

如何改变submorph位置

我有两个变形,一个在另一个.

a:= Morph new.
b:= Morph new. 
a addMorph: b. 
a openInWorld.
Run Code Online (Sandbox Code Playgroud)

但是当我想通过做b位置改变b的位置:100 @ 100时,它永远不会显示变化,所以我在这里缺少什么?或者是否有责任跟踪b的位置?

smalltalk squeak pharo morphic

5
推荐指数
1
解决办法
1197
查看次数

容器工作时如何重新缩放subMorph?

我正在探索Mac OS 5.2中的Squeak。

我在RectangleMorph'r'中绘制线(PolygonMorph)。当我翻译'r'时,线条会翻译,但是当我重新缩放'r'时,线条不会重新缩放。

运行下面的片段。然后使用Halo转换并调整矩形“ r”的大小。您会看到“ p”行已翻译但未缩放。

r := RectangleMorph new.
"[Pharo] r:= Morph.new."
r extent: 500@500.
r openInWindow. 

p := PolygonMorph 
        vertices: {(r left)@(r top). (r right)@(r bottom)}
        color: Color white borderWidth: 2 borderColor: Color white.

r addMorph: p.
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到'p'重新缩放?

再见

smalltalk squeak pharo morphic

5
推荐指数
1
解决办法
92
查看次数