I don't have the exact answer for you, but this code was used to create something similar....
This code sets the position of a Scaleform movie attached to an object in the world in the correct location on the screen using Canvas.Project.
Code:
event PostRender()
{
local SomeObjectClass myObject;
foreach WorldInfo.AllActors(class'SomeObjectClass',myObject)
{
if (myObject.myObjectMovie != none)
{
myObject.myObjectMovie.UpdatePosition(myObject,Canvas.Project(myObject.Location));
}
}
}
The object (SomeObjectClass) class creates a Scaleform movie:
Code:
var MyMovieClass myObjectMovie;
function CreateMovie()
{
myObjectMovie = new class'MyMovieClass';
myObjectMovie.MovieInfo = SwfMovie'packagename.moviename';
myObjectMovie.SetTimingMode(TM_Real);
myObjectMovie.Start();
}
And in the Scaleform movie class (MyMovieClass) that extends GFxMoviePlayer:
Code:
var int Width, Height;
function bool Start(optional bool StartPaused = false)
{
local float x0, y0, x1, y1;
super.Start();
Advance(0);
// Get width & height of Movie
GetVisibleFrameRect(x0, y0, x1, y1);
Width = x1-x0;
Height = y1-y0;
return true;
}
function UpdatePosition(SomeObjectClass o, Vector ScreenPos)
{
self.SetViewPort(ScreenPos.X,ScreenPos.Y,Width,Height);
}
Bookmarks