Legalllll! Voltanod a posta uma vez por semana.

domingo, 11 de março de 2012

2 anos de  Pate com PAO estava querendo  da uam revolucionada no site outro desing mais arrumado e que as pessoas noa ultizem  ctrl+F pra acharem o que querem no blog,

 mais a  Marca do  Blog  é justamente desemvolver as letrinhas em meio a um monte , assim como um hacker  faz a busca um ip em meio a um monte pra sua  partida de secura da vitima..

Gente @ anos ja deu pra ver o que o pessol quer mais  as estaticias apontao   entao vamos la :D rsrs o que vcs procuram aki , agora  aki vao encontra,

 Prox  POST

MAIS FERRAMENTAS  HACKER ATUALIZADAS , VARIAS DICAS PRA VC NOA C PERDE.

um NUMERO MAIOR DE SEREAIS ATIVAD CERTA DE 5 MIL

MAIS IDEIAS COMO FORMA DE GANAHR DINHEIRO  NA INTERNET.

 PROVAVELMENTE VAMOS  INVERTIR EN INTERATIVIDADE E FINAL DESSE ANO VOU BOTA NA REDE 10 VIDEOS  ENCINANDO A FAZER VARIAS COISA QUE C ENCONTRA AQUI NO  BLOG :d  SÓ  PRA DIVULGA  o potencial de quem já é PATE com PAO , o Seu Dilema Hacker

Crie seu Próprio Jogo Online

segunda-feira, 21 de março de 2011

Web 2.0 é mesmo uma maravilha. Cada vez mais os conteúdos gerados por usuários sem conhecimentos técnicos tomam conta da web. Para não ser diferente, o site MyGame.com usou a mesma estratégia para que pessoas sem conhecimento técnico de programação ou de design possam criar seus próprios jogos e se divertirem com seus amigos.
Você pode personalizar jogos que já estão prontos por lá ou até mesmo criar um jogo totalmente novo. Tudo isso sem precisar de supermáquinas nem de baixar nada. Podem ser feitos jogos pequenos, simples, super-rápidos, ou jogos muito complexos que duram dias ou semanas para estarem prontos.
A empresa californiana que criou esse site, a Reflexive Entertainment, é também a criadora do jogo Big Kahuna Reef, que fez muito sucesso na internet – e é viciante, cá pra nós – tanto pelo jogo em si que é muito legal, quanto pela possibilidade de você criar fases novas.
Monetização
Além disso tudo, você ainda pode ganhar dinheiro com um jogo criado por você. Os designers dos jogos mais populares podem hospedar seus jogos lá mesmo no site e dividir 40% da renda com publicidade com a companhia gerada pelos games criados.
Download
Somente para o caso de jogos mais complexos, é necessário fazer o download do programa Scratch. No caso de jogos mais simples, baixa se cadastrar, escolher um joguinho e mudar as fotos . Não precisa instalar nem baixar nada. Já para os mais complexos é preciso um pouco mais de paciência. Primeiro você precisa baixar o programa – que é meio grande -, depois você precisa criar um jogo do zero, com programação, com tudo. Feito tudo, é só compartilhar o jogo e correr para o abraço Muito Bom Não?.

COMO CRIAR O JOGO:
Entre no site MyGame e clique em “Create Games > Create a new game > Build”. Depois é só enviar a imagem, escolher formato, posição, tudo direitinho. É muito intuitivo e fácil de criar. Se você quiser apenas jogar, basta escolher o jogo e mandar ver. Tem muuuuuitos jogos já criados.

http://mygame.com/build.jsp

De Volta as postagens



Uma olhar de quem sabe ficar atento!



Estou  apartir  de Hoje voltando a posta as novidades  de manhas  e truques, para quem quer se dar em informática.


 Por isso  FIQUE  ATENTO! 


 Estou de  Volta para postar as quentinhas da  Net, hacks,truques e  manhas  de  do mundo dos Feras em Pc!
  

Como Fazer um Jogo Online 3d

terça-feira, 3 de agosto de 2010

GM3D 01 - Primeiros passos


Estou dando inicio as minhas aulas de 3D no Game Maker. Happy

Antes de começar

Lembrem-se que para estudar esse assunto é preciso saber o suficiente sobre jogos 2D então essas aulas são para usuários mais avançados pois na maioria das vezes não irei explicar os míninos detalhes.

O que pode ser feito em 3D no Game Maker




Você pensa tão alto como o Cérebro?
Então é melhor dar uma calmada e pensar melhor!

O 3D no Game Maker ainda é bem limitado e falta muitas ferramentas que por padrão deveriam estar disponíveis. Embora tudo isso possa ser contornado com uso de DLLs e scripts que tem aos montes feitos pelos próprios usuários do programa, você precisara sempre pesquisar para expandir o que pode ser feito em seu jogo.

