کتابخانه‌ی استاندارد · وب و مرورگر

کلیدها web/keys

وضعیت صفحه‌کلید برای بازی‌های مرورگری.

واردسازی وب.کلیدها
در این صفحه
  1. روال‌ها

در بازی‌ها معمولاً در هر فریم می‌پرسید کدام کلیدها پایین‌اند، نه اینکه برای هر فشار رویداد بگیرید. این بسته رویدادهای صفحه‌کلید را برایتان می‌شنود و وضعیت را نگه می‌دارد. یک بار آماده سازی را صدا بزنید و بعد در روال چرخش فریم از دام وضعیت را بپرسید.

روال‌ها

پیگیری Track

روال پیگیری(k: رشته)
کلیدی را به فهرست کلیدهای پیگیری‌شده می‌افزاید؛ نام کلید همان مقدار key مرورگر است، مثل a. تا ۳۲ کلید.
web-keys-Game.salam
واردسازی دام
واردسازی وب.بوم
واردسازی وب.کلیدها

ناپایا ایکس := ۱۶۰.۰
ناپایا امتیاز := ۰

روال ریشه:
    ب := دام.بساز("canvas")
    دام.تنظیم ویژگی(ب، "id"، "game")
    دام.افزودن(دام.بدنه()، ب)
    ز := بوم.دریافت بوم("game")
    کلیدها.آماده سازی()
    کلیدها.پیگیری("a")
    کلیدها.پیگیری("d")
    دام.چرخش فریم((زمان: اعشار۶۴):
        اگر کلیدها.نگه داشته("ArrowLeft") یا کلیدها.نگه داشته("a"):
            ایکس -= ۴
        پایان
        اگر کلیدها.نگه داشته("ArrowRight") یا کلیدها.نگه داشته("d"):
            ایکس += ۴
        پایان
        اگر کلیدها.فشرده شد(" "):
            امتیاز += ۱
        پایان
        بوم.پاک کردن مستطیل(ز، ۰، ۰، بوم.عرض(ز)، بوم.ارتفاع(ز))
        بوم.پرکردن مستطیل(ز، ایکس - ۱۰، ۱۰۰، ۲۰، ۲۰)
        بوم.پرکردن متن(ز، "امتیاز: " + امتیاز، ۱۰، ۲۰)
    پایان)
پایان

آماده سازی Init

روال آماده سازی()
پیگیری را آغاز می‌کند و کلیدهای جهت، Enter و فاصله را اضافه می‌کند. این کلیدها دیگر صفحه را پیمایش نمی‌کنند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: web-keys-Game.salam

نگه داشته Down

روال نگه داشته(k: رشته): منطقی
کلید اکنون نگه داشته شده؛ برای حرکت پیوسته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: web-keys-Game.salam

فشرده شد Pressed

روال فشرده شد(k: رشته): منطقی
کلید از دفعه‌ی قبلی که پرسیدید تازه فشرده شده؛ هر فشار فقط یک بار درست برمی‌گرداند. برای پرش یا شلیک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: web-keys-Game.salam