MountOne 변경 안함으로 인한 버그픽스와 문서 수정

This commit is contained in:
Qwreey 2023-02-21 21:48:17 +09:00
parent 04916ebe21
commit 5c646f7d73
37 changed files with 1533 additions and 335 deletions

View file

@ -0,0 +1,786 @@
<!doctype html>
<html lang="ko" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Description for Quad. (Korean)">
<meta name="author" content="Qwreey and more">
<link rel="canonical" href="https://quad.qwreey.kr/kr/include/locales/">
<link rel="icon" href="../../assets/LUAICON_TP.png">
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.13">
<title>Locales - Quad 한국어 문서</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.ffa9267a.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.a0c5b2b5.min.css">
<link rel="stylesheet" href="../../assets/extra.css">
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="custom" data-md-color-primary="" data-md-color-accent="">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="Quad 한국어 문서" class="md-header__button md-logo" aria-label="Quad 한국어 문서" data-md-component="logo">
<img src="../../assets/LUAICON_DARK.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Quad 한국어 문서
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Locales
</span>
</div>
</div>
</div>
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="언어설정">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"/></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="/kr/" hreflang="ko" class="md-select__link">
한국어
</a>
</li>
<li class="md-select__item">
<a href="/en/" hreflang="en" class="md-select__link">
English
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="검색" placeholder="검색" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="검색">
<button type="reset" class="md-search__icon md-icon" title="지우기" aria-label="지우기" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
검색 초기화
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/qwreey75/quad" title="저장소로 이동" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
Quad
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../.." class="md-tabs__link">
</a>
</li>
<li class="md-tabs__item">
<a href="../../tutorial/" class="md-tabs__link">
튜토리얼
</a>
</li>
<li class="md-tabs__item">
<a href="../../reference/" class="md-tabs__link">
레퍼런스
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="Quad 한국어 문서" class="md-nav__button md-logo" aria-label="Quad 한국어 문서" data-md-component="logo">
<img src="../../assets/LUAICON_DARK.png" alt="logo">
</a>
Quad 한국어 문서
</label>
<div class="md-nav__source">
<a href="https://github.com/qwreey75/quad" title="저장소로 이동" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
Quad
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__link--index ">
<a href="../.."></a>
<label for="__nav_1">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../license/" class="md-nav__link">
라이선스
</a>
</li>
<li class="md-nav__item">
<a href="../../changelogs/" class="md-nav__link">
변경사항
</a>
</li>
<li class="md-nav__item">
<a href="../../gallery/" class="md-nav__link">
갤러리
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<div class="md-nav__link md-nav__link--index ">
<a href="../../tutorial/">튜토리얼</a>
<label for="__nav_2">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
튜토리얼
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../tutorial/1_import/" class="md-nav__link">
Import
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/2_mount/" class="md-nav__link">
Mount
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/3_getObject/" class="md-nav__link">
GetObject
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/4_style/" class="md-nav__link">
Style
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/5_event/" class="md-nav__link">
Event
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/6_tween/" class="md-nav__link">
Tween
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/7_quadProperty/" class="md-nav__link">
QuadProperty
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/8_register/" class="md-nav__link">
Register
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/9_lang/" class="md-nav__link">
Lang
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/10_signal/" class="md-nav__link">
Signal
</a>
</li>
<li class="md-nav__item">
<a href="../../tutorial/11_extend/" class="md-nav__link">
Extend
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<div class="md-nav__link md-nav__link--index ">
<a href="../../reference/">레퍼런스</a>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
레퍼런스
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="목차">
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>Locales</h1>
<p><em>Default</em> (default)<br />
<em>English</em> (en_us)<br />
<em>Spanish</em> (es_es)<br />
<em>French</em> (fr_fr)<br />
<em>Indonesian</em> (id_id)<br />
<em>Italian</em> (it_it)<br />
<em>Japanese</em> (ja_jp)<br />
<em>Korean</em> (ko_kr)<br />
<em>Russian</em> (ru_ru)<br />
<em>Thai</em> (th_th)<br />
<em>Turkish</em> (tr_tr)<br />
<em>Vietnamese</em> (vi_vn)<br />
<em>Portuguese</em> (pt_br)<br />
<em>German</em> (de_de)<br />
<em>ChineseSimplified</em> (zh_cn)<br />
<em>ChineseTraditional</em> (zh_tw)<br />
<em>Bulgarian</em> (bg_bg)<br />
<em>Bengali</em> (bn_bd)<br />
<em>Czech</em> (cs_cz)<br />
<em>Danish</em> (da_dk)<br />
<em>Greek</em> (el_gr)<br />
<em>Estonian</em> (et_ee)<br />
<em>Finnish</em> (fi_fi)<br />
<em>Hindi</em> (hi_in)<br />
<em>Croatian</em> (hr_hr)<br />
<em>Hungarian</em> (hu_hu)<br />
<em>Georgian</em> (ka_ge)<br />
<em>Kazakh</em> (kk_kz)<br />
<em>Khmer</em> (km_kh)<br />
<em>Lithuanian</em> (lt_lt)<br />
<em>Latvian</em> (lv_lv)<br />
<em>Malay</em> (ms_my)<br />
<em>Burmese</em> (my_mm)<br />
<em>Bokmal</em> (nb_no)<br />
<em>Dutch</em> (nl_nl)<br />
<em>Filipino</em> (fil_ph)<br />
<em>Polish</em> (pl_pl)<br />
<em>Romanian</em> (ro_ro)<br />
<em>Ukrainian</em> (uk_ua)<br />
<em>Sinhala</em> (si_lk)<br />
<em>Slovak</em> (sk_sk)<br />
<em>Slovenian</em> (sl_sl)<br />
<em>Albanian</em> (sq_al)<br />
<em>Bosnian</em> (bs_ba)<br />
<em>Serbian</em> (sr_rs)<br />
<em>Swedish</em> (sv_se)<br />
<em>Arabic</em> (ar_001) </p>
</article>
</div>
</div>
<a href="#" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
맨위로
</a>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2020 - 2023 Qwreey
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.indexes", "navigation.footer", "navigation.tabs", "navigation.top"], "search": "../../assets/javascripts/workers/search.208ed371.min.js", "translations": {"clipboard.copied": "\ud074\ub9bd\ubcf4\ub4dc\uc5d0 \ubcf5\uc0ac\ub428", "clipboard.copy": "\ud074\ub9bd\ubcf4\ub4dc\ub85c \ubcf5\uc0ac", "search.result.more.one": "\uc774 \ubb38\uc11c\uc5d0\uc11c 1\uac1c\uc758 \uac80\uc0c9 \uacb0\uacfc \ub354 \ubcf4\uae30", "search.result.more.other": "\uc774 \ubb38\uc11c\uc5d0\uc11c #\uac1c\uc758 \uac80\uc0c9 \uacb0\uacfc \ub354 \ubcf4\uae30", "search.result.none": "\uac80\uc0c9\uc5b4\uc640 \uc77c\uce58\ud558\ub294 \ubb38\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4", "search.result.one": "1\uac1c\uc758 \uc77c\uce58\ud558\ub294 \ubb38\uc11c", "search.result.other": "#\uac1c\uc758 \uc77c\uce58\ud558\ub294 \ubb38\uc11c", "search.result.placeholder": "\uac80\uc0c9\uc5b4\ub97c \uc785\ub825\ud558\uc138\uc694", "search.result.term.missing": "\ud3ec\ud568\ub418\uc9c0 \uc54a\uc740 \uac80\uc0c9\uc5b4", "select.version": "\ubc84\uc804 \uc120\ud0dd"}}</script>
<script src="../../assets/javascripts/bundle.2a6f1dda.min.js"></script>
</body>
</html>

View file