O computador do programador deve ter pelo menos uma boa placa de vídeo pois o uso de muitas texturas de tamanho grande podem não funcionar causando o famoso erro “Unexpected error occurred when running the game” que na maioria das vezes é causado porque o jogo está usando um recurso da placa de vídeo que não existe ou usando mais memória do computador do que ele realmente tem.

Considerando também que não vamos fazer uma obra de arte que custará milhões e centenas de pessoas para ser feita em três anos... É como dizem: “O limite e a criatividade do criador.”

A terceira dimensão!

Existem muitos tipos de conceitos para explicar o 3D, mas falarei apenas do mais usado.

Você já conhece as duas primeiras dimensões não é? X e Y.
A visão da tela apenas com o X e Y aparenta estar de pé, onde X vai para os lados e Y para cima ou para baixo.



Mas ao inserir a terceira dimensão percebi-se que na verdade a visão esta deitada, pois Z representa a profundidade.



Quanto maior o Z mais alto o ponto vai estar e quanto menor mais baixo ou profundo o ponto.

A terceira dimensão não tem nada de complicado. Basta lembrar que ela é a profundidade, volume ou altura enquanto as outras duas são a largura e o comprimento.

Construindo uma Engine

Agora vamos iniciar uma engine. A cada aula diferente você ira completá-la cada vez mais até que o resultado final seja algo parecido com um jogo de corrida.
Por enquanto vamos só aprender a desenhar um cubo na tela.
Abra o GM e vamos começar!


Todo jogo precisa de algo que controle o que o jogador irá ver.
Crie um novo objeto e nomeio como objCamera.
Agora temos que ativar o modo 3D e definir as configurações iniciais.
No evento Create do objCamera coloque:

Código:
d3d_start();

Isso inicia o modo 3D do Game Maker


Código:
d3d_set_perspective(true);

Ativa a visualização em perspectiva. Isso realça a noção de profundidade dos objetos.


Código:
d3d_set_hidden(true);

Esse é muito útil pois fará com que todos as superfícies desenhadas atrás de outro objeto não apareçam.


Código:
d3d_set_fog(true,c_white,1,1200);

Fog é uma espécie de neblina. Todo que estiver a 1200 pixels da visão do jogador será escondido por ela.


Código:
d3d_set_culling(false);

O culling faz a parte de dentro dos objetos, ou seja, o lado de trás das textura não serem desenhados. Se a câmera olhar de dentro de um cubo, as paredes do cubo ficam invisíveis.


Código:
d3d_set_shading(false);

Shading significa sombreamento. Ele melhora a qualidade do efeito da luz nos objetos mas como não usar iluminação nesse exemplo deixe-o como false.


Código:
texture_set_interpolation(true);

Melhora a qualidade das texturas.


Código:
draw_set_color(c_white)

Defina a cor de desenho como branco (c_white).


Código:
z = 48

Todos os objetos tem uma variável x e y por padrão. Mas o z terá sempre que ser criado manualmente. Defina como 48 porque a câmera ficara um pouco acima do chão.

Agora é preciso definir como o jogo vai ser visualizado.
No evento Draw digite:

Código:
d3d_set_projection(x,y,z,obj1.x,obj1.y,obj1.z,0,0,1);

Vou explicar essa função de um jeito mais completo na próxima aula pois o objetivo aqui é apenas ensinar a desenhar um cubo na tela.

Agora crie um novo background. Ele vai ser a textura do objeto.
Desenhe qualquer coisa. Servira apenas para visualizar melhor os lados do cubo.
Eu fiz este:



Agora crie outro objeto. Ele será o cubo. Nomeio como obj1.
No evento Create defina:

Código:
z = 0;

A variável z.


Código:
tex = background_get_texture(background0);

Essa função retorna o lugar na memória do computador onde a textura do background0 está armazenada.

Agora no evento Draw:

Código:
d3d_draw_block(x-16,y-16,z-16,x+16,y+16,z+16,tex,1,1)

Com isso desenho cada lado com 32 pixels, defino a textura dele e os dois últimos valores são quantas vezes a textura vai se repetir nas paredes do cubo.

Pronto! Coloque o jogo pra rodar e veja o resultado.
Se algo saiu errado você pode baixar a engine desta aula clicando aqui.


GM3D 02 – Projeção e Movimento da Câmera



Assim como os olhos dos seres vivos projetam o ambiente para o cérebro, o jogo também deve ter algo que projete o espaço virtual ao jogador.
Nessa aula vou explicar como criar uma câmera que se movimenta com o mouse.
Essa parte é complicada tanto para aprender quanto para explicar.
Fiquem atentos.
A função d3d_set_projection_ext


Existem duas funções que usamos para definir como o mundo será visto:

Código:
d3d_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup); d3d_set_projection_ext(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup,angle,aspect,znear,zfar);


A primeira á a forma simples e a segunda é a forma estendida da função. Iremos usar apenas a segunda.

