# TweenBase

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Subclasses: [Tween](https://rapi.sleaze.dev/classes/Tween.md)
- Tags: Not browsable, Not creatable
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/TweenBase/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/TweenBase

Abstract base class for in-between interpolation handlers. [`Tween`](https://rapi.sleaze.dev/classes/Tween.md) inherits from [`TweenBase`](https://rapi.sleaze.dev/classes/TweenBase.md).

## Properties

### PlaybackState

```luau
TweenBase.PlaybackState: Enum.PlaybackState
```

- Tags: Read only, Save only

Read-only property that shows the current state for the [`Tween`](https://rapi.sleaze.dev/classes/Tween.md) animation.

## Methods

### Cancel

```luau
TweenBase:Cancel()
```

Halts playback and resets the tween variables. If you then call [`TweenBase:Play()`](https://rapi.sleaze.dev/classes/TweenBase.md), the properties of the tween resume interpolating towards their destination, but take the full length of the animation to do so.

### Pause

```luau
TweenBase:Pause()
```

Halts playback of the tween. Doesn't reset its progress variables, meaning that if you call [`TweenBase:Play()`](https://rapi.sleaze.dev/classes/TweenBase.md), the tween resumes playback from the moment it was paused.

### Play

```luau
TweenBase:Play()
```

Starts playback of a tween. Note that if playback has already started, calling [`Play()`](https://rapi.sleaze.dev/classes/TweenBase.md) has no effect unless the tween has finished or is stopped (either by [`TweenBase:Cancel()`](https://rapi.sleaze.dev/classes/TweenBase.md) or [`TweenBase:Pause()`](https://rapi.sleaze.dev/classes/TweenBase.md)).

## Events

### Completed

```luau
TweenBase.Completed: RBXScriptSignal<(playbackState: Enum.PlaybackState)>
```

Fires when the tween finishes playing or when stopped with [`TweenBase:Cancel()`](https://rapi.sleaze.dev/classes/TweenBase.md).

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
