Getting started with VR-VIEW and VR-GL data communication
Posted: Fri Jul 15, 2022 2:45 pm
joc.pi
scripts/configuracio.pi
scripts/interficie.pi
scripts/vista.pi
Code: Select all
class Joc implements GL_Program
{
properties:
vista = null;
configuracio = null;
interficie = null;
function Start()
{
AddScriptPackage("./scripts/");
configuracio = new Configuracio(this);
vista = new Vista(this);
interficie = new Interficie(this);
::Start();
}
function Initialize()
{
interficie.Initialize(configuracio);
}
function Main()
{
interficie.Test();
}
}scripts/configuracio.pi
Code: Select all
class Configuracio implements Task
{
properties:
x = null;
y = null;
function Fill(vista)
{
x = int( vista.tbX.GetText() );
y = int( vista.tbY.GetText() );
}
}
Code: Select all
class Interficie implements Task
{
function Initialize(configuracio)
{
app.SetBackColor(RGB(0,0,0));
app.SetBgColor(RGB(0,0,0));
app.SetResolution(configuracio.x, configuracio.y);
app.SetViewScale(-1);
app.SetVSync(true);
app.Set2DFilter(true);
}
function Test()
{
esquirol = app.NewSprite("esquirol");
esquirol.AddFrame("data/douglas_squirrel.jpg");
esquirol.SetPriority(1);
esquirol.SetPos (10, 10);
}
}scripts/vista.pi
Code: Select all
class Vista implements Task
{
properties:
tbX = null;
tbY = null;
function Init()
{
_wnd = app.GetEngine().GetDesktop().GetActiveWindow();
_mdi = _wnd.CreateMDI(0, 0, 200, 400);
_mdi.CenterToDesktop();
_labelX = _mdi.CreateLabel(10, 10, 100, -1, "Resolució X : ");
tbX = _mdi.CreateTextBox(10, 40, 100);
tbX.SetText("256");
_labelY = _mdi.CreateLabel(10, 80, 100, -1, "Resolució Y : ");
tbY = _mdi.CreateTextBox(10, 120, 100);
tbY.SetText("212");
_button = _mdi.CreateButton(0, 0, 100, -1);
_button.SetText("Play");
_button.SetOnClick(this, "OnPlay");
_button.AlignToParent(UI_BOTTOM | UI_RIGHT, 5);
}
function OnPlay(_sender, _event, _params)
{
app.configuracio.Fill(this);
app.Initialize();
app.Main();
//Esto borraría nuestro MDI
delete _sender.GetWindow();
//app.End(0);
}
}