From 72d64ea1ed5f0d786cbe8bd0604c3a92a9186d73 Mon Sep 17 00:00:00 2001 From: "dyddnrdl3@naver.com" <dyddnrdl3@naver.com> Date: Sun, 26 Dec 2021 14:47:47 +0900 Subject: [PATCH] add subjects --- README.md | 11 ++++++++--- lifecycle/README.md | 24 +++++++++++++++++++++++ lifecycle/phaser_3_scene_basic_cycle.PNG | Bin 0 -> 9907 bytes physics/README.md | 11 +++++++++++ 4 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 lifecycle/phaser_3_scene_basic_cycle.PNG create mode 100644 physics/README.md diff --git a/README.md b/README.md index c62864b..1e4c30c 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,19 @@ However, if you want to make game in modile environment not using mobile web bro ## Before prepare for phaser Before prepare for using Phaser, you may need local webserver to run Phaser game because of security issue or CORS problem. In that case, prepare your favorite local webserver environment. ## After setting up environment -You use CDN in script or install phaser by using npm or download at website. Below is phaser archive link you can choose specific version you want. If you download necessary files or use npm for installation, now you are ready to dive in phaser world! (of course, you can use CDN instead) +You can use CDN in script or install phaser by using npm or download at website or GitHub. Below is phaser archive link you can choose specific version you want. If you download necessary files or use npm for installation, now you are ready to dive in phaser world! (of course, you can use CDN instead) <br/><br/> <strong>Phaser Archive</strong>: https://phaser.io/download/archive <br/> <br/> +**Using CDN** +<pre><code><script src="//cdn.jsdelivr.net/npm/phaser@3.51.0/dist/phaser.js"></script> +</code></pre><br/> + # How to make phaser game? You can make various kinds of game like 2D-scroll game, puzzle game... etc. For starter, I recommend you to refer [Phaser website game examples](https://phaser.io/examples/v3/category/games) <br/><br/> -# Topics about Phaser 3 +# Knowledges about Phaser 3 I'd like to talk about some feature, differences and other interesting topics may be helpful for your programming. Belows are my suggest! <br/> -[<strong>Phaser lifecycle and what you should concern</strong>]() \ No newline at end of file +[<strong>Phaser Scene cycle</strong>](./lifecycle/README.md)<br/> +[<strong>Phaser Physics: arcade vs matter</strong>](./physics/README.md) \ No newline at end of file diff --git a/lifecycle/README.md b/lifecycle/README.md index 8e12ffa..28a0b3b 100644 --- a/lifecycle/README.md +++ b/lifecycle/README.md @@ -1 +1,25 @@ # Phaser 3 Life cycle +Phaser's Scene consists of 3 main states which are **CREATE**, **UPDATE** and **STOP**. You can switch to each state using triggering events on manually and also you can add eventhandler for those. Please check flow chart on <strong>[Phaser 3 Scene Note](https://rexrainbow.github.io/phaser3-rex-notes/docs/site/scene/)</strong> to see how phaser's states are enterd and what detailed steps are.<br/><br/> +However, if you just started using phaser, you should know 3 basic Scene functions **preload**, **create** and **update**. +<pre><code> + preload (){ + // Codes in here will be executed before create() + } + + create (){ + // Codes in here will be executed before Scene starts updating + } + + update(){ + // Codes in here will be executed every time Phaser update this scene + } + +</code></pre><br/> + + +Usually, you can load images or other resources at **preload** and create Phaser objects at **create** like sprite objects or others. And make your own game logic at **update**. But you have to consider that **update** get executed periodically which is directed with FPS (if FPS is 30, that means **update** get executed 30 times in a second). However, you can set FPS and **update** execution rate different. + +--- +## Why we load resources at **preload** and make objects at **create**? +You may wonder why i suggest you to load resources at **preload** and create objects at **create**. Well, if you try you may see that some objects not being created well especially image related objects. This is because Phaser is based on JavaScript which makes loading resources asynchronously. Thus, to avoid such problem, i recommend you to load resources at preload and create phaser object at **create** but it is not mandatory nor official. + diff --git a/lifecycle/phaser_3_scene_basic_cycle.PNG b/lifecycle/phaser_3_scene_basic_cycle.PNG new file mode 100644 index 0000000000000000000000000000000000000000..da6b89585ef63711f8893c8e05c9a842ad934506 GIT binary patch literal 9907 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 U^Vq&-U|?YIboFyt=akR{0PpQI!vFvP literal 0 HcmV?d00001 diff --git a/physics/README.md b/physics/README.md new file mode 100644 index 0000000..84b2d4f --- /dev/null +++ b/physics/README.md @@ -0,0 +1,11 @@ +# Phaser 3 Physics +## **arcade** vs **matter** +In Phaser, there are 3 type of phsic engines which are **arcade**, **matter** and **impact**. Among them, peolpe usually use **arcade** and **matter** (There are not even enough information about **impact** physics in <strong>[Phaser API docs](https://photonstorm.github.io/phaser3-docs/Phaser.Physics.Impact.html)</strong>). Then you will wonder what is the difference between arcade physics and matter physics. + +--- +## performance: arcade vs matter +If you searched about it before, then you would see many comments saying that **arcade** physics are more suitable in simple games because of performance issue. And yes, that is sort of true because while **matter** has more functions and complex advanced physics body which requires more memory. So, even if you make same simple game with **matter** physics, it spends more memory than one made widh **arcade** physics. There are some conversations about this and this one might be helpful: https://phaser.discourse.group/t/arcade-vs-matterjs-performance/7218. + +--- +## physics: arcade vs matter +From above, you may think 'why should we even consider about **matter** while it just wastes more memory thatn **arcade**?'. One of ther answer is that **matter** has more natural physic engine than **arcade** like complex shapes or chain of bodies. -- GitLab