Fazer com que entendam cada argumento será bem complicado, mas eu gosto que tudo seja explicado então prestem bastante atenção e façam testes com cada parâmetro..


Código:
d3d_set_projection_ext(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup,angle,aspect,znear,zfar)

xfrom,yfrom,zfrom,xto,yto,zto – from significa “de” e to “para”. Os três primeiros argumentos são os pontos da câmera, ou seja, o lugar de onde se olha e os três últimos o lugar para onde esta se olhando. Por exemplo:
Você esta no quarto olhando para o computador. A posição dos seus olhos representam “xfrom,yfrom,zfrom” e a posição do computador representa “xto,yto,zto”.

xup,yup,zup – esses argumentos são definidos apenas como false ou true. Neles você especifica o eixo em que a projeção gira. Exemplo:
Você ainda está olhando para o computador.
Levante ou abaixe a cabeça. Pronto! Você acabou de girar a visão em torno do eixo y.
Agora mexa a cabeça para direita ou para a esquerda. Pronto! Você acabou de girar a visão em torno do eixo z.
Girar em torno do eixo x seria como rodar a cabeça em torno de si mesma olhando sempre pra fentre.

Marque como true os eixos que a câmera vai gira.
O padrão usado é “0,0,1”, ou seja, ira girar em torno do eixo z.

angle – este não tem nada a ver com o ângulo da visão e muita gente se confundi com ele. Aqui você deve definir a largura da câmera em graus. Exemplo:
As lentes dos óculos são medidas em graus lembra? Quanto maior o grau, mas as imagens são aumentadas.
Você já viu aquelas câmera que quanto se gira a lente o zoom aumenta ou diminui? Então! O efeito desse argumento é o mesmo.

Quanto maior o valor de angle, maior vai ser o zoom “natural” da projeção.
Um padrão razoável é 45° mas eu estou usando 90° em meus projetos.

aspect – defini o aspecto da tela. Não há muito o que explicar...
Se você esta usando uma dimensão de tela padrão (640x480, 1024x768...), qualquer valor sem ser a divisão desses tamanho causara distorção na imagem.
Defini-o como 640/480 ou simplesmente 1.3.

znear,zfar – de znear a zfar é a região que será desenhada pela câmera. Por exemplo:
znear é 1 e zfar é 10000. Tudo que estiver entre o pixel 1 e o pixel 10000 da projeção será desenhado. Tudo que estiver fora dessas coordenadas não será desenhando.



Nessa figura a primeira linha vertical representa o znear e a segunda linha vertical o zfar. Tudo o que há na parte azul será desenhado e tudo o que há na parte cinza não será desenhando.

O padrão é znear = 1 e zfar = 32000.


A função d3d_set_projection_ortho


Se você quer desenhar coisas bidimensionais em modo 3D?
Então terá que usar isso.
Visão ortogonal nada mais é do que a projeção das imagens ignorando a profundidade delas, ou seja, o valor z.
Seria como desenhar um modelo 3D com todas as suas coordenadas z iguais a zero. Ele ficaria achatado. Sem profundidade.
Essa função é extremamente útil, pois podemos desenhar textos e imagens na tela sem dificuldades.


Código:
d3d_set_projection_ortho(x,y,w,h,angle)


x,y,w,h – essa é a região ou tamanho da tela. Note que se for diferente do tamanho da view o que for desenhado na tela vai se esticar em relação a view.

angle – gira o que for desenhado. O ponto de origem é por padrão o meio da area que você definiu.

Para desenhar um texto na tela você pode fazer da seguinte forma:

Código:
draw_set_color(c_black); d3d_set_projection_ortho(0,0,view_width,view_height,0); d3d_set_hidden(false); draw_text(10,10,'FPS: ' + string(fps)); d3d_set_hidden(true);


Essa função deve vir sempre antes de d3d_set_projection_ext ou a cena não será desenhada direito.


Movimentando a câmera


Agora é hora de aprender como movimentar a câmera no mundo.
Vamos adicionar um exemplo de visão em terceira pessoa onde o personagem é totalmente enquadrado pela câmera no projeto da aula anterior. Depois explicarei como adaptar isso para primeira pessoa que é ver o mundo como se estiver com os olhos do personagem.

Abra a engine que começamos na aula 1. Você também pode baixar o source clicando aqui.

Crie um novo background que será a textura do chão.



Abra o obj1 e defina outra variável para a textura do chão:

Código:
tex2 = tex2 = background_get_texture(background1);


No evento Draw:

Código:
 d3d_draw_floor(0,0,0-16,room_width,room_height,0-16,tex2,5,5);


Isso vai desenhar um chão do tamanho da room e embaixo do cubo.

Agora abra o objCamera e vamos definir todos as variáveis necessários para controlar o movimento no evento Create:

