回って拡大/背景付き

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

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

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

プレビュー

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

作成日時テンプレート名

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

作成日時タイトル

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

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

UIを試す
ソースコード

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

function RotateAndZoomWithBackground() { this.name = "回って拡大/背景付き"; this.type = PHRASE; var da = require("DefaultAlignment"); var defaultAlignment = null; // @ui Slider(0, 100) // @title 回転スピード this.rotSpeed = 20; // @ui Slider(1, 1000) // @title 開始時刻補正 this.headTime = 300; // @ui Slider(1, 1000) // @title 終了時刻補正 this.tailTime = 500; // @ui Slider(-200, 200) // @title 横位置補正 this.x = 0; // @ui Color() // @title 背景色 this.primaryColor = new Color('#186f7f'); // @ui Color() // @title 文字色 this.textColor = new Color('#ffffff'); // @ui Slider(-100, 100) // @title 背景縦位置 this.yFix = 15; this.animate = function(now) { if (defaultAlignment === null) { defaultAlignment = new da(); } // 発声されていなければ何もしない var p = this.getAssignedUnit(); if (p.startTime - this.headTime > now || p.endTime + this.tailTime < now) { p.rendering.visible = false; return; } // まずは普通に並べる defaultAlignment.tailTime = this.tailTime; defaultAlignment.align(p, now, false, false); p.rendering.tx.translate(this.x, 0); // 進捗を確認する var progress = (now - p.startTime) / (p.endTime - p.startTime), scale = Math.E/Math.exp(progress); // 色・大きさ・傾き・透明度を調整する p.color = this.textColor; p.rendering.tx.scale(scale, scale); p.rendering.tx.rotate(progress*this.rotSpeed); if (progress < 0) { p.rendering.alpha = 1 - (p.startTime - now) / this.headTime; } else if (progress > 1) { p.rendering.alpha = 1 - (now - p.endTime) / this.tailTime; } // 背景として塗るべき範囲を計算する var phraseWidth = p.advance + (p.wordCount - 1) * 5 , phraseHeight = p.height , advance = 0 , c = p.firstChar , w = p.firstWord , i; for (i = 0; i < p.charCount; i ++) { if (c.startTime > now) break; advance += c.advance; c = c.next; } for (i = 0; i < p.wordCount; i ++) { if (w.endTime > now) break; advance += 5; w = w.next; } // 背景を塗る this.primaryColor.a = 0.7 * 256; p.graphics .beginStroke(this.primaryColor.rgba) .setStrokeStyle(phraseHeight*1.4) .moveTo(-phraseWidth/2, phraseHeight/2 + this.yFix) .lineTo(-phraseWidth/2 + advance, phraseHeight/2 + this.yFix) .endStroke(); }; }

Copyright (c) 2015 Anonymous. 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として表示されます。