@ -736,7 +736,7 @@
첫번째 값에는 편의상 스토어 값이 제공되며, 새로운 값과, 바뀐 값에 대한 키가 제공됩니다<br />
<em>주의 : 구조의 복잡성을 피하고자, 여러번 호출시 가장 마지막 호출된 것만 사용됩니다</em></p>
</blockquote>
<div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">함수</label><label for="__tabbed_1_2">테이블</label><label for="__tabbed_1_3">여러 값이 묶임</label></div>
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">함수</label><label for="__tabbed_1_2">테이블</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@ -790,7 +790,9 @@
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span>
<span class="normal">52</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="normal">52</span>
<span class="normal">53</span>
<span class="normal">54</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="kd">local</span> <span class="n">ScreenGUI</span> <span class="o">=</span> <span class="n">script</span><span class="p">.</span><span class="n">Parent</span>
<span class="kd">local</span> <span class="n">Quad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="n">to</span><span class="p">.</span><span class="n">module</span><span class="p">).</span><span class="n">Init</span><span class="p">()</span>
<span class="kd">local</span> <span class="n">Store</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Store</span>
@ -819,6 +821,8 @@
<span class="n">Frame</span> <span class="s2">&quot;Topbar&quot;</span> <span class="p">{</span>
<span class="n">LayoutOrder</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="n">BackgroundColor3</span> <span class="o">=</span> <span class="n">Color3</span><span class="p">.</span><span class="n">fromRGB</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">);</span>
<span class="c1">-- 이렇게 여러 값을 묶어서 두 값이 변경됨, 혹은 그이상을</span>
<span class="c1">-- 만들 수 있습니다.</span>
<span class="n">Size</span> <span class="o">=</span> <span class="n">myStore</span> <span class="s2">&quot;topbarSize,width&quot;</span><span class="p">:</span><span class="n">With</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">UDim2</span><span class="p">.</span><span class="n">fromOffset</span><span class="p">(</span><span class="n">myStore</span><span class="p">.</span><span class="n">width</span><span class="p">,</span><span class="n">myStore</span><span class="p">.</span><span class="n">topbarSize</span><span class="p">)</span>
<span class="kr">end</span><span class="p">);</span>
@ -873,11 +877,7 @@
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="normal">29</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="kd">local</span> <span class="n">ScreenGUI</span> <span class="o">=</span> <span class="n">script</span><span class="p">.</span><span class="n">Parent</span>
<span class="kd">local</span> <span class="n">Quad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="n">to</span><span class="p">.</span><span class="n">module</span><span class="p">).</span><span class="n">Init</span><span class="p">()</span>
<span class="kd">local</span> <span class="n">Store</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Store</span>
@ -898,34 +898,16 @@
<span class="p">}</span>
<span class="n">myStore</span><span class="p">.</span><span class="n">color</span> <span class="o">=</span> <span class="mi">1</span>
<span class="o">%</span><span class="p">(</span><span class="o">#</span><span class="n">colors</span><span class="p">)</span>
<span class="n">Frame</span> <span class="s2">&quot;mainFrame&quot;</span> <span class="p">{</span>
<span class="n">BackgroundColor3</span> <span class="o">=</span>
<span class="n">BackgroundColor3</span> <span class="o">=</span> <span class="n">myStore</span> <span class="s2">&quot;color&quot;</span><span class="p">:</span><span class="n">With</span><span class="p">(</span><span class="n">colors</span><span class="p">);</span>
<span class="p">}</span>
<span class="n">Mount</span><span class="p">(</span><span class="n">ScreenGUI</span><span class="p">,</span> <span class="n">Store</span><span class="p">.</span><span class="n">GetObject</span><span class="p">(</span><span class="s2">&quot;mainFrame&quot;</span><span class="p">))</span>
<span class="kr">while</span> <span class="kc">true</span> <span class="kr">do</span>
<span class="n">task</span><span class="p">.</span><span class="n">wait</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="kr">while</span> <span class="n">task</span><span class="p">.</span><span class="n">wait</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="kr">do</span>
<span class="n">myStore</span><span class="p">.</span><span class="n">color</span> <span class="o">=</span> <span class="p">(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="p">(</span><span class="o">#</span><span class="n">colors</span><span class="p">)</span><span class="o">+</span><span class="mi">2</span>
<span class="kr">end</span>
</code></pre></div></td></tr></table></div>
</div>
<div class="tabbed-block">
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="kd">local</span> <span class="n">ScreenGUI</span> <span class="o">=</span> <span class="n">script</span><span class="p">.</span><span class="n">Parent</span>
<span class="kd">local</span> <span class="n">Quad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="n">to</span><span class="p">.</span><span class="n">module</span><span class="p">).</span><span class="n">Init</span><span class="p">()</span>
<span class="kd">local</span> <span class="n">Store</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Store</span>
<span class="kd">local</span> <span class="n">Class</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Class</span>
<span class="kd">local</span> <span class="n">Mount</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Mount</span>
</code></pre></div></td></tr></table></div>
</div>
</div>
</div>
<hr />

View file

@ -697,13 +697,9 @@
<h1>라이선스</h1>
<div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">왜안됨</label><label for="__tabbed_1_2">Korean</label><label for="__tabbed_1_3">English</label></div>
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Korean</label><label for="__tabbed_1_2">English</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<p>왜 안돌아가냐</p>
</div>
<div class="tabbed-block">
<p>왜 안돌아가냐
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
@ -801,7 +797,7 @@ qwreeykawaii 라이선스의 복사 배포 및 수정에
지원하지 않습니다.
같은 이유로써, 전쟁이 지원될 수 있는 곳에서의
이 창작물 사용을 허용하지 않습니다.
</code></pre></div></td></tr></table></div></p>
</code></pre></div></td></tr></table></div>
</div>
<div class="tabbed-block">
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>

File diff suppressed because one or more lines are too long

View file

@ -2,127 +2,132 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://quad.qwreey.kr/kr/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/changelogs/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/gallery/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/license/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/TweenOptions/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/direction/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/easings/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/events/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/locales/</loc>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/mounts/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/objectList/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/quadProperty/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/include/register/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/reference/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/10_signal/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/11_extend/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/1_import/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/2_mount/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/3_getObject/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/4_style/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/5_event/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/6_tween/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/7_quadProperty/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/8_register/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://quad.qwreey.kr/kr/tutorial/9_lang/</loc>
<lastmod>2023-02-20</lastmod>
<lastmod>2023-02-21</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.

View file

@ -705,6 +705,12 @@
<h1 id="_1">반복되는 속성값을 줄이기<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<p>읽기 전...</p>
<blockquote>
<p>모듈 설정시 <code class="highlight"><span class="p">.</span><span class="nx">Init</span><span class="p">()</span></code> 처럼 QuadId 란을 비워두는 경우 <code>Style</code> 기능이 코드를 넘어 공유되지 않습니다<br />
하지만 <code class="highlight"><span class="p">.</span><span class="nx">Init</span><span class="p">(</span><span class="s2">&quot;Project1&quot;</span><span class="p">)</span></code> 처럼 아이디를 부여하는 경우 <strong>다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 <code>Style</code> 는 공유됩니다</strong> </p>
</blockquote>
<p>Quad 에서는 반복적인 속성들을 줄여 쓸 수 있도록 Style 을 제공합니다. </p>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>

View file

@ -835,7 +835,7 @@
첫번째 값에는 편의상 스토어 값이 제공되며, 새로운 값과, 바뀐 값에 대한 키가 제공됩니다<br />
<em>주의 : 구조의 복잡성을 피하고자, 여러번 호출시 가장 마지막 호출된 것만 사용됩니다</em></p>
</blockquote>
<div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">함수</label><label for="__tabbed_1_2">테이블</label><label for="__tabbed_1_3">여러 값이 묶임</label></div>
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">함수</label><label for="__tabbed_1_2">테이블</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@ -889,7 +889,9 @@
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span>
<span class="normal">52</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="normal">52</span>
<span class="normal">53</span>
<span class="normal">54</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="kd">local</span> <span class="n">ScreenGUI</span> <span class="o">=</span> <span class="n">script</span><span class="p">.</span><span class="n">Parent</span>
<span class="kd">local</span> <span class="n">Quad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="n">to</span><span class="p">.</span><span class="n">module</span><span class="p">).</span><span class="n">Init</span><span class="p">()</span>
<span class="kd">local</span> <span class="n">Store</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Store</span>
@ -918,6 +920,8 @@
<span class="n">Frame</span> <span class="s2">&quot;Topbar&quot;</span> <span class="p">{</span>
<span class="n">LayoutOrder</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="n">BackgroundColor3</span> <span class="o">=</span> <span class="n">Color3</span><span class="p">.</span><span class="n">fromRGB</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">);</span>
<span class="c1">-- 이렇게 여러 값을 묶어서 두 값이 변경됨, 혹은 그이상을</span>
<span class="c1">-- 만들 수 있습니다.</span>
<span class="n">Size</span> <span class="o">=</span> <span class="n">myStore</span> <span class="s2">&quot;topbarSize,width&quot;</span><span class="p">:</span><span class="n">With</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">UDim2</span><span class="p">.</span><span class="n">fromOffset</span><span class="p">(</span><span class="n">myStore</span><span class="p">.</span><span class="n">width</span><span class="p">,</span><span class="n">myStore</span><span class="p">.</span><span class="n">topbarSize</span><span class="p">)</span>
<span class="kr">end</span><span class="p">);</span>
@ -972,11 +976,7 @@
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="normal">29</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="kd">local</span> <span class="n">ScreenGUI</span> <span class="o">=</span> <span class="n">script</span><span class="p">.</span><span class="n">Parent</span>
<span class="kd">local</span> <span class="n">Quad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="n">to</span><span class="p">.</span><span class="n">module</span><span class="p">).</span><span class="n">Init</span><span class="p">()</span>
<span class="kd">local</span> <span class="n">Store</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Store</span>
@ -997,34 +997,16 @@
<span class="p">}</span>
<span class="n">myStore</span><span class="p">.</span><span class="n">color</span> <span class="o">=</span> <span class="mi">1</span>
<span class="o">%</span><span class="p">(</span><span class="o">#</span><span class="n">colors</span><span class="p">)</span>
<span class="n">Frame</span> <span class="s2">&quot;mainFrame&quot;</span> <span class="p">{</span>
<span class="n">BackgroundColor3</span> <span class="o">=</span>
<span class="n">BackgroundColor3</span> <span class="o">=</span> <span class="n">myStore</span> <span class="s2">&quot;color&quot;</span><span class="p">:</span><span class="n">With</span><span class="p">(</span><span class="n">colors</span><span class="p">);</span>
<span class="p">}</span>
<span class="n">Mount</span><span class="p">(</span><span class="n">ScreenGUI</span><span class="p">,</span> <span class="n">Store</span><span class="p">.</span><span class="n">GetObject</span><span class="p">(</span><span class="s2">&quot;mainFrame&quot;</span><span class="p">))</span>
<span class="kr">while</span> <span class="kc">true</span> <span class="kr">do</span>
<span class="n">task</span><span class="p">.</span><span class="n">wait</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="kr">while</span> <span class="n">task</span><span class="p">.</span><span class="n">wait</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="kr">do</span>
<span class="n">myStore</span><span class="p">.</span><span class="n">color</span> <span class="o">=</span> <span class="p">(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="p">(</span><span class="o">#</span><span class="n">colors</span><span class="p">)</span><span class="o">+</span><span class="mi">2</span>
<span class="kr">end</span>
</code></pre></div></td></tr></table></div>
</div>
<div class="tabbed-block">
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="c1">-- 용법</span>
<span class="kd">local</span> <span class="n">ScreenGUI</span> <span class="o">=</span> <span class="n">script</span><span class="p">.</span><span class="n">Parent</span>
<span class="kd">local</span> <span class="n">Quad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="n">to</span><span class="p">.</span><span class="n">module</span><span class="p">).</span><span class="n">Init</span><span class="p">()</span>
<span class="kd">local</span> <span class="n">Store</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Store</span>
<span class="kd">local</span> <span class="n">Class</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Class</span>
<span class="kd">local</span> <span class="n">Mount</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Mount</span>
</code></pre></div></td></tr></table></div>
</div>
</div>
</div>
<hr />

View file

@ -705,8 +705,104 @@
<h1 id="_1">언어관리<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<p>Quad 에는 귀찮은 언어관리를 자동으로 해주는 모듈이 내장되어 있습니다.
또한, register 와 연동해 변하는 텍스트도 알아서 언어에 맞게 출력되도록 만들 수 있습니다.</p>
<p>읽기 전...</p>
<blockquote>
<p>모듈 설정시 <code class="highlight"><span class="p">.</span><span class="nx">Init</span><span class="p">()</span></code> 처럼 QuadId 란을 비워두는 경우 <code>Lang</code> 기능이 코드를 넘어 공유되지 않습니다<br />
하지만 <code class="highlight"><span class="p">.</span><span class="nx">Init</span><span class="p">(</span><span class="s2">&quot;Project1&quot;</span><span class="p">)</span></code> 처럼 아이디를 부여하는 경우 <strong>다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 <code>Lang</code> 은 공유됩니다</strong> </p>
</blockquote>
<p>Quad 에는 귀찮은 언어관리를 자동으로 해주는 기능이 내장되어 있습니다.<br />
이 기능은 register 와 연동해 적은 줄의 코드로 변하는 텍스트도 언어에 맞게 출력되도록 만들 수 있습니다. </p>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">local</span> <span class="n">ScreenGUI</span> <span class="o">=</span> <span class="n">script</span><span class="p">.</span><span class="n">Parent</span>
<span class="kd">local</span> <span class="n">Quad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="n">path</span><span class="p">.</span><span class="n">to</span><span class="p">.</span><span class="n">module</span><span class="p">).</span><span class="n">Init</span><span class="p">()</span>
<span class="kd">local</span> <span class="n">Store</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Store</span>
<span class="kd">local</span> <span class="n">Mount</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Mount</span>
<span class="kd">local</span> <span class="n">Event</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Event</span>
<span class="kd">local</span> <span class="n">Lang</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Lang</span>
<span class="kd">local</span> <span class="n">Class</span> <span class="o">=</span> <span class="n">Quad</span><span class="p">.</span><span class="n">Class</span>
<span class="kd">local</span> <span class="n">TextButton</span> <span class="o">=</span> <span class="n">Class</span> <span class="s2">&quot;TextButton&quot;</span>
<span class="kd">local</span> <span class="n">myStore</span> <span class="o">=</span> <span class="n">Store</span><span class="p">.</span><span class="n">GetStore</span><span class="p">(</span><span class="s2">&quot;myStore&quot;</span><span class="p">)</span>
<span class="n">myStore</span><span class="p">.</span><span class="n">count</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">Lang</span><span class="p">.</span><span class="n">New</span><span class="p">(</span><span class="s2">&quot;TimePassed&quot;</span><span class="p">,{</span>
<span class="p">[</span><span class="n">Lang</span><span class="p">.</span><span class="n">Locales</span><span class="p">.</span><span class="n">Korean</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;{count}초 지났어요&quot;</span><span class="p">;</span>
<span class="p">[</span><span class="n">Lang</span><span class="p">.</span><span class="n">Locales</span><span class="p">.</span><span class="n">Default</span><span class="p">]</span> <span class="o">=</span> <span class="kr">function</span> <span class="p">(</span><span class="n">options</span><span class="p">)</span>
<span class="c1">-- 함수 또한 등록할 수 있습니다.</span>
<span class="kr">if</span> <span class="n">options</span><span class="p">.</span><span class="n">count</span> <span class="o">&gt;</span> <span class="mi">1</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="p">(</span><span class="s2">&quot;%d seconds passed&quot;</span><span class="p">):</span><span class="n">format</span><span class="p">(</span><span class="n">options</span><span class="p">.</span><span class="n">count</span><span class="p">)</span>
<span class="kr">else</span>
<span class="kr">return</span> <span class="p">(</span><span class="s2">&quot;%d second passed&quot;</span><span class="p">):</span><span class="n">format</span><span class="p">(</span><span class="n">options</span><span class="p">.</span><span class="n">count</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span><span class="p">;</span>
<span class="p">})</span>
<span class="n">TextButton</span> <span class="s2">&quot;mainButton&quot;</span> <span class="p">{</span>
<span class="n">Size</span> <span class="o">=</span> <span class="n">UDim2</span><span class="p">.</span><span class="n">fromOffset</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">100</span><span class="p">);</span>
<span class="n">Text</span> <span class="o">=</span> <span class="n">Lang</span> <span class="s2">&quot;TimePassed&quot;</span> <span class="p">{</span>
<span class="c1">-- count = 1 일반적인 값도 사용가능합니다</span>
<span class="n">count</span> <span class="o">=</span> <span class="n">myStore</span> <span class="s2">&quot;count&quot;</span><span class="p">;</span>
<span class="p">};</span>
<span class="p">[</span><span class="n">Event</span> <span class="s2">&quot;MouseButton1Click&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="kr">function</span><span class="p">()</span>
<span class="c1">-- 클릭시 언어가 변경됩니다</span>
<span class="kr">if</span> <span class="n">Lang</span><span class="p">.</span><span class="n">CurrentLocale</span> <span class="o">==</span> <span class="n">Lang</span><span class="p">.</span><span class="n">Locales</span><span class="p">.</span><span class="n">Default</span> <span class="kr">then</span>
<span class="n">Lang</span><span class="p">.</span><span class="n">CurrentLocale</span> <span class="o">=</span> <span class="n">Lang</span><span class="p">.</span><span class="n">Locales</span><span class="p">.</span><span class="n">Korean</span>
<span class="kr">else</span>
<span class="n">Lang</span><span class="p">.</span><span class="n">CurrentLocale</span> <span class="o">=</span> <span class="n">Lang</span><span class="p">.</span><span class="n">Locales</span><span class="p">.</span><span class="n">Default</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="p">}</span>
<span class="n">Mount</span><span class="p">(</span><span class="n">ScreenGUIk</span><span class="p">,</span><span class="n">Store</span><span class="p">.</span><span class="n">GetObject</span><span class="p">(</span><span class="s2">&quot;mainButton&quot;</span><span class="p">))</span>
<span class="kr">while</span> <span class="n">task</span><span class="p">.</span><span class="n">wait</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="kr">do</span>
<span class="n">myStore</span><span class="p">.</span><span class="n">count</span> <span class="o">=</span> <span class="n">myStore</span><span class="p">.</span><span class="n">count</span> <span class="o">+</span> <span class="mi">1</span>
<span class="kr">end</span>
</code></pre></div></td></tr></table></div>
<p>로케일 값들은 <code class="highlight"><span class="nx">Lang</span><span class="p">.</span><span class="nx">Locales</span></code>에서 가져올 수 있으며, 사용가능한 로케일 목록은 다음과 같습니다. </p>

View file

@ -38,6 +38,11 @@ table.pretty {
-webkit-backdrop-filter: blur(3px);
}
/* 디테일 안에 글자크기 */
.md-typeset details {
font-size: .72rem !important;
}
/*테이블 해더 꾸미기*/
th {
/*최소 길이*/
@ -92,6 +97,9 @@ td {
--md-default-fg-color--lighter: rgb(105, 105, 105);
--md-default-fg-color--lightest: rgb(70, 70, 70);
/* 마커 */
--md-typeset-mark-color: hsl(271, 81%, 46%) !important;
/*배경 색깔*/
--md-default-bg-color: rgb(41, 43, 54);
--md-default-bg-color--light: hsla(232, 15%, 21%, 0.54);

View file

@ -1,26 +0,0 @@
```ts
export type TweenOptions = {
Easing: "Linear"
|"Quint"
|"Quart"
|"Cubic"
|"Quad"
|"Sin"
|"Circle"
|"Expo"
|"Elastic"
|"Bounce"
|"Exp2"
|"Exp4"
|EasingFunction?;
Direction: "Out"|"InOut"|"In"|EasingDirection?;
CallBack: {[number|"*"|string]:(Item:DOM|any,Alpha:number,AbsolutePercent:number)->()}?;
OnStepped: TweenOnStepped?;
// 일반적으로 CallBack 에 ['*']=()->() 를
// 등록하는것과 같으나 성능상의 이점이 있습니다
Ended: TweenEnded?;
Getter: TweenGetter?;
Setter: TweenSetter?;
Time: number?;
}
```

View file

@ -1,8 +1,12 @@
`Out`
초반에 가속이 이루워지며, 후반에 느려집니다.
---
`In`
초반에는 느리며, 점점 가속이 늘어납니다.
---
`InOut`
중간에서 가장 빠른 속도를 가지며, 후반 초반 모두 감속이 이루워집니다.

View file

@ -4,41 +4,49 @@
`Linear`
> 아무런 가감속이 없는 1차형 함수입니다
> `#!ts i=x, x=0 to 1`
---
`Quint`
> 5 제곱을 이용한 가감속 함수입니다. Quart 보다 가파른 개형을 가졌습니다
> `#!ts (^5) i=1-(1-x)^5, x=0 to 1`
---
`Quart`
> 네제곱을 이용한 가감속 함수입니다. Cubic 보다 가파른 개형을 가졌습니다
> `#!ts (^4) i=1-(1-x)^4, x=0 to 1`
---
`Cubic`
> 세제곱을 이용한 가감속 함수입니다. Quad 보다 가파른 개형을 가졌습니다
> `#!ts (^3) i=1-(1-x)^3, x=0 to 1`
---
`Quad`
> 제곱을 이용한 가감속 함수입니다.
> `#!ts (^2) i=1-(1-x)^2, x=0 to 1`
---
`Expo`
> 지수형 가감속 함수입니다. 매우 가파른 개형을 가졌습니다.
> `#!ts i=1-2^(-10*x), x=0 to 1`
---
`Sin`
> 사인 파형을 사용한 함수입니다.
> 사인 파형 가감속 함수입니다.
> `#!ts i=sin(x*pi/2), x=0 to 1`
---
`Circle`
> 원형 가감속 함수입니다.
> 사분원 가감속 함수입니다.
> `#!ts i=sqrt(1-(1-x)^2), x=0 to 1`
---
@ -53,6 +61,6 @@
---
`Bounce`
> 튀을 가지는 가감속 함수입니다.
> 튀어오름을 가지는 가감속 함수입니다.
TODO: 애니메이션 미리보기 영상 추가

View file

@ -15,7 +15,9 @@ Frame {
`#!ts Event.Created`
> 오브젝트가 생성되었을 때 실행됩니다. 첫번째 인자로 `self` 를 받을 수 있습니다.
*주의: Event.Created 가 실행될 때는 Parent 값이 정해지지 않았을 수 있습니다. self.Parent 는 접근해서는 안됩니다. Class.Extend 에서는 AfterRender 를 이용해야 합니다.*
???+ Warning "주의"
`Event.Created` 가 실행될 때는 `Parent` 값이 정해지지 않았을 수 있습니다. `#!lua self.Parent` 는 접근해서는 안됩니다. `Class.Extend` 에서는 `AfterRender` 를 이용해야 합니다.
```lua
-- 용법
Frame {
@ -30,7 +32,9 @@ Frame {
`#!ts Event.CreatedAsync`
> `#!ts Event.Created` 와 비슷하지만, 코루틴 안에서 작동합니다. `#!ts objectList:EachAsync()` 처럼 반환을 기다리지 않습니다.
*주의: Event.CreatedAsync 가 실행될 때는 Parent 값이 정해지지 않았을 수 있습니다. self.Parent 는 접근해서는 안됩니다.*
???+ Warning "주의"
`Event.CreatedAsync` 가 실행될 때는 `Parent` 값이 정해지지 않았을 수 있습니다. `#!lua self.Parent` 는 접근해서는 안됩니다.
```lua
-- 용법
Frame {

48
md/kr/include/locales.md Normal file
View file

@ -0,0 +1,48 @@
**Default** (default)
**English** (en_us)
**Spanish** (es_es)
**French** (fr_fr)
**Indonesian** (id_id)
**Italian** (it_it)
**Japanese** (ja_jp)
**Korean** (ko_kr)
**Russian** (ru_ru)
**Thai** (th_th)
**Turkish** (tr_tr)
**Vietnamese** (vi_vn)
**Portuguese** (pt_br)
**German** (de_de)
**ChineseSimplified** (zh_cn)
**ChineseTraditional** (zh_tw)
**Bulgarian** (bg_bg)
**Bengali** (bn_bd)
**Czech** (cs_cz)
**Danish** (da_dk)
**Greek** (el_gr)
**Estonian** (et_ee)
**Finnish** (fi_fi)
**Hindi** (hi_in)
**Croatian** (hr_hr)
**Hungarian** (hu_hu)
**Georgian** (ka_ge)
**Kazakh** (kk_kz)
**Khmer** (km_kh)
**Lithuanian** (lt_lt)
**Latvian** (lv_lv)
**Malay** (ms_my)
**Burmese** (my_mm)
**Bokmal** (nb_no)
**Dutch** (nl_nl)
**Filipino** (fil_ph)
**Polish** (pl_pl)
**Romanian** (ro_ro)
**Ukrainian** (uk_ua)
**Sinhala** (si_lk)
**Slovak** (sk_sk)
**Slovenian** (sl_sl)
**Albanian** (sq_al)
**Bosnian** (bs_ba)
**Serbian** (sr_rs)
**Swedish** (sv_se)
**Arabic** (ar_001)

View file

@ -31,11 +31,22 @@ end
```
`#!ts :With((store:valueStore, newValue:any, key:string)->())->register`
> 함수 또는 테이블에서 값을 가져옵니다. Add 보다 나중에 수행됩니다.
> 첫번째 값에는 편의상 스토어 값이 제공되며, 새로운 값과, 바뀐 값에 대한 키가 제공됩니다
> *주의 : 구조의 복잡성을 피하고자, 여러번 호출시 가장 마지막 호출된 것만 사용됩니다*
<blockquote markdown>
=== "함수"
함수 또는 테이블에서 값을 가져옵니다. Add 보다 나중에 수행됩니다.
첫번째 값에는 편의상 스토어 값이 제공되며, 새로운 값과, 바뀐 값에 대한 키가 제공됩니다
=== "용법"
```lua
myStore "size":With(function (_,value)
return value * 2
end)
```
=== "예제 - 함수"
`width` 값에 맞춰 자동으로 UI 가 업데이트되도록 만듭니다.
```lua
-- 용법
@ -67,6 +78,8 @@ end
Frame "Topbar" {
LayoutOrder = 1;
BackgroundColor3 = Color3.fromRGB(255,0,0);
-- 이렇게 여러 값을 묶어서 두 값이 변경됨, 혹은 그이상을
-- 만들 수 있습니다.
Size = myStore "topbarSize,width":With(function()
return UDim2.fromOffset(myStore.width,myStore.topbarSize)
end);
@ -92,7 +105,9 @@ end
end
```
=== "테이블"
=== "예제 - 테이블"
`colors` 테이블 안에 있는 색깔들을 돌아가며 보여줍니다.
```lua
-- 용법
@ -117,6 +132,7 @@ end
myStore.color = 1
Frame "mainFrame" {
Size = UDim2.fromOffset(200,200);
BackgroundColor3 = myStore "color":With(colors);
}
Mount(ScreenGUI, Store.GetObject("mainFrame"))
@ -126,78 +142,79 @@ end
end
```
=== "여러 값이 묶임"
```lua
-- 용법
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Store = Quad.Store
local Class = Quad.Class
local Mount = Quad.Mount
```
???+ Warning "주의"
구조의 복잡성을 피하고자, 여러번 호출시 가장 마지막 호출된 것만 사용됩니다
</blockquote>
---
`#!ts :Tween(options:TweenOptions)`
> 트윈을 이용해 변경사항을 적용합니다(처음 오브젝트 생성시에는 적용되지 않음) 옵션은 Tween 문서에 나와있는 옵션과 같습니다.
> *주의 : 구조의 복잡성을 피하고자, 여러번 호출시 가장 마지막 호출된 것만 사용됩니다*
```lua
-- 용법
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Store = Quad.Store
local Class = Quad.Class
local Mount = Quad.Mount
local Style = Quad.Style
=== "용법"
local Frame = Class "Frame"
local myStore = Store.GetStore("myStore")
myStore.pos = UDim2.fromOffset(50,0)
Style "TweenFrame" {
Size = UDim2.fromOffset(50,50);
BackgroundColor3 = Color3.fromRGB(255,100,255);
}
```lua
-- Tween 옵션을 넣을 수 있습니다
myStore "size":Tween{ Time = 2 }
```
Frame "mainFrame" {
BackgroundColor3 = Color3.fromRGB(255,255,255);
Size = UDim2.fromOffset(500,500);
Frame "TweenFrame" {
Position = myStore "pos":Tween{Time = 2};
};
Frame "TweenFrame" {
Position = myStore "pos"
:Add(UDim2.fromOffset(0,100))
:Tween{Time = 2};
};
Frame "TweenFrame" {
Position = myStore "pos"
:Add(UDim2.fromOffset(0,200))
:Tween{Time = 2};
};
Frame "TweenFrame" {
Position = myStore "pos"
:Add(UDim2.fromOffset(0,300))
:Tween{Time = 2};
=== "예제"
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Store = Quad.Store
local Class = Quad.Class
local Mount = Quad.Mount
local Style = Quad.Style
local Frame = Class "Frame"
local myStore = Store.GetStore("myStore")
myStore.pos = UDim2.fromOffset(50,0)
Style "TweenFrame" {
Size = UDim2.fromOffset(50,50);
BackgroundColor3 = Color3.fromRGB(255,100,255);
}
}
Mount(ScreenGUI, Store.GetObject("mainFrame"))
Frame "mainFrame" {
BackgroundColor3 = Color3.fromRGB(255,255,255);
Size = UDim2.fromOffset(500,500);
Frame "TweenFrame" {
Position = myStore "pos":Tween{Time = 2};
};
Frame "TweenFrame" {
Position = myStore "pos"
:Add(UDim2.fromOffset(0,100))
:Tween{Time = 2};
};
Frame "TweenFrame" {
Position = myStore "pos"
:Add(UDim2.fromOffset(0,200))
:Tween{Time = 2};
};
Frame "TweenFrame" {
Position = myStore "pos"
:Add(UDim2.fromOffset(0,300))
:Tween{Time = 2};
}
}
local on = false
while true do
on = not on
myStore.pos = on and UDim2.fromOffset(400,0) or UDim2.fromOffset(50,0)
end
```
Mount(ScreenGUI, Store.GetObject("mainFrame"))
local on = false
while true do
on = not on
myStore.pos = on and UDim2.fromOffset(400,0) or UDim2.fromOffset(50,0)
end
```
???+ Warning "주의"
구조의 복잡성을 피하고자, 여러번 호출시 가장 마지막 호출된 것만 사용됩니다
---
`#!ts :Default(value:any)`
> 기본값을 정합니다. 만약 값이 `#!lua nil` 인 경우 이 값을 사용하게 됩니다. Add 나 With 등 다른것에 영향받지 않습니다.
> *주의 : 처음 오브젝트가 생성될 때에만 이 값이 사용됩니다.*
```lua
-- 용법
local ScreenGUI = script.Parent

View file

@ -0,0 +1,55 @@
==OPTION== `#!ts Time:number?`
> 트윈의 총 길이를 정합니다. *아무 값도 지정하지 않으면 `#!ts 1`이 사용됩니다.*
---
==OPTION== `#!ts Easing:string|(index:number)->number?`
> 트윈의 가감속 정도를 결정합니다. 문자열 그대로 사용하거나, `#!ts Tween.Easings.Linear`와 같이 열거형 방식으로 사용할 수 있습니다.
> 혹은 필요에 따라 함수를 지정할 수도 있습니다. 함수를 Easing 으로 사용하는 경우 첫번째 인자로 1차 진행도 (Linear, 0 에서 1 사이의 값) 값이 주어지며, 계산 결과로 실제 적용될 위치를 반환해야합니다. 반환값은 음수이거나 1 보다 클 수 있습니다.
> *아무 값도 지정하지 않으면 `Exp2`가 사용됩니다.*
{!include/typeEasings.md!}
> 함수에 관한 자세한 설명과 미리보기는 [여기에서](../reference/tween/easings) 확인하세요
---
==OPTION== `#!ts Direction:string?`
> 트윈이 진행되는 방향입니다. 문자열 그대로 사용하거나, `#!ts Tween.Directions.Out`과 같이 열거형 방식으로 사용할 수 있습니다.
> *아무 값도 지정하지 않으면 `Out`이 사용됩니다.*
{!include/typeDirection.md!}
> 방향에 관한 자세한 설명과 미리보기는 [여기에서](../reference/tween/directions) 확인하세요
---
==OPTION== `#!ts CallBack:{[number|"*"|string]:(Item:any, Alpha:number, AbsolutePercent:number)->()}?`
> 선택적인 필드이며, 트윈이 실행중인 도중에 함수를 실행시킬 수 있습니다. 트윈의 진행 정도에 따라서 한번 함수가 실행되거나 트윈 진행중 계속해서 실행되도록 만들 수 있습니다.
> 인덱스가 숫자인 경우 해당 지점을 넘을 때 함수가 실행되도록 만들 수 있으며, `#!lua "*"` 를 인덱스로 사용하면 모든 부분에서 함수가 실행됩니다.
> 함수에는 편의상 트윈을 하고있는 오브젝트, 위치값, 시간만을 고려한 1차 위치값이 제공됩니다.
---
==OPTION== `#!ts OnStepped:(Item:any, Alpha:number, AbsolutePercent:number)->()?`
> CallBack 에 `#!lua "*"` 를 넣은것과 동일한 효과를 가지는 별칭입니다
---
==OPTION== `#!ts Ended:(Item:any, Alpha:number, AbsolutePercent:number)->()?`
> CallBack 에 `#!lua 1`을 넣은것과 동일한 효과를 가지는 별칭입니다
---
==OPTION== `#!ts Getter:(Item:any, Property:string)->any?`
> 선택적인 필드이며, 트윈이 값을 얻으려 할 때 사용할 함수입니다.
> 함수에 트윈하고 있는 오브젝트, 프로퍼티 이름이 제공됩니다.
> ???+ warning
`#!ts register:Tween()` 와 호환되지 않습니다.
---
==OPTION== `#!ts Getter:(Item:any, Property:string, Value:Lerpable)->any?`
> 선택적인 필드이며, 트윈이 값을 설정하려 할 때 사용할 함수입니다.
> 함수에 트윈하고 있는 오브젝트, 프로퍼티 이름, 설정할 값이 제공됩니다.
> ???+ warning
`#!ts register:Tween()` 와 호환되지 않습니다.

View file

@ -0,0 +1,9 @@
```ts
type Direction =
// 초반에 가속이 이루워지며, 후반에 느려집니다.
"Out"
// 초반에는 느리며, 점점 가속이 늘어납니다.
|"In"
//중간에서 가장 빠른 속도를 가지며, 후반 초반 모두 감속이 이루워집니다.
|"InOut"
```

View file

@ -0,0 +1,17 @@
```ts
type Easing =
"Linear" // 아무런 가감속이 없는 1차형
|"Quint" // 5 제곱
|"Quart" // 네제곱
|"Cubic" // 세제곱
|"Quad" // 제곱
|"Sin" // 사인 파형
|"Circle" // 사분원
|"Expo" // 지수형
|"Elastic" // 탄성
|"Bounce" // 튀어오름
|"Back" // 뒤로 가감속
|"Exp2" // 덜 가파른 지수 i=exp(x)/max, x=-4 to 2
|"Exp4" // 더 가파른 지수 i=exp(x)/max, x=-4 ~ 4
|EasingFunction?;
```

View file

@ -1,11 +1,6 @@
=== "왜안됨"
왜 안돌아가냐
=== "Korean"
왜 안돌아가냐
```
qwreeykawaii license v1.3
Copyright 2023. Qwreey [qwreey75@gmail.com]

View file

View file

View file

@ -1,5 +1,7 @@
# 로블록스 오브젝트 불러오기
# Import - 오브젝트 생성
## 로블록스 오브젝트 불러오기
Frame 과 같은 UI 오브젝트를 만들고 싶은 경우 먼저 import 를 이용해주어야 합니다.
다음과 같이 입력해보세요!
@ -23,7 +25,12 @@ print(
나중에 자신만의 UI 오브젝트를 생성할 수 있지만, 일반적인 로블록스가 지원하는 오브젝트의 경우 `#!ts Class(ClassName:string)` 으로 불러올 수 있습니다
불러온 Class 에 기본값을 설정할 수도 있습니다
---
## 불러온 Class 에 기본값 설정
불러온 Class 에 기본값을 설정할 수도 있습니다.
이렇게 하면 `BorderSizePixel` 와 같이 자주 사용될 수 있는 프로퍼티를 미리 지정해 둘 수 있습니다.
```lua
local Quad = require(path.to.module).Init()
@ -37,8 +44,15 @@ FrameWithBorder.BorderSizePixel = 1
local frame1 = FrameWithoutBorder {}
local frame2 = FrameWithBorder {}
print(frame1.FrameWithBorder)
print(frame2.FrameWithBorder)
local frame3 = FrameWithBorder {
-- 값을 덮어 쓸 수 있습니다
-- 이렇게 하면 기본값이 무시됩니다.
BorderSizePixel = 0;
}
print(frame1.FrameWithBorder.BorderSizePixel)
print(frame2.FrameWithBorder.BorderSizePixel)
print(frame3.FrameWithBorder.BorderSizePixel)
```
이제 그려낸 프레임을 화면에 그려보고 싶나요? 다음 튜토리얼 Mount 를 확인해보세요!

View file

@ -1,5 +1,7 @@
# 화면에 UI 를 표시하기
# Mount - 화면에 UI 표현
## 화면에 UI 를 표시하기
일반적으로 *Quad* 모듈에서 모든 Parent 처리는 `#!ts Mount` 를 이용합니다. `#!ts Mount(to:any,...item:any?)->mounts` 함수를 이용하면 다루는 오브젝트가 로블록스 `Instance` 인지, 향후 소개될 Quad 확장 클래스인지 상관없이 알아서 Parent 가 처리됩니다.
@ -22,6 +24,10 @@ Mount(ScreenGui,
)
```
---
## 마운트 객체
편의를 위해서 `Mount` 함수는 `mounts` 라는 객체를 반환합니다. 이것을 이용하면 필요에 따라서 Mount 상태를 해제하거나 추가 할 수 있습니다. `mounts` 객체는 다음과 같은 메소드를 가집니다.
{!include/mounts.md!}

View file

@ -1,11 +1,15 @@
# 오브젝트에 아이디 부여하기, 그리고 사용하기
# GetObject - 오브젝트에 아이디 부여
읽기 전...
> 모듈 설정시 `#!ts .Init()` 처럼 QuadId 란을 비워두는 경우 `#!ts Store.GetObject` 가 코드를 넘어 공유되지 않습니다
> 하지만 `#!ts .Init("Project1")` 처럼 아이디를 부여하는 경우 **다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 `#!ts Store.GetObject` 는 공유됩니다**
???+ info "읽기 전..."
모듈 설정시 `#!ts .Init()` 처럼 QuadId 란을 비워두는 경우 `#!ts Store.GetObject` 가 코드를 넘어 공유되지 않습니다
하지만 `#!ts .Init("Project1")` 처럼 아이디를 부여하는 경우 **다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 `#!ts Store.GetObject` 는 공유됩니다**
**변수에 만들어진 오브젝트를 하나하나 저장해???** 그게 편할리가 없죠. 오브젝트에 아이디를 넣고 사용해봅시다.
---
## 오브젝트에 아이디 부여하기, 사용하기
**변수에 만들어진 오브젝트를 하나하나 저장해야하나요?** 아니요, Quad 에는 오브젝트에 아이디를 부여할 수 있습니다.
```lua
local ScreenGUI = script.Parent
@ -37,9 +41,10 @@ print(Store.GetObject("mainFrame" .. index))
## 다량의 오브젝트를 다루기
또한, Quad 는 다량의 오브젝트를 다루기 편하도록 `#!ts Store.GetObjects(id:string)->objectList` 라는 함수를 가지고 있습니다.
???+ Warning "주의"
`Store.GetObjects`의 반환값인 `objectList`는 캐시해서는 안됩니다. `objectList`를 local 에 넣고 계속해서 유지시키지 마십시오, 반환값은 자동으로 업데이트 되지 않습니다.
> 주의 : *GetObjects 의 반환값인 objectList 는 캐시해서는 안됩니다. objectList 를 local 에 넣고 계속해서 유지시키지 마십시오, 반환값은 자동으로 업데이트 되지 않습니다.*
Quad 는 다량의 오브젝트를 다루기 편하도록 `#!ts Store.GetObjects(id:string)->objectList` 라는 함수를 가지고 있습니다.
실험으로, 색깔이 랜덤하게 바뀌는 프레임들을 만들어 봅시다
@ -95,6 +100,8 @@ for _,child in ipairs(Store.GetObjects("Child")) do
end
```
### objectList
`#!ts Store.GetObjects()` 의 반환 `#!ts objectList` 의 메소드들은 다음과 같습니다.
{!include/objectList.md!}
@ -105,55 +112,68 @@ end
id 기능을 조금더 고급적인 방법으로 사용할 수도 있습니다.
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Class = Quad.Mount
local Mount = Quad.Store
local Store = Quad.Class
=== 용법
local Frame = Class "Frame"
```lua
Frame "a,b" {
--다음과 같이 a 와 b 모두 가진 프레임을 생성할 수도 있습니다.
Frame "a,b" {
Name = "main";
Frame "a" {
Name = "Child1";
};
Frame "b" {
Name = "Child2";
};
}
}
```
-- 다음과 같이 a 와 b 둘다 선택할 수 있습니다
Store.GetObjects("a,b"):Each(function(item, index)
print(item.Name)
end)
print("----")
=== 예제
-- 다음과 같이 a 와 b 를 동시에 가진 것을 선택할 수 있습니다
Store.GetObjects("a&b"):Each(function(item, index)
print(item.Name)
end)
print("----")
좀더 직관적인 확인을 위해서 작동시켜보세요.
-- 다음과 같이 a와b 를 동시에 가진것과, b 를 가진것을 선택
-- 할 수 있습니다
Store.GetObjects("a&b,b"):Each(function(item, index)
print(item.Name)
end)
```
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Class = Quad.Mount
local Mount = Quad.Store
local Store = Quad.Class
local Frame = Class "Frame"
--다음과 같이 a 와 b 모두 가진 프레임을 생성할 수도 있습니다.
Frame "a,b" {
Name = "main";
Frame "a" {
Name = "Child1";
};
Frame "b" {
Name = "Child2";
};
}
-- 다음과 같이 a 와 b 둘다 선택할 수 있습니다
Store.GetObjects("a,b"):Each(function(item, index)
print(item.Name)
end)
print("----")
-- 다음과 같이 a 와 b 를 동시에 가진 것을 선택할 수 있습니다
Store.GetObjects("a&b"):Each(function(item, index)
print(item.Name)
end)
print("----")
-- 다음과 같이 a와b 를 동시에 가진것과, b 를 가진것을 선택
-- 할 수 있습니다
Store.GetObjects("a&b,b"):Each(function(item, index)
print(item.Name)
end)
```
+ 또는(or) 연산 `#!ts ,`
+ 그리고(and) 연산 `#!ts &`
GetObjects 에는 이 두 연산을 사용할 수 있고, 생성시에는 `#!ts ,` 으로 여러 아이디를 부여해줄 수 있습니다. *띄어쓰기는 무시됩니다*
> 주의 : *고급 ID 사용시 `#!ts objectList:Remove` 메소드는 사용할 수 없습니다*
???+ Warning "주의"
고급 ID 사용시 `#!ts objectList:Remove` 메소드는 사용할 수 없습니다
---
# id 추가와 제거
## id 추가와 제거
경우에 따라 이미 생성한 오브젝트에 id 를 추가 혹은 제거해줄 수 있습니다

View file

@ -1,6 +1,14 @@
# 반복되는 속성값을 줄이기
???+ info "읽기 전..."
모듈 설정시 `#!ts .Init()` 처럼 QuadId 란을 비워두는 경우 `Style` 기능이 코드를 넘어 공유되지 않습니다
하지만 `#!ts .Init("Project1")` 처럼 아이디를 부여하는 경우 **다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 `Style` 는 공유됩니다**
---
Quad 에서는 반복적인 속성들을 줄여 쓸 수 있도록 Style 을 제공합니다.
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()

View file

@ -1,5 +1,7 @@
# 이벤트 등록하기
# Event - 이벤트 핸들링
## 이벤트 등록하기
`MouseButton1Click` 혹은 `GetPropertyChangedSignal` 같은 로블 기본 이벤트를 간단하게 등록하고 싶으신가요? Event 를 이용해보세요.
@ -24,6 +26,10 @@ TextButton "mainButton" {
Mount(ScreenGUI, Store.GetObject("mainButton"))
```
---
## 이밴트 리스트
적용가능한 Event 들은 다음과 같습니다
{!include/events.md!}

View file

@ -1,30 +1,76 @@
# 트위닝
# Tween - 트윈효과
## 트위닝
Quad에는 트윈을 도와주는 모듈이 내장되어 있습니다. 이 트윈 모듈은 단순한 Instance들을 넘어서 table 형식도 트윈을 수행할 수 있습니다. 이는 나중에 커스텀 오브젝트를 트윈할 때 유용합니다.
Quad 에서는 실제로 직접적으로 Tween 을 사용할 일은 적으며 추후 설명되는 `#!ts register:Tween()`로 사용하는것이 권장됩니다
트윈은 일반적으로 다음과 같이 수행합니다.
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Class = Quad.Class
local Mount = Quad.Mount
local Tween = Quad.Tween
=== "용법"
local Frame = Class "Frame"
Frame "mainFrame" {
Frame "Child" {
Position = UDim2.fromOffset(0,0);
Size = UDim2.fromOffset(20,20)
};
}
```lua
Tween.RunTween(myFrame,{
-- 트윈 옵션
Easing = Tween.Easing.Expo;
Direction = Tween.Directions.Out;
Time = 1;
...
},{
-- 프로퍼티 목록
})
```
Mount(ScreenGUI, Store.GetObejct("mainFrame"))
=== "사용 예"
local Child = Store.GetObject()
```
클릭시 움직이는 버튼을 구현합니다.
트윈 옵션에서 사용할 수 있는 `EasingFunction` 은 다음과 같습니다
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Class = Quad.Class
local Mount = Quad.Mount
local Tween = Quad.Tween
{!include/easings.md!}
local Frame = Class "Frame"
local TextButton = Class "TextButton"
local on = false
Frame "mainFrame" {
Size = UDim2.fromOffset(300,300);
BackgroundColor3 = Color3.fromRGB(255,255,255);
TextButton "Child" {
Text = "Click Me!";
BackgroundColor3 = Color3.fromRGB(255,100,255);
Position = UDim2.fromOffset(80,100);
Size = UDim2.fromOffset(20,20);
[Event "MouseButton1Click"] = function(self,x,y)
on = not on
Tween.RunTween(self,{
-- 트윈 옵션입니다. 아래에서 설명됩니다
Easing = Tween.Easing.Expo;
Direction = Tween.Directions.Out;
Time = 1;
},{
-- 트윈할 목표 프로퍼티입니다
Position = on
and UDim2.fromOffset(200,100)
or UDim2.fromOffset(80,100);
})
end;
};
}
Mount(ScreenGUI, Store.GetObejct("mainFrame"))
```
---
## 트윈 옵션
트윈에는 트윈 옵션이 들어가며, 여기에는 트윈의 방향, 가감속, 시간 등을 설정해줄 수 있습니다.
넣을 수 있는 트윈 옵션은 다음과 같습니다.
{!include/tweenOptions.md!}

View file

@ -1,5 +1,13 @@
# Quad 내부 프로퍼티
# QuadProperty - 특수 프로퍼티
???+ Failure "주의사항"
특수 프로퍼티는 `Tween` 이 지원되지 않습니다. 그러나 `register``#!ts :Tween()`의 경우 호환되므로, 특수 프로퍼티 값을 트윈하려면 향후 설명되는 `register` 와 함깨 사용해야합니다.
> `#!ts Tween.RunTween`, `#!ts Tween.RunTweens` 와는 같이 사용할 수 없습니다.
---
## 특수한 프로퍼티
Quad 에서는 편리성을 위해 일부 특수 프로퍼티를 사용할 수 있습니다.
*이 모든 특수 프로퍼티는 향후 소개되는 `register`와 함깨 사용할 수 있습니다*

View file

@ -1,20 +1,39 @@
# 레지스터
# Register - 값 변경 연동
읽기 전...
> 모듈 설정시 `#!ts .Init()` 처럼 QuadId 란을 비워두는 경우 `#!ts Store.GetStore` 가 코드를 넘어 공유되지 않습니다
> 하지만 `#!ts .Init("Project1")` 처럼 아이디를 부여하는 경우 **다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 `#!ts Store.GetStore` 는 공유됩니다**
???+ info "읽기 전..."
모듈 설정시 `#!ts .Init()` 처럼 QuadId 란을 비워두는 경우 `#!ts Store.GetStore` 가 코드를 넘어 공유되지 않습니다
하지만 `#!ts .Init("Project1")` 처럼 아이디를 부여하는 경우 **다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 `#!ts Store.GetStore` 는 공유됩니다**
레지스터는 한 값이 변경될 때, 그 값을 사용한 곳이 업데이트 될 수 있도록 만들어주는 Quad 의 주요 기술입니다. 추후 설명될 `Class.Extend` 와도 사용이 가능합니다.
---
## 레지스터
레지스터는 한 값이 변경될 때, 그 값을 사용한 곳이 업데이트 될 수 있도록 만들어주는 ==Quad 의 주요 기술입니다.== 추후 설명될 `Class.Extend` 와도 같이 사용됩니다.
레지스터는 이러한 시나리오에서 사용될 수 있습니다.
1. UI 의 여러 오브젝트를 한번에 페이드 아웃 혹은 페이드 인 시키는 경우.
2. 가변 크기의 UI 를 업데이트 시키는 경우.
3. 여러 오브젝트들을 한꺼번에 트윈시키는 경우.
4. 다크테마/화이트테마 변경할 수 있게 만드는 경우.
> 1. UI 의 여러 오브젝트를 한번에 페이드 아웃 혹은 페이드 인 시키는 경우.
> 2. 가변 크기의 UI 를 업데이트 시키는 경우.
> 3. 여러 오브젝트들을 한꺼번에 트윈시키는 경우.
> 4. 다크테마/화이트테마 변경할 수 있게 만드는 경우.
이외에도 레지스터의 활용 방법은 무궁무진합니다. 레지스터의 사용법은 다음과 같습니다.
```lua
local myStore = Store.GetStore("myStore")
myStore.color = Color3.fromRGB(255,255,255)
Frame { BackgroundColor3 = myStore "color" }
-- 연동된 프레임도 업데이트 됩니다
myStore.color = Color3.fromRGB(0,0,0)
```
> 1. 스토어를 생성함.
> 2. 기본 값을 설정함.
> 3. 스토어를 호출해 레지스터를 얻어 등록함.
예시 코드로 정확하게 확인해 볼 수 있습니다
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
@ -29,19 +48,26 @@ local myStore = Store.GetStore("myStore")
local TextLabel = Class "TextLabel"
myStore.Text = "0 초 지남"
myStore.Color = Color3.fromRGB(255,100,255)
TextLabel "mainLabel" {
Size = UDim2.fromOffset(100,200);
-- myStore 의 Text 값이 변경됨을 추적하고, Text 값을
-- 업데이트 시킵니다.
Text = myStore "Text";
-- 이것은 레지스터를 사용하는것이 아니라 단순히 값만
-- 불러와 넣어주는 것입니다. 자동 업데이트가 가능하지 않습니다.
BackgroundColor3 = myStore.Color;
}
Mount(ScreenGUI, Store.GetObject("mainLabel"))
local Count = 0
while true do
task.wait(1)
-- 바꾸더라도 레지스터를 사용하지 않아 반영되지 않습니다
myStore.Color = Color3.fromRGB(255,255,255)
local Count = 1
while task.wait(1) do
-- 값을 업데이트 합니다. 텍스트 라벨도
-- 자동적으로 업데이트 됩니다.
myStore.Text = Count .. " 초 지남"
@ -49,6 +75,10 @@ while true do
end
```
---
## 레지스터 메소드
레지스터에는 여러가지 메소드가 담겨있습니다. 이 메소드를 사용하면 레지스터를 보다 더 다양하게 활용할 수 있습니다.
{!include/register.md!}

View file

@ -1,6 +1,69 @@
# 언어관리
Quad 에는 귀찮은 언어관리를 자동으로 해주는 모듈이 내장되어 있습니다.
또한, register 와 연동해 변하는 텍스트도 알아서 언어에 맞게 출력되도록 만들 수 있습니다.
???+ info "읽기 전..."
모듈 설정시 `#!ts .Init()` 처럼 QuadId 란을 비워두는 경우 `Lang` 기능이 코드를 넘어 공유되지 않습니다
하지만 `#!ts .Init("Project1")` 처럼 아이디를 부여하는 경우 **다른 모듈, 로컬스크립트가 접근하더라도 같은 QuadId 를 가졌다면 `Lang` 은 공유됩니다**
---
## 언어관리
Quad 에는 귀찮은 언어관리를 자동으로 해주는 기능이 내장되어 있습니다.
이 기능은 register 와 연동해 적은 줄의 코드로 변하는 텍스트도 언어에 맞게 출력되도록 만들 수 있습니다.
```lua
local ScreenGUI = script.Parent
local Quad = require(path.to.module).Init()
local Store = Quad.Store
local Mount = Quad.Mount
local Event = Quad.Event
local Lang = Quad.Lang
local Class = Quad.Class
local TextButton = Class "TextButton"
local myStore = Store.GetStore("myStore")
myStore.count = 0
Lang.New("TimePassed",{
[Lang.Locales.Korean] = "{count}초 지났어요";
[Lang.Locales.Default] = function (options)
-- 함수 또한 등록할 수 있습니다.
if options.count > 1 then
return ("%d seconds passed"):format(options.count)
else
return ("%d second passed"):format(options.count)
end
end;
})
TextButton "mainButton" {
Size = UDim2.fromOffset(100,100);
Text = Lang "TimePassed" {
-- count = 1 일반적인 값도 사용가능합니다
count = myStore "count";
};
[Event "MouseButton1Click"] = function()
-- 클릭시 언어가 변경됩니다
if Lang.CurrentLocale == Lang.Locales.Default then
Lang.CurrentLocale = Lang.Locales.Korean
else
Lang.CurrentLocale = Lang.Locales.Default
end
end
}
Mount(ScreenGUIk,Store.GetObject("mainButton"))
while task.wait(1) do
myStore.count = myStore.count + 1
end
```
---
## Locale 목록
로케일 값들은 `#!ts Lang.Locales`에서 가져올 수 있으며, 사용가능한 로케일 목록은 다음과 같습니다.
> {!include/locales.md!}

View file

@ -7,29 +7,11 @@ copyright: Copyright &copy; 2020 - 2023 Qwreey
# 사이드바
nav:
- 홈:
- 'index.md'
- 라이선스: 'license.md'
- 변경사항: 'changelogs.md'
- 갤러리: 'gallery.md'
- 튜토리얼:
- tutorial/index.md
- Import: 'tutorial/1_import.md'
- Mount: 'tutorial/2_mount.md'
- GetObject: 'tutorial/3_getObject.md'
- Style: 'tutorial/4_style.md'
- Event: 'tutorial/5_event.md'
- Tween: 'tutorial/6_tween.md'
- QuadProperty: 'tutorial/7_quadProperty.md'
- Register: 'tutorial/8_register.md'
- Lang: 'tutorial/9_lang.md'
- Signal: 'tutorial/10_signal.md'
- Extend: 'tutorial/11_extend.md'
- 레퍼런스:
- 'reference/index.md'
'index.md'
# 다중 언어 설정
extra:
# 다중 언어 설정
alternate:
- name: 한국어
link: /kr/
@ -37,9 +19,16 @@ extra:
- name: English
link: /en/
lang: en
# 소셜 링크
social:
- icon: fontawesome/brands/github
link: https://github.com/qwreey75
- icon: fontawesome/brands/mastodon
link: https://stella.place/@qwreey
# 리포 설정
repo_url: https://github.com/qwreey75/quad
repo_url: https://github.com/qwreey75/Quad
repo_name: Quad
remote_branch: master
@ -76,10 +65,11 @@ theme:
# 세부기능 Flag
features:
- navigation.indexes
- navigation.footer
- navigation.tabs
- navigation.top
# - toc.integrate # 목차를 네비게이션에 합치기
- navigation.footer # 바닥에 다음글 표시
- navigation.tabs # 최상위 nav 인덱스를 탭으로 이동
- navigation.top # 맨 위로 올라가기 표시
- toc.integrate # 목차를 네비게이션에 합치기
- content.code.copy # 코드 복사버튼
# 결과 없음 페이지
static_templates:
@ -118,6 +108,7 @@ markdown_extensions:
- pymdownx.magiclink # 링크 확장기
- pymdownx.inlinehilite # 인라인 코드 하이라이팅
- pymdownx.mark # 마킹(형광마커 효과)
- md_in_html # div 같은거 안에 마크다운 작성
- pymdownx.highlight: # 코드 구문강조
linenums: true # 코드라인 넘버
- pymdownx.emoji: # 이모지 불러오기

View file

@ -28,8 +28,8 @@ nav:
- 레퍼런스:
- 'reference/index.md'
# 다중 언어 설정
extra:
# 다중 언어 설정
alternate:
- name: 한국어
link: /kr/
@ -37,9 +37,15 @@ extra:
- name: English
link: /en/
lang: en
# 소셜 링크
social:
- icon: fontawesome/brands/github
link: https://github.com/qwreey75
- icon: fontawesome/brands/mastodon
link: https://stella.place/@qwreey
# 리포 설정
repo_url: https://github.com/qwreey75/quad
repo_url: https://github.com/qwreey75/Quad
repo_name: Quad
remote_branch: master
@ -76,10 +82,11 @@ theme:
# 세부기능 Flag
features:
- navigation.indexes
- navigation.footer
- navigation.tabs
- navigation.top
# - toc.integrate # 목차를 네비게이션에 합치기
- navigation.footer # 바닥에 다음글 표시
- navigation.tabs # 최상위 nav 인덱스를 탭으로 이동
- navigation.top # 맨 위로 올라가기 표시
- toc.integrate # 목차를 네비게이션에 합치기
- content.code.copy # 코드 복사버튼
# 결과 없음 페이지
static_templates:
@ -118,6 +125,7 @@ markdown_extensions:
- pymdownx.magiclink # 링크 확장기
- pymdownx.inlinehilite # 인라인 코드 하이라이팅
- pymdownx.mark # 마킹(형광마커 효과)
- md_in_html # div 같은거 안에 마크다운 작성
- pymdownx.highlight: # 코드 구문강조
linenums: true # 코드라인 넘버
- pymdownx.emoji: # 이모지 불러오기

View file

@ -19,7 +19,7 @@ function module.init(shared)
local storeNew = store.New
local mount = shared.Mount ---@type quad_module_mount
local getHolder = mount.GetHolder
local mountfunc = mount.Mount
local mountfunc = mount.MountOne
local style = shared.Style ---@type quad_module_style
local styleList = style.Styles
local parseStyles = style.ParseStyles
@ -173,18 +173,18 @@ function module.init(shared)
if not advancedTween then
return warn "[QUAD] module 'AdvancedTween' needs to be loaded for tween properties but it is not found on 'src.libs'. you should adding that to src.libs directory"
end
local ended, onStepped
if tween.Ended then
ended = function (...)
tween.Ended(item,...)
end
end
if tween.OnStepped then
onStepped = function (...)
tween.OnStepped(item,...)
end
end
advancedTween.RunTween(item,tween,{[index] = setValue},ended,onStepped,SetProperty,GetProperty)
-- local ended, onStepped
-- if tween.Ended then
-- ended = function (...)
-- tween.Ended(item,...)
-- end
-- end
-- if tween.OnStepped then
-- onStepped = function (...)
-- tween.OnStepped(item,...)
-- end
-- end
advancedTween.RunTween(item,tween,{[index] = setValue},nil,nil,SetProperty,GetProperty)
else
SetProperty(item,index,setValue,className)
end
@ -215,7 +215,10 @@ function module.init(shared)
end
elseif indexType == "number" and valueType ~= "boolean" then -- object
-- child object
mountfunc(item,((iprop == 1) and value or value:Clone()),holder)
if iprop ~= 1 then
value = value:Clone()
end
mountfunc(item,value,holder,true)
end
end

View file

@ -62,10 +62,8 @@ module.EasingDirections = {
InOut = "InOut"; -- 두 방향 모두 가감속
}
---@deprecated
module.EasingDirection = module.EasingDirections
---@deprecated
module.EasingFunction = module.EasingFunctions
module.Directions = module.EasingDirections
module.Easings = module.EasingFunctions
------------------------------------
-- Lerp 함수
@ -336,7 +334,7 @@ function module.RunTween(Item,Data,Properties,Ended,OnStepped,Setter,Getter,_)
remove(BindedFunctions,find(BindedFunctions,Step))
Index = 1
if Ended then
Ended(Item)
Ended(Item,1,1)
end
end
@ -347,7 +345,7 @@ function module.RunTween(Item,Data,Properties,Ended,OnStepped,Setter,Getter,_)
Fnc(Item,Index,Alpha)
else
local num = tonumber(FncIndex)
if num and num <= Index then
if num and num <= Alpha then
Fnc(Alpha,Index,Item)
CallBack[FncIndex] = nil
end

View file

@ -38,7 +38,7 @@ function module.init(shared)
end
-- mount function
local function mount(to,this,holder)
local function mount(to,this,holder,noReturn)
local thisObject = this
if type(this) == "table" then
thisObject = rawget(this,"__object")
@ -68,6 +68,7 @@ function module.init(shared)
end
insert(child,this)
end
if noReturn then return end
return setmetatable({to = to,this = this},mountClass)
end
new.MountOne = mount

View file

@ -122,7 +122,7 @@ export type mounts = mount & {
Add: (self:mount,...DOM|any)->();
}
export type module_mount = {
MountOne: (to:DOM|any,object:DOM|any,holder:DOM|any?)->mount;
MountOne: (to:DOM|any,object:DOM|any,holder:DOM|any?,noReturn:boolean?)->mount;
GetHolder: (item:DOM|any)->any?;
} & (to:DOM|any,object:DOM|any,holder:DOM|any?)->mounts
@ -132,7 +132,7 @@ export type module_mount = {
export type TweenOnStepped = (Item:DOM|any,Alpha:number,AbsolutePercent:number)->()
export type TweenEnded = (Item:DOM|any)->()
export type TweenSetter = (Item:DOM|any,Property:string,Value:Lerpable)->()
export type TweenGetter = (Item:DOM|any,Property:string)->()
export type TweenGetter = (Item:DOM|any,Property:string)->any
export type TweenOptions = {
Easing: "Linear"
|"Quint"
@ -144,6 +144,7 @@ export type TweenOptions = {
|"Expo"
|"Elastic"
|"Bounce"
|"Back"
|"Exp2"
|"Exp4"
|EasingFunction?;
@ -157,20 +158,21 @@ export type TweenOptions = {
}
export type EasingFunction = {run:(number)->number,[any]:any}
export type EasingFunctions = {
Linear: EasingFunction; ---직선, Linear. i=x, x=0 ~ 1
Quint: EasingFunction; ---5제곱, Quint. (^5) i=1-(1-x)^5, x=0 ~ 1
Quart: EasingFunction; ---4제곱, Quart. (^4) i=1-(1-x)^4, x=0 ~ 1
Cubic: EasingFunction; ---3제곱, Cubic. (^3) i=1-(1-x)^3, x=0 ~ 1
Quad: EasingFunction; ---2제곱, Quad. (^2) i=1-(1-x)^2, x=0 ~ 1
Sin: EasingFunction; ---사인파, Sin. i=sin(x*pi/2), x=0 ~ 1
Circle: EasingFunction; ---사분원, Circle. i=sqrt(1-(1-x)^2), x=0 ~ 1
Expo: EasingFunction; ---지수함수, Expo. i=1-2^(-10*x), x=0~1
Elastic: EasingFunction; ---튀어오름, Elastic.
Bounce: EasingFunction; ---통통거림, Bounce
Linear: EasingFunction; ---직선, Linear. i=x, x=0 to 1
Quint: EasingFunction; ---5제곱, Quint. (^5) i=1-(1-x)^5, x=0 to 1
Quart: EasingFunction; ---4제곱, Quart. (^4) i=1-(1-x)^4, x=0 to 1
Cubic: EasingFunction; ---3제곱, Cubic. (^3) i=1-(1-x)^3, x=0 to 1
Quad: EasingFunction; ---2제곱, Quad. (^2) i=1-(1-x)^2, x=0 to 1
Sin: EasingFunction; ---사인파, Sin. i=sin(x*pi/2), x=0 to 1
Circle: EasingFunction; ---사분원, Circle. i=sqrt(1-(1-x)^2), x=0 to 1
Expo: EasingFunction; ---지수함수, Expo. i=1-2^(-10*x), x=0 to 1
Elastic: EasingFunction; ---탄성, Elastic.
Bounce: EasingFunction; ---튀어오름, Bounce
Back: EasingFunction; ---뒤로 움직임, Back
-- Old things
Exp2: EasingFunction; ---덜 가파른 지수. i=math.exp(x), x=-4 ~ 2
Exp4: EasingFunction; ---더 가파른 지수. i=math.exp(x), x=-4 ~ 4
Exp2: EasingFunction; ---덜 가파른 지수. i=exp(x)/max, x=-4 to 2
Exp4: EasingFunction; ---더 가파른 지수. i=exp(x)/max, x=-4 to 4
}
export type EasingDirection = string
export type EasingDirections = {
@ -182,7 +184,9 @@ export type Lerpable = Color3|UDim|UDim2|number|Vector2|Vector3|CFrame
export type TweenHandler = ()->();
export type module_tween = {
EasingFunctions:EasingFunctions;
Easing:EasingFunctions;
EasingDirections:EasingDirections;
Directions:EasingDirections;
LerpProperties: <item>(item:item&(DOM|any),old:{[string]:Lerpable},new:{[string]:Lerpable},alpha:number,setter:(item:item&(DOM|any),property:string,value:Lerpable)->()?)->();
RunTween: (Item:DOM|any,Option:TweenOptions,Properties:{[string]:Lerpable},Ended:TweenEnded?,OnStepped:TweenOnStepped?,Setter:TweenSetter?,Getter:TweenGetter?)->TweenHandler;
RunTweens: (Items:{[number]:DOM|any},Option:TweenOptions,Properties:{[string]:Lerpable},Ended:TweenEnded?,OnStepped:TweenOnStepped?,Setter:TweenSetter?,Getter:TweenGetter?)->();