ティラノでcamera,mask,bgタグの動作を軽くする
ゲ制
ティラノスクリプト
目次
軽くする #
軽くします。単純にスキップ時とtime=0の時にアニメを使わずCSSを直接変更するだけです。スマホだとバグるかもしれません。
使用バージョン #
ティラノスクリプトV5です。やり方的にはV4でもできます。
改造 #
tyrano.plugin.kag.tag.camera #
if (
pm.from_x != "0" ||
pm.from_y != "0" ||
pm.from_zoom != "1" ||
pm.from_rotate != "0"
) {
this.kag.stat.current_camera[pm.layer] = {
x: parseInt(pm.from_x) * -1 + "px",
y: parseInt(pm.from_y) * 1 + "px",
scale: pm.from_zoom,
rotate: pm.from_rotate + "deg",
};
}
//【改造:追加】
//★スキップ時とtime=0時にはCSS直接変えてリターン
if (this.kag.stat.is_skip == true || pm.time == "0") {
var css_str =
"scale(" +
to_camera.scale +
") rotate(" +
to_camera.rotate +
") translate(" +
to_camera.x +
"," +
to_camera.y +
")";
if (pm.layer == "layer_camera") {
$(".layer_camera").css({
transform: css_str,
"animation-name": "",
"-webkit-animation-name": "",
});
that.kag.stat.current_camera_layer = "";
} else {
$("." + pm.layer + "_fore").css({
transform: css_str,
"animation-name": "",
"-webkit-animation-name": "",
});
that.kag.stat.current_camera_layer = pm.layer;
}
that.kag.stat.current_camera[pm.layer] = to_camera;
that.kag.ftag.nextOrder();
return;
}
//【改造:追加ここまで】
var flag_complete = false;
that.kag.stat.is_move_camera = true;
tyrano.plugin.kag.tag.reset_camera #
//【改造:追加】
//★スキップ時とtime=0時にはCSS直接変えてリターン
if (this.kag.stat.is_skip == true || pm.time == "0") {
if (pm.layer != "layer_camera") {
delete this.kag.stat.current_camera[pm.layer];
} else {
this.kag.stat.current_camera = {};
}
if (pm.layer == "layer_camera") {
$(".layer_camera").css({
"-animation-name": "",
"-animation-duration": "",
"-animation-play-state": "",
"-animation-delay": "",
"-animation-iteration-count": "",
"-animation-direction": "",
"-animation-fill-mode": "",
"-animation-timing-function": "",
transform: "",
});
that.kag.stat.current_camera_layer = "";
} else {
$("." + pm.layer + "_fore").css({
"-animation-name": "",
"-animation-duration": "",
"-animation-play-state": "",
"-animation-delay": "",
"-animation-iteration-count": "",
"-animation-direction": "",
"-animation-fill-mode": "",
"-animation-timing-function": "",
transform: "",
});
that.kag.stat.current_camera_layer = "";
}
that.kag.ftag.nextOrder();
return;
}
//【改造:追加ここまで】
tyrano.plugin.kag.tag.mask #
var that = this;
that.kag.layer.hideEventLayer();
//【改造:追加】
//★スキップ時とtime=0時にはCSS直接変えてリターン
//★画像はブラウザだと事前にpreloadしてないと挙動が危なそう
if (this.kag.stat.is_skip == true || pm.time == "0") {
var j_div = $(
"<div class='layer layer_mask' style='z-index:100000000;position:absolute;'>"
);
var sc_width = parseInt(that.kag.config.scWidth);
var sc_height = parseInt(that.kag.config.scHeight);
j_div.css({ width: sc_width, height: sc_height });
if (pm.color == "none") {
j_div.css("background-color", "");
} else {
j_div.css("background-color", $.convertColor(pm.color));
}
if (pm.graphic != "") {
var folder = "";
if (pm.folder != "") {
folder = pm.folder;
} else {
folder = "image";
}
var storage_url = "";
if (pm.graphic != "") {
storage_url = "./data/" + folder + "/" + pm.graphic;
j_div.css("background-image", "url(" + storage_url + ")");
}
}
$(".tyrano_base").append(j_div);
that.kag.ftag.nextOrder();
return;
}
//【改造:追加ここまで】
tyrano.plugin.kag.tag.mask_off #
var that = this;
var j_div = $(".layer_mask");
//【改造:追加】
//★スキップ時とtime=0時にはCSS直接変えてリターン
if (this.kag.stat.is_skip == true || pm.time == "0") {
if (j_div.get(0)) {
j_div.remove();
that.kag.layer.showEventLayer();
that.kag.ftag.nextOrder();
} else {
that.kag.layer.showEventLayer();
that.kag.ftag.nextOrder();
}
return;
}
//【改造:追加ここまで】
tyrano.plugin.kag.tag.bg #
this.kag.preload(storage_url, function () {
var j_old_bg = that.kag.layer.getLayer("base", "fore");
//【改造:追加】
//★スキップ時とtime=0時にはCSS直接変えてリターン
if (that.kag.stat.is_skip == true || pm.time == "0") {
j_old_bg.css("background-image", "url(" + storage_url + ")");
if (pm.wait == "true") {
that.kag.ftag.nextOrder();
}
return false;
}
//【改造:追加ここまで】