اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

مرحباً,

للأسف السؤال يشمل عدد ضخم من المعلومات وصعب الإجابة عنه إجابة محددة

لكن سأُدرج كود مثال لعدو طائر لتتمكن من أخد فكرة حول البرمجية وتطبيقها في فكترتك الخاصة

# MAX_SPEED تضم بعض الثوابت من قبيل
extends "res://Enemies/Enemy.gd"

export(int) var ACCELERATION = 100
# WorldCameraحفظ اللاعب و الـ
var MainInstances = ResourceLoader.MainInstances

onready var sprite = $Sprite

func _ready():
    # تجميد الحركة, تفعيلها يتم عبر VisibilityNotifier2D حيث يتحرك العدو ويلاحق الشخصية الرئيسية عندما تقترب منه                                                                            
    set_physics_process(false)

func _physics_process(delta):
    var player = MainInstances.Player
    if player != null:
        chase_player(player, delta)

func chase_player(player, delta):
    # تحصل على الإتجاهات بإعتماد PlayerPosition - EnemyPosition.
    var direction = (player.global_position - global_position).normalized()
enter code here
    motion += direction * ACCELERATION * delta
    motion = motion.clamped(MAX_SPEED)
    # توجيه العدو لينظر جهة اللاعب
    sprite.flip_h = global_position < player.global_position
    motion = move_and_slide(motion)

func _on_VisibilityNotifier2D_screen_entered():
    set_physics_process(true)

لكن أنصحك بشدة بالإطلاع على التعليمات الرسمية لـGodot :

https://docs.godotengine.org/en/latest/getting_started/step_by_step/your_first_game.html

وهذه بعض المواضيح الأخرى التي ستساعدك :

بالتوفيق

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...