Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Renato Siroma

Efeito 'Matrix'.

Recommended Posts

O objetivo é fazer aquele efeito 'matrix' no browser.

 

Ex: aquelas letras aleatórias, passando em uma linha horizontal , só que nao consegui fazer a última letra se repetir, ou melhor, deixar ela gravada em uma variável $_SESSION, pois quando o script é executado novamente.. se criadas mais variáveis, ou até mesmo variáveis variáveis ($$a), não consigo exibir a correta, EX: mesmo armazenando as variáveis, não consegui bolar nada do tipo para chamar elas novamente.

 

è isso ae; Quem conseguir fazer algo parecido com o efeito 'matrix' no browser, ou ter uma linha de raciocinio correta sobre o mesmo, peço que coloque aqui para eu tentar de alguma forma diferente. rsrs

 

 

Isso aqui é +/- uma base para uma linha ser exibida com as cores.

 

 

<?php 
echo "<body bgcolor=\".$color.\">";
$color="black";
echo "<table width=\"4px\" bgcolor=\"".$color."\">";

session_start();

if(!$_SESSION["NUM"]) session_register("NUM");
	
if($_SESSION["NUM"]) $w=$_SESSION["NUM"];
	

	$re = 0;
	$colors= array("000","6C7B8B","006400","2E8B57","6B8E23","32CD32","FFFAFA");
	$cc=1;
	$exi =0;
	$xx = 0;

		while($xx<=$_SESSION["NUM"]){
			echo"<tr bgcolor=\"".$color."\">__</tr>";
			$xx++;	
		}
		
		
$_SESSION["NUM"]++;
$ae= $_SESSION["NUM"];
$ak=$ae--;
$aj =$ak;

	if ($ak==$_SESSION["NUM"]){
	srand((float) microtime() * 999);
	$input = array("1","0","a","b","E","Q","w","p","a","4","j","K","L","x");

	while ( $re < 1 ){
	echo "<td>";
	$rand_keys = array_rand($input, 7);
	for ($x=0; $x<7; $x++){
		if($aj)
		$aj--;
		
		while ($cc<1){
		if($x===$cc){
		}
		$cc++;
		}
		if($aj>=1)
		
		echo "<font color=\"#".$colors[$x]."\">".$aj."</font><br>\n";
	}	
	echo "</td>";
$re ++;	
}
		$exi=0;
	}
	if($_SESSION["NUM"]==20){
		echo "</table>";
		$_SESSION["NUM"]=0;
	}
	
	
echo " <META HTTP-EQUIV=Refresh CONTENT=0.1;>";

?>

 

 

PS: Vou fazer um html básica para que o usuário coloque o nome dele e apareça no estilo 'matrix'. rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem como é esse efeito que você quer fazer... mas eu fiz um negócio que pega o nome do cara, mistura, e faz aparecer de baixo pra cima... vê se é isso.

Veja que meu nome tá dentro do array, (renan)... e depois das letras, tem <next>, que é pra fazer o separador... caso for usar esse, coloque no final do $show o <next>, como tá lá, se não, não funciona http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

 

<html>
<head>
<script type="text/javascript">
	function show(what) {
		document.getElementById('show').innerHTML = what;
	}
</script>
</head>
<body bgcolor="black">

<div id="show">algumacoisa</div>
</body>
</html>

<?php
$showNumbersCount = 5;
$array = array("R", "E", "N", "A", "N");
$colors= array("6C7B8B","006400","2E8B57","6B8E23","32CD32","FFFAFA");
shuffle($array);

$time = time();

while(time() - $time < 60 * 60 * 1) {
	usleep(100000);
	
	if(!$firstTimeGone) {	
		$x = 0;
		while($x < $showNumbersCount) {
			shuffle($colors);
			$show .= '<font color="#'.$colors[0].' face="verdana""><strong>'.$array[$x].'</strong></font><br /><next>';
		
		$x++;
		}
	} else {
		shuffle($array);
		$exp = explode("<next>", $show, 2);
		$show = $exp[1];
		shuffle($colors);
		$show .= '<font color="'.$colors[0].'" face="verdana"><strong>'.$array[0].'</strong></font><br /><next>';
	}	
	
	$firstTimeGone = 1;
	
	echo "<script>show('$show');</script>";
	flush();
	
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

no servidor é mais dificil :)

estou fazendo um teste com smarty class, talvez dê... quando eu terminar eu posto. rsrs

 

Com Ajax é mais facil que JS só. rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
header("content-type: image/png");
$image = imagecreatetruecolor(800,600);

$cores["preto"] = imagecolorallocate($image,0,0,0);
$cores["branco"]= imagecolorallocate($image,255,255,255);
$cores["vermelho"] = imagecolorallocate($image,255,0,0);
$cores["verde"] = imagecolorallocate($image,0,255,0);

$c[1] = imagecolorallocate($image,0,255,0);
$c[2] = imagecolorallocate($image,0,100,0);
$c[3] = imagecolorallocate($image,255,255,255);
$c[4] = imagecolorallocate($image,0,100,0);
$indice_cor = 1;
for($x = 1;$x < 800;$x += 10)
{
if($indice_cor++>3)$indice_cor=1;
for($y = 1;$y < 600;$y += 10)
{
	$r=rand(0,680);
	if($y>$r)continue;
	$letra=chr($r);
	imagestring($image,$indice_cor,$x,$y,$letra,$c[$indice_cor]);
}
}

imagestring($image,80,620,560,"PHP MATRIX",$c[1]);
imagepng($image);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.