Menu
CoddyTech

ירו קליעים

חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 14 מתוך 36.

E או Enter (מקש action) יורה קליע. קליע הוא סצנה, bullet.tscn. הסקריפט שלו מטיס אותו קדימה ומסיר אותו אחרי 0.8 שניות. הספינה יוצרת אחד בקצה הקדמי שלה, מכוונת אותו לאותו כיוון ומוסיפה אותו למשחק:

if Input.is_action_just_pressed("action"):
	var bullet = BULLET.instantiate()
	bullet.position = position + Vector2.UP.rotated(rotation) * 18
	bullet.rotation = rotation
	get_parent().add_child(bullet)

הוסיפו את הקליע להורה של הספינה. צאצא נע ומסתובב יחד עם ההורה שלו, ולכן קליע שנמצא על הספינה ינוע איתה.

is_action_just_pressed מחזיר true רק בפריים שבו לוחצים על המקש. כל לחיצה יורה קליע אחד.

challenge icon

אתגר

בינוני

ירו קליע בלחיצה על E.

  1. הוסיפו const BULLET = preload("res://bullet.tscn").
  2. כשלוחצים על action, צרו קליע 18 פיקסלים לפני החללית, עם ה־rotation של החללית.
  3. הוסיפו אותו להורה של החללית בעזרת get_parent().add_child(bullet).

לחצו על "שחק" ואז על E: קליע עף מחרטום החללית. לאחר מכן לחצו על "בדיקה".

נסו בעצמכם

extends CharacterBody2D

const TURN_SPEED = 4.0
const THRUST = 300

func _physics_process(delta):
	rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
	if Input.is_action_pressed("move_up"):
		velocity += Vector2.UP.rotated(rotation) * THRUST * delta
	$Flame.visible = Input.is_action_pressed("move_up")
	position += velocity * delta
	if position.x < 0:
		position.x += 640
	if position.x > 640:
		position.x -= 640
	if position.y < 0:
		position.y += 360
	if position.y > 360:
		position.y -= 360

כל השיעורים ביחידה פרויקטים

תרגלו בעצמכם: Godot אונליין