2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RustでWindowに円を描く

Last updated at Posted at 2019-11-16

はじめに

前回: RustでGUIのWindowを表示する の続きです。
今度は、円を描いてみます。

RustでWindowに円を描く

実行するとこんな赤い円が描かれます。
image.png

コード全体は main.rs になります。
あまり理解していないおまじないがたくさんありました。
まあ、それはそれでおいといて、悩んだポイントだけメモしておこうと思います。

Cargo.toml

conrod=0.68.0 は glium=0.24.0 が良いようだ

前回は glium = "0.25.0 でしたが、それだとexampleのコードがコンパイルできませんでした(うまくCastがされない型がありました)。0.24.0 だと大丈夫でした。

Cargo.toml は以下のようになっています。

Cargo.toml
[dependencies]
conrod_core = "0.68.0"
conrod_glium = "0.68.0"
glium = "0.24.0"

なんでコンパイル通らないんだろう、と悩んだ箇所

下記の set(Id, UiCell) の部分のメソッドが無い、としばらくコンパイラに怒られ続けました。

    widget::Circle::fill(50.)
        .middle_of(ui.window)
        .color(conrod_core::color::RED)
        .set(ids.circle, ui);

原因は、下記で Widget を追加していなかったことなのですが、こういうようにメソッドが後から追加されることがしばしば(よく?)ある言語だということを思い至らず、exampleのコードとの差とは理解していたのに気が付かなかったです。

use conrod_core::{widget, Positionable, Colorable, Widget};

さいごに

macroのおまじないとかなかなか馴染めないなぁ。

次回: Rustでconrodを使って赤い円をアニメーションさせる

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?