中央寄せ

このページではテンプレートのソースコードを閲覧・編集できるほか、更新履歴を閲覧できます。

テンプレートの削除依頼をキャンセルしました。

テンプレートの削除依頼を受け付けました。

プレビュー

このテンプレートの更新履歴です。

作成日時テンプレート名

このテンプレートを使って作られた動画の一覧です。

作成日時タイトル

このテンプレートを使って作られた動画はまだありません。作ってみませんか?

このテンプレートの作成に貢献した人の一覧です。

UIを試す
ソースコード

プログラミングする際はテンプレート APIのドキュメントが参考になります。

function DefaultAlignment() { this.name = "中央寄せ"; this.type = PUBLIC | PHRASE; // assignable to phrases, public var kc = require("KaraokeColor"); var kc_ = null; var dc = require("DrawCircle"); var dc_ = null; // @ui Slider(0, 100) // @title 下端からの距離[%] this.bottomOffset = 50; // @ui Slider(0, 20) // @title 文字間隔 this.letterSpacing = 0; // @ui Check() // @title 花びらエフェクト this.drawCircle = true; // @ui Slider(-20, 20) // @title 落ちてくるスピード this.dropSpeed = 10; // @ui Slider(0, 200) // @title 拡大率 this.zoom = 100; this.animate = function(now) { var p = this.getAssignedUnit(); this.align(p, now, true, this.drawCircle); }; // Hide text units if not vocalized. this.align = function(p, now, karaoke, drawCircle) { if (kc_ === null && karaoke === true) { kc_ = new kc(); } if (dc_ === null && drawCircle === true) { dc_ = new dc(); dc_.tailTime = 700; } if (p.startTime < now && p.endTime + (drawCircle === true ? dc_.tailTime : 0) > now) { //print(p.text); p.rendering.visible = true; if (drawCircle === true && p.endTime < now) { p.rendering.alpha = (dc_.tailTime - (now - p.endTime)) / dc_.tailTime; } // align phrase - show text at the bottom center. var tx = new Matrix2D(), x = width / 2, y = height * (100 - this.bottomOffset) / 100 - p.height; tx.translate(x, y); tx.scale(this.zoom*0.01, this.zoom*0.01); p.rendering.tx = tx; // align words - show each word 5px right of the previous word. var phraseWidth = p.advance + (p.wordCount - 1) * 5 + (p.charCount - 1) * this.letterSpacing; var word = p.firstWord; var offsetX = -phraseWidth / 2; for (var i = 0; i < p.wordCount; i++) { tx = new Matrix2D(); tx.translate(offsetX, 0); word.rendering.tx = tx; offsetX += word.advance + word.charCount * this.letterSpacing + 5; // align characters. var char = word.firstChar; var charOffsetX = 0; for (var j = 0; j < word.charCount; j++) { tx = new Matrix2D(); tx.translate( charOffsetX, Math.min( Math.min( 0, (now - char.startTime) * this.dropSpeed / 10 ), Math.max( 0, (now - char.startTime) * this.dropSpeed / 10))); char.rendering.tx = tx; charOffsetX += char.advance + this.letterSpacing; if (karaoke === true) { kc_.highlight(char, now); } if (drawCircle === true) { dc_.draw(char, now); } char = char.next; } word = word.next; } return true; } else { p.rendering.visible = false; return false; } }; }

Copyright (c) 2015 arc@dmz. This software is released under the MIT License. When you submit your code to this website (TextAlive), it is regarded that you agree to distribute the code under the same license. このプログラム(ソフトウェア、ソースコード)はMITライセンスに従って頒布されています。TextAliveにプログラムを投稿(コミット)すると、あなたは同じライセンスの下でプログラムが頒布されることに同意したものと見なされます。

著作権者名は、 ログインして投稿した場合、あなたの名前が表示されます。ログインしていなかった場合、Anonymousとして表示されます。