Skip to main content
Question

Create prototype reactions


Majnc

Hello, I am very new to Figma API and javascript, this is my first plugin, so while this might be obvious to you, its not for me, so I would really appreciate your help.
Im trying to do text typing animation plugin. See what I mean
I decides to use interactive components. It will generate different “frames” of the animation and than it will connect them all through interactions to create a seamless video (obviously not real video, its in figma)


I think I got very close, but not close enough, it still throws an error: TypeError: ‘0’ is read-only

function clone(val) {
    const type = typeof val
    if (val === null) {
      return null
    } else if (type === 'undefined' || type === 'number' ||
               type === 'string' || type === 'boolean') {
      return val
    } else if (type === 'object') {
      if (val instanceof Array) {
        return val.map(x => clone(x))
      } else if (val instanceof Uint8Array) {
        return new Uint8Array(val)
      } else {
        let o = {}
        for (const key in val) {
          o[key] = clone(val[key])
        }
        return o
      }
    }
    throw 'unknown'
  }
let i = 1

let currentEditingVariant = figma.currentPage.findOne(n => n.name === "Property 1=Jak se máš?-" + i + "-frame")
figma.currentPage.selection[0] = currentEditingVariant
console.log("currentEditingVariant")
console.log(currentEditingVariant)

while (i < 22) {

    let destinationVariant = figma.currentPage.findOne(n => n.name === "Property 1=Jak se máš?-" + i + 1 + "-frame")
    console.log("destinationVariant.id")
    console.log(destinationVariant.id)
    console.log("destinationVariant")
    console.log(destinationVariant)

    const reaction1 = clone(currentEditingVariant.reaction)
    console.log(currentEditingVariant.reaction);
    
    console.log("reaction1")
    console.log(reaction1) 

    destinationVariant.reactions = reaction1
    
    console.log("Loop " + i + "done")
    i++
}

Suggestions appreciated!

0 replies

Be the first to reply!

Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings