{"id":1707,"date":"2022-09-13T20:24:58","date_gmt":"2022-09-13T11:24:58","guid":{"rendered":"http:\/\/batmask.dothome.co.kr\/?p=1707"},"modified":"2025-09-11T18:48:55","modified_gmt":"2025-09-11T09:48:55","slug":"%ec%b2%98%ec%9d%8c-%ec%a0%91%ed%95%98%eb%8a%94-godot-pong-%ea%b2%8c%ec%9e%84%ec%9d%84-%eb%a7%8c%eb%93%a4%ec%96%b4%eb%b3%b4%ec%9e%90-5","status":"publish","type":"post","link":"http:\/\/batmask.net\/index.php\/2022\/09\/13\/1707\/","title":{"rendered":"\ucc98\uc74c \uc811\ud558\ub294 Godot: Pong \uac8c\uc784\uc744 \ub9cc\ub4e4\uc5b4\ubcf4\uc790 #5"},"content":{"rendered":"\n<p> Pong \uac8c\uc784\uc5d0 \ub300\ud55c \uc9c4\uc9dc \ub9c8\uc9c0\ub9c9 \ud3ec\uc2a4\ud305\uc774\ub2e4. \uc774\ubc88\uc5d0 \ud560 \uc77c\uc740 \uc2a4\ucf54\uc5b4\ub97c \ub0c8\uc744 \ub54c, \ubc14\ub85c \uacf5\uc774 \ubc1c\uc0ac\ub418\uba70 \uc2dc\uc791\ub418\ub294 \ubb38\uc81c\ub97c \uace0\uce60 \uac83\uc774\ub2e4. \ud0c0\uc774\uba38\ub97c \ucd94\uac00\ud558\uc5ec \ub2e4\uc74c \ub77c\uc6b4\ub4dc\uac00 \uc2dc\uc791\ub418\uae30\uc804\uc5d0 \uc900\ube44\ud560 \uc2dc\uac04\uc744 \uc8fc\ub3c4\ub85d \ud560 \uac83\uc774\ub2e4. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ud0c0\uc774\uba38(Timer)<\/strong><\/h4>\n\n\n\n<p>\uac8c\uc784\uc5d0\uc11c \ud0c0\uc774\uba38\ub3c4 \uc815\ub9d0 \ub9ce\uc774 \uc0ac\uc6a9\ud558\ub294 \uae30\ub2a5\uc911 \ud558\ub098\ub2e4. \ud558\ub098\uc758 \uc2a4\ud14c\uc774\uc9c0\ub97c \ud074\ub9ac\uc5b4\ud558\ub294\ub370 \uc2dc\uac04\uc81c\ud55c\uc774 \uac78\ub9b0 \uacbd\uc6b0\ub3c4 \uc788\uace0, RPG\uac8c\uc784\ub4e4\uc740 \uac01\uc885 \uc2a4\ud0ac\ub4e4\uc5d0 \ucfe8\ud0c0\uc784\uc774 \uac78\ub824\uc788\uae30\ub3c4 \ud558\ub2e4. \uc9c0\uae08 \ub9cc\ub4dc\ub294 Pong\uacfc \uac19\uc740 \uc544\ucf00\uc774\ub4dc \uac8c\uc784\uc740 \uac8c\uc784 \uc2dc\uc791\uc804\uc5d0 \uc9e7\uc740 \uc2dc\uac04\uc758 \ub51c\ub808\uc774\ub97c \uc918\uc11c \ud50c\ub808\uc774\uc5b4\uac00 \uac8c\uc784\uc744 \uc900\ube44\ud558\ub3c4\ub85d \ud55c\ub2e4. <\/p>\n\n\n\n<p> \ud0c0\uc774\uba38\ub294 \ud0c0\uc784\uc544\uc6c3 \uc2dc\uac04\uc744 \uc8fc\uba74 \ud574\ub2f9 \uc2dc\uac04\uc774 \uc9c0\ub09c \ud6c4, \ud0c0\uc784\uc544\uc6c3 \uc774\ubca4\ud2b8\ub97c \ubc1c\uc0dd\uc2dc\ud0a8\ub2e4. \uc774 \ud0c0\uc784\uc544\uc6c3 \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub97c \uc791\uc131\ud558\uba74 \ub561\uc774\ub2e4. Pong \uac8c\uc784\uc5d0 \ud0c0\uc774\uba38\ub97c \ub2ec\uc544\ubcf4\uc790.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ud0c0\uc774\uba38 \ub178\ub4dc(Timer Node)<\/strong><\/h4>\n\n\n\n<p> Pong Level \uc52c\uc744 \uc5f4\uace0, \ud0c0\uc774\uba38 \ub178\ub4dc\ub97c \ucd94\uac00\ud574 \ubcf4\uc790.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"529\" height=\"199\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer02.png\" alt=\"\" class=\"wp-image-1708\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer02.png 529w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer02-300x113.png 300w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><figcaption class=\"wp-element-caption\">Timer Node<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc774\ub984\uc744 ResetTimer\ub85c \ubc14\uafd4\uc900\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"241\" height=\"300\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer01.png\" alt=\"\" class=\"wp-image-1709\"\/><figcaption class=\"wp-element-caption\">Reset Timer<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc774\uc81c \ud0c0\uc774\uba38\ub97c \uc120\ud0dd\ud558\uace0 Inspector\ub97c \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"295\" height=\"318\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer03.png\" alt=\"\" class=\"wp-image-1710\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer03.png 295w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer03-278x300.png 278w\" sizes=\"auto, (max-width: 295px) 100vw, 295px\" \/><figcaption class=\"wp-element-caption\">Timer Node Inspector<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uba3c\uc800 Process Mode\uac00 \uc788\ub2e4. Idle\uacfc Physics\uac00 \uc120\ud0dd\uac00\ub2a5\ud55c\ub370, _process()\ub97c \uc774\uc6a9\ud560\uc9c0, _physics_process()\ub97c \uc774\uc6a9\ud560\uc9c0 \uc120\ud0dd\ud558\ub294 \ubd80\ubd84\uc774\ub2e4. Godot \uac8c\uc784\uc5d4\uc9c4\uc774 \ubcf4\ud1b5 30~60fps\uc758 \uc18d\ub3c4\ub85c \ub8e8\ud504\ub97c \ub3cc\uba70 \ub3d9\uc791\ud558\uae30 \ub54c\ubb38\uc5d0, \ud0c0\uc774\uba38\uac00 \uc5b4\ub5bb\uac8c \uad6c\ud604\ub418\ub294\uc9c0 \uac00\ub2a0\ud560 \uc218 \uc788\ub294 \ubd80\ubd84\uc774\uae30\ub3c4 \ud558\ub2e4. \uc544\ub9c8\ub3c4 _process(delta)\ub098 _physics_process(delta)\uc5d0\uc11c delta\uac12\uc744 \ub204\uc801\ud574 \ub098\uac00\uba70 \ud0c0\uc784\uc544\uc6c3 \uc5ec\ubd80\ub97c \uac80\uc0ac\ud558\ub294 \uac83\uc73c\ub85c \ucd94\uc815\ub41c\ub2e4. \uadf8\ub7ec\ubbc0\ub85c \ud0c0\uc774\uba38\uac00 \uc815\ud655\ud55c \uc2dc\uac04\uac04\uaca9\uc744 \ud544\uc694\ub85c \ud55c\ub2e4\uba74, Physics\ub97c \uc120\ud0dd\ud558\ub294\uac8c \ub3c4\uc6c0\uc774 \ub420 \uac83\uc774\ub2e4. \ub450\ubc88\uc9f8\ub85c Wait Time\uc774 \uc788\ub294\ub370, \ud0c0\uc784\uc544\uc6c3 \uc2dc\uac04\uc744 \uc124\uc815\ud55c\ub2e4. \uc2a4\ud06c\ub864\ubc14\ub97c \uc6c0\uc9c1\uc5ec\ubcf4\uba74, \uc18c\uc218\uc810\uae4c\uc9c0\ub3c4 \uc124\uc815\uc774 \uac00\ub2a5\ud558\ub2e4. \ub2f9\uc5f0\ud788 \uc9c1\uc811 \uc785\ub825\ub3c4 \ub418\uace0. \ub2e4\uc74c, One Shot \ud56d\ubaa9\uc740 \ud0c0\uc774\uba38\uac00 \ud55c \ubc88 \uc2e4\ud589\ub418\uace0 \ub05d\ub0a0\uc9c0, \ubc18\ubcf5\ud574\uc11c \uc2e4\ud589\ud560\uc9c0 \uacb0\uc815\ud558\ub294 \ubd80\ubd84\uc774\ub2e4. \uccb4\ud06c\ub97c \ud574\uc918\uc57c \ud55c\ubc88\ub9cc \uc2e4\ud589\ub41c\ub2e4. Autostart \ud56d\ubaa9\uc740 \ud0c0\uc774\uba38\uac00 \ub85c\ub529 \ub410\uc744 \ub54c, \ud0c0\uc774\uba38\uac00 \ubc14\ub85c \ub3d9\uc791\ud558\uac8c \ud558\ub294 \ud56d\ubaa9\uc774\ub2e4. <\/p>\n\n\n\n<p> \uc6b0\ub9ac\ub294 \uc2a4\ucf54\uc5b4\ub97c \ud68d\ub4dd\ud588\uc744 \ub54c, 3\ucd08\uc815\ub3c4 \ub51c\ub808\uc774\ub97c \uc8fc\ub3c4\ub85d \ud558\uc790. Wait Time\uc744 3\ucd08\ub85c \uc124\uc815\ud558\uace0, One Shot\uc744 \uccb4\ud06c\ud55c\ub2e4. Autostart\ub294 \uccb4\ud06c\ub418\uc9c0 \uc54a\uc740\ucc44\ub85c \ub0a8\uaca8\ub454\ub2e4. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"302\" height=\"162\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer04.png\" alt=\"\" class=\"wp-image-1711\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer04.png 302w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer04-300x161.png 300w\" sizes=\"auto, (max-width: 302px) 100vw, 302px\" \/><figcaption class=\"wp-element-caption\">Timer<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc774\uc81c, \ucf54\ub4dc\uc5d0\uc11c \ud0c0\uc774\uba38\ub97c \ub3d9\uc791\ud574\uc57c \ud55c\ub2e4. \uc5b4\ub290\ucabd\uc774\ub4e0 \uc2a4\ucf54\uc5b4\ub97c \ud68d\ub4dd \ud588\uc744 \ub54c\ub2c8\uae4c, Pong Level.gd \uc5d0\uc11c _on_LeftArea_body_entered() \uc640 _on_RightArea_body_entered()\uc5d0\uc11c \ud0c0\uc774\uba38\ub97c \uc2dc\uc791\ud574\uc57c \ud55c\ub2e4. \ub610\ud55c, \ud0c0\uc774\uba38\uac00 \ub3d9\uc791\ud558\ub294 \ub3d9\uc548\uc740 \uacf5\uc744 \uc6c0\uc9c1\uc774\uc9c0 \uc54a\ub2e4\uac00, \ud0c0\uc784\uc544\uc6c3\uc774 \ub410\uc744 \ub54c \uc2dc\uc791\ud574\uc57c \ud55c\ub2e4. \uc6b0\uc120 \ud0c0\uc774\uba38\ub97c \ub3d9\uc791\ud558\ub294 \ucf54\ub4dc\ub97c \ucd94\uac00\ud574\ubcf4\uc790. <a href=\"https:\/\/docs.godotengine.org\/ko\/stable\/classes\/class_timer.html#timer\">\ud0c0\uc774\uba38<\/a>\uc758 <a href=\"https:\/\/docs.godotengine.org\/ko\/stable\/classes\/class_timer.html#class-timer-method-start\">start()<\/a> \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud574\uc8fc\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>...\nfunc _on_LeftArea_body_entered(body: PhysicsBody2D):\t\n\tif body.name == \"PongBall\":\n\t\tOpponentScore += 1\n\t\tprint(\"Opponent Score = %d\" %OpponentScore)\n\t\temit_signal(\"opponent_score_updated\", OpponentScore)\n\t\t$PongBall.reset()\n\t\t$ResetTimer.start() # &lt;-- here\n\nfunc _on_RightArea_body_entered(body: PhysicsBody2D):\n\tif body.name == \"PongBall\":\n\t\tPlayerScore += 1\n\t\tprint(\"Player Score = %d\" %PlayerScore)\n\t\temit_signal(\"player_score_updated\", PlayerScore)\n\t\t$PongBall.reset()\n\t\t$ResetTimer.start() # &lt;-- here<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_on_LeftArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name <\/span><span style=\"color: #F47067\">==<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">+=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Opponent Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;opponent_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">() <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">func <\/span><span style=\"color: #6CB6FF\">_on_RightArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name =<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\"> +<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Player Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;player_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">() <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p> \ud0c0\uc774\uba38\uc758 \ud0c0\uc784\uc544\uc6c3\uc740 \uc2dc\uadf8\ub110\ub85c \ucc98\ub9ac\ub41c\ub2e4. \ub178\ub4dc\ud2b8\ub9ac\uc5d0\uc11c ResetTimer\ub97c \uc120\ud0dd\ud55c \ud6c4, timeout \uc2dc\uadf8\ub110\uc744 \uc5f0\uacb0\ud574\ubcf4\uc790. \uc5f0\uacb0 \ub300\uc0c1\uc740 Pong Level.gd \uc2a4\ud06c\ub9bd\ud2b8\ub85c \ud55c\ub2e4. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"291\" height=\"194\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer05.png\" alt=\"\" class=\"wp-image-1713\"\/><figcaption class=\"wp-element-caption\">timeout signal<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"604\" height=\"521\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer06.png\" alt=\"\" class=\"wp-image-1714\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer06.png 604w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer06-300x259.png 300w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><figcaption class=\"wp-element-caption\">timeout signal connect to Pong Level<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc774\uc81c Pong Level.gd\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 timeout \ud578\ub4e4\ub7ec\uac00 \ucd94\uac00\ub410\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>...\nfunc _on_ResetTimer_timeout():\n\tpass # Replace with function body.\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_on_ResetTimer_timeout<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">pass<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #768390\"># Replace with function body.<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc774\uc81c \uc2a4\ucf54\uc5b4\ub97c \ud68d\ub4dd\uc2dc \uacf5\uc744 \uba48\ucd94\uace0, \ud0c0\uc784\uc544\uc6c3\uc774 \ub418\uba74 \uacf5\uc744 \ub2e4\uc2dc \uc6c0\uc9c1\uc5ec\uc57c \ud55c\ub2e4. \uc774\uac83\ub3c4 \ucee4\uc2a4\ud140 \uc2dc\uadf8\ub110\uc744 \uc815\uc758\ud574\uc11c PongBall\uc5d0\uac8c \ucee4\uc2a4\ud140 \uc2dc\uadf8\ub110\uc744 \ucc98\ub9ac\ud558\uac8c \uad6c\ud604\ud560 \uc218 \uc788\uc73c\ub098, \uc5ec\uae30\uc11c\ub294 \uac04\ub2e8\ud558\uac8c PongBall\uc5d0 \uba54\uc18c\ub4dc\ub97c \ucd94\uac00\ud558\uace0 \uc9c1\uc811 \ud638\ucd9c\ud574 \uc8fc\ub3c4\ub85d \ud574\ubcf4\uc790. PongBall.gd \uc2a4\ud06c\ub9bd\ud2b8 \ud30c\uc77c\uc744 \uc5f4\uace0 \ub2e4\uc74c\uacfc \uac19\uc774, start(), stop() \uba54\uc18c\ub4dc\ub97c \ucd94\uac00\ud558\uc790.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>...\nfunc start():\n\tspeed = 600\n\nfunc stop():\n\tspeed = 0\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">start<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\tspeed <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">600<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">stop<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\tspeed <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">0<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p> \uc815\ub9d0 \uac04\ub2e8\ud558\uac8c speed\uac12\uc744 \uc124\uc815\ud574\uc918\uc11c \uacf5\uc744 \uba48\ucd94\uace0 \ub2e4\uc2dc \uc6c0\uc9c1\uc774\uac8c \uad6c\ud604\ud588\ub2e4. \uc774\uc81c Pong Level.gd\uc5d0 \ud0c0\uc774\uba38 \ucf54\ub4dc\ub97c \ucd94\uac00\ud55c \ubd80\ubd84\uc5d0\uc11c \uc774 \uba54\uc18c\ub4dc\ub4e4\uc744 \ud544\uc694\uc5d0 \ub530\ub77c \ud638\ucd9c\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func _on_LeftArea_body_entered(body: PhysicsBody2D):\t\n\tif body.name == \"PongBall\":\n\t\tOpponentScore += 1\n\t\tprint(\"Opponent Score = %d\" %OpponentScore)\n\t\temit_signal(\"opponent_score_updated\", OpponentScore)\n\t\t$PongBall.reset()\n\t\t$PongBall.stop()  # &lt;-- here\n\t\t$ResetTimer.start()\n\t\t\n\nfunc _on_RightArea_body_entered(body: PhysicsBody2D):\n\tif body.name == \"PongBall\":\n\t\tPlayerScore += 1\n\t\tprint(\"Player Score = %d\" %PlayerScore)\n\t\temit_signal(\"player_score_updated\", PlayerScore)\n\t\t$PongBall.reset()\n\t\t$PongBall.stop()  # &lt;-- here\n\t\t$ResetTimer.start()\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_on_LeftArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name <\/span><span style=\"color: #F47067\">==<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">+=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Opponent Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;opponent_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">stop<\/span><span style=\"color: #ADBAC7\">()  <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">func <\/span><span style=\"color: #6CB6FF\">_on_RightArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name =<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\"> +<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Player Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;player_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">stop<\/span><span style=\"color: #ADBAC7\">()  <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc774\uc81c \uc2e4\ud589\ud574\ubcf4\uba74, \uc2a4\ucf54\uc5b4\ub97c \ub0c8\uc744 \ub54c \uacf5\uc774 3\ucd08\uac04 \uba48\ucdc4\ub2e4\uac00 \uc6c0\uc9c1\uc774\ub294 \uac83\uc774 \ubcf4\uc77c \uac83\uc774\ub2e4. <\/p>\n\n\n\n<p>\ubb54\uac00 \ud5c8\uc804\ud55c\ub370, \ud55c\uac78\uc74c\ub9cc \ub354 \ub098\uc544\uac00 \ud0c0\uc774\uba38\uac00 \uce74\uc6b4\ud2b8 \ub418\ub294 \uc2dc\uac04\uc744 \ud654\uba74 \uac00\uc6b4\ub370 \ud45c\uc2dc\ud574\ubcf4\uc790. \ub808\uc774\ube14\uc744 \ud558\ub098 \ucd94\uac00\ud558\uace0, \uc774\ub984\uc744 TimerCount\ub85c \ubc14\uafd4\uc900\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"233\" height=\"94\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer07.png\" alt=\"\" class=\"wp-image-1716\"\/><figcaption class=\"wp-element-caption\">Timer Count<\/figcaption><\/figure>\n<\/div>\n\n\n<p>TimerCount \ub808\uc774\ube14\uc744 \uc120\ud0dd\ud55c \ud6c4, \ubdf0\ud3ec\ud2b8\uc758 Layout\uc5d0\uc11c Full Rect\ub97c \uc120\ud0dd\ud55c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"189\" height=\"553\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer08.png\" alt=\"\" class=\"wp-image-1717\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer08.png 189w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer08-103x300.png 103w\" sizes=\"auto, (max-width: 189px) 100vw, 189px\" \/><figcaption class=\"wp-element-caption\">Full Rect Layout<\/figcaption><\/figure>\n<\/div>\n\n\n<p> Inspector\uc5d0\uc11c Text\ud56d\ubaa9\uc5d0 \ub354\ubbf8\uac12\uc73c\ub85c \uc544\ubb34 \uac12\uc774\ub098 \ub123\uc5b4\uc8fc\uace0, Align, V Align\uc744 Center\ub85c \ub9de\ucdb0\uc900\ub2e4. \ud14d\uc2a4\ud2b8\uac00 \ud654\uba74 \uac00\uc6b4\ub370\uc5d0 \ubcf4\uc77c \uac83\uc774\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"285\" height=\"276\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer09.png\" alt=\"\" class=\"wp-image-1719\"\/><figcaption class=\"wp-element-caption\">Timer Count<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\ubdf0\ud3ec\ud2b8\ub97c \ubcf4\uba74, \uacf5\uacfc \uacb9\uce58\ub294\uac8c \ubcf4\uc77c \ud150\ub370, \ud14d\uc2a4\ud2b8\uac00 \uc0b4\uc9dd\ub9cc \uc704\ub85c \uc62c\ub77c\uac00\uba74 \uc88b\uaca0\ub2e4. Margin Top\uac12\uc744 -100\uc73c\ub85c \uc124\uc815\ud558\uc790.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"201\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer10.png\" alt=\"\" class=\"wp-image-1720\"\/><figcaption class=\"wp-element-caption\">Timer Count<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc2a4\ucf54\uc5b4\ub791 \ub9c8\ucc2c\uac00\uc9c0\ub85c \uae00\uc790\uac00 \ub108\ubb34 \uc791\uc744 \uac83\uc774\ub2e4. \uc2a4\ucf54\uc5b4\uc5d0\uc11c \ud588\ub358 \uac83\ucc98\ub7fc Theme Overrides \ud56d\ubaa9\uc5d0\uc11c \ud3f0\ud2b8\uc640 \ud06c\uae30\ub97c \uc124\uc815\ud558\uc790.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"291\" height=\"493\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer11.png\" alt=\"\" class=\"wp-image-1721\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer11.png 291w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer11-177x300.png 177w\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" \/><figcaption class=\"wp-element-caption\">Timer Count<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc2a4\ucf54\uc5b4\ub791 \ub3d9\uc77c\ud55c \ud06c\uae30\uc5d0 \uac19\uc740 \ud3f0\ud2b8\ub97c \uc0ac\uc6a9\ud588\ub294\ub370, \uad6c\ubd84\uc744 \ud574\uc8fc\uace0 \uc2f6\ub2e4. \uc0ac\uc6a9\uc790\uc758 \uc8fc\uc758\ub97c \ub04c\uc5b4\uc57c \ud558\ub294 \ud0c0\uc774\uba38\ub2c8\uae4c, \ube68\uac04\uc0c9\uc73c\ub85c \ubcc0\uacbd\ud574\ubcf4\uc790. Theme Overrides \ud56d\ubaa9\uc5d0 Colors\uc5d0\uc11c Font Color\ub97c \uccb4\ud06c\ud574 \ubcc0\uacbd\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"475\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/fontcolor.gif\" alt=\"\" class=\"wp-image-1722\"\/><figcaption class=\"wp-element-caption\">font color<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc5ec\uae30\uae4c\uc9c0 \uc644\ub8cc\ud558\uba74 \ubdf0\ud3ec\ud2b8\uac00 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcf4\uc77c \uac83\uc774\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"377\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/timer12.png\" alt=\"\" class=\"wp-image-1723\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer12.png 491w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/timer12-300x230.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><figcaption class=\"wp-element-caption\">Timer Count Viewport<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc774\uc81c, TimerCount \ub808\uc774\ube14\uc5d0\uc11c \ud0c0\uc774\uba38 \uc2dc\uac04\uc744 \ud45c\uc2dc\ud574\uc57c \ud55c\ub2e4. \uc774\uac83\ub3c4 \uc2dc\uadf8\ub110\uc744 \uc774\uc6a9\ud558\ub294\uac8c \uc815\ub2f5\uc774\uaca0\uc9c0\ub9cc&#8230;  Pong Level.gd\uc5d0\uc11c \ucc98\ub9ac\ud558\uc790. <\/p>\n\n\n\n<p>\uaf2d \uc9da\uace0 \ub118\uc5b4\uac00\uc57c\ud560 \ubd80\ubd84\uc778\ub370, \uc77c\ubc18\uc801\uc73c\ub85c\ub294 \uc774\ub7f0 \ubc29\uc2dd\uc774 \uc88b\uc740 \ucc98\ub9ac\ubc29\ubc95\uc740 \uc544\ub2c8\ub77c\uace0 \uc5b8\uae09\ud574\ub450\uace0 \uc2f6\ub2e4. \ub178\ub4dc\uac04 \uc2dc\uadf8\ub110\uc744 \uc774\uc6a9\ud558\ub294\uac8c \uc77c\ubc18\uc801\uc778 \uc815\ub2f5\uc774\uba70, \ub178\ub4dc\uac04 \uc758\uc874\ub3c4\ub97c \ub0ae\ucdb0\uc11c \ubcf5\uc7a1\ub3c4\ub97c \uc5c6\uc560\uc900\ub2e4. Pong Level.gd\uc5d0\uc11c \ucc98\ub9ac\ud558\ub294\uac8c \uc27d\uace0 \ud3b8\ud558\uae34 \ud558\uc9c0\ub9cc, \uc774\ub7f0 \ubc29\ubc95\uc740 \uae00\ub85c\ubc8c \ubcc0\uc218\ub098 \uac1d\uccb4\uc758 \ud568\uc815\uc774\uae30\ub3c4 \ud558\ub2e4. \uae00\ub85c\ubc8c \uac1d\uccb4\ub098 \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\uba74, \uc5b4\ub514\uc5d0\uc11c\ub098 \uc811\uadfc\uc774 \uc27d\uae30 \ub54c\ubb38\uc5d0 \ud3b8\ub9ac\ud574 \ubcf4\uc774\uc9c0\ub9cc, \uaddc\ubaa8\uac00 \ucee4\uc9c0\uba74 \ubcf5\uc7a1\ub3c4\uac00 \uac10\ub2f9 \ubabb\ud558\uac8c \uc99d\uac00\ud560 \uac83\uc774\ub2e4. <br> \uadf8\ub7ec\ub098 \ud55c\ud3b8\uc73c\ub85c\ub294, \uc9c0\uae08 \ub9cc\ub4dc\ub294 Pong\uac8c\uc784 \uc218\uc900\uc5d0\uc11c \uac8c\uc784\uc774 \ub354 \ud655\uc7a5\ub420 \uac00\ub2a5\uc131\uc774 \uc5c6\ub2e4\uace0 \ubcfc \uc218\uc788\ub294 \uc0c1\ud0dc\uc774\uae30 \ub54c\ubb38\uc5d0, \uad73\uc774 \uc2dc\uadf8\ub110\uc744 \ucd94\uac00\ud558\uba70 \uc791\uc5c5\ub7c9\uc744 \ub298\ub9ac\ub294\uac74 \ub2f5\uc774 \uc544\ub2d0\uc218\ub3c4 \uc788\ub2e4. \ud544\uc694\ud55c \ub9cc\ud07c\ub9cc \uad6c\ud604\ud558\ub294\uac8c \uc815\ub2f5\uc774\ub77c\uace0 \ub9d0\ud55c\uc801\uc774 \uc788\ub2e4. \uc5ec\uae30\uc11c\ub294 Pong Level.gd\uc5d0\uc11c \ub3d9\uc791\ud558\ub294 \uae30\ub2a5\uad6c\ud604\uc744 \ud574\ub193\ub294\uac8c \uc815\ub2f5\uc77c \uc218 \uc788\uace0, \ucd94\uac00 \uc791\uc5c5\uc774 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0 \uadf8 \uc2dc\uc810\uc5d0\uc11c \ub9ac\ud329\ud1a0\ub9c1\uc744 \ud1b5\ud574 \uac1c\uc120\ud558\ub294\uac8c \ub9de\uc744 \uac83\uc774\ub2e4. <\/p>\n\n\n\n<p>Pong Level.gd\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \ucf54\ub4dc\ub97c \ucd94\uac00\ud558\uc790.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>...\nfunc _ready():\n\t$TimerCount.text = \"0\"\n\nfunc _process(delta):\n\t$TimerCount.text = str(int(ceil($ResetTimer.time_left)))\n...<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_ready<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.text <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;0&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_process<\/span><span style=\"color: #ADBAC7\">(delta):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.text <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">str<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">int<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #6CB6FF\">ceil<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.time_left)))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">...<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uba3c\uc800, _ready() \ucf5c\ubc31\ud568\uc218\uc5d0\uc11c TimerCount \ub808\uc774\ube14\uc758 \ud14d\uc2a4\ud2b8\ub97c &#8220;0&#8221;\uc73c\ub85c \ucd08\uae30\ud654 \ud588\ub2e4. _process()\uc5d0\uc11c ResetTimer\uc758 time_left\uac12\uc744 \uc77d\uc5b4\uc640 \uc0ac\uc6a9\ud55c\ub2e4. time_left\uac12\uc740 float\uac12\uc774\ub2e4. ceil()\ud568\uc218\ub294 \uc62c\ub9bc \ud568\uc218\uc778\ub370, 2~3 \uc0ac\uc774\uac12\uc740 3\uc73c\ub85c, 1~2 \uac12\uc740 2\ub85c \uc62c\ub9bc\ud574\uc900\ub2e4. \ubc18\uc62c\ub9bc\uc744 \ud574\uc8fc\ub294 round()\ub3c4 \uc788\uc73c\ub098, \uc0ac\uc6a9\ud574\ubcf4\uba74 0~0.5\ub97c 0\uc73c\ub85c \ud45c\uc2dc\ud574\uc11c 0\uc774 \ub418\uc5c8\ub294\ub370\ub3c4 \uc2dc\uc791\uc774 \uc548\ub418\uace0 \ub51c\ub808\uc774\uac00 \uc0dd\uae30\ub294\uac78 \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \uc815\ud655\ud788 0\uc774 \ub418\uba74\uc11c \uc2dc\uc791\ud558\ub824\uba74 \uc62c\ub9bc\ud568\uc218\uc778 ceil()\uc744 \uc0ac\uc6a9\ud574\uc57c \ud55c\ub2e4. ceil()\ub85c \uc62c\ub9bc\uc744  \ud588\uc9c0\ub9cc, \uc774\ub300\ub85c \ubb38\uc790\uc5f4\ub85c \ubcc0\ud658\ud558\uba74 \uc18c\uc218\uc810 \uc790\ub9ac\uae4c\uc9c0 \ud45c\uc2dc\uac00 \ub41c\ub2e4. \uc774\ub97c \ub9c9\uae30 \uc704\ud574 \uba3c\uc800 int()\ub97c \uc774\uc6a9\ud574 \uc815\uc218\ub85c \ubcc0\ud658\ud55c\ub2e4. \ubcc0\ud658\ub41c \uc815\uc218\uac12\uc744 str()\uc744 \uc774\uc6a9\ud574 \uc2a4\ud2b8\ub9c1\uc73c\ub85c \ubcc0\ud658\ud574\uc11c text \uac12\uc5d0 \ub123\uc5b4\uc900\ub2e4. \uc2e4\ud589\ud574\ubcf4\uba74, \uc798 \ub3d9\uc791\ud568\uc744 \uc54c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p> \uc544\uc9c1 \ud55c\uac00\uc9c0 \ubb38\uc81c\uac00 \uc788\ub2e4. \ud0c0\uc774\uba38\uac00 \uc0c8 \ub77c\uc6b4\ub4dc\ub97c \uc2dc\uc791\ud560 \ub54c\ub9cc \ubcf4\uc600\ub2e4\uac00 \ud0c0\uc774\uba38\uac00 \ub2e4\ub3cc\uace0 \uacf5\uc774 \uc6c0\uc9c1\uc774\uba74 \uc548\ubcf4\uc774\ub294\uac8c \ub9de\uc744 \uac83\uc774\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc774 \ucf54\ub4dc\ub97c \ucd94\uac00\ud558\uc790.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func _ready():\n\t$TimerCount.text = \"0\"\n\t$TimerCount.visible = false  # &lt;-- here\n\nfunc _process(delta):\n\t$TimerCount.text = str(int(ceil($ResetTimer.time_left)))\n\nfunc _on_LeftArea_body_entered(body: PhysicsBody2D):\t\n\tif body.name == \"PongBall\":\n\t\tOpponentScore += 1\n\t\tprint(\"Opponent Score = %d\" %OpponentScore)\n\t\temit_signal(\"opponent_score_updated\", OpponentScore)\n\t\t$PongBall.reset()\n\t\t$PongBall.stop()\n\t\t$TimerCount.visible = true  # &lt;-- here\n\t\t$ResetTimer.start()\n\t\t\n\nfunc _on_RightArea_body_entered(body: PhysicsBody2D):\n\tif body.name == \"PongBall\":\n\t\tPlayerScore += 1\n\t\tprint(\"Player Score = %d\" %PlayerScore)\n\t\temit_signal(\"player_score_updated\", PlayerScore)\n\t\t$PongBall.reset()\n\t\t$PongBall.stop()\n\t\t$TimerCount.visible = true  # &lt;-- here\n\t\t$ResetTimer.start()\n\n\nfunc _on_ResetTimer_timeout():\n\t$TimerCount.visible = false  # &lt;-- here\n\t$PongBall.start()<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_ready<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.text <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;0&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.visible <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">  <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_process<\/span><span style=\"color: #ADBAC7\">(delta):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.text <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">str<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F69D50\">int<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #6CB6FF\">ceil<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.time_left)))<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_on_LeftArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name <\/span><span style=\"color: #F47067\">==<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">+=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Opponent Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;opponent_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">stop<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #F69D50\">visible<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">true<\/span><span style=\"color: #ADBAC7\">  <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">func <\/span><span style=\"color: #6CB6FF\">_on_RightArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name =<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\"> +<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Player Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;player_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">stop<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #F69D50\">visible<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">true<\/span><span style=\"color: #ADBAC7\">  <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">func <\/span><span style=\"color: #6CB6FF\">_on_ResetTimer_timeout<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #F69D50\">visible<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">false<\/span><span style=\"color: #ADBAC7\">  <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\ucf54\ub4dc\ub97c \ubcf4\uba74, _ready()\uc5d0\uc11c \uc2dc\uc791\uc2dc $TimerCount.visible \uac12\uc744 false\ub85c \uc8fc\uc5b4\uc11c \uc548\ubcf4\uc774\uac8c\ud55c\ub2e4. \ub204\uad70\uac00 \uc2a4\ucf54\uc5b4\ub97c \ud68d\ub4dd\ud558\uba74, visible\uc744 true\ub85c \ubcf4\uc5ec\uc8fc\uace0, \ud0c0\uc774\uba38\uac00 \ub2e4 \ub3cc\uace0 \ud0c0\uc784\uc544\uc6c3\uc774 \ub410\uc744 \ub54c, false\ub85c \ubcc0\uacbd\ud558\uc5ec \ub2e4\uc2dc \uac00\ub824\uc900\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub807\uac8c \ubcf4\ub2c8\uae4c, _on_LeftArea_body_entered()\uc640 _on_RightArea_body_entered()\uc5d0 \ucf54\ub4dc \uc911\ubcf5\uc774 \ubcf4\uc778\ub2e4. \uc911\ubcf5 \ucf54\ub4dc\ub97c \ubcc4\uac1c \ud568\uc218\ub85c \ube7c\uc8fc\uc790. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func _on_LeftArea_body_entered(body: PhysicsBody2D):\t\n\tif body.name == \"PongBall\":\n\t\tOpponentScore += 1\n\t\tprint(\"Opponent Score = %d\" %OpponentScore)\n\t\temit_signal(\"opponent_score_updated\", OpponentScore)\n\t\trestart_round()\t\t\n\nfunc _on_RightArea_body_entered(body: PhysicsBody2D):\n\tif body.name == \"PongBall\":\n\t\tPlayerScore += 1\n\t\tprint(\"Player Score = %d\" %PlayerScore)\n\t\temit_signal(\"player_score_updated\", PlayerScore)\n\t\trestart_round()\n\nfunc restart_round():\n\t\t$PongBall.reset()\n\t\t$PongBall.stop()\n\t\t$TimerCount.visible = true\n\t\t$ResetTimer.start()<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_on_LeftArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name <\/span><span style=\"color: #F47067\">==<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">+=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Opponent Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;opponent_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">OpponentScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">restart_round<\/span><span style=\"color: #ADBAC7\">()\t\t<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">func <\/span><span style=\"color: #6CB6FF\">_on_RightArea_body_entered<\/span><span style=\"color: #ADBAC7\">(body: <\/span><span style=\"color: #F69D50\">PhysicsBody2D<\/span><span style=\"color: #ADBAC7\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> body.name =<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #96D0FF\">&quot;PongBall&quot;<\/span><span style=\"color: #ADBAC7\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\"> +<\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">print<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;Player Score = <\/span><span style=\"color: #F47067\">%d<\/span><span style=\"color: #96D0FF\">&quot;<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">%PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">emit_signal<\/span><span style=\"color: #ADBAC7\">(<\/span><span style=\"color: #96D0FF\">&quot;player_score_updated&quot;<\/span><span style=\"color: #ADBAC7\">, <\/span><span style=\"color: #F69D50\">PlayerScore<\/span><span style=\"color: #ADBAC7\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #6CB6FF\">restart_round<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">func <\/span><span style=\"color: #6CB6FF\">restart_round<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">stop<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #F69D50\">visible<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uc911\ubcf5 \ucf54\ub4dc\ub97c restart_round() \ud568\uc218\ub85c \ube7c\uc11c \uc911\ubcf5\uc744 \uc81c\uac70\ud588\ub2e4. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\uc0ac\uc6b4\ub4dc\uc758 \ucd94\uac00<\/strong><\/h4>\n\n\n\n<p> \uc774\uc81c \ub2e4 \ub9cc\ub4e4\uace0 \uc798 \ub3d9\uc791\ud558\ub294\uac78 \ud655\uc778\ud588\ub2e4. \ub2e4\ub41c\uac70 \uac19\uc740\ub370 \ubb54\uac00 \ud5c8\uc804\ud568\uc740&#8230; \uc0ac\uc6b4\ub4dc\uc758 \ubd80\uc7ac \ub54c\ubb38\uc774\ub2e4. \uac8c\uc784\uc5d0 \uc0ac\uc6b4\ub4dc\ub97c \ucd94\uac00\ud558\ub294\uac74 \ub9c8\uce58 \ud654\ub8e1\uc810\uc815\uacfc\ub3c4 \uac19\ub2e4. \ub208\uc744 \ucc0d\uc5b4 \uadf8\ub9bc\uc5d0 \uc0dd\uba85\uc744 \ubd88\uc5b4\ub123\ub4ef, \uc0ac\uc6b4\ub4dc\uac00 \ucd94\uac00\ub418\uba74 \uac8c\uc784\uc774 \uc644\uc804\ud788 \ub2ec\ub77c\ubcf4\uc778\ub2e4. <\/p>\n\n\n\n<p>\uac8c\uc784\uc5d0\uc11c \uc0ac\uc6b4\ub4dc\ub294 \ubcf4\ud1b5 \ub450\uac00\uc9c0\ub85c \ubd84\ub958\ub41c\ub2e4. BGM, \uadf8\ub7ec\ub2c8\uae4c \ubc30\uacbd\uc74c\uc545\uc774 \uc874\uc7ac\ud558\uace0 SFX, \uc0ac\uc6b4\ub4dc \ud6a8\uacfc\uc74c\uc774 \ud544\uc694\ud558\ub2e4. \ub610\ud55c, \uc774 \uc74c\uc6d0\ub4e4\uc744 \uacf5\uac04\uc5d0 \uc704\uce58\uc2dc\ucf1c \ud50c\ub808\uc774\uc5b4\uc758 \uc704\uce58\uc5d0 \ub530\ub77c \uc18c\ub9ac\uac00 \ub2e4\ub974\uac8c \ub4e4\ub9ac\ub3c4\ub85d \ud558\uae30\ub3c4 \ud55c\ub2e4. FPS\uac8c\uc784\uc758 \uacbd\uc6b0, \uc774\ub7f0 \uc18c\ub9ac\uac00 \ub098\ub294 \ubc29\ud5a5\uacfc \ud06c\uae30\ub97c \ub4e3\uace0 \ud50c\ub808\uc774\ud558\ub294 \uc77c\uba85 &#8216;\uc0ac\ud50c&#8217;\uc740 \ud544\uc218\uc694\uc18c\uc774\uae30\ub3c4 \ud558\ub2e4.<\/p>\n\n\n\n<p>\uc5ec\uae30\uc11c\ub294&#8230; \uc544\uc8fc \ub2e8\uc21c\ud55c \ud6a8\uacfc\uc74c\ub9cc \ucd94\uac00\ud560 \uac83\uc774\ub2e4. \uacf5\uc774 \ud295\uae38 \ub54c \uc18c\ub9ac\uc640 \uc2a4\ucf54\uc5b4\ub97c \ud68d\ub4dd\ud560 \ub54c \uc18c\ub9ac\uc774\ub2e4. <a href=\"https:\/\/www.youtube.com\/watch?v=kr1BoEbuveI&amp;list=RDCMUCznj32AM2r98hZfTxrRo9bQ\">\ucc98\uc74c\uc5d0 \uc18c\uac1c\ud55c \uc720\ud29c\ube0c \uc601\uc0c1<\/a> \uc5d0 <a href=\"https:\/\/github.com\/clear-code-projects\/GodotPong\/blob\/master\/Assets.zip\">\uc8fc\uc5b4\uc9c4 \ub9ac\uc18c\uc2a4<\/a>\ub97c \ubcf4\uba74, \uc774 \ud6a8\uacfc\uc74c\uc5d0 \ub300\ud55c \uc0ac\uc6b4\ub4dc \ud30c\uc77c\uc744 \uc5bb\uc744 \uc218 \uc788\ub2e4. BGM\uc740 \uc9c1\uc811 \uad6c\ud574\uc11c \ucd94\uac00\ud574 \ubcfc \uc218\ub3c4 \uc788\uc744 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p>\uba3c\uc800 PongBall \uc52c\uc744 \uc5f4\uace0, \ub178\ub4dc\ud2b8\ub9ac\uc5d0\uc11c AudioStreamPlayer \ub178\ub4dc\ub97c \ucd94\uac00\ud55c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"609\" height=\"367\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/sound01.png\" alt=\"\" class=\"wp-image-1726\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/sound01.png 609w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/sound01-300x181.png 300w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><figcaption class=\"wp-element-caption\">AudioStreamPlayer<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\ub178\ub4dc \ubaa9\ub85d\uc5d0 \ubcf4\uba74, AudioStreamPlayer2D, 3D\uac00 \ubcf4\uc774\ub294\ub370, \uc774\uac83\ub4e4\uc740 \uc704\uce58\uc815\ubcf4\ub97c \ud3ec\ud568\ud55c \uac83\uc774\ub2e4. \uc5ec\uae30\uc11c\ub294 \uc704\uce58 \uc0c1\uad00\uc5c6\uc774 \uc18c\ub9ac\ub97c \ub0bc \uac83\uc774\uae30 \ub54c\ubb38\uc5d0 AudioStreamPlayer\uc73c\ub85c \ucda9\ubd84\ud558\ub2e4.<\/p>\n\n\n\n<p>\ucd94\uac00\ud55c AudioStreamPlayer\uc758 \uc774\ub984\uc744 CollisionSound\ub85c \ubc14\uafd4\uc900\ub2e4. \uadf8\ub9ac\uace0 Inspector\uc5d0\uc11c Stream \ud56d\ubaa9\uc5d0 \uc55e\uc11c \ub9ac\uc18c\uc2a4\ub85c \ubc1b\uc558\ub358 ping_pong_8bit_beeep.ogg \ud30c\uc77c\uc744 \ub4dc\ub798\uadf8 \ud574\uc900\ub2e4. \ub2e4\ub978 \ubc29\uc2dd\uc73c\ub85c \ucd94\uac00\ud574\uc918\ub3c4 \ub41c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"293\" height=\"363\" src=\"http:\/\/batmask.dothome.co.kr\/wordpress\/wp-content\/uploads\/2022\/09\/sound02.png\" alt=\"\" class=\"wp-image-1727\" srcset=\"http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/sound02.png 293w, http:\/\/batmask.net\/wordpress\/wp-content\/uploads\/2022\/09\/sound02-242x300.png 242w\" sizes=\"auto, (max-width: 293px) 100vw, 293px\" \/><figcaption class=\"wp-element-caption\">Collision Sound<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\ub2e4\ub978 \ud56d\ubaa9\uc740 \ub530\ub85c \uc218\uc815\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4. BGM\uc744 \ucd94\uac00\ud558\ub294 \uacbd\uc6b0\ub77c\uba74, Autoplay\ub97c \uccb4\ud06c\ud588\uc5b4\uc57c \ud560 \uac83\uc774\ub2e4. \uc774\uc81c PongBall.gd \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c bounce \ub418\ub294 \uacbd\uc6b0, \uc0ac\uc6b4\ub4dc\ud30c\uc77c\uc744 \uc7ac\uc0dd\ud574\uc8fc\uba74 \ub41c\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc774 \ucf54\ub4dc\ub97c \ucd94\uac00\ud558\uc790.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func _physics_process(delta):\n\tvar collision_object = move_and_collide(direction * speed * delta)\n\tif collision_object:\n\t\tdirection = direction.bounce(collision_object.normal)\n\t\t$CollisionSound.play()<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">_physics_process<\/span><span style=\"color: #ADBAC7\">(delta):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">var<\/span><span style=\"color: #ADBAC7\"> collision_object <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">move_and_collide<\/span><span style=\"color: #ADBAC7\">(direction * speed * delta)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">if<\/span><span style=\"color: #ADBAC7\"> collision_object:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\tdirection <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> direction.<\/span><span style=\"color: #6CB6FF\">bounce<\/span><span style=\"color: #ADBAC7\">(collision_object.normal)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t\t<\/span><span style=\"color: #F47067\">$CollisionSound<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">play<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>collision\uc774 \ubc1c\uc0dd\ud574\uc11c bounce()\ub85c \ud295\uaca8\uc8fc\ub294 \uacbd\uc6b0\uc5d0 AudioStreamPlayer\uc758 play() \uba54\uc18c\ub4dc\ub97c \ubd88\ub7ec\uc11c \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uace0 \uc788\ub2e4. <\/p>\n\n\n\n<p>\uc774\uc81c, \uc2a4\ucf54\uc5b4\ub97c \uc5bb\ub294 \uacbd\uc6b0 \ud6a8\uacfc\uc74c\uc744 \uc7ac\uc0dd\ud574\ubcf4\uc790. \uc791\uc5c5\uc740 \ub3d9\uc77c\ud558\ub2e4.<\/p>\n\n\n\n<p>Pong Level\uc5d0 AudioStreamPlayer \ub178\ub4dc\ub97c \ucd94\uac00\ud558\uace0 \uc774\ub984\uc744 ScoreSound\ub85c \ubc14\uafd4\uc8fc\uc790. Inspector\uc5d0\uc11c Stream\uc5d0 ping_pong_8bit_plop.ogg \ud30c\uc77c\uc744 \ub4dc\ub798\uadf8 \ud574\uc11c \uc124\uc815\ud55c\ub2e4. \ub2e4\ub978 \ubc29\ubc95\uc73c\ub85c \uc124\uc815\ud574\ub3c4 \ub41c\ub2e4. <\/p>\n\n\n\n<p>\uc774\uc81c \uc2a4\ucf54\uc5b4\ub97c \ud68d\ub4e0\ud55c \uacbd\uc6b0, \uc0ac\uc6b4\ub4dc\ub97c \ud50c\ub808\uc774 \ud574\uc8fc\uba74 \ub41c\ub2e4. \uacf5\ud1b5 \ucf54\ub4dc\uc778 restart_round()\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 \ucf54\ub4dc\ub97c \ucd94\uac00\ud558\uc790.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Roboto-Mono.ttf\" style=\"font-size:clamp(14px, .875rem, 21px);font-family:Code-Pro-Roboto-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#adbac7;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:clamp(20px, 1.25rem, 30px);--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#22272e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#adbac7;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>...\nfunc restart_round():\n\t$ScoreSound.play()  # &lt;-- here\n\t$PongBall.reset()\n\t$PongBall.stop()\n\t$TimerCount.visible = true\n\t$ResetTimer.start()\n...<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F47067\">func<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #DCBDFB\">restart_round<\/span><span style=\"color: #ADBAC7\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$ScoreSound<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">play<\/span><span style=\"color: #ADBAC7\">()  <\/span><span style=\"color: #768390\"># &lt;-- here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">reset<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$PongBall<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">stop<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$TimerCount<\/span><span style=\"color: #ADBAC7\">.visible <\/span><span style=\"color: #F47067\">=<\/span><span style=\"color: #ADBAC7\"> <\/span><span style=\"color: #6CB6FF\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">\t<\/span><span style=\"color: #F47067\">$ResetTimer<\/span><span style=\"color: #ADBAC7\">.<\/span><span style=\"color: #6CB6FF\">start<\/span><span style=\"color: #ADBAC7\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">...<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>ScoreSound\uc758 play() \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud574\uc11c \ud6a8\uacfc\uc74c\uc744 \ub0b4\uc8fc\uace0 \uc788\ub2e4. <\/p>\n\n\n\n<p>\ub2e8\uc21c\ud55c \ud6a8\uacfc\uc74c\ub4e4\uc774\uc9c0\ub9cc, \uc774\uac83\ub9cc\uc73c\ub85c\ub3c4 \uac8c\uc784\uc774 \uc0b4\uc544\ub09c\ub2e4. \ud6a8\uacfc\uc74c\ub4e4\uc774 \ub9cc\uc871\uc2a4\ub7fd\uc9c0 \uc54a\uc744 \uc218\ub3c4 \uc788\ub2e4. \ub2e4\ub978 \ud6a8\uacfc\uc74c\uc744 \uc368\ubcf4\uac70\ub098, BGM\uc744 \ucd94\uac00\ud558\ub294\ub4f1 \ubcc0\uacbd\uc744 \ud574\uc918\ub3c4 \uc7bc\uc788\uc744 \uac83\uc774\ub2e4. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>real_the_last_final_of_final.png&#8230; \uc544\ubb4f\ud2bc \uc9c4\uc9dc \ub9c8\uc9c0\ub9c9\uc784.<\/strong><\/h4>\n\n\n\n<p> \uc774\ub807\uac8c, Godot\uc758 \uccab \uac8c\uc784 \ud504\ub85c\uc81d\ud2b8\uc778 Pong\uc744 \uc644\uc131\ud588\ub2e4. \uac8c\uc784\uc744 \ub530\ub77c \ub9cc\ub4dc\ub294\uac74 \uc0ac\uc2e4, \uadf8\ub807\uac8c \uc624\ub798 \uac78\ub9ac\uc9c0 \uc54a\uc558\ub294\ub370, \uc774\uac78 \ubb38\uc11c\ub85c \uc815\ub9ac\ud558\ub294\uac8c 20\uc77c\uc740 \uc0ac\uc6a9\ud55c\uac70 \uac19\ub2e4. \uc774\ub807\uac8c \uacf5\uc744 \ub4e4\uc778 \uc774\uc720\ub294 Godot\uc758 \uccab \uc0ac\uc6a9\uc774\uae30 \ub54c\ubb38\uc774\ub2e4. \ub2e4\uc2dc \ucc3e\uc544\ubcfc \uc218 \uc788\ub294 \uae30\ubcf8 \uac1c\ub150\ub4e4\uc744 \uc815\ub9ac\ud588\uc73c\ub2c8, \uc810\uc810 \uc218\uc6d4\ud574 \uc9c0\uaca0\uc9c0.  \uc774\uac8c \ub204\uad70\uac00\uc5d0\uac8c \ub3c4\uc6c0\uc774 \ub420\uc9c0\ub294 \ubaa8\ub974\uaca0\uc9c0\ub9cc, \uc801\uc5b4\ub3c4 \ub098\uc5d0\uac90 \ub3c4\uc6c0\uc774 \ub420 \uac83\uc774\ub2e4. \uadf8\ub7fc \ub9ac\uc5bc \ub354 \ud30c\uc774\ub110 \uc624\ube0c \ud30c\uc774\ub110 \uc9c4\uc9dc \ub05d!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pong \uac8c\uc784\uc5d0 \ub300\ud55c \uc9c4\uc9dc \ub9c8\uc9c0\ub9c9 \ud3ec\uc2a4\ud305\uc774\ub2e4. \uc774\ubc88\uc5d0 \ud560 \uc77c\uc740 \uc2a4\ucf54\uc5b4\ub97c \ub0c8\uc744 \ub54c, \ubc14\ub85c \uacf5\uc774 \ubc1c\uc0ac\ub418\uba70 \uc2dc\uc791\ub418\ub294 \ubb38\uc81c\ub97c \uace0\uce60 \uac83\uc774\ub2e4. \ud0c0\uc774\uba38\ub97c \ucd94\uac00\ud558\uc5ec \ub2e4\uc74c \ub77c\uc6b4\ub4dc\uac00 \uc2dc\uc791\ub418\uae30\uc804\uc5d0 \uc900\ube44\ud560 \uc2dc\uac04\uc744 \uc8fc\ub3c4\ub85d \ud560 \uac83\uc774\ub2e4. \ud0c0\uc774\uba38(Timer) \uac8c\uc784\uc5d0\uc11c \ud0c0\uc774\uba38\ub3c4 \uc815\ub9d0 \ub9ce\uc774 \uc0ac\uc6a9\ud558\ub294 \uae30\ub2a5\uc911 \ud558\ub098\ub2e4. \ud558\ub098\uc758 \uc2a4\ud14c\uc774\uc9c0\ub97c \ud074\ub9ac\uc5b4\ud558\ub294\ub370 \uc2dc\uac04\uc81c\ud55c\uc774 \uac78\ub9b0 \uacbd\uc6b0\ub3c4 \uc788\uace0, RPG\uac8c\uc784\ub4e4\uc740 \uac01\uc885 \uc2a4\ud0ac\ub4e4\uc5d0 \ucfe8\ud0c0\uc784\uc774 \uac78\ub824\uc788\uae30\ub3c4 \ud558\ub2e4. \uc9c0\uae08 \ub9cc\ub4dc\ub294 Pong\uacfc \uac19\uc740 \uc544\ucf00\uc774\ub4dc [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[270],"tags":[272,271,275,282,283],"class_list":["post-1707","post","type-post","status-publish","format-standard","hentry","category-godot","tag-game","tag-godot","tag-pong","tag-sound","tag-timer"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/1707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/comments?post=1707"}],"version-history":[{"count":7,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/1707\/revisions"}],"predecessor-version":[{"id":3461,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/posts\/1707\/revisions\/3461"}],"wp:attachment":[{"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/media?parent=1707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/categories?post=1707"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/batmask.net\/index.php\/wp-json\/wp\/v2\/tags?post=1707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}