کلیدها web/keys
وضعیت صفحهکلید برای بازیهای مرورگری.
واردسازی وب.کلیدها
در این صفحه
در بازیها معمولاً در هر فریم میپرسید کدام کلیدها پاییناند، نه اینکه برای هر فشار رویداد بگیرید. این بسته رویدادهای صفحهکلید را برایتان میشنود و وضعیت را نگه میدارد. یک بار آماده سازی را صدا بزنید و بعد در روال چرخش فریم از دام وضعیت را بپرسید.
روالها
پیگیری Track
روال پیگیری(k: رشته)کلیدی را به فهرست کلیدهای پیگیریشده میافزاید؛ نام کلید همان مقدار
key مرورگر است، مثل a. تا ۳۲ کلید.واردسازی دام
واردسازی وب.بوم
واردسازی وب.کلیدها
ناپایا ایکس := ۱۶۰.۰
ناپایا امتیاز := ۰
روال ریشه:
ب := دام.بساز("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