Código:
 // Movimento da camera z  = 0;   // ponto z dx = 0;   // armazena movimento x da câmera dy = 0;   // armazena movimento y da câmera dz = 0;   // armazena movimento z da câmera px = 0;   // ponto x para onde se esta olhando py = 0;   // ponto y para onde se esta olhando pz = 0;   // ponto z para onde se esta olhando zoom = 400; zang = 0;   // angulo horizontal da camera yang = 0;   // angulo vertical da camera // Definir posição do mouse window_mouse_set(200,200); // Sem cursor window_set_cursor(cr_none);


Agora crie um evento Step e:
Primeiro deve-se achar os ângulos da câmera. É o movimento do mouse que vai modar os ângulos então precisamos saber o quanto e para onde ele esta se movendo.


Código:
// Definindo angulos a partir do mouse zang-=(window_mouse_get_x()-200)/8; yang-=(window_mouse_get_y()-200)/8; window_mouse_set(200,200); yang=median(yang,-89,89);


zang é igual a posição x do mouse -200 dividido por 8. Isso retorna quantos pixels o mouse se moveu em x.
yang é igual a posição y do mouse -200 dividido por 8. Isso retorna quantos pixels o mouse se moveu em y.
O valor 8 é a sensibilidade do mouse. Quanto menor mais rápido o movimento vai ficar.
A função window_mouse_set defini a posição do mouse novamente depois de já achar os ângulos.
A ultima linha de código faz com que yang nunca passe de -89 a 89, ou seja, quanto a câmera estiver em cima ou embaixo do objeto seu ângulo vertical não mudará mais.

Já temos os ângulos vertical e horizontal definidos. Agora precisamos saber o quanto os pontos x,y e z da câmera teriam que mudar para que possa girar em torno do personagem.


Código:
// Animação da camera // calculando movimento dos vetores da camera dx=cos(degtorad(zang)); dy=-sin(degtorad(zang)); dz=tan(degtorad(yang)); // normalizar vetores // torna movimento da camera totalmente esferico. m=sqrt(sqr(dx)+sqr(dy)+sqr(dz)); dx/=m; dy/=m; dz/=m;


Coseno, seno e tangente são operações matemáticas para achar pontos de acordo com um ângulo.
Convertemos os graus em radianos com a função degtorad(ang).
cos retorna quantos pixels o x terá que se mover para estar naquele ângulo.
sin retorna quantos pixels o y terá que se mover para estar no mesmo ângulo que x (ângulo vertical).
E tan retorna quantos pixels o z terá que se mover para estar de acordo com o ângulo vertical.
Por ultimo em tenho que normalizar dx, dy e dz para que o movimento gire de forma perfeitamente esférica em torno do personagem.
Não tem muito o que explicar disso. Aquilo é uma operação para não deixar que o zoom mude automaticamente dependendo do ângulo.

A parte complicada já foi. Happy
Agora é só definir as novas coordenadas da câmera de acordo com dx, dy e dz.


Código:
// Calculando posição da camera no mundo x = obj1.x+dx*zoom; y = obj1.y+dy*zoom; z = obj1.z+dz*zoom; // Zoom if keyboard_check(vk_add) zoom += 4; if keyboard_check(vk_subtract) zoom -= 4;


Ao multiplicar os valores que acho com cos, sin e tan eu estou adicionando uma distancia ao movimento. Essa distancia é o zoom que vale 400 pixels. A câmera ficará a 400 pixels do personagem.
Adicionei também algo para aumentar e diminuir o zoom apertando “+” ou “-“ no teclado.

Finalize o código do evento Step definindo o lugar para onde o câmera vai olhar que no caso é a posição do obj1.

Código:
// Movimento no personagem px = obj1.x; py = obj1.y; pz = obj1.z;


Abra o evento Draw do objCamera, apague o código lá e defina uma nova projeção:


Código:
d3d_set_projection_ext(x,y,z,px,py,pz,0,0,1,90,1.3,1,32000);


Adicione um movimento simples para o obj1. Crie um evento Step nele:

Código:
if keyboard_check(ord('W')) y -= 4; if keyboard_check(ord('S')) y += 4; if keyboard_check(ord('A')) x -= 4; if keyboard_check(ord('D')) x += 4;


Pra finalizar defina a velocidade da room como 60.

Se você quiser fazer um visão em terceira pessoa é simples.
Basta inverter os pontos xfrom, yfrom, zfrom, xto, yto, zto

Código:
d3d_set_projection_ext(px,py,pz,x,y,z,0,0,1,90,1.3,1,32000);


Não se esqueça de tirar o código que desenha o cubo porque senão a visão vai ficar tampada pela parte de dentro do cubo.

Esse exemplo pronto pode ser baixado clicando aqui.
 
GM3D 03 – Usando Transformações


As transformações em D3D são usadas para rotacionar um modelo no jogo. Há também a possibilidade de escalar o objeto aumento ou diminuindo seu tamanho mas isso não é aconselhável se você usar iluminação no jogo porque tem um bug no GM que calcula as normais (projeção da textura) erradas fazendo o modelo escurecer cada vez que é aumentado.


