Add bounce MFM animation

This commit is contained in:
syuilo 2020-11-08 17:08:51 +09:00
parent 9d1fa3f202
commit 66c4e8064b
4 changed files with 25 additions and 0 deletions

View File

@ -644,6 +644,8 @@ _mfm:
tadaDescription: "ジャーン!という感じのアニメーションを与えます。" tadaDescription: "ジャーン!という感じのアニメーションを与えます。"
jump: "アニメーション(ジャンプ)" jump: "アニメーション(ジャンプ)"
jumpDescription: "飛び跳ねるようなアニメーションを与えます。" jumpDescription: "飛び跳ねるようなアニメーションを与えます。"
bounce: "アニメーション(バウンド)"
bounceDescription: "ぽよんぽよん弾むようなアニメーションを与えます。"
shake: "アニメーション(ぶるぶる)" shake: "アニメーション(ぶるぶる)"
shakeDescription: "ぶるぶるするアニメーションを与えます。" shakeDescription: "ぶるぶるするアニメーションを与えます。"
twitch: "アニメーション(ブレ)" twitch: "アニメーション(ブレ)"

View File

@ -117,6 +117,10 @@ export default defineComponent({
style = this.$store.state.device.animatedMfm ? 'animation: mfm-jump 0.75s linear infinite;' : ''; style = this.$store.state.device.animatedMfm ? 'animation: mfm-jump 0.75s linear infinite;' : '';
break; break;
} }
case 'bounce': {
style = this.$store.state.device.animatedMfm ? 'animation: mfm-bounce 0.75s linear infinite; transform-origin: center bottom;' : '';
break;
}
case 'flip': { case 'flip': {
const transform = const transform =
(token.node.props.args.h && token.node.props.args.v) ? 'scale(-1, -1)' : (token.node.props.args.h && token.node.props.args.v) ? 'scale(-1, -1)' :

View File

@ -37,6 +37,14 @@ export default defineComponent({
100% { transform: translateY(0); } 100% { transform: translateY(0); }
} }
@keyframes mfm-bounce {
0% { transform: translateY(0) scale(1, 1); }
25% { transform: translateY(-16px) scale(1, 1); }
50% { transform: translateY(0) scale(1, 1); }
75% { transform: translateY(0) scale(1.5, 0.75); }
100% { transform: translateY(0) scale(1, 1); }
}
// const val = () => `translate(${Math.floor(Math.random() * 20) - 10}px, ${Math.floor(Math.random() * 20) - 10}px)`; // const val = () => `translate(${Math.floor(Math.random() * 20) - 10}px, ${Math.floor(Math.random() * 20) - 10}px)`;
// let css = ''; // let css = '';
// for (let i = 0; i <= 100; i += 5) { css += `${i}% { transform: ${val()} }\n`; } // for (let i = 0; i <= 100; i += 5) { css += `${i}% { transform: ${val()} }\n`; }

View File

@ -175,6 +175,16 @@
</div> </div>
</div> </div>
</div> </div>
<div class="_section">
<div class="_title">{{ $t('_mfm.bounce') }}</div>
<div class="_content">
<p>{{ $t('_mfm.bounceDescription') }}</p>
<div class="preview _panel">
<Mfm :text="preview_bounce"/>
<MkTextarea v-model:value="preview_bounce"><span>MFM</span></MkTextarea>
</div>
</div>
</div>
<div class="_section"> <div class="_section">
<div class="_title">{{ $t('_mfm.spin') }}</div> <div class="_title">{{ $t('_mfm.spin') }}</div>
<div class="_content"> <div class="_content">
@ -240,6 +250,7 @@ export default defineComponent({
preview_jelly: `[jelly 🍮]`, preview_jelly: `[jelly 🍮]`,
preview_tada: `[tada 🍮]`, preview_tada: `[tada 🍮]`,
preview_jump: `[jump 🍮]`, preview_jump: `[jump 🍮]`,
preview_bounce: `[bounce 🍮]`,
preview_shake: `[shake 🍮]`, preview_shake: `[shake 🍮]`,
preview_twitch: `[twitch 🍮]`, preview_twitch: `[twitch 🍮]`,
preview_spin: `[spin 🍮] [spin.left 🍮] [spin.alternate 🍮]\n[spin.x 🍮] [spin.x,left 🍮] [spin.x,alternate 🍮]\n[spin.y 🍮] [spin.y,left 🍮] [spin.y,alternate 🍮]`, preview_spin: `[spin 🍮] [spin.left 🍮] [spin.alternate 🍮]\n[spin.x 🍮] [spin.x,left 🍮] [spin.x,alternate 🍮]\n[spin.y 🍮] [spin.y,left 🍮] [spin.y,alternate 🍮]`,