From caca084ea8d6b87781ec7d29b9776607e4481681 Mon Sep 17 00:00:00 2001 From: Mashy Date: Thu, 11 Jul 2019 21:15:26 +1000 Subject: [PATCH] misc fixes --- client/src/components/anims/blast.jsx | 29 +++-- client/src/components/anims/purify.jsx | 3 +- client/src/components/anims/siphon.tick.jsx | 9 +- client/src/components/anims/slay.jsx | 15 ++- client/src/components/anims/test.jsx | 112 -------------------- 5 files changed, 26 insertions(+), 142 deletions(-) delete mode 100644 client/src/components/anims/test.jsx diff --git a/client/src/components/anims/blast.jsx b/client/src/components/anims/blast.jsx index b72e8c69..9c4fcb4f 100644 --- a/client/src/components/anims/blast.jsx +++ b/client/src/components/anims/blast.jsx @@ -17,7 +17,6 @@ function projectile(x, y, radius, colour) { fill="url(#grad1)" stroke-width="2" stroke={colour} - id="projectile" filter="url(#explosion)" /> ); @@ -35,9 +34,9 @@ class AttackCharge extends Component { render() { return ( // {this.charges} @@ -59,14 +58,13 @@ class AttackCharge extends Component { } componentDidMount() { - anime.set('.skill-anim', { - translateY: -300 * this.props.direction.y, + anime.set('#blast', { translateX: -200 * this.props.direction.x, - opacity: 0, + translateY: -300 * this.props.direction.y, }); this.animations.push(anime({ - targets: '.skill-anim', + targets: '#blast', opacity: [ { value: 1, delay: TIMES.TARGET_DELAY_MS, duration: TIMES.TARGET_DURATION_MS * 0.3 }, { value: 0, delay: TIMES.TARGET_DURATION_MS * 0.7, duration: TIMES.POST_SKILL_DURATION_MS }, @@ -77,23 +75,24 @@ class AttackCharge extends Component { scale: 1, }); - anime({ - targets: '.skill-anim', + this.animations.push(anime({ + targets: '#blast', translateY: 0, translateX: 0, loop: false, delay: TIMES.TARGET_DELAY_MS, duration: (duration * 1 / 2), easing: 'easeInQuad', - }); - anime({ + })); + + this.animations.push(anime({ targets: '#explosion feDisplacementMap', - scale: 100, + scale: 200, loop: false, - delay: TIMES.TARGET_DELAY_MS, - duration, + delay: TIMES.TARGET_DELAY_MS + duration * 1 / 2, + duration: duration * 1 / 2, easing: 'easeInQuad', - }); + })); } componentWillUnmount() { diff --git a/client/src/components/anims/purify.jsx b/client/src/components/anims/purify.jsx index d4b1001b..ea2397a2 100644 --- a/client/src/components/anims/purify.jsx +++ b/client/src/components/anims/purify.jsx @@ -12,7 +12,6 @@ function projectile(x, y, radius, colour) { r={radius} fill={colour} stroke="none" - id="charges" opacity="0" /> ); @@ -88,7 +87,7 @@ class Purify extends Component { })); this.animations.push(anime({ - targets: ['#charges'], + targets: ['#purify circle'], opacity: [ { value: 1, duration: TIMES.TARGET_DELAY_MS + TIMES.TARGET_DURATION_MS * 0.2 }, ], diff --git a/client/src/components/anims/siphon.tick.jsx b/client/src/components/anims/siphon.tick.jsx index b275435c..9d881968 100644 --- a/client/src/components/anims/siphon.tick.jsx +++ b/client/src/components/anims/siphon.tick.jsx @@ -16,7 +16,6 @@ function projectile(x, y, radius, colour) { fill="url(#grad1)" stroke-width="0.1" stroke={colour} - id="projectile" /> ); } @@ -64,15 +63,15 @@ class SiphonTick extends Component { componentDidMount() { if (!this.props.team) { anime.set('.skill-anim', { - rotate: 90 + rotate: 90, }); } else { anime.set('.skill-anim', { - rotate: 270 + rotate: 270, }); } - anime.set('#projectile', { + anime.set('.skill-anim circle', { cx: 150, cy: 150, }); @@ -93,7 +92,7 @@ class SiphonTick extends Component { easing: 'easeInCubic', }); - const projectiles = document.querySelectorAll('#projectile'); + const projectiles = document.querySelectorAll('.skill-anim circle'); projectiles.forEach(proj => { anime({ targets: proj, diff --git a/client/src/components/anims/slay.jsx b/client/src/components/anims/slay.jsx index c11f1025..eb4418b0 100644 --- a/client/src/components/anims/slay.jsx +++ b/client/src/components/anims/slay.jsx @@ -43,9 +43,9 @@ class AttackCharge extends Component { render() { return ( @@ -79,14 +79,13 @@ class AttackCharge extends Component { rotate = this.props.direction.x > 0 ? 270 : 90; } - anime.set('.skill-anim', { + anime.set('#slay', { rotate, }); - anime.set('.skill-anim', { + anime.set('#slay', { translateY: -400, translateX: 0, - opacity: 0, }); anime.set('#explosion feDisplacementMap', { scale: 100, @@ -98,11 +97,11 @@ class AttackCharge extends Component { }); this.animations.push(anime({ - targets: '.skill-anim', + targets: '#slay', opacity: [ { value: 1, delay: TIMES.TARGET_DELAY_MS, duration: TIMES.TARGET_DURATION_MS * 0.3 }, { - value: 0, + value: 0, delay: TIMES.TARGET_DURATION_MS * 0.7 + TIMES.POST_SKILL_DURATION_MS * 0.8, duration: TIMES.POST_SKILL_DURATION_MS * 0.2, }], @@ -129,7 +128,7 @@ class AttackCharge extends Component { delay: (TIMES.TARGET_DELAY_MS + duration + TIMES.POST_SKILL_DURATION_MS * 0.7), })); - const projectiles = document.querySelectorAll('.skill-anim circle'); + const projectiles = document.querySelectorAll('#slay circle'); projectiles.forEach(proj => { this.animations.push(anime({ targets: proj, diff --git a/client/src/components/anims/test.jsx b/client/src/components/anims/test.jsx deleted file mode 100644 index b50e897d..00000000 --- a/client/src/components/anims/test.jsx +++ /dev/null @@ -1,112 +0,0 @@ -const preact = require('preact'); -const { Component } = require('preact'); -const anime = require('animejs').default; - -const { TIMES } = require('../../constants'); -const { randomPoints } = require('../../utils'); - -const duration = TIMES.TARGET_DURATION_MS; - - -function projectile(x, y, radius, colour) { - return ( - - ); -} - -class AttackCharge extends Component { - constructor(props) { - super(); - this.team = props.team; - // this.colour = props.colour; - this.colour = '#3498db'; - const points = new Array(15).fill(0); - this.charges = points.map(() => projectile(150, 150, 7, '#1FF01F')); - } - - render() { - return ( - - - - - - - - - - - - - - - - - - - {this.charges} - - ); - } - - componentDidMount() { - if (!this.props.team) { - anime.set('.skill-anim', { - rotate: Math.random() * 45 + 90, - }); - } else { - anime.set('.skill-anim', { - rotate: Math.random() * 45 + 270, - }); - } - - anime.set('#projectile', { - cx: 150, - cy: 150, - }); - - anime.set('#siphon', { - r: '80', - stroke: '#3498db', - }); - - anime({ - targets: '#siphon', - keyframes: [ - { r: '50', stroke: '#3498db' }, - { r: '20', stroke: '#3498db' }, - { r: '0', stroke: '#3498db' }, - ], - duration: duration * 2 / 3, - easing: 'easeInCubic', - }); - - const projectiles = document.querySelectorAll('#projectile'); - projectiles.forEach(proj => { - anime({ - targets: proj, - cx: Math.random() * 250 + 25, - cy: Math.random() * 200 - 100, - delay: (Math.random() * duration * 1 / 2), - duration, - easing: 'easeInQuad', - }); - }); - - } -} - -module.exports = AttackCharge;