Godot – Sinyaller

Godot sinyali, bir olayın meydana geldiğini belirtir ve adlandırılmış işlevleri tetiklemek için kullanılabilir.

Bu, özellikle oyunlar için; örneğin karakterlerin öldüğü, bir düşmanın vurulduğu veya bir kapının açıldığı gibi etkileşimlerin daha karmaşık olduğu durumlarda yararlıdır. Godot Signals, bu etkileşimleri daha kolay ve daha etkili bir şekilde ele almamızı sağlar.

Bir butona basıldığı anda (on pressed) hareket eden karakteri durdurmak istersek:

1) Sahneye bir karakter (sprite) ve bir buton ekleyin.

2) Butona tıkladıktan sonra yerleşimin sağ kısmında bulunan “Node” penceresinden, pressed() sinyalini seçerek script atayın.

extends Sprite

var speed = 400
var angular_speed = PI


func _process(delta):
	rotation += angular_speed * delta
	var velocity = Vector2.UP.rotated(rotation) * speed
	position += velocity * delta

func _on_Button_pressed():
	set_process(not is_processing())

set_process() fonksiyonu _process’i aktif ve pasif hale getirmemizi sağlamaktadır.

Godot – Karakter Hareketi

extends Sprite

var speed = 400
var angular_speed = PI

#sadece ileri ve kendi etrafında dönme (move forward + turn around itself)
func _process(delta):
	var direction = 0
	
	if(Input.is_action_pressed("ui_left")):
		direction -=1
	if(Input.is_action_pressed("ui_right")):
		direction +=1

	rotation += angular_speed * direction * delta
	
	
	var velocity = Vector2.ZERO
	
	if(Input.is_action_pressed("ui_up")):
		velocity = Vector2.UP.rotated(rotation) * speed
	
	position += delta * velocity

Flutter – FloatingActionButton

Flutter’da FloatingActionButton (FAB), Scaffold widget’ının içinde oluşturulur ve Scaffold‘un “floatingActionButton” özelliği ile ilişkilendirilebilir.

FloatingActionButton(
  onPressed: () {
    // FAB'a tıklandığında yapılacak işlemler buraya yazılabilir
  },
  backgroundColor: Colors.pink,
  child: const Icon(Icons.add),
)

import 'package:flutter/material.dart';

class Example extends StatelessWidget {
  const Example({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Title"),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          // FAB'a tıklandığında yapılacak işlemler buraya yazılabilir
        },
        backgroundColor: Colors.pink,
        child: const Icon(Icons.add),
      ),
    );
  }
}

Flutter – IconButton

İkonlu bir düğme oluşturmak için kullanılır. Aşağıdaki kod örneği, bir IconButton oluşturur ve içinde bir ikon görüntüler.

IconButton(
  onPressed: () {
    // butona tıklandığında yapılacak işlemler buraya yazılabilir
  },
  icon: Icon(Icons.star),
),
import 'package:flutter/material.dart';

class Example extends StatelessWidget {
  const Example({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Title"),
      ),
      body: Container(
        alignment: Alignment.center,
        padding: const EdgeInsets.only(top: 100),
        child: Column(
          children: [
            IconButton(
              onPressed: () {
                // butona tıklandığında yapılacak işlemler buraya yazılabilir
              },
              icon: const Icon(Icons.star),
            ),
          ],
        ),
      ),
    );
  }
}