将文本内容放在容器

时间:2015-07-26 12:21:59

标签: elm

我正在使用拼贴画,因此元素将被放置在框的中间。

import Graphics.Element exposing (show)
import Graphics.Collage exposing (collage)

textBox =
  show "hello world"

main =
  collage 1000 1000 [textBox]

但最后一行有一个typemismatch错误,

Graphics.Element.Element
Graphics.Collage.Form

由于show函数返回Element,而collage仅接受Form。我可以使用哪些其他功能,将文本内容放在collage

的中间

2 个答案:

答案 0 :(得分:4)

您可以使用Graphics.Collage.toForm

将元素转换为表单
toForm : Element -> Form

http://package.elm-lang.org/packages/elm-lang/core/2.1.0/Graphics-Collage#toForm

你的程序只是

main = collage 1000 1000 [toForm textBox]

答案 1 :(得分:4)

grumpyjames'回答是关于将Element转换为Form以将它们放在拼贴上的答案。我只是想指出,你不需要使用拼贴画将Element放在中心。 Graphics.Element包具有container功能,其功能与拼贴相似,但Element代替Form。所以你也可以这样做:

import Graphics.Element exposing (..)

main =
  container 1000 1000 middle (show "Hello, World!")