Transformações


Para rotacionar ou escalar um objeto você precisara usar as transformação D3D. Todas as suas funções começam com a expressão “d3d_transform_”.

Primeiro você precisa definir o que será transformado senão os efeitos serão aplicados no mundo todo.
Para isso existe uma função que identifica o que esta sendo desenhado e aplica os efeitos apenas neles. Ela é a “d3d_transform_set_identity()”.

Outra coisa importante é que as transformação são aplicadas usando o ponto de origem da room (que é 0,0,0 para x,y,z) e não o do objeto, ou seja, quanto você rodar um modelo ele vai girar em torno do ponto 0 da room e não em torno de si mesmo (como a Terra girando em torno do Sol).

Para resolver isso alem de usar “d3d_transform_set_identity” você também usará a função “d3d_transform_add_translation(x,y,z);” que defini que a transformação será aplicada em torno dos argumentos x,y,z.

Veja um exemplo:

Código:
d3d_transform_set_identity(); d3d_transform_add_translation(x,y,z); d3d_draw_model(modelo,0,0,0,textura); d3d_transform_set_identity();


Explicando linha por linha:

d3d_transform_set_identity(); – identifica o que vai ser afetado. Note que há também um no final do código, isso quer dizer que todo que esta entre essas funções será alterado.

d3d_transform_add_translation(x,y,z) – defini o ponto de origem das transformações. Os modelos também serão desenhados a partir dele (é como se fossem os novos pontos x, y e z do objeto).

d3d_draw_model(modelo,0,0,0,textura) – desenha o modelo. Note que os pontos x,y,z são definidos como 0. Por que?
A resposta é simples. Quanto eu usei d3d_transform_add_translation(x,y,z) os argumentos x,y,z dele se tornaram os novos pontos de origem do modelo. Tudo que for desenhado entre os identificadores será relativo a esta nova origem.
Se o modelo fosse desenhado em 10,15,8:

Código:
d3d_transform_add_translation(x,y,z); d3d_draw_model(modelo,10,15,8,textura);

Seria o mesmo que desenhá-lo na posição x+10,y+15,z+8 na room.

d3d_transform_set_identity(); – por último outro identificador. Lembrando que tudo que estiver entre ele e o primeiro será afetado.


Uma coisa interessante é que as transformações funcionam em qualquer tipo de desenho do GM. Você também pode usá-las na hora de desenhar uma sprite, background ou texto!


Continuando a engine


Abra a engine que fez seguindo as outras aulas ou baixe por este link.

Antes de continuar com as explicações vamos resolver um bug nessa engine.
O movimenta da câmera não esta seguindo direito o movimento do personagem. Quanto nós movimentamos o objeto a câmera puxa pros lados.
Para resolver isso apague as linhas de código abaixo no evento Step e coloque-os no evento Draw antes da função de projeção no objCamera:

Código:
 // Calculando posição da camera no mundo x = obj1.x+dx*zoom; y = obj1.y+dy*zoom; z = obj1.z+dz*zoom; // Movimento no personagem px = obj1.x; py = obj1.y; pz = obj1.z;


O evento Step ficará assim:

Código:
 // Definindo angulos a partir do mouse zang-=(window_mouse_get_x()-200)/8; yang-=(window_mouse_get_y()-200)/8; window_mouse_set(200,200); yang=median(yang,-89,89); // Animação da camera // calculando movimento dos vetores da camera dx=cos(degtorad(zang)); dy=-sin(degtorad(zang)); dz=tan(degtorad(yang)); // normalizar vetores // torna movimento da camera totalmente esferico. m=sqrt(sqr(dx)+sqr(dy)+sqr(dz)); dx/=m; dy/=m; dz/=m; // Zoom if keyboard_check(vk_add) zoom += 4; if keyboard_check(vk_subtract) zoom -= 4;


E o evento Draw assim:

Código:
 // Calculando posição da camera no mundo x = obj1.x+dx*zoom; y = obj1.y+dy*zoom; z = obj1.z+dz*zoom; // Movimento no personagem px = obj1.x; py = obj1.y; pz = obj1.z; d3d_set_projection_ext(x,y,z,px,py,pz,0,0,1,90,1.3,1,32000);


Agora sim a camera está ótima.
Mude o desenho do cubo para uma forma mais achatada para dar uma impressão de ser um carro.
Troque os valores no código que desenha o cubo no evento Draw do obj1:

Código:
d3d_draw_block(-16,-32,-10,16,32,10,tex,1,1);


Agora está tudo pronto para a próxima explicação.


Rotação e Escalação


As funções seguintes podem ser usadas para rotacionar e escalar os objetos:

d3d_transform_add_rotation_x(angle) – Gira o objeto em torno do eixo x.

d3d_transform_add_rotation_y(angle) – Gira o objeto em torno do eixo y.

d3d_transform_add_rotation_z(angle) – Gira o objeto em torno do eixo z.

