UNPKG

skynovel

Version:
722 lines (644 loc) 172 kB
<!doctype html><html ⚡ lang="ja"> <head> <meta charset="utf-8"> <script async src="https://cdn.ampproject.org/v0.js"></script> <link rel="preload" href="https://fonts.gstatic.com/s/inconsolata/v17/QldKNThLqRwH-OJ1UHjlKGlZ5qhExfHw.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://fonts.gstatic.com/s/montserrat/v13/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://cdn.ampproject.org/rtv/011905140117570/v0/amp-auto-lightbox-0.1.js" as="script"> <link rel="preload" href="https://fonts.googleapis.com/css?family=Inconsolata|Montserrat" as="style"> <title>SKYNovel タグリファレンス Tag Reference</title> <link rel="canonical" href="https://famibee.github.io/SKYNovel/tag.htm"/> <meta name="description" content="SKYNovel タグリファレンス Tag Reference"/> <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/> <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style> <noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript> <link href="https://fonts.googleapis.com/css?family=Inconsolata|Montserrat" rel="stylesheet"> <style amp-custom> .ampstart-footer{background-color:#fff;color:#000;font-size:.75rem;padding-top:7rem;padding-bottom:7rem} .ampstart-footer .ampstart-icon{fill:#000} .ampstart-footer .ampstart-social-follow li:last-child{margin-right:0} .ampstart-headerbar{background-color:#ffffffc0;color:#000;z-index:999;box-shadow:0 0 5px 2px rgba(0,0,0,.1)} .ampstart-headerbar+:not(amp-sidebar),.ampstart-headerbar+amp-sidebar+*{margin-top:3.5rem} .ampstart-headerbar-nav .ampstart-nav-item{padding:0 1.5rem;background:0 0;opacity:.8} .ampstart-headerbar-nav{line-height:3.5rem} /*! Bassplate | MIT License | http://github.com/basscss/bassplate *//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}.h1{font-size:3rem}.h2{font-size:2rem}.h3{font-size:1.5rem}.h4{font-size:1.125rem}.h5{font-size:.875rem}.h6{font-size:.75rem}.font-family-inherit{font-family:inherit}.font-size-inherit{font-size:inherit}.text-decoration-none{text-decoration:none}.bold{font-weight:700}.regular{font-weight:400}.italic{font-style:italic}.caps{letter-spacing:.2em}.left-align{text-align:left}.center{text-align:center}.right-align{text-align:right}.justify{text-align:justify}.nowrap{white-space:nowrap}.break-word{word-wrap:break-word}.line-height-1{line-height:1rem}.line-height-2{line-height:1.125rem}.line-height-3{line-height:1.5rem}.line-height-4{line-height:2rem}.list-style-none{list-style:none}.underline{text-decoration:underline}.truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-reset{list-style:none;padding-left:0}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.table{display:table}.table-cell{display:table-cell}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.left{float:left}.right{float:right}.fit{max-width:100%}.max-width-1{max-width:24rem}.max-width-2{max-width:32rem}.max-width-3{max-width:48rem}.max-width-4{max-width:64rem}.border-box{box-sizing:border-box}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.m0{margin:0}.mt0{margin-top:0}.mr0{margin-right:0}.mb0{margin-bottom:0}.ml0,.mx0{margin-left:0}.mx0{margin-right:0}.my0{margin-top:0;margin-bottom:0}.m1{margin:1rem}.mt1{margin-top:1rem}.mr1{margin-right:1rem}.mb1{margin-bottom:1rem}.ml1,.mx1{margin-left:1rem}.mx1{margin-right:1rem}.my1{margin-top:1rem;margin-bottom:1rem}.m2{margin:1.5rem}.mt2{margin-top:1.5rem}.mr2{margin-right:1.5rem}.mb2{margin-bottom:1.5rem}.ml2,.mx2{margin-left:1.5rem}.mx2{margin-right:1.5rem}.my2{margin-top:1.5rem;margin-bottom:1.5rem}.m3{margin:2rem}.mt3{margin-top:2rem}.mr3{margin-right:2rem}.mb3{margin-bottom:2rem}.ml3,.mx3{margin-left:2rem}.mx3{margin-right:2rem}.my3{margin-top:2rem;margin-bottom:2rem}.m4{margin:2.5rem}.mt4{margin-top:2.5rem}.mr4{margin-right:2.5rem}.mb4{margin-bottom:2.5rem}.ml4,.mx4{margin-left:2.5rem}.mx4{margin-right:2.5rem}.my4{margin-top:2.5rem;margin-bottom:2.5rem}.mxn1{margin-left:-1rem;margin-right:-1rem}.mxn2{margin-left:-1.5rem;margin-right:-1.5rem}.mxn3{margin-left:-2rem;margin-right:-2rem}.mxn4{margin-left:-2.5rem;margin-right:-2.5rem}.ml-auto{margin-left:auto}.mr-auto,.mx-auto{margin-right:auto}.mx-auto{margin-left:auto}.p0{padding:0}.pt0{padding-top:0}.pr0{padding-right:0}.pb0{padding-bottom:0}.pl0,.px0{padding-left:0}.px0{padding-right:0}.py0{padding-top:0;padding-bottom:0}.p1{padding:1rem}.pt1{padding-top:1rem}.pr1{padding-right:1rem}.pb1{padding-bottom:1rem}.pl1{padding-left:1rem}.py1{padding-top:1rem;padding-bottom:1rem}.px1{padding-left:1rem;padding-right:1rem}.p2{padding:1.5rem}.pt2{padding-top:1.5rem}.pr2{padding-right:1.5rem}.pb2{padding-bottom:1.5rem}.pl2{padding-left:1.5rem}.py2{padding-top:1.5rem;padding-bottom:1.5rem}.px2{padding-left:1.5rem;padding-right:1.5rem}.p3{padding:2rem}.pt3{padding-top:2rem}.pr3{padding-right:2rem}.pb3{padding-bottom:2rem}.pl3{padding-left:2rem}.py3{padding-top:2rem;padding-bottom:2rem}.px3{padding-left:2rem;padding-right:2rem}.p4{padding:2.5rem}.pt4{padding-top:2.5rem}.pr4{padding-right:2.5rem}.pb4{padding-bottom:2.5rem}.pl4{padding-left:2.5rem}.py4{padding-top:2.5rem;padding-bottom:2.5rem}.px4{padding-left:2.5rem;padding-right:2.5rem}.col{float:left}.col,.col-right{box-sizing:border-box}.col-right{float:right}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}@media (min-width:40.06rem){.sm-col{float:left;box-sizing:border-box}.sm-col-right{float:right;box-sizing:border-box}.sm-col-1{width:8.33333%}.sm-col-2{width:16.66667%}.sm-col-3{width:25%}.sm-col-4{width:33.33333%}.sm-col-5{width:41.66667%}.sm-col-6{width:50%}.sm-col-7{width:58.33333%}.sm-col-8{width:66.66667%}.sm-col-9{width:75%}.sm-col-10{width:83.33333%}.sm-col-11{width:91.66667%}.sm-col-12{width:100%}}@media (min-width:52.06rem){.md-col{float:left;box-sizing:border-box}.md-col-right{float:right;box-sizing:border-box}.md-col-1{width:8.33333%}.md-col-2{width:16.66667%}.md-col-3{width:25%}.md-col-4{width:33.33333%}.md-col-5{width:41.66667%}.md-col-6{width:50%}.md-col-7{width:58.33333%}.md-col-8{width:66.66667%}.md-col-9{width:75%}.md-col-10{width:83.33333%}.md-col-11{width:91.66667%}.md-col-12{width:100%}}@media (min-width:64.06rem){.lg-col{float:left;box-sizing:border-box}.lg-col-right{float:right;box-sizing:border-box}.lg-col-1{width:8.33333%}.lg-col-2{width:16.66667%}.lg-col-3{width:25%}.lg-col-4{width:33.33333%}.lg-col-5{width:41.66667%}.lg-col-6{width:50%}.lg-col-7{width:58.33333%}.lg-col-8{width:66.66667%}.lg-col-9{width:75%}.lg-col-10{width:83.33333%}.lg-col-11{width:91.66667%}.lg-col-12{width:100%}}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}@media (min-width:40.06rem){.sm-flex{display:-webkit-box;display:-ms-flexbox;display:flex}}@media (min-width:52.06rem){.md-flex{display:-webkit-box;display:-ms-flexbox;display:flex}}@media (min-width:64.06rem){.lg-flex{display:-webkit-box;display:-ms-flexbox;display:flex}}.flex-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.items-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.self-start{-ms-flex-item-align:start;align-self:flex-start}.self-end{-ms-flex-item-align:end;align-self:flex-end}.self-center{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-around{-ms-flex-pack:distribute;justify-content:space-around}.content-start{-ms-flex-line-pack:start;align-content:flex-start}.content-end{-ms-flex-line-pack:end;align-content:flex-end}.content-center{-ms-flex-line-pack:center;align-content:center}.content-between{-ms-flex-line-pack:justify;align-content:space-between}.content-around{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.flex-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none{-webkit-box-flex:0;-ms-flex:none;flex:none}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-last{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z1{z-index:1}.z2{z-index:2}.z3{z-index:3}.z4{z-index:4}.border{border-style:solid;border-width:1px}.border-top{border-top-style:solid;border-top-width:1px}.border-right{border-right-style:solid;border-right-width:1px}.border-bottom{border-bottom-style:solid;border-bottom-width:1px}.border-left{border-left-style:solid;border-left-width:1px}.border-none{border:0}.rounded{border-radius:3px}.circle{border-radius:50%}.rounded-top{border-radius:3px 3px 0 0}.rounded-right{border-radius:0 3px 3px 0}.rounded-bottom{border-radius:0 0 3px 3px}.rounded-left{border-radius:3px 0 0 3px}.not-rounded{border-radius:0}.hide{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}@media (max-width:40rem){.xs-hide{display:none}}@media (min-width:40.06rem) and (max-width:52rem){.sm-hide{display:none}}@media (min-width:52.06rem) and (max-width:64rem){.md-hide{display:none}}@media (min-width:64.06rem){.lg-hide{display:none}} .h1,h1{font-size:3rem;line-height:3.5rem} .h2,h2{font-size:2rem;line-height:2.5rem} .h3,h3{font-size:1.5rem;line-height:2rem} .h4,h4{font-size:1.125rem;line-height:1.5rem} .h5,h5{font-size:.875rem;line-height:1.125rem} .h6,h6{font-size:.75rem;line-height:1rem} h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-weight:400;letter-spacing:.06em} a,a:active,a:visited{color:inherit} .ampstart-btn{font-family:inherit;font-weight:inherit;font-size:1rem;line-height:1.125rem;padding:.7em .8em;text-decoration:none;white-space:nowrap;word-wrap:normal;vertical-align:middle;cursor:pointer;background-color:#fff;color:#4508b6;border:1px solid #4508b6} .w-header,h1,h2,h3,h4,h5,h6{font-family:Inconsolata,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif;margin-top: 1.2em} .ampstart-headerbar-nav .ampstart-nav-item{padding-right:1rem} .ampstart-headerbar-nav .ampstart-nav-item.w-current-page{color:#066573} .ampstart-headerbar-nav .ampstart-nav-item.w-current-page:after,.anchor[selected]:after{content:"";display:block;height:4px;background:linear-gradient(90deg,#1e1049 0,#004dff)} aside li>a{text-decoration:none} .w-header{ background-image:linear-gradient(90deg,#1e1049 0,#004dff); padding:7rem 0; color:#fff; -webkit-clip-path: polygon(0 1%, 100% 25%, 100% 100%, 0 75%); clip-path: polygon(0 1%, 100% 25%, 100% 100%, 0 75%); } .w-components-sec-nav{min-width:200px;margin-top:-4.5rem;padding-top:4.5rem} .w-components-sec-nav >p { background:linear-gradient(90deg,#1e1049 0,#004dff); color: white; } .w-heading{letter-spacing:inherit;position:relative;font-size:1.5rem;} .ampstart-footer{position:relative} .ampstart-footer:before{content:"";position:absolute;width:100%;height:35px;background-image:linear-gradient(90deg,#1e1049 0,#004dff);top:0;left:0;right:0} .ampstart-device-preview-mask,.ampstart-device-preview-select{background:#f9f7f7} .ampstart-device-preview-select{box-shadow:0 0 5px 2px rgba(0,0,0,.1)} .w-component-desc{margin-bottom:5rem; padding-left:1rem;padding-right:1rem;line-height: 1.6} .w-component-desc h1{letter-spacing:inherit;background:linear-gradient(90deg,#1e1049 0,#004dff);color: white} .w-component-desc:target:before{content:"";display:block;height:3.5rem} .w-component-desc [placeholder]{background:#fff} .w-component-rendered{margin-top:3.5rem} .w-component-desc pre{white-space:pre-line;background:#f9f7f7;overflow-y:auto;margin:0} .w-example-code amp-accordion [expanded] h3:after{-webkit-transform:scaleY(-1);transform:scaleY(-1)}@media (max-width:40rem){.w-component-desc>*{padding-left:0;padding-right:0} .w-header>*{padding-left:0;padding-right:0}}@media (max-width:363px){.w-component-iframe-container>amp-iframe{-webkit-transform:scale(.792);transform:scale(.792);-webkit-transform-origin:0 0;transform-origin:0 0;width:343px}} :root{--font-family-serif:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-monospace:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,sans-serif;--color-primary:#005AF0} body{font-family:var(--font-family-serif)} .abe-sublist,.ampstart-nav-item .abe-list-container{opacity:0;pointer-events:none;position:absolute} .ampstart-btn-secondary,.ampstart-btn-secondary[disabled],.ampstart-btn-secondary[disabled]:focus,.ampstart-btn-secondary[disabled]:hover,a.ampstart-btn-secondary,a.ampstart-btn-secondary.disabled,a.ampstart-btn-secondary.disabled:focus,a.ampstart-btn-secondary.disabled:hover{color:#fff;background:#4508b6;border:1px solid #fff}@keyframes slideUp{0%{transform:translateY(100%);opacity:.5}100%{transform:translateY(0);opacity:1}}amp-consent{background:#fff;box-shadow:rgba(0,0,0,.26) 0 0 19px 0;animation:.5s ease-out 0s 1 slideUp} table {margin: 1em 0;} th {background-color: #6033d1; color: white;} tr.y {background-color: #18bc9c; font-weight: bold;} table td {border-right: dashed 1px black; border-bottom: solid 1px black;} table.row td {border-bottom: solid 1px black;} span.red {color: #B60000;} </style> </head> <body> <header class="ampstart-headerbar fixed flex justify-start items-center top-0 left-0 right-0 pl2 pr4"> <div role="button" on="tap:header-sidebar.toggle" tabindex="0" class="ampstart-navbar-trigger md-hide lg-hide pr2">☰</div> <nav class="ampstart-headerbar-nav ampstart-nav xs-hide"> <ul class="list-reset m0 p0 flex justify-center nowrap"> <li class="ampstart-nav-item abe-nav-list w-current-page"> <a href="tag.htm" class="text-decoration-none block">タグ</a> </li> <li class="ampstart-nav-item abe-nav-list"> <a href="macro_plg.htm" class="text-decoration-none block">マクロ・プラグイン</a> </li> <li class="ampstart-nav-item abe-nav-list"> <a href="dev.htm" class="text-decoration-none block">開発者向け情報</a> </li> <li class="ampstart-nav-item abe-nav-list"> <a href="https://github.com/famibee/SKYNovel" class="text-decoration-none block">github</a> </li> <li class="ampstart-nav-item abe-nav-list"> <a href="https://famibee.blog.fc2.com/" class="text-decoration-none block">blog</a> </li> </ul> </nav> </header> <header class="w-header center" id="top-header"> <h1 class="mb1">SKYNovel タグリファレンス</h1> <p class="block mb4 caps text-decoration-none">SKYNovel Tag Reference</p> <!-- <div class="w-index-header-action mx-auto"> <a class="ampstart-btn ampstart-btn-secondary caps mb1 mx2 text-decoration-none inline-block" href="/playground/#url=https://ampbyexample.com/components/amp-sidebar/source/">Open in Playground</a> <a class="ampstart-btn ampstart-btn-secondary caps mb1 mx2 text-decoration-none inline-block" href="/components/amp-sidebar/preview/">View Demo</a> </div> --> </header> <main class="flex pl2 mt1"> <aside class="w-components-sec-nav col-3 xs-hide sm-hide relative"> <h3>タグ一覧</h3> <p>変数操作</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#clearsysvar">[clearsysvar] システム変数の全消去</a></li> <li class="mb1"><a href="#clearvar">[clearvar] ゲーム変数の全消去</a></li> <li class="mb1"><a href="#let_abs">[let_abs] 絶対値</a></li> <li class="mb1"><a href="#let_char_at">[let_char_at] 文字列から一字取りだし</a></li> <li class="mb1"><a href="#let_index_of">[let_index_of] 文字列で検索</a></li> <li class="mb1"><a href="#let_length">[let_length] 文字列の長さ</a></li> <li class="mb1"><a href="#let_ml">[let_ml] インラインテキスト代入</a></li> <li class="mb1"><a href="#let_replace">[let_replace] 正規表現で置換</a></li> <li class="mb1"><a href="#let_round">[let_round] 四捨五入</a></li> <li class="mb1"><a href="#let_search">[let_search] 正規表現で検索</a></li> <li class="mb1"><a href="#let_substr">[let_substr] 文字列から抜きだし</a></li> <li class="mb1"><a href="#let">[let] 変数代入・演算</a></li> </ul> <p>レイヤ共通</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#add_lay">[add_lay] レイヤを追加する</a></li> <li class="mb1"><a href="#clear_lay">[clear_lay] レイヤ設定の消去</a></li> <li class="mb1"><a href="#finish_trans">[finish_trans] トランス強制終了</a></li> <li class="mb1"><a href="#lay">[lay] レイヤ設定</a></li> <li class="mb1"><a href="#blendMode"> blendModeの解説</a></li> <li class="mb1"><a href="#txtlay"> レイヤ設定(文字レイヤ)</a></li> <li class="mb1"><a href="#grplay"> レイヤ設定(画像レイヤ)</a></li> <li class="mb1"><a href="#trans">[trans] ページ裏表を交換</a></li> <li class="mb1"><a href="#wt">[wt] トランス終了待ち</a></li> </ul> <p>トゥイーンアニメ</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#pause_tsy">[pause_tsy] 一時停止</a></li> <li class="mb1"><a href="#resume_tsy">[resume_tsy] 一時停止再開</a></li> <li class="mb1"><a href="#stop_tsy">[stop_tsy] トゥイーン中断</a></li> <li class="mb1"><a href="#tsy">[tsy] トゥイーン開始</a></li> <li class="mb1"><a href="#wait_tsy">[wait_tsy] トゥイーン終了待ち</a></li> </ul> <p>文字・文字レイヤ</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#autowc">[autowc] 文字ごとのウェイト</a></li> <li class="mb1"><a href="#ch_in_style">[ch_in_style] 文字出現演出定義</a></li> <li class="mb1"><a href="#ch_out_style">[ch_out_style] 文字消去演出定義</a></li> <li class="mb1"><a href="#ch">[ch] 文字を追加する</a></li> <li class="mb1"><a href="#clear_text">[clear_text] 文字消去</a></li> <li class="mb1"><a href="#current">[current] デフォルト文字レイヤ設定</a></li> <li class="mb1"><a href="#endlink">[endlink] ハイパーリンクの終了</a></li> <li class="mb1"><a href="#er">[er] ページ両面の文字消去</a></li> <li class="mb1"><a href="#graph">[graph] インライン画像表示</a></li> <li class="mb1"><a href="#link">[link] ハイパーリンク</a></li> <li class="mb1"><a href="#r">[r] 改行</a></li> <li class="mb1"><a href="#rec_ch">[rec_ch] 履歴書き込み</a></li> <li class="mb1"><a href="#rec_r">[rec_r] 履歴改行</a></li> <li class="mb1"><a href="#reset_rec">[reset_rec] 履歴リセット</a></li> <li class="mb1"><a href="#ruby2">[ruby2] 文字列と複数ルビの追加</a></li> <li class="mb1"><a href="#set_focus"><span class="red">【未作成】</span>[set_focus] フォーカス移動</a></li> <li class="mb1"><a href="#span">[span] インラインスタイル設定</a></li> <li class="mb1"><a href="#tcy">[tcy] 縦中横を表示する</a></li> </ul> <p>画像・画像レイヤ</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#add_face">[add_face] 差分名称の定義</a></li> <li class="mb1"><a href="#wv">[wv] 動画再生終了待ち</a></li> </ul> <p>HTMLフレーム</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#add_frame">[add_frame] フレーム追加</a></li> <li class="mb1"><a href="#frame">[frame] フレームに設定</a></li> <li class="mb1"><a href="#let_frame">[let_frame] フレーム変数を取得</a></li> <li class="mb1"><a href="#set_frame">[set_frame] フレーム変数に設定</a></li> <li class="mb1"><a href="#tsy_frame">[tsy_frame] フレームをトゥイーン開始</a></li> </ul> <p>イベント</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#clear_event">[clear_event] イベントを全消去</a></li> <li class="mb1"><a href="#enable_event">[enable_event] イベント有無の切替</a></li> <li class="mb1"><a href="#event">[event] イベントを予約</a></li> <li class="mb1"><a href="#l">[l] 行末クリック待ち</a></li> <li class="mb1"><a href="#p">[p] 改ページクリック待ち</a></li> <li class="mb1"><a href="#s">[s] 停止する</a></li> <li class="mb1"><a href="#set_cancel_skip">[set_cancel_skip] スキップ中断予約</a></li> <li class="mb1"><a href="#wait">[wait] ウェイトを入れる</a></li> <li class="mb1"><a href="#waitclick">[waitclick] クリックを待つ</a></li> </ul> <p>BGM・効果音</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#fadebgm">[fadebgm] BGMのフェード</a></li> <li class="mb1"><a href="#fadeoutbgm">[fadeoutbgm] BGMのフェードアウト</a></li> <li class="mb1"><a href="#fadeoutse">[fadeoutse] 効果音のフェードアウト</a></li> <li class="mb1"><a href="#fadese">[fadese] 効果音のフェード</a></li> <li class="mb1"><a href="#playbgm">[playbgm] BGM の演奏</a></li> <li class="mb1"><a href="#playse">[playse] 効果音の再生</a></li> <li class="mb1"><a href="#stop_allse">[stop_allse] 全効果音再生の停止</a></li> <li class="mb1"><a href="#stopbgm">[stopbgm] BGM 演奏の停止</a></li> <li class="mb1"><a href="#stopfadese">[stopfadese] 音声フェードの停止</a></li> <li class="mb1"><a href="#stopse">[stopse] 効果音再生の停止</a></li> <li class="mb1"><a href="#volume">[volume] 音量設定</a></li> <li class="mb1"><a href="#wb">[wb] BGM フェードの終了待ち</a></li> <li class="mb1"><a href="#wf">[wf] 効果音フェードの終了待ち</a></li> <li class="mb1"><a href="#wl">[wl] BGM 再生の終了待ち</a></li> <li class="mb1"><a href="#ws">[ws] 効果音再生の終了待ち</a></li> <li class="mb1"><a href="#xchgbuf">[xchgbuf] サウンドバッファの交換</a></li> </ul> <p>条件分岐</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#else">[else] その他ifブロック開始</a></li> <li class="mb1"><a href="#elsif">[elsif] 別条件のifブロック開始</a></li> <li class="mb1"><a href="#endif">[endif] ifブロックの終端</a></li> <li class="mb1"><a href="#if">[if] ifブロックの開始</a></li> </ul> <p>ラベル・ジャンプ</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#button">[button] ボタンを表示</a></li> <li class="mb1"><a href="#call">[call] サブルーチンコール</a></li> <li class="mb1"><a href="#jump">[jump] シナリオジャンプ</a></li> <li class="mb1"><a href="#pop_stack">[pop_stack] コールスタック破棄</a></li> <li class="mb1"><a href="#return">[return] サブルーチンから戻る</a></li> </ul> <p>マクロ</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#bracket2macro">[bracket2macro] 括弧マクロの定義</a></li> <li class="mb1"><a href="#char2macro">[char2macro] 一文字マクロの定義</a></li> <li class="mb1"><a href="#endmacro">[endmacro] マクロ定義の終了</a></li> <li class="mb1"><a href="#macro">[macro] マクロ定義の開始</a></li> </ul> <p>しおり</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#copybookmark">[copybookmark] しおりの複写</a></li> <li class="mb1"><a href="#erasebookmark">[erasebookmark] しおりの消去</a></li> <li class="mb1"><a href="#load">[load] しおりの読込</a></li> <li class="mb1"><a href="#record_place">[record_place] セーブポイント指定</a></li> <li class="mb1"><a href="#reload_script">[reload_script] スクリプト再読込</a></li> <li class="mb1"><a href="#save">[save] しおりの保存</a></li> </ul> <p>画面揺らし</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#quake">[quake] 画面を揺らす</a></li> <li class="mb1"><a href="#stop_quake">[stop_quake] 画面揺らし中断</a></li> <li class="mb1"><a href="#wq">[wq] 画面揺らし終了待ち</a></li> </ul> <p>システム</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#close">[close] アプリの終了</a></li> <li class="mb1"><a href="#export">[export] プレイデータをエクスポート</a></li> <li class="mb1"><a href="#import">[import] プレイデータをインポート</a></li> <li class="mb1"><a href="#loadplugin">[loadplugin] プラグインの読み込み</a></li> <li class="mb1"><a href="#navigate_to">[navigate_to] URLを開く</a></li> <li class="mb1"><a href="#snapshot">[snapshot] スナップショット</a></li> <li class="mb1"><a href="#title">[title] タイトル指定</a></li> <li class="mb1"><a href="#toggle_full_screen">[toggle_full_screen] 全画面状態切替</a></li> <li class="mb1"><a href="#update_check">[update_check] 更新チェック機能</a></li> <li class="mb1"><a href="#window">[window] アプリウインドウ設定</a></li> </ul> <p>デバッグ・その他</p> <ul class="anchors list-reset m0 p0 px1"> <li class="mb1"><a href="#dump_lay">[dump_lay] レイヤのダンプ</a></li> <li class="mb1"><a href="#dump_stack">[dump_stack] スタックのダンプ</a></li> <li class="mb1"><a href="#dump_val">[dump_val] 変数のダンプ</a></li> <li class="mb1"><a href="#log">[log] ログ出力</a></li> <li class="mb1"><a href="#trace">[trace] デバッグ表示へ出力</a></li> </ul> </aside> <article class="w-components flex-auto col-9"> <section class="w-component-desc"> <h1>変数操作</h1> <h2 id="clearsysvar" class="w-heading">[clearsysvar] システム変数の全消去</h2> <h4>sys:変数を全消去。削除すると言うより、初期化する</h4> <p class="mb2 px1"> 属性無し </p> <h2 id="clearvar" class="w-heading">[clearvar] ゲーム変数の全消去</h2> <h4>save:変数を全消去。削除すると言うより、初期化する</h4> <p class="mb2 px1"> 属性無し </p> <h2 id="let_abs" class="w-heading">[let_abs]絶対値</h2> <h4>絶対値を求める。結果を変数に代入する</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>Number</td><td>絶対値を求める数</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let_char_at" class="w-heading">[let_char_at] 文字列から一字取りだし</h2> <h4>文字列中の一文字を取り出す。結果を変数に代入する</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>String</td><td>元になる文字列</td></tr> <tr><td>pos</td><td></td><td>0</td><td>0(先頭)〜</td><td>何番目の文字を取り出すか</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let_index_of" class="w-heading">[let_index_of]文字列で検索</h2> <h4>文字列内を検索し、文字列内の start 以降で、最初に val が見つかった位置を返す。</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数。-1の場合は見つからなかった</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>String</td><td>元になる文字列</td></tr> <tr class="y"><td>val</td><td>y</td><td></td><td>String</td><td>探す文字列</td></tr> <tr><td>start</td><td></td><td>0</td><td>0(先頭)〜</td><td>検索を開始する位置</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let_length" class="w-heading">[let_length]文字列の長さ</h2> <h4>文字列の長さを求める。結果を変数に代入する</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>String</td><td>長さを求める文字列</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let_ml" class="w-heading">[let_ml]インラインテキスト代入</h2> <h4>[let_ml]〜[endlet_ml]で囲んだ複数行テキストを代入する</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> </table> </p> <h2 id="let_replace" class="w-heading">[let_replace]正規表現で置換</h2> <h4>文字列を正規表現で検索し、マッチする箇所を文字列で置き換える。</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>String</td><td>置換対象の文字列</td></tr> <tr class="y"><td>reg</td><td>y</td><td></td><td>String</td><td>正規表現</td></tr> <tr><td>flags</td><td></td><td>(なし)</td><td>String</td><td>正規表現のフラグ</td></tr> <tr class="y"><td>val</td><td>y</td><td></td><td>String</td><td>置き換える文字列</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let_round" class="w-heading">[let_round]四捨五入</h2> <h4>四捨五入する。結果を変数に代入する</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>Number</td><td>四捨五入する数</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let_search" class="w-heading">[let_search]正規表現で検索</h2> <h4>文字列内を正規表現で検索し、最初に val が見つかった位置を返します。</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>String</td><td>検索対象の文字列</td></tr> <tr class="y"><td>reg</td><td>y</td><td></td><td>String</td><td>正規表現</td></tr> <tr><td>flags</td><td></td><td>(なし)</td><td>String</td><td>正規表現のフラグ</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let_substr" class="w-heading">[let_substr] 文字列から抜きだし</h2> <h4>文字列の一部を取り出す。結果を変数に代入する</h4> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>String</td><td>元になる文字列</td></tr> <tr><td>pos</td><td></td><td>0</td><td>0(先頭)〜<br/>または<br/>〜-1(末尾)</td><td>何番目の文字から取り出すか。<br/>負の値なら「後ろから何個目か」。-1が最後の文字。<br/>【pos=-3 len=all】とすると、後ろから3文字を取り出す。</td></tr> <tr><td>len</td><td></td><td>1</td><td>文字数、または all</td><td>何文字取り出すか。all でpos以降の全て</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td></td><td>値をセットする際の型。(詳細は[let]を参照)</td></tr> </table> </p> <h2 id="let" class="w-heading">[let] 変数代入・演算</h2> <h4>変数に値を代入する</h4> <p class="mb2 px1"> 変数については「<a href="dev.md#reserve_value_sys">SKYNovel 組み込み変数</a>」を参照して下さい <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>name</td><td>y</td><td></td><td>変数名</td><td>代入する変数</td></tr> <tr class="y"><td>text</td><td>y</td><td></td><td>String</td><td>セットする値</td></tr> <tr><td>cast</td><td></td><td>出来るだけ数値変換</td><td>(コメントを参照)</td><td>値をセットする際の型。<br/>num……数値(実数)。「01」は数値の1となる。<br/>int……数値(符合付き整数)<br/>uint……数値(符合なし整数)<br/>bool……Boolean<br/>str……文字列。「01」は「01」のまま。</td></tr> </table> <pre> [let]を使わない、より簡潔な記述文法があります。 ※condのような条件分岐、「=aaa|0x0」のような省略記法はできません。 以下の記述は、 [let name=a text=1] [let name="b" text=2] [let name=ret text="&amp;a + b"](文字列ではなく計算の場合、右辺に&amp;をつける) [let name="&amp;'ret'+ a" text="&amp;1 + b"](左辺で&amp;を使える) 以下のようにも書けます。(&amp;から改行かタブまでを[let]文と解釈します) &amp;a=1 &amp;b=2 &amp;ret = a + b(このように、右辺の&amp;は省略します。常に&amp;がついているイメージ) &amp;&amp;'tst' + a = 1+b(左辺で&amp;を使える。&amp;ret1 = 1 + b と同じ) キャストも記述できます。(両者は同じ意味) [let name=ret text=&amp;1+2 cast=int](結果は3。1+2の計算結果が入る) &amp;ret=1+2=int(同上) キャスト動作そのものは、以下のとおり。 &amp;num = '0+1' = int(結果は0、文字列「0+1」を計算せず文字列のまま、数値に変換できないため) &amp;num = 0+1 = int(結果は1、0+1という計算結果をintで変数へ) &amp;txt = '0+1' = str(結果は文字列「0+1」、文字列をそのまま変数に) &amp;txt = 0+1 = str(結果は文字列「1」、0+1を計算してから結果1を文字列「1」として変数に) </pre> </p> <h1><a id="レイヤ共通"></a>レイヤ共通</h1> <h2 id="add_lay" class="w-heading">[add_lay]レイヤを追加する</h2> <h4>レイヤを追加する。</h4> <p class="mb2 px1"> レイヤはページの裏表があり、文字レイヤや画像レイヤなどの種類があります。<br/> <br/> レイヤの追加と同時に、[lay]に指定できる属性を指定できます。(内部的に[lay]を呼ぶ)<br/> これにより、[add_lay visible=false ...]等とすると、非表示状態でレイヤ追加できます。 <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>layer</td><td>y</td><td></td><td>String</td><td>レイヤ名を指定する。<br/>未使用のレイヤ名でなければエラー&アプリ停止</td></tr> <tr class="y"><td>class</td><td>y</td><td></td><td>grp(画像レイヤ)、<br/>txt(文字レイヤ)、<br/>またはプラグインで追加した値</td><td>レイヤの種類</td></tr> <tr><td colspan="3">(その他)</td><td colspan="2">[lay]に指定できる属性</td></tr> </table> </p> <h2 id="clear_lay" class="w-heading">[clear_lay]レイヤ設定の消去</h2> <h4>画像や文字などレイヤ状態をクリアする。</h4> <p class="mb2 px1"> <p>alpha、blendMode、rotation、scaleX、scaleYを初期値にする<br/> ※背景や背景画像はクリアしません(b_left、b_top、b_width、b_height、b_color、b_alpha)  クリアしたい場合は、[lay back_clear=true]</p> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr><td>layer</td><td></td><td>全てのレイヤ</td><td>レイヤ名(半角カンマ区切りで複数レイヤを指定可能)</td><td></td></tr> <tr><td>page</td><td></td><td>fore</td><td>fore、back、both</td><td>ページの裏表(both指定で両面)</td></tr> <tr><td>filter</td><td></td><td>false</td><td>Boolean</td><td>true:フィルタもクリア</td></tr> </table> </p> <h2 id="finish_trans" class="w-heading">[finish_trans] トランス強制終了</h2> <h4>[trans]で開始したトランスをすぐ終了させる</h4> <p class="mb2 px1"> 属性無し。<br/> <br/> [trans]で開始したトランス終了を待たず、すぐ終了させる。<br/> 終了次第、スクリプト処理を次へ進める </p> <h2 id="lay" class="w-heading">[lay]レイヤ設定(共通)</h2> <h4>レイヤに各種設定を行う。</h4> <p class="mb2 px1"> <p>レイヤの種類ごとに使用できる属性もあるが、共通な属性をここで解説する</p> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>layer</td><td>y</td><td></td><td>レイヤ名</td><td>処理対象のレイヤ</td></tr> <tr><td>page</td><td></td><td>fore</td><td>fore、back</td><td>ページの裏表</td></tr> <tr><td>visible</td><td></td><td>現在値</td><td>Boolean</td><td>true:表示、false:非表示</td></tr> <tr><td>alpha</td><td></td><td>1.0</td><td>0.0〜1.0(実数)</td><td>レイヤの透過度。0(完全透明)〜0.5(半透明)〜1(不透明)</td></tr> <tr><td>blendmode</td><td></td><td>何もしない</td><td>ブレンドモード名("screen"など)</td><td>このレイヤと下のレイヤとの重なりにおいて、<br/>ドット単位で色のブレンド演算を行なう。<br/>詳細は<a href="tag.htm#clearvar" target="_blank" rel="noopener">blendModeの解説</a>を参照。</td></tr> <tr><td>pos</td><td></td><td>c※</td><td>c、l、r、横座標</td><td>主に立ち絵に使う。横と縦座標を同時に設定する。<br/>横座標は指定した値(文字cの場合は画面中央、lは左寄り、rは右寄り)に設定し、画像下端を画面下端に接するように自動計算する。</td></tr> <tr><td>left</td><td></td><td>0</td><td>画面左上を(0, 0)とする横座標※</td><td>レイヤやボタン左端の画面左端からの距離</td></tr> <tr><td>center</td><td></td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>レイヤやボタン中央の画面左端からの距離</td></tr> <tr><td>right</td><td></td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>レイヤやボタン右端の画面左端からの距離</td></tr> <tr><td>s_right</td><td></td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>レイヤやボタン右端の画面右端からの距離</td></tr> <tr><td>top</td><td></td><td>0</td><td>画面左上を(0, 0)とする縦座標※</td><td>レイヤやボタン上端の画面上端からの距離</td></tr> <tr><td>middle</td><td></td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>レイヤやボタン中央の画面上端からの距離</td></tr> <tr><td>bottom</td><td></td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>レイヤやボタン下端の画面上端からの距離</td></tr> <tr><td>s_bottom</td><td></td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>レイヤやボタン下端の画面下端からの距離</td></tr> <tr><td>rotation</td><td></td><td>0</td><td>-180〜180</td><td>回転角を度単位で指定。時計回りは0~180、反時計回りは0~-180を指定。 左上を中心に回る</td></tr> <tr><td>scale_x</td><td></td><td>1.0</td><td>正負の実数値</td><td>横方向を何倍に拡大/縮小するか。負の値ならレイヤを左右反転</td></tr> <tr><td>scale_y</td><td></td><td>1.0</td><td>正負の実数値</td><td>縦方向を何倍に拡大/縮小するか。負の値ならレイヤを上下反転</td></tr> <tr><td>float</td><td></td><td>何もしない</td><td>Boolean</td><td>true:レイヤを最前面に移動する。</td></tr> <tr><td>index</td><td></td><td>何もしない</td><td>0〜</td><td>レイヤをindexで指定したインデックスに移動する。<br/>0がもっとも背後。レイヤを重ねるたびに1加算したindexになる</td></tr> <tr><td>dive</td><td></td><td>何もしない</td><td>レイヤ名</td><td>レイヤをdiveで指定したレイヤのすぐ後ろに潜り込ませる。<br/>「plg:プラグイン名」と記述する事でプラグインも指定できる。</td></tr> </table> </p> <h2 id="blendMode" class="w-heading">blendModeの解説</h2> <p class="mb2 px1"> <table><tr><th>SKYNovel での blendmode 属性の値</th><th>Photoshop ブレンドモード名</th><th>コメント</th></tr> <tr><td>normal </td><td>標準 </td><td>表示オブジェクトは、背景の前に表示されます。(なにもしない)</td></tr> <tr><td>add </td><td>加算 </td><td>表示オブジェクトの要素カラーの値を背景色に加算し、その際に上限 0xFF を適用します。</td></tr> <tr><td>multiply </td><td>乗算 </td><td>表示オブジェクトの要素カラーの値と背景色の要素カラーの値を乗算した後、0xFF で割って正規化し、色を暗くします。</td></tr> <tr><td>screen </td><td>スクリーン </td><td>表示オブジェクトの色の補数(逆)と背景色の補数を乗算して、ブリーチ効果を得ます。</td></tr> <!-- <tr><td>overlay </td><td>オーバーレイ </td><td>背景の暗さに基づいて、各ピクセルの色を調整します。</td></tr> <tr><td>darken </td><td>比較 (暗) </td><td>表示オブジェクトの要素カラーと背景色のうち暗い方(値が小さい方)の色を選択します。</td></tr> <tr><td>lighten </td><td>比較 (明) </td><td>表示オブジェクトの要素カラーと背景色のうち明るい方(値が大きい方)の色を選択します。</td></tr> <tr><td>color_dodge </td><td> </td><td></td></tr> <tr><td>color_burn </td><td> </td><td></td></tr> <tr><td>hard_light </td><td>ハードライト </td><td>表示オブジェクトの暗さに基づいて、各ピクセルの色を調整します。</td></tr> <tr><td>soft_light </td><td> </td><td></td></tr> <tr><td>difference </td><td>差の絶対値 </td><td>表示オブジェクトの各ピクセルのアルファ値を背景に適用します。</td></tr> <tr><td>exclusion </td><td> </td><td></td></tr> <tr><td>hue </td><td> </td><td></td></tr> <tr><td>saturation </td><td> </td><td></td></tr> <tr><td>color </td><td> </td><td></td></tr> <tr><td>luminosity </td><td> </td><td></td></tr> <tr><td>normal_npm </td><td> </td><td></td></tr> <tr><td>add_npm </td><td> </td><td></td></tr> <tr><td>screen_npm </td><td> </td><td></td></tr> <tr><td>none </td><td> </td><td></td></tr> <tr><td>src_in </td><td> </td><td></td></tr> <tr><td>src_out </td><td> </td><td></td></tr> <tr><td>src_atop </td><td> </td><td></td></tr> <tr><td>dst_over </td><td> </td><td></td></tr> <tr><td>dst_in </td><td> </td><td></td></tr> <tr><td>dst_out </td><td> </td><td></td></tr> <tr><td>dst_atop </td><td> </td><td></td></tr> <tr><td>subtract </td><td>減算 </td><td>結果の下限を 0 として、表示オブジェクトの要素カラーの値をその背景色の値から減算します。</td></tr> <tr><td>src_over </td><td> </td><td></td></tr> <tr><td>erase </td><td>消去 </td><td>表示オブジェクトのアルファ値に基づいて背景を消去します。</td></tr> <tr><td>xor </td><td> </td><td></td></tr> --> </table> </p> <h2 id="txtlay" class="w-heading">[lay]レイヤ設定(文字レイヤ)</h2> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr><td>style</td><td></td><td>何もしない</td><td>CSS style</td><td>※文字表示中の場合はすべてのスタイルが変更される</td></tr> <tr><td>ch_in_style</td><td></td><td>何もしない</td><td>文字出現演出名</td><td><a href="tag.htm#ch_in_style" target="_blank" rel="noopener">[ch_in_style]</a>で定義した文字出現演出名</td></tr> <tr><td>ch_out_style</td><td></td><td>何もしない</td><td>文字消去演出名</td><td><a href="tag.htm#ch_out_style" target="_blank" rel="noopener">[ch_out_style]</a>で定義した文字消去演出名</td></tr> <tr><td>b_width</td><td></td><td>(↑と同じ)</td><td>矩形表示縦横ピクセル数</td><td>テキスト背後の矩形表示縦横サイズ。<br/>初期値はそれぞれ(画面横幅 - b_left *2)(画面縦幅 - b_top *2)</td></tr> <tr><td>b_height</td><td></td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>(↑と同じ)</td></tr> <tr><td>b_color</td><td></td><td>(↑と同じ)</td><td>色指定。0x000000など</td><td>テキスト背後の矩形色。初期値は 0x000000(黒)</td></tr> <tr><td>b_alpha</td><td></td><td>(↑と同じ)</td><td>実数:0.0(透明)〜1.0(不透過)</td><td>テキスト背後の矩形不透明度。<br/>表示しない場合は0を指定。初期値は 0</td></tr> <tr><td>b_alpha_isfixed</td><td></td><td>現在値</td><td>Boolean</td><td>true:テキスト背後の矩形不透明度を、「b_alpha属性と sys:TextLayer.Back.Alpha の掛け算とせず」、b_alpha属性値そのものにする。(これは2017/2/13以前の仕様)</td></tr> <tr><td>b_pic</td><td></td><td>(↑と同じ)</td><td>画像ファイル名</td><td>文字レイヤ背後の枠画像を指定する。b_top、b_left、b_alphaの影響を受ける。<br/>(これを指定するとb_colorは無視される)</td></tr> <tr><td>back_clear</td><td></td><td>現在値</td><td>Boolean</td><td>true:背景をクリアする</td></tr> <tr><td>ffs</td><td></td><td>現在値</td><td>(コメントで解説)</td><td> CSS の文字詰め font-feature-settingsでの「"pwid"」「"palt"」など指定できる。<br/> (styleで指定してはいけない)<br/> (二重引用符・ダブルコーテーションマークも必要なので、【ffs='"pwid"'】と指定する)<br/> 初期値は指定なし<br/> →【参考】<a href="https://ics.media/entry/14087/" target="_blank" rel="noopener">文字詰めできるCSSのfont-feature-settingsが凄い! 日本語フォントこそ指定したい自動カーニング - ICS MEDIA</a> </td></tr> <tr><td>noffs</td><td></td><td>現在値</td><td>String</td><td> font-feature-settingsの対象としない文字を指定できる。複数指定可能。<br/> デフォルト値は指定なし。(ただしインライン画像やクリック待ち記号表示のため、全角空白は必ず指定に含まれる) </td></tr> <tr><td>r_align</td><td></td><td>現在値</td><td>(コメントで解説)</td><td>ルビ揃えを指定する。<br/>left ……(肩付き)先頭親文字から、ルビ間は密着<br/>center ……(中付き)センター合わせ、〃<br/>right ……(右/下揃え)末尾親文字から、〃<br/>justify ……(両端揃え)先頭から末尾親文字間に、ルビ間は均等にあける<br/>121 ……(1-2-1(JIS))ルビの前後を比率1、ルビ間を比率2であける<br/>even ……(均等アキ)ルビの前後、ルビ間も均等にあける<br/>1ruby ……(1ルビ文字アキ)ルビの前後をルビ一文字空け、ルビ間は均等にあける<br/><br/>初期値は center。<br/> <br/> ※親文字よりルビの方が長い場合は、親文字に対する「中付き」表示になる<br/> →<a href="https://famibee.github.io/SKYNovel_gallery/index.html?cur=ruby" target="_blank" rel="noopener">参考(機能ギャラリー・直感的なルビ文法)</a> </td></tr> </table> <amp-img src="pic/r_align.png" width="864" height="275" layout="responsive"></amp-img> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>(以下は未作成)</td><td></td><td></td><td></td><td>(以下は未作成)</td></tr> <tr><td>draggable</td><td></td><td>false</td><td>Boolean</td><td>true:テキスト背後の矩形をドラッグできる</td></tr> <tr><td>drag_x</td><td></td><td>0</td><td>画面左上を(0, 0)とする座標</td><td>ドラッグ範囲の左上始点。</td></tr> <tr><td>drag_y</td><td></td><td>0</td><td>(↑と同じ)</td><td>(↑と同じ)</td></tr> <tr><td>drag_w</td><td></td><td>画面横幅</td><td>ドラッグ範囲縦横ピクセル数</td><td>ドラッグ範囲縦横サイズ。</td></tr> <tr><td>drag_h</td><td></td><td>画面縦幅</td><td>(↑と同じ)</td><td>(↑と同じ)</td></tr> <tr><td>dragmove_fn</td><td>...</td><td>...</td><td>...</td><td>ドラッグ中にサブルーチンコールする先。<br/>指定方法は[jump]と同様</td></tr> <tr><td>dragmove_label</td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>(↑と同じ)</td><td>(↑と同じ)</td></tr> <tr><td>dragmove_arg</td><td></td><td></td><td>String</td><td>指定した場合、ドラッグ中コール先で「&amp;sn.eventArg」にて値を受け取れる</td></tr> <tr><td>h_scroll</td><td></td><td></td><td>ピクセル数</td><td>横スクロールさせる量</td></tr> <tr><td>v_scroll</td><td></td><td></td><td>ピクセル数</td><td>縦スクロールさせる量</td></tr> <tr><td>mouse_wheel_enabled</td><td></td><td></td><td>Boolean</td><td>マウスホイールでスクロール許可するか否か</td></tr> <tr><td>r_color</td><td></td><td>現在値</td><td>色指定。0x000000など</td><td>ルビの文字色。初期値は 0xFFFFFF</td></tr> <tr><td>r_size</td><td></td><td>現在値</td><td>1〜</td><td>ルビ文字サイズ。初期値は 12</td></tr> <tr><td>r_shift</td><td></td><td>現在値</td><td>正負の整数</td><td>ルビ文字を親文字から何ピクセル離すか。<br/>値の正負と縦書き横書きの関係は、TLFのBaselineShiftに従う。初期値は 0</td></tr> </table> </p> <h2 id="grplay" class="w-heading">[lay]レイヤ設定(画像レイヤ)</h2> <p class="mb2 px1"> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>fn</td><td>y</td><td>何もしない</td><td>画像ファイル名</td><td>基本画像ファイルを指定する</td></tr> <tr><td>face</td><td></td><td>何もしない</td><td>[add_face]で登録した差分名称(半角カンマ区切りで複数可能)</td><td>差分名称を指定する。<br/>[fg fn="a" face="b,c,d"]なら「基本a」の上に「差分b」を重ね、「差分c」を重ね、「差分d」を重ねる。<br/><br/>【注意】fnは同じでface属性だけを指定→指定なしにした場合、表示が変わりませんが不具合ではありません。 「face属性指定なし」は「何もしない」、つまり変化させないからです。<br/>[fg layer=upd fn="a" face="b"]<br/>[l]<br/>[fg layer=upd fn="a"]<br/>[l]<br/><br/>差分名称を無くしたい場合、明確に空文字("")を指定します。<br/>[fg layer=upd fn="a" face="b"]<br/>[l]<br/>[fg layer=upd fn="a" face=""]<br/>[l]</td></tr> <tr class="y"><td>(以下は未作成)</td><td></td><td></td><td></td><td>(以下は未作成)</td></tr> <tr><td>draggable</td><td></td><td>false</td><td>Boolean</td><td>true:テキスト背後の矩形をドラッグできる</td></tr> <tr><td>drag_x</td><td></td><td>0</td><td>画面左上を(0, 0)とする座標</td><td>ドラッグ範囲の左上始点。</td></tr> <tr><td>drag_y</td><td></td><td>0</td><td>(↑と同じ)</td><td>(↑と同じ)</td></tr> <tr><td>drag_w</td><td></td><td>画面横幅</td><td>ドラッグ範囲縦横ピクセル数</td><td>ドラッグ範囲縦横サイズ。</td></tr> <tr><td>drag_h</td><td></td><td>画面縦幅</td><td>(↑と同じ)</td><td>(↑と同じ)</td></tr> <tr><td>dragmove_fn</td><td>...</td><td>...</td><td>...</td><td>ドラッグ中にサブルーチンコールする先。<br/>指定方法は[jump]と同様</td></tr> <tr><td>dragmove_label</td><td>...</td><td>...</td><td>...</td><td>(↑と同じ)</td></tr> <tr><td>dragmove_arg</td><td></td><td></td><td>String</td><td>指定した場合、ドラッグ中コール先で「&amp;sn.eventArg」にて値を受け取れる</td></tr> </table> </p> <h2 id="trans" class="w-heading">[trans]ページ裏表を交換</h2> <h4>裏ページを表ページとクロスフェードする。</h4> <p class="mb2 px1"> <p>クロスフェードを開始すると、終了を待たずに次のタグへと処理を進める。<br/> 終了を待ちたい場合は[wt]を使用する。<br/> <br/> クロスフェード終了後は元・裏ページから元・表ページに内容をコピーし、同じ内容になる。<br/> <br/> ルール画像は白黒かグレースケールを推奨。(見た目と動きが一致する)<br/> また[trans]~[wt]間で文字表示や[ch]は動作未定義、非推奨。<br/> [trans]終了を待たず何かをするのは避けた方がよいでしょう。</p> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr><td>layer</td><td></td><td>全てのレイヤ</td><td>処理対象レイヤ名(カンマ区切りで複数可能)</td><td>クロスフェードするレイヤ。指定以外のレイヤは変化させない</td></tr> <tr><td>time</td><td></td><td>0</td><td>ミリ秒</td><td>変化にかける時間</td></tr> <tr><td>delay</td><td></td><td>0</td><td>ミリ秒</td><td>変化する前に待機する遅延時間</td></tr> <tr><td>rule</td><td></td><td>画面全体ピクセルで同時にクロスフェードする</td><td>画像ファイル名</td><td>指定した場合はルール画像として、ピクセル単位でクロスフェードするタイミングをずらす。<br/>ルール画像の黒いピクセル(と同じ位置にあるピクセル)が先に処理され、白が最後になる。</td></tr> <tr><td>vague</td><td></td><td>0.04</td><td>トランジション期間全体を1とした値</td><td>表レイヤと裏レイヤの境界を曖昧にぼかす度合い</td></tr> <tr><td>ease</td><td></td><td>Linear.None(イージング無し)</td><td>イージング名</td><td>揺れのイージング(値の変化の仕方)を指定する。<br/><a href="https://createjs.com/demos/tweenjs/tween_sparktable" target="_blank" rel="noopener">イージングの変化はこちらの図</a>(または<a href="https://sole.github.io/tween.js/examples/03_graphs.html" target="_blank" rel="noopener">こちら</a>)が分かりやすい。<br/> 指定できる値は以下の通り。<br/> Back.In、Back.InOut、Back.Out<br/> Bounce.In、Bounce.InOut、Bounce.Out<br/> Circular.In、Circular.InOut、Circular.Out<br/> Cubic.In、Cubic.InOut、Cubic.Out<br/> Elastic.In、Elastic.InOut、Elastic.Out<br/> Exponential.In、Exponential.InOut、Exponential.Out<br/> Linear.None<br/> Quadratic.In、Quadratic.InOut、Quadratic.Out<br/> Quartic.In、Quartic.InOut、Quartic.Out<br/> Quintic.In、Quintic.InOut、Quintic.Out<br/> Sinusoidal.In、Sinusoidal.InOut、Sinusoidal.Out<br/> <br/> ・<a href="https://github.com/tweenjs/tween.js/blob/master/README.md" target="_blank" rel="noopener">tween.js/README.md at master · tweenjs/tween.js</a><br/> ・<a href="https://ics.media/tutorial-createjs/tween/" target="_blank" rel="noopener">CreateJS でのトゥイーンの作成方法 - ICS MEDIA</a><br/> </td></tr> <tr><td>glsl</td><td></td><td></td><td>シェーダー記述言語GLSL</td><td> 動作サンプルがありますので、詳細はそちらで。<br/>機能ギャラリー【[フラグメントシェーダで[trans]](https://famibee.github.io/SKYNovel_gallery/?cur=glsl_slide)】<br/> ざっくり説明すると、<br/> 【vTextureCoord】がピクセルの位置、<br/> 【uSampler】が一ピクセル単位の画像データ、<br/> 【tick】が時間経過、です。<br/> </td></tr> </table> </p> <h2 id="wt" class="w-heading">[wt]トランス終了待ち</h2> <h4>[trans]で開始したトランスの終了を待つ。</h4> <p class="mb2 px1"> <p>終了次第、スクリプト処理を次へ進める。<br/> <br/> また[trans]~[wt]間で文字表示や[ch]は動作未定義、非推奨。<br/> [trans]終了を待たず何かをするのは避けた方がよいでしょう<br/></p> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr><td>canskip</td><td></td><td>true</td><td>Boolean</td><td>trueでクリックキャンセル可能にする。</td></tr> </table> </p> <h1><a id="トゥイーンアニメ"></a>トゥイーンアニメ</h1> <h2 id="pause_tsy" class="w-heading">[pause_tsy]一時停止</h2> <h4>レイヤーやフレームのトゥイーンアニメを一時停止させる</h4> <p class="mb2 px1"> 「layer(とpage)」を指定した場合はレイヤーの操作、<br/> 「id」を指定した場合はフレームの操作を行なう。<br/> <table><tr><th>属性</th><th>必須</th><th>省略時</th><th>値域・型</th><th>コメント</th></tr> <tr class="y"><td>layer</td><td rowspan="2">y</td><td></td><td>レイヤ名</td><td>処理対象のレイヤ</td></tr> <tr class="y"><td>page</td><td>fore</td><td>fore、back</td><td>ページの裏表</td></tr> <tr class="y"><td>id</td><td>y</td><td></td><td>String</td><td>フレーム名</td></tr> </table> </p> <h2 id="resume_tsy" class="w-heading">[resume_tsy]一時停止再開</h2> <h4>レイヤーやフレームのトゥイーンアニメ一時停止を再開させる</h4> <p class="mb2 px1"> 「layer(とpage)」を指定した場合はレイヤーの操作、<br/> 「id」を指定した場合はフレームの操作を行なう。<br/> <table><tr><th>属