هنگام هک کردن هسته Blockly یا توسعه یک پلاگین، زمین بازی یک ابزار فوق العاده مفید است. این یک نمونه از پیش پیکربندی شده از Blockly دارد که می توانید برای آزمایش، اشکال زدایی یا نمونه سازی از آن استفاده کنید. در Google، تقریباً تمام توسعه Blockly با استفاده از زمین بازی انجام می شود. به عنوان پیشنمایش، اینجا زمین بازی ساده در سرور نمایشی است.
3 نوع زمین بازی برای Core Blockly وجود دارد: ساده، پیشرفته و چندگانه. در نمونه های بلوکی، معمولاً فقط از زمین بازی پیشرفته استفاده می شود.
پیش نیازها
Blockly اکنون از سیستم ماژول Closure استفاده می کند. به دلیل نحوه بارگذاری، ماژولهای بستن کامپایل نشده باید از یک http:
یا https:
واکشی شوند و نمیتوانند مستقیماً از URLهای file:
واکشی شوند. در نتیجه، برای بارگیری زمین بازی در حالت کامپایل نشده، باید آن را از یک وب سرور محلی بارگیری کنید.
ما یک اسکریپت ایجاد کردهایم که یک سرور محلی را راهاندازی میکند و تمام کدهای مورد نیاز برای بارگیری ماژولهای Blockly را بارگیری میکند. برای نصب تمام وابستگی ها باید npm را روی دستگاه خود نصب کنید و npm install
از ریشه Blockly اجرا کنید.
با استفاده از اینترنت اکسپلورر
Blockly اکنون از ویژگی های پیشرفته ای در پایگاه کد خود استفاده می کند که ممکن است با اینترنت اکسپلورر سازگار نباشد. در کد فشرده (کامپایل شده)، این ویژگی ها برای کار با اینترنت اکسپلورر ترجمه می شوند، اما بارگذاری کد غیر فشرده ممکن است کار نکند. اگر زمین بازی را در اینترنت اکسپلورر بارگیری کنید، حتی از طریق یک سرور http محلی، زمین بازی به طور خودکار کد Blockly فشرده شده را برای اطمینان از سازگاری بارگیری می کند. برای جزئیات بیشتر درباره آزمایش تغییرات در زمین بازی در حالت فشرده، بخش «دسترسی مستقیم به زمینهای بازی» را ببینید.
زمین بازی ساده
زمین بازی ساده همان چیزی است که دو زمین بازی دیگر بر اساس آن بنا شده اند. جعبه ابزار و فضای کاری را نمایش می دهد و به شما امکان می دهد تعداد محدودی از تنظیمات را تنظیم کنید.
برای باز کردن زمین بازی، بدوید
npm run start
از ریشه Blockly. مطمئن شوید که هیچ چیز دیگری در پورت 8080 گوش نمی دهد. این دستور سروری را راه اندازی می کند که ماژول های Blockly را میزبانی می کند و به طور خودکار مرورگر شما را به صفحه زمین بازی باز می کند. وقتی آماده خاموش کردن زمین بازی هستید، این فرآیند را پایان دهید (ctrl-c در محیطهای مک و لینوکس).
ویژگی های زمین بازی:
- همه کدها برای توسعه سریع غیر فشرده هستند.
- همه بلوک های پیش فرض (به جز برخی از بلوک های منسوخ شده).
- همه مولدهای زبان (جاوا اسکریپت، پایتون، پی اچ پی، لوا و دارت).
- حالت فضای کاری (JSON یا XML) را سریال و غیر سریال کنید.
- بین طرح بندی LTR و RTL سوئیچ کنید.
- بین طرحبندیهای جعبه ابزار جابهجا شوید.
- تست استرس برای رندر.
- همه رویدادها را در کنسول ثبت کنید.
زمین بازی پیشرفته
زمین بازی پیشرفته دارای ویژگی های اضافی است تا اشکال زدایی Blockly را آسان تر کند. این همچنین زمین بازی پیشفرض است که در نمونههای بلوکی برای همه افزونهها استفاده میشود.
این زمین بازی دارای تمام ویژگی های زمین بازی ساده به علاوه:
- تنظیمات اضافی مانند اندازه شبکه، کنترلهای بزرگنمایی/حرکت، رندر، تم و موارد دیگر را میتوان پیکربندی کرد.
- تنظیمات و بلوکهای مورد استفاده در حافظه پنهان ذخیره میشوند و دفعه بعد که زمین بازی بارگیری میشود بهطور خودکار استفاده میشوند.
- خروجی هر ژنراتور را در همان پنجره ببینید.
برای راهاندازی زمین بازی پیشرفته برای هر پلاگین در نمونههای بلوکی، npm run start
از فهرست اصلی افزونه اجرا کنید. در حال حاضر، تنها یک افزونه میتواند در یک زمان اجرا شود، و از پورت 3000 استفاده میکند. اگر در راهاندازی افزونه مشکل دارید، ابتدا مطمئن شوید که هیچ چیز دیگری در آن پورت گوش نمیدهد.
برای شروع زمین بازی پیشرفته در هسته، npm run start
از ریشه Blockly اجرا کنید و سپس روی پیوند "Advanced" زیر عنوان کلیک کنید.
همچنین میتوانید با استفاده از بسته ابزارهای توسعهدهنده Blockly، صفحه آزمایشی خود را ایجاد کنید که شامل زمین بازی پیشرفته است.
زمین بازی چندگانه
زمین بازی چندگانه شامل چندین زمین بازی در تنظیمات مختلف برای حالت LTR و محل جعبه ابزار است. این عمدتاً برای بررسی سریع اینکه Blockly هیچ چیز مربوط به LTR را قبل از انتشار خراب نکرده است استفاده می شود. برای باز کردن این زمین بازی، مراحل مربوط به زمین بازی ساده را دنبال کنید و سپس URL را به /tests/multi_playground.html
تغییر دهید.
تست تغییرات
هنگام اجرای هر یک از زمین های بازی از یک سرور محلی، تنها کاری که باید انجام دهید تا تغییرات خود را در Blockly در بیشتر موارد مشاهده کنید، تازه کردن صفحه است. اگر فایل جدیدی اضافه کردهاید یا وابستگی جدیدی به فایلی اضافه کردهاید، ممکن است لازم باشد ابتدا npm run build
اجرا کنید که فایل test/deps.js
را بهروزرسانی میکند تا اطمینان حاصل شود که وابستگیها به درستی بارگذاری شدهاند و سپس صفحه را تازهسازی کنید.
اگر زمین بازی پیشرفته یک افزونه را اجرا می کنید، حتی نیازی به بازخوانی صفحه ندارید. تغییرات به طور خودکار hotload می شوند!
دسترسی مستقیم به زمین های بازی
قبلاً با پیمایش مستقیم به فایل test/playground.html
در مرورگر خود، به زمین بازی ساده به صورت محلی دسترسی داشت. این هنوز با زمین های بازی ساده و چندگانه امکان پذیر است، اما دیگر توصیه نمی شود. اگر این کار را انجام دهید، زمین بازی تشخیص می دهد که شما یک سرور محلی را اجرا نمی کنید و به طور خودکار از فایل های فشرده Blockly استفاده می کند (برای اطلاعات بیشتر به صفحه Building Blockly مراجعه کنید) و هر زمان که چیزی را در core Blockly تغییر دهید، باید هسته و مرحله را بازسازی کنید. تغییرات در صورت میزبانی از سرور راه دور، مانند نمونه ما که در سایت آزمایشی ما میزبانی شده است، همچنان می توانید به این صفحات دسترسی داشته باشید. هر زمان که در حالت فشرده باشید، پس زمینه آبی روشن خواهد بود.
زمین بازی پیشرفته از طریق file:
دسترسی در دسترس نیست.