Platforms to show: All Mac Windows Linux Cross-Platform

SCNActionMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class SceneKit MBS Mac64bit Plugin 19.1 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
A simple, reusable animation that changes attributes of any node you attach it to.

You use actions most often to change the structure and content of the SCNNodeMBS object to which they are attached, but you can also use actions make other changes to the scene. In SceneKit, actions provide an easy way to implement animated behaviors that frequently change in response to user input.

see also
https://developer.apple.com/documentation/scenekit/scnaction
This is an abstract class. You can't create an instance, but you can get one from various plugin functions.

  • 4 properties
  • 3 methods
  • 24 shared methods
    • shared method fadeIn(duration as double) as SCNActionMBS
    • shared method fadeOpacityBy(factor as double, duration as double) as SCNActionMBS
    • shared method fadeOpacityTo(opacity as double, duration as double) as SCNActionMBS
    • shared method fadeOut(duration as double) as SCNActionMBS
    • shared method group(actions() as SCNActionMBS) as SCNActionMBS
    • shared method hide as SCNActionMBS
    • shared method javaScriptActionWithScript(script as string, duration as double) as SCNActionMBS
    • shared method moveBy(delta as SCNVector3MBS, duration as double) as SCNActionMBS
    • shared method moveBy(deltaX as double, deltaY as double, deltaZ as double, duration as double) as SCNActionMBS
    • shared method moveTo(location as SCNVector3MBS, duration as double) as SCNActionMBS
    • shared method removeFromParentNode as SCNActionMBS
    • shared method repeatAction(action as SCNActionMBS, count as integer) as SCNActionMBS
    • shared method repeatActionForever(action as SCNActionMBS) as SCNActionMBS
    • shared method rotateBy(xAngle as double, yAngle as double, zAngle as double, duration as double) as SCNActionMBS
    • shared method rotateByAngle(angle as double, axis as SCNVector3MBS, duration as double) as SCNActionMBS
    • shared method rotateTo(xAngle as double, yAngle as double, zAngle as double, duration as double) as SCNActionMBS
    • shared method rotateTo(xAngle as double, yAngle as double, zAngle as double, duration as double, shortestUnitArc as boolean) as SCNActionMBS
    • shared method rotateToAxisAngle(axisAngle as SCNVector4MBS, duration as double) as SCNActionMBS
    • shared method runBlock(del as SCNActionRunBlockMBS, tag as variant = nil) as SCNActionMBS
    • shared method scaleBy(scale as double, duration as double) as SCNActionMBS
    • shared method scaleTo(scale as double, duration as double) as SCNActionMBS
    • shared method sequence(actions() as SCNActionMBS) as SCNActionMBS
    • shared method unhide as SCNActionMBS
    • shared method wait(duration as double) as SCNActionMBS
  • delegate SCNActionRunBlockMBS(node as SCNNodeMBS, tag as variant)
  • 4 constants

Timing Modes

Constant Value Description
TimingModeEaseIn 1 Ease-in pacing. The animation begins slowly, and then speeds up as it progresses.
TimingModeEaseInEaseOut 3 Ease-in ease-out pacing. The animation begins slowly, accelerates through the middle of its duration, and then slows again before completing.
TimingModeEaseOut 2 Ease-out pacing. The animation begins quickly, and then slows as it completes.
TimingModeLinear 0 Linear pacing. The animation progresses evenly throughout its duration.

This class has no sub classes.

Some methods using this class:

Some examples using this class:

Blog Entries

Xojo Developer Magazine

Release notes


The items on this page are in the following plugins: MBS Mac64bit Plugin.


SCNAccelerationConstraintMBS   -   SCNAudioPlayerMBS


The biggest plugin in space...