万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Godot試し

    Godot(ゴドー)試す。

    今から始める『Godot Engine』

    を参考にした。

    ダウンロード https://godotengine.org/download/macos/

    2つあった。.NETなしでいいや。

    Godot Engine with .NET Support:

    .NETを使用してスクリプトを書くことができます(主にC#)。 C#のライブラリやツールを利用できます。 .NETの知識や経験がある場合は、こちらのバージョンが推奨されます。

    Standard Godot Engine (without .NET):

    主にGDScript(Godot独自のスクリプト言語)を使用してスクリプトを書きます。 GDScriptはPythonに似ており、学びやすいとされています。 .NETのサポートが不要な場合、このバージョンがシンプルで良いかもしれません。

    スクプリプトアイコン スクプリプトアイコンは左にあった。

    スクプリプトアイコン

    Godot 4.0では「onready」はアノテーション扱いとされ「@onready」と書き方が変わります。 とのこと yieldawaitになった。

     var _text := "Good night World" #最終的に表示するテキストを定義
        # await(get_tree().create_timer(1.0),"timeout") #指定秒待たせる処理
        # _label.set_text(_text)
        await get_tree().create_timer(1.0).timeout
        _label.set_text(_text)

    記事のルートノードを選択した状態でというのは Control を選択したってこと。

    func _ready():
        var _text := "Good night World" #最終的に表示するテキストを定義
        var _time := 0.1        #待ち時間
        _label.set_text("")     #Labelのテキストを初期化
    
        _label.set_text(_text)
        for i in range(_text.length()): #文字数分繰り返し処理
            _label.set_text(_text.left(i+1))    #i+1より左にある文字を設定
            await get_tree().create_timer(_time).timeout    #指定時間待つ

    4.0になって変わった。

    Godot 4.0で変わったところ

    exportや範囲指定も変わっている。

    # export(String) var _text := ""
    @export var _text: String = ""
    # export(float, 0, 1) var _time := 0.1
    @export_range (0, 1) var _time:float = 0.1
    extends Control
    
    # export(String) var _text := ""
    @export var _text: String = ""
    # export(float, 0, 1) var _time := 0.1
    @export_range (0, 1) var _time:float = 0.1
    
    @onready var _label := $Label #子ノードのLabelを取得
    #@onready var _label := $Panel/Label #孫ノードのLabelを取得
    
    # Called when the node enters the scene tree for the first time.
    #func _ready():
    #   _label.set_text("Morning world") #Labelにテキストを指定
    
    # Called every frame. 'delta' is the elapsed time since the previous frame.
    func _process(delta):
        pass
    
    
    func _on_button_pressed():
        #var _text := "Good night World"    #最終的に表示するテキストを定義
        # var _time := 0.1      #待ち時間
        _label.set_text("")     #Labelのテキストを初期化
    
        _label.set_text(_text)
        for i in range(_text.length()): #文字数分繰り返し処理
            _label.set_text(_text.left(i+1))    #i+1より左にある文字を設定
            await get_tree().create_timer(_time).timeout    #指定時間待つ