CPVideo

org.cosplay.CPVideo
See theCPVideo companion object
abstract class CPVideo(id: String, origin: String, tags: Set[String]) extends CPGameObject, CPAsset

Definition of the video.

Video rendered in ASCII character is rather an acquired taste... However, when used carefully and tastefully it can provide striking visuals for ASCII-based game. There are plenty of tooling available that can help you to convert a standard video like MP4 into a set of JPEG images and then convert these images into ASCII art images. Once you have ASCII art images you can use CosPlay video support to playback that video.

Video support consists of three key components:

Video is defined as a sequence of same-sized frames where each frame is an image. CPVideoSprite provides rendering of that video while CPVideoSpriteListener allows the video playback to synchronize with other action in the game like sound or animation.

Video is an asset. Just like other assets such as fonts, sounds, animations or videos they are not managed or governed by the CosPlay game engine unlike scenes and scene objects that are managed and governed by the game engine. Assets are typically created outside the game loop and managed by the developer, they can be freely shared between scenes or scene objects as any other standard Scala objects.

Here's some useful links for ASCII videos:

Value parameters

id

ID for this video.

origin

The origin of this video: file path or URL.

tags

Optional set of organizational tags. Default is an empty set.

Attributes

Example

See CPVideoExample class for the example of using video support.

Companion
object
Source
CPVideo.scala
Graph
Supertypes
trait CPAsset
class CPGameObject
class Object
trait Matchable
class Any
Known subtypes
object CPMoonVideo.type

Members list

Value members

Abstract methods

def getFrame(idx: Int): CPImage

Gets frame for given index.

Gets frame for given index.

Value parameters

idx

Video frame index to get.

Attributes

Source
CPVideo.scala
def getFrameCount: Int

Gets number of video frames in this video.

Gets number of video frames in this video.

Attributes

Source
CPVideo.scala

Gets video frame dimension.

Gets video frame dimension.

Attributes

Source
CPVideo.scala

Inherited methods

override def equals(obj: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
CPGameObject -> Any
Inherited from:
CPGameObject
Source
CPGameObject.scala
def getId: String

Gets unique ID of this game object.

Gets unique ID of this game object.

Attributes

Inherited from:
CPGameObject
Source
CPGameObject.scala
def getTags: Set[String]

Gets optional set of organizational tags. Note that by default the set of tags is empty.

Gets optional set of organizational tags. Note that by default the set of tags is empty.

Attributes

See also
Inherited from:
CPGameObject
Source
CPGameObject.scala

Concrete fields

override val getOrigin: String

Gets the origin of this asset. Typically, this should be a URL, file name or class name for in-code assets like array images, animations or system font.

Gets the origin of this asset. Typically, this should be a URL, file name or class name for in-code assets like array images, animations or system font.

Attributes

Source
CPVideo.scala