d3d_transform_add_scaling(xs,ys,zs) – Altera a escala nos eixos x, y e z.

Vamos fazer um teste na nossa engine para entender o funcionamento.
Crie variaveis rx, ry e rz no evento Create do obj1:

Código:
rx = 0; ry = 0; rz = 0;

Ela será o valor do ângulo das rotações.

No evento Step adicione isso para mudar os ângulos com os números do teclado numérico:


Código:
if keyboard_check(vk_numpad1) rx += 1; if keyboard_check(vk_numpad4) rx -= 1; if keyboard_check(vk_numpad2) ry += 1; if keyboard_check(vk_numpad5) ry -= 1; if keyboard_check(vk_numpad6) rz += 1; if keyboard_check(vk_numpad3) rz -= 1;


No evento Draw vamos adicionar a função de rotação dos eixos.
Elas devem estar sempre antes da função d3d_transform_add_translation.
A parte que desenha o cubo ficará assim:

Código:
d3d_transform_set_identity() d3d_transform_add_rotation_x(rx); d3d_transform_add_rotation_y(ry); d3d_transform_add_rotation_z(rz); d3d_transform_add_translation(x,y,z); d3d_draw_block(-16,-32,-10,16,32,10,tex,1,1); d3d_transform_set_identity()


Teste o jogo e aperte 1 e 4 para girar no eixo x, 2 e 5 para girar no eixo y e 3 e 6 para girar no eixo z.

Notou a diferença entre eixo x, y e z?

Bom, agora é hora de testar as escalas.
No evento Create do obj1 adicione mais variáveis para cada escala:

Código:
sx = 1; sy = 1; sz = 1;


E no Step o código para mudar as escalar:

Código:
if keyboard_check(vk_delete) sx += 0.1; if keyboard_check(vk_insert) sx -= 0.1; if keyboard_check(vk_end) sy += 0.1; if keyboard_check(vk_home) sy -= 0.1; if keyboard_check(vk_pagedown) sz += 0.1; if keyboard_check(vk_pageup) sz -= 0.1;


No evento Draw adicione a função para escalar o modelo também sempre antes de d3d_transform_add_translation.

Código:
d3d_transform_set_identity() d3d_transform_add_rotation_x(rx); d3d_transform_add_rotation_y(ry); d3d_transform_add_rotation_z(rz); d3d_transform_add_scaling(sx,sy,sz); d3d_transform_add_translation(x,y,z); d3d_draw_block(-16,-32,-10,16,32,10,tex,1,1); d3d_transform_set_identity()


Teste e use Delete e Insert para mudar o eixo x, End e Home para o eixo y, Page Up e Page Down para o eixo z.

Copie essa engine com outro nome se quiser para fazer testes mais tarde.
Agora vamos fazer nosso “carro” andar!


Movimentação


A movimentação dessa engine será da seguinte forma:
As teclas A e D giram o objeto, W e S acelera e desacelera, C muda o modo da câmera.

Apague as novas variáveis que criamos e faça apenas uma para a rotação r, y_speed para a velocidade e mude o valor z para 16.
Evento Create Completo:

Código:
z = 16; tex = background_get_texture(background0); tex2 = background_get_texture(background1); x = 96; y = 96; r = 0;        // rotação z y_speed = 10;  // velocidade


Apague todo o código no evento Step e coloque este para girar o carro para os lados:

Código:
if keyboard_check(ord('A')) r += 2; if keyboard_check(ord('D')) r -= 2;


O carro tem que andar na direção que esta virado então temos que usar cos e sin para achar x e y de acordo com o ângulo.
No evento Step adicione este código:

Código:
if keyboard_check(ord('W')) {     x += cos(degtorad(r+90))*y_speed;     y -= sin(degtorad(r+90))*y_speed; } if keyboard_check(ord('S')) {     x -= cos(degtorad(r+90))*y_speed;     y += sin(degtorad(r+90))*y_speed; }


O “r+90” ajeita o ângulo de calculo para faze-lo correr na direção certa.

Por ultimo deixe o evento Draw desta forma:

Código:
d3d_transform_set_identity() d3d_transform_add_rotation_z(r); d3d_transform_add_translation(x,y,z); d3d_draw_block(-16,-32,-10,16,32,10,tex,1,1); d3d_transform_set_identity() d3d_draw_floor(0,0,0,room_width*3,room_height*3,0,tex2,10,10);


Isso muda a rotação do eixo z e aumento o tamanho do chão.
Teste o jogo é veja o resultado!

A engine pronta pode ser baixada aqui.

Como Criar um Navegador

Criando um navegador Web no VB 2005

  Redes e Protocolos TCP/IP Avançado com Laboratório
