Ir para conteúdo
Fórum Script Brasil

.:Luciano Augusto

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Posts postados por .:Luciano Augusto

  1. Ola, tem como fazer 3d no flash? com alguma imagem? E manipular com mouse? Ficar arrastando? Me falaram do vecta 3d que serve e tal...alguém poderia me ajudar nisso?

    Obrigado!

    Marcelo

    3.4 Não é permitido qualquer tipo de propaganda de sites ou serviços em tópicos, exceto nos fóruns Classificados & Serviços e Links, os quais possuem regras próprias (podendo ser vistas nos respectivos fóruns), que delimitam os assuntos e conteúdos das mesmas.

    Olá Eric, eu não entendi o seu comentário, me diga onde erramos para que não cometa o erro novamente.

    Valeu, obrigado!

  2. velho...eu não sei se tu entendeu...mas a aplicação fllash vai estar em um maquina, e o banco e as classes php estão em outra maquina, ou seja, em um servidor http.

    Foi isso que tu fez? eu não entendi o porque do servidor local com apache e php local? pra que rodaria alguma coisa local?

    vlw

    Opa, isto fica transparente para a sua aplicação, o esquema é este mesmo, você apenas direciona para o IP onde estão as classes, sem stress. Este programa tem classes de conexão ele extende a biblioteca do flash com recursos poderosos, com certeza resolverá seu problema.

    Abração

  3. menos mal...

    obrigado aí...

    olha só...não querendo abusá, sabe onde posso conseguir um material realcionado? livro, tutorial, qualquer coisa...só pras conexões, troca de variáveis, interação de objetos e tal...

    qualquer coisa é válida...to enferrujadasso...rsrs

    mas nada melhor que um projeto pra relembrar as gambi! ;)

    vlw

    E aí tudo bem? Cara eu comprei para a empresa um compilador de Flash bacana, chamado ZINC. Ele dá inclusive controle sobre o botão direito do Mouse, o que é muitas vezes fundamental para os jogos que faço.

    Veja aí:

    http://www.multidmedia.com/software/zinc/

    No mais é rodar um servidor local com apache e fazer as chamadas de php local: 127.0.0.1. Assim você acessa o BD.

    Abraços,

    .: Luciano Augusto da Silva

    Game Developer

  4. Ola, tem como fazer 3d no flash? com alguma imagem? E manipular com mouse? Ficar arrastando? Me falaram do vecta 3d que serve e tal...alguém poderia me ajudar nisso?

    Obrigado!

    Marcelo

    Grande tudo bem?

    Tem como fazer 3D no Flash e em qualquer ambiente que suporte programação por classes e objetos. O que você não tem para o Flash (ainda) é um Editor 3D, mas um objeto 3D nada mais é que uma matriz vetorial com valores numéricos. Já fiz alguma coisa usando trigonometria. Um exemplo são os mapas e cenários do Counter-Strike que você pode fazê-los em um arquivo TEXTO no NOTEPAD, pois nada são além de códigos matemáticos, vetores etc. No Flash, um 3D real é tudo programado. Agora utilizar imagens pré-renderizadas em 3D como o Vecta 3D faz ou qualquer outro programa é simples, pois não é 3D, é uma sequencia de imagens. Se quiser me escreva um e-mail e mando um arquivo .fla com programação trigonométrica 3D no Flash.

    Abração,

    .: Luciano Augusto da Silva

    Game Developer

  5. Salve galera...

    Depois de um tempo sem mexê em flash, to de volta...e como to meio desatualizado e flash, queria sabê se é possível fazê o que eu to pensando aqui...

    É possível eu fazer em flash um executável, que rodará em uma máquina qualquer, como se fosse um quiose, no formato de um software de caixa de banco, consulta de saldo, proximos lancamentos e tal...

    por baixo rodariam classes php, e de acordo com o cliente, teria imagens e cores que seriam customizáveis. Mas estas informações estariam em um servidor web, e estaria pegando estas informações deste servidor.

    Resumindo, um exe flash que buscaria informações de um servidor web via php, tem como!?

    valeu

    Tudo bem cara?

    É perfeitamente possível, já fiz um quiosque em Flash para consulta de notas e dados de alunos em uma universidade, também já fiz jogos com tela touch-screen. Então é sim possível. Boa sorte no projeto.

    .: Luciano Augusto da Silva

    Game Developer

  6. Olá pessoal, meu nome é .:Luciano Augusto da Silva e sou Game Developer. Já desenvolvi jogos de Entretenimento e Educacionais, tanto em 2D como 3D, tenho projetos na Europa, USA e Brasil. Trabalho há mais de 8 anos com isto e publiquei 3 livros, sendo 2 de Jogos Eletrônicos. Resumindo, game é minha vida. Este game faz parte de um módulo que estou terminando do curso de jogos avançado onde você irá programar um RPG on-line para até 400 usuários, o curso avançado estará no ar ainda em 2007, saiba mais dos meus cursos em: http://www.lucianoaugusto.com.br/ead

    Minha intenção com este tutorial é ensinar como projetar e programar um game RPG em Flash com suporte a Action 2.0, pouca ou nenhuma adaptação para AS3. Confesso que eu não gostava do Flash nas versões anteriores, pois sempre achei a programação muito fraca. Mas para minha surpresa melhorou muito.

    O game que fiz, é baseado no RPG ZELDA. Tem um código fonte rodando a internet com este game. Eu tenho ele aqui, mas é muito mal escrito, não tem consistência de objetos nem definições claras. Então escrevi o novo código em 4 horas e ficou 50% menor comparando com o original. A única coisa que aproveitei do arquivo original foram os gráficos.

    No link abaixo tem o mesmo artigo com o exemplo do game:

    http://www.lucianoaugusto.com.br/flash/divulgacao/

    Está muito simples de entender o código, mesmo os mais leigos irão ter pouca ou nenhuma dificuldade para interpretar.

    Antes de continuar, baixe o código e o arquivo .FLA para Flash Professional 2004.

    http://www.lucianoaugusto.com.br/flash/div...da_cursoRPG.fla

    http://www.lucianoaugusto.com.br/flash/div..._by_luciano.txt

    Lembre-se de renomear este arquivo para .as e colocar na mesma pasta do .fla para executar.

    Eu tenho o costume de programar o .as em separado, instanciar todos os objetos e não programar nada dentro de Movie Clipes (com on(release) etc). Quem programa assim, não por regra, é iniciante ou "newba". Pois é muito fácil se perder na codificação se ela está um pedaço no movie outro no quadro etc. Como eu assumo projetos grandes e profissionais, acabei tendo de aprender a programar de forma que facilitasse minha depuração futura.

    O código do Action Script está todo comentado, vou apenas explicar o funcionamento do game e alguns segredos.

    Se olhar o código irá notar que tenho o costume de declarar as variáveis antes de começar a programar, este costume vem do Pascal que programei há muito tempo e não pense que sou velho, tenho apenas 30 anos hehe.

    //Definição de todas as variáveis usadas no game.
    var velocidade_personagem:Number = 5;
    var estado_personagem:String = "";
    Declarar as variáveis no início facilita o controle sobre elas e também você começa a ter uma boa noção de quanto está usando de memória, afinal, variável funciona como um ponteiro, e ocupa memória (RAM) quando declarada. Não pense que isto é completamente inútil em Flash. Qualquer programação, independente de tecnologia ocupa memória. Aqui começa o looping (rotina que fica testando algo direto) principal do nosso game:
    personagem_mc.onEnterFrame = function() {
    // O objeto Key é usado para testar as teclas, ia usar Listner, mas como é um Tutorial básico
    // resolvi fazer o controle de forma mais legível.
    // Então: Key.DOWN é tecla para baixo e assim respectivamente.
    if (Key.isDown(Key.DOWN)) {
    this.gotoAndStop("walk_down");
    // Estou fazendo um teste para ver se a personagem está na posição Y que quero testar, caso esteja 
    // faço o terreno se mover, criando assim o efeito de câmera. Na verdade usamos este macete em RPG 
    // para fazer o terreno se mover quando a personagem vai chegando perto dos limites da tela, isto evita
    if (this._y>180 && terreno_mc._y>-275) {
    // Caso a personagem esteja no limite indicado, o terreno se move e não ele, este efeito é muito utilizado
    // em RPGs, pois simula a personagem andando normalmente e também, uma câmera acompanhando. E a grande verdade
    // é que neste caso quem se move é o terreno.
    terreno_mc._y -= velocidade_personagem;
    limites_mc._y -= velocidade_personagem;
    } else {
    // Caso esteja fora dos limites, quem se move é a personagem. Vocês precisam entender que esta é a grande sacada
    // para fazer um RPG, o jogo de personagem e cenário cria a ilusão de câmera no mundo 2D. 
    personagem_mc._y += velocidade_personagem;
    }
    }
    if (Key.isDown(Key.UP)) {
    this.gotoAndStop("walk_up");
    // Aqui também testo os limites antes de mover o terreno.
    if (this._y<50 && terreno_mc._y<-3) {
    terreno_mc._y += velocidade_personagem;
    limites_mc._y += velocidade_personagem;
    } else {
    personagem_mc._y -= velocidade_personagem;
    }
    }
    if (Key.isDown(Key.LEFT)) {
    this.gotoAndStop("walk_left");
    // Aqui também testo os limites antes de mover o terreno.
    if (this._x<90 && terreno_mc._x<-3.5) {
    terreno_mc._x += velocidade_personagem;
    limites_mc._x += velocidade_personagem;
    } else {
    personagem_mc._x -= velocidade_personagem;
    }
    }
    if (Key.isDown(Key.RIGHT)) {
    this.gotoAndStop("walk_right");
    // Aqui também testo os limites antes de mover o terreno.
    if (this._x>190 && terreno_mc._x>-253.3) {
    terreno_mc._x -= velocidade_personagem;
    limites_mc._x -= velocidade_personagem;
    } else {
    personagem_mc._x += velocidade_personagem;
    }
    }
    // Chamando a função para detectar a colisão e passando os 2 objetos
    // como parâmetro. O primeiro objeto é a personagem, repsresentado por this
    // o segundo objeto é a mascará de colisão. A grande sacada de usar função é que
    // você testa muitas colisões com pouco código
    testaColisao(this, limites_mc);
    // Estou usando o mesma função para testar colisão, mas esperando um retorno de verdadeiro
    // ou falso, por isto uso o IF(...) Retornando verdadeiro posso tratar o objeto.
    if (testaColisao(this, terreno_mc.npc_01_mc)) {
    terreno_mc.npc_01_mc._xscale = -60;
    terreno_mc.sombra_npc_01_mc._xscale = -60;
    //Estou abrindo o balão e passando os parâmetros, o último, 3000 é em milisegundos, ou seja 3 segundos ele fica aberto.
    abreBalaoNpc(403, 323, "Olá sou o npc deste game! Muito prazer, meu nome é Lula!", 3000);
    }
    // Controle de ATAQUE usando a tecla SPACE e dependendo do estado do personagem, ativa uma animação
    // A variável estado_personagem é setada no arquivo principal dentro do Movie do personagem
    // Por falta de tempo não vou colocar um inimigo aqui, mas pode ser um tutorial futuro
    if (Key.isDown(Key.SPACE)) {
    if (estado_personagem == "down") {
    this.gotoAndStop("attack_down");
    } else if (estado_personagem == "up") {
    this.gotoAndStop("attack_up");
    } else if (estado_personagem == "left") {
    this.gotoAndStop("attack_left");
    } else if (estado_personagem == "right") {
    this.gotoAndStop("attack_right");
    }
    }
    };
    Ele testa todas as ações da personagem, e controla posição X/Y, Ataque, colisão etc. Dentro deste looping temos algumas funções fabricadas em casa (não são do flash, eu que fiz), a principal é a :
    testaColisao(this, limites_mc);
    Esta função pega o objeto this como primeiro parâmetro, ou seja a personagem, e também qual o objeto que será a máscara de colisão. Usamos o sistema de colisão para testar quando a personagem chega nos limites do cenário por exemplo, onde ela não pode passar, ou em pedras e árvores onde ela não pode passar por cima. A rotina de colisão que escrevi, está perfeita. Ela testa a colisão pelos limites do objeto e não pelo quadrado do MovieClip, abaixo vou explicar melhor: Nesta imagem a colisão está no limite do MovieClip na parte azul, repare na bolinha acertando o limite (quadrado em volta do desenho). Isto é o padrão do FLASH: Agora usando uma técnica de programação, pegamos os valores X,Y mínimos e máximos do objeto e testamos a colisão por vértice ou edges. Com isto o sistema de colisão fica perfeito para montar limites onde as personagens podem andar ou não. Abaixo o código do sitema de colisão:
    // Função criada para testar a colisão do personagem com os elementos
    // do cenário que não podem ser ultrapassados ou que devam fazer alguma coisa
    // Esta função é vital para o RPG. Ela além de segurar a persoangem para não passar
    // por cima das coisas que há uma colisão, ela também retorna verdadeiro (true) quando
    // uma colisão acontece, com isto podemos tratar a colisão e iniciar outra ação, se for
    // o caso
    function testaColisao(objeto:Object, objeto2:Object) {
    with (eval(objeto)) {
    // Esta sequência de Ifs aninhados testam os vértives (limites) de colisão
    // do objeto passado como parâmetro que vai impedir que sua personagem ande
    // onde não possa.
    // Usar o getBounds retorna as coordenadas X e Y máximas em comparação a um objeto
    // e o Stage. Com isto sabemos exatamente onde tem um objeto desenhado para fazer 
    // um teste de colisão mais preciso.
    if (eval(objeto2).hitTest(getBounds(_root).xMax, _y, true)) {
    // Caso eu encontre um limite eu volto meu personagem e não o deixo ultrapassar
    // É exatamente isto que está acontecendo na expressão abaixo.
    // Esta colisão testa o lado direito da personagem
    _x = _x-velocidade_personagem;
    return true;
    }
    if (eval(objeto2).hitTest(getBounds(_root).xMin, _y, true)) {
    // Esta colisão testa o lado equerdo da personagem
    _x = _x+velocidade_personagem;
    return true;
    }
    if (eval(objeto2).hitTest(_x, getBounds(_root).yMax, true)) {
    // Esta colisão testa a parte inferior da personagem
    _y = _y-velocidade_personagem;
    return true;
    }
    if (eval(objeto2).hitTest(_x, getBounds(_root).yMin, true)) {
    // Esta colisão testa a parte superior da personagem
    _y = _y+velocidade_personagem;
    return true;
    }
    }
    }
    O game na verdade se baseia nisto, não tem segredo. O lance de simulação de câmera é mais simples ainda. No código lá em cima do looping do personagem, fiz toda a simulação usando para isto o deslocamento X,Y da personagem. Ou seja, se a personagem estiver próximo do limite da tela, a tela rola para a direita ou para baixo. só usei uma condicional IF para controlar isto e o efeito é fantástico, parece que temos uma câmera seguindo a personagem.
    if (this._y>180 && terreno_mc._y>-275) {
    // Caso a personagem esteja no limite indicado, o terreno se move e não ele, este efeito é muito utilizado
    // em RPGs, pois simula a personagem andando normalmente e também, uma câmera acompanhando. E a grande verdade
    // é que neste caso quem se move é o terreno.
    terreno_mc._y -= velocidade_personagem;
    limites_mc._y -= velocidade_personagem;
    } else {
    // Caso esteja fora dos limites, quem se move é a personagem. Vocês precisam entender que esta é a grande sacada
    // para fazer um RPG, o jogo de personagem e cenário cria a ilusão de câmera no mundo 2D. 
    personagem_mc._y += velocidade_personagem;
    }

    Observem que a área vermelha é o limite, então se a personagem chegar nesta área ela para de andar e quem anda no caminho inverso é o terreno. Isto simula uma câmera.

    Agora vou colocar os valores que usei no código para testar os limites, com isto você entenderá melhor:

    Agora fica claro como funcionam os limites para ativar a rolagem do cenário ou não.

    Este game se resume a deslocar a personagem e a tratar alguns eventos básicos, acredito que vocês não tenham dificuldade de entendê-lo.

    O ratinho que está passando não programei, usei guide lines apenas, e a programação do npc está no código comentada.

    Espero que gostem, aguardo perguntas e tendo tempo ajudo a melhorar este código.

    Luciano Augusto da Silva

    Game Developer

    (41) 9972-6690 | contato@lucianoaugusto.com.br

×
×
  • Criar Novo...