Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Il problema sta, che quando vado a fare il classico loop, il controllo si refresha in continuazione.
E per essere disegnato ha bisogno di un solo Clear. Cosa non ho capito perché accade.
Ho creato un sistema basato su processi di Rendering
Il SceneManager che sarebbe $scene cambia in SceneTitle.
Di conseguenza il Render loop sarà passato alla classe SceneTitle al proprio metodo Draw.
E fin qui non ci sono problemi.
Ma il problema è che quando va il Draw, l plugin usato per disegnare L'inputBox
continua a refreshare in particolar modo,
E come se mostrasse al primo render, il testo correttamente, al successivo render tutto vuoto.
per poi ripetere all'infinito
Grazie pietro si in effetti è molto più veloce.
Ma sarà compatibile con Cordova?
Perché successivamente il progetto dovrà essere compilato sia per Android che per iOS etc.
riguardo alla parte principale del codice è questa
Ti posto solo le porzioni interessate.
Codice sorgente - presumibilmente HTML / CSS
Initialize();
function Initialize()
{
$system.GetOperatingSystem();
ctx.font="30px Arial";
$camera.Initialize(0,0,800,600);
$camera.Layer1 = layer1;
$camera.Layer2 = layer2;
$actor.LoadImage("data\\Charaset\\chara.png");
$actor.position = new Vector2();
$actor.position.Vector2(640/2,480/2);
$gui.Initialize();
//Configurazione Scene
$scene.Initialize(ctx,viewport);
$scene.ChangeScene("SceneTitle");
//Configurazione Window
$win.Cache("System01.png");
}
/Ciclo Rendering
Loop();
//Funzione loop
var fps = 60;
function Loop()
{
$scene.Render(ctx,viewport);
ctx.clearRect(0,0,800,600);
if($scene.Scene != "SceneTitle" )
{
Update();
Render();
//window.setTimeout(Loop, 1000 / fps);
requestAnimationFrame(Loop); //Metodo di piero
}
//Qui se escludo il commento si bugga
//requestAnimationFrame(Loop);
}
function Update()
{
$actor.Update();
$mouse.Update();
}
//Rendering GLobale
function Render()
{
ctx.clearRect(0, 0, 800, 600);
$scene.Render(ctx,viewport);
}
Il problema è il void loop
Se tolgo il requestAnimation esempio dalla condizione if e lo pongo in fondo
dove c'è il commento del timeout, si bugga mostrando il problema di cui ti dicevo.
qualsiasi cosa che vada a fare il repaint sul canvas mentre quel plug-in è in esecuzione
viene buggato.
non sò, ma sicuramente il problema non è da me.
Non credo che sbagli qualcosa, anche perché prima di quel plug-in funzionava tutto correttamente.