Neste artigo vou mostrar como você pode, facilmente, criar um navegador Web no VB 2005 (É gratuito, por enquanto...) com recursos interessantes e com pouco código.
Abra o VB 2005 e crie um novo projeto que pode ser chamado de meuWebBrowser, ou algo parecido. Fique à vontade.
No formulário padrão do projeto, form1.vb, inclua os seguintes componentes arrastando-os diretamente da caixa de ferramentas (toolbox), guia Common Controls, para o formulário, usando a disposição conforme mostrada na figura abaixo:
Componentes usados no formulário e suas respectivas propriedades alteradas:
1 controle WebBrowser
name: webb1
Url: http://www.macoratti.net
4 controles Button
name: btnFrente
Image: Clique no botão, selecione - local resource, e selecione a imagem conforme abaixo:
name: btnVolta image : idem
name: btnPara Image : idem
name: btnHome Image : idem
1 Controle Progressbar
name : ProgressBar1
1 controle TextBox
name: txtUrl
AutoCompleteMode: Suggest (ativa o recurso de auto-completar)
AutoCompleteSource: AllUrl (relembra todas as URLs já informadas antes)
Nota: Quando o controle WebBrowser for arrastado para o formulário você deverá localizar a guia Smart Tag e clicar na opção Undock Parent Container, conforme figura abaixo, para poder arrastar os demais controles para o formulário.

Lembrando que os principais eventos do controle WebBrowser são:
Navigating: Disparado quando você define uma nova URL ou quando o usuário clica em um link.
Navigated: Disparado antes do navegador iniciar o dowload da página.
ProgressChanged: Disparado periodicamente durante o download. Informe quantos bytes foram baixados e quantos ainda são esperados. (Vamos usar este evento para ativar a barra de progresso.)
DocumentCompleted: Disparado quando a página foi completamente carregada.
O código de cada botão de comando, colocado no evento Click, é exibido a seguir. Neles estou usando as propriedades do objeto WebBrowser para permitir a navegação.
Private Sub btnFrente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFrente.Click
webb1.GoForward()
End Sub
Private Sub btnVolta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVolta.Click
webb1.GoBack()
End Sub
Private Sub btnPara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPara.Click
webb1.Stop()
End Sub
Private Sub btnHome_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHome.Click
webb1.GoHome()
End Sub
Para podermos mostrar a barra de progresso funcionando durante a carga de uma página, teremos que tratar os eventos do controle WebBrowser:
ProgressChanged - quando houver qualquer alteração do progresso iremos alterar o valor da barra de progresso para exibir o progresso da operação ;
DocumentCOmpleted - quando a operação for completada iremos zerar o valor da barra de progresso.
Abaixo o código que foi colocado em cada um dos eventos:
Private Sub webb1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles webb1.DocumentCompletedProgressBar1.Value = 0
End Sub
Private Sub webb1_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles webb1.ProgressChanged
ProgressBar1.Value = CType(((e.CurrentProgress / e.MaximumProgress) * 100), Integer)
End Sub
Na caixa de texto - txtUrl - apenas vou verificar se o texto informado tem tamanho menor que 1. Se isto ocorrer eu estou atribuindo a URL do site do Macoratti. (meu site pessoal).
Quando o usuário deixa (leave) a caixa de texto, você irá atribuir uma nova URL a propriedade URL do controle:
Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtUrl.Leave
If txtUrl.Text.Length < 1 Then
txtUrl.Text = "http://www.macoratti.net"
End If
webb1.Url = New System.Uri(txtUrl.Text)
End Sub
Executando o projeto, e, estando conectado, teremos o resultado para o acesso ao site.
VB.NET 2005 é fácil, é simples, é legal. Divirta-se!

Como criar uma Tv ONline

domingo, 18 de julho de 2010

 Como criar uma Tv ONline

BOM  muita gente po aqui querendo  fazer uam  tv e por online , né papai  né mamae , vc estao fazendo aquele plano de transmitir os  passos  do seu  filho e por online rs! POIS  SUA HORA CHEGOU

Programa Principal-
Windows media encoder

Programa freeware

Programa Secundario/opcional-

Nero


Transmissão Sem placa TV-


1-Abrimos o Windows media encoder e metemos Cancelar


2-A seguir carregamos em Properties/propriedades



3-Em fonte Temos as seguintes opçoes para escolher e definir:

1-Adicionar mais uma fonte-Adicionamos fontes devido a quantidade de videos que temos.
2-Onde diz fonte de: metemos Arquivo e escolhemos o video
3-Onde diz No final metemos passar para a proxima fase se tivermos vários videos ou Parar se so tivermos um.



4-Em saída Escolhemos a opção enviar Para servidor e metemos os dados

Para ver o [Tutorial]Como adquirir um servidor para streaming-Clique Aqui


5-Em compactação definimos:

Para quem tem boa net e quer uma transmissao de video estável-
1-Em Destino metemos-Servidor Web
2-Em video metemos-Video com conteudo de filme
3-Em taxa de bits metemos 323




Para quem tem net muito boa ou má
1-Em Destino metemos-Servidor do windows
2-Em video metemos-Video com conteudo de filme
3-Escolhemos uma tax de bits baixa ou alta




PASSO OPCIONAL TEM DE TER O NERO-PARA LEGENDAS
5-Em Plug-ins :

1-Carregamos em Registar, que nos vai abrir uma janelinha

2-Procuramos o que diga -NERO Subtitle e marcamos e metemos OK



6-Agora Carregamos em INICIAR CODIFICAÇAO em cima


7-Agora aparecerá um Menu a pedir o user e a pass



8-Agora aparecerá outra mensagem a qual metemos OK



9-Já estamos a transmitir


OPCIONAL-Só para quem tem legendas

10-Vamos a Propriedades-Plug-ins

1-CArregamos em cima do Nero subtitles e acedemos a Configuraçoes
2-FAzemos o Add das legendas e metemos Aplicar e OK



Transmissão Com Placa TV


1-Carregamos em transmitir um novo evento



2-Escolhemos a placa tv e som se tivermos

http://www.sopcast.com/doc/images/mediaencoder1_clip_image006.jpg

3-Escolhemos Push to a windows media server


4-Metemos os dados do servidor


5-Escolhemos :

1-No video-Multiple bitrates
2-A velocidade que queremos transmitir

6-Carregamos em Iniciar codificação




Agora já tem a sua Tv online!

Para conseguir por a sua tv online tem de consultar o [Tutorial]Como adquirir um servidor para streaming
Cumps!

Como Criar um servidor de TS

 Como Criar um server de Team Speak

Para criar um server de team speak você deve instalar o Team Speak Server:
Link Team Speak Server

após fazer o download, você vai receber uma senha do superadmin no instalador, GRAVE essa senha.

após abrir o team speak Server, ele aparecerá no canto inferior direitro da tela (ao lado do relogio do windows)

para alterar as configurações do server, você deve aperta botão direito no icone do TS Server e escolher "Administration", e assim você irá para a pagina de configuração, onde será pedido o login e a senha do superadmin que você recebe após a instalação:

Esta imagem foi redimensionada. Clique na barra para a ver a imagem com as dimensões originais. Dimensão original 1024x768.


após você logar no superadmin, você terá direito a mudar todos as opções do server

em "Global settings", você pode mudar configurações como email do host e afins:
Esta imagem foi redimensionada. Clique na barra para a ver a imagem com as dimensões originais. Dimensão original 1024x768.


em "Servers" você administra seus servers e seleciona qual você quer mudar as configurações:
Esta imagem foi redimensionada. Clique na barra para a ver a imagem com as dimensões originais. Dimensão original 1024x768.


e em "Superadmin manager" você pode criar outro login para o super admin e assim não se preocupar em lembrar da senha maluca que o TS te dá na instalação

após você selecionar o server na aba Servers, essas opções irão aparecer:


 
·Server overview - Detalhes do servidor
·Server settings - configurações do servidor

(Evite alterar qualquer cosia aki se vc n tiver certeza do q está fznd)
·Server Permissions - Permissões do Servidor
- Server Admin - Permissões dos Admins
- Channel Admin - Permissão de modificação de canais
- Operator - Permissões dos operadores
- Voiced - Permissão dos "Voiced"
- Registered - Permissão dos users com login e senha
- Anonymous - Permissão dos users anonimos

Server Settings:
eh aconselhavel usar estas configurações para ter um server menos lagado:
Esta imagem foi redimensionada. Clique na barra para a ver a imagem com as dimensões originais. Dimensão original 1024x768.


PS: Se você usar Firewall, ou modem router, será necessário o desbloqueio da porta UDP 8767, para funcionamento do TS

Para saber como desbloquear essa porta no seu modem, pegue o modelo do seu modem e procure nesse SITE depois de escolher o seu modelo do modem, escolha o link para TeamSpeak, e pronto, aparecerá um tutorial de como desbloquear as portas no seu modem

e também desloqueie essa porta no seu firewall (ou desative ele)



User Manager:
Em user manager você pode criar usuários, ou criar admins, para o dono do server, é interessante a criação de um admin para ele logar no server como admin e ter direitos de criar chanels
Esta imagem foi redimensionada. Clique na barra para a ver a imagem com as dimensões originais. Dimensão original 1024x768.


Sendo admin em um servidor:
Após logar com uma conta de Admin no server você terá direito de criar channels e colocar senha neles e torna-los fixo:




em name Coloque o nome do Canal
se quiser colocar password coloque em "Password"
em codec selecione GSM 14.8 KBit (para melhor desempenho)
se quiser tornar esse chanel fixo sempre que você abrir o TS marque "Registered"

lebrando que para as pessoas se conectarem aso seu server ou você utiliza algum travador de Ip ou você utiliza o seu ip da internet + a porta:
exemplo : 189.25.10.111:8767 ou como eu fiz, usando um DNS, bhgpts.no-ip.info:8767