Monkey Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


O fórum brasileiro de desenvolvimento de jogos na plataforma Monkey
 
InícioÚltimas imagensProcurarRegistarEntrar
Entrar
Nome de usuário:
Senha:
Entrar automaticamente: 
:: Esqueci-me da senha
Últimos assuntos
» A pagina fica sempre em branco.
Classe Image retorna Object e não uma imagem Icon_minitime3/9/2011, 11:27 por vinians

» [PROJETO] Space Quest
Classe Image retorna Object e não uma imagem Icon_minitime3/9/2011, 11:18 por vinians

» Mais uma banana no sitie...
Classe Image retorna Object e não uma imagem Icon_minitime3/9/2011, 09:34 por vinians

» [Site] Inauguração do nosso site de desenvolvimento XCreator Minigames
Classe Image retorna Object e não uma imagem Icon_minitime1/9/2011, 17:05 por vinians

» [PROJETO] PacMonkey
Classe Image retorna Object e não uma imagem Icon_minitime30/8/2011, 16:22 por vinians

» [PROJETO] [APRENDIZADO] Rocks
Classe Image retorna Object e não uma imagem Icon_minitime19/8/2011, 16:15 por vinians

» [seção críticas e sugestões] Editar tópicos
Classe Image retorna Object e não uma imagem Icon_minitime19/8/2011, 16:02 por vinians

» Tabela - Arquivos de áudio compatíveis - HTML5
Classe Image retorna Object e não uma imagem Icon_minitime16/8/2011, 14:43 por vinians

» Bom dia,Monkey Brasil!
Classe Image retorna Object e não uma imagem Icon_minitime16/8/2011, 14:09 por GMLucas

Palavras-chaves
parte
Procurar
 
 

Resultados por:
 
Rechercher Pesquisa avançada
Parceiros
Fórum grátis


Compartilhe | 
 

 Classe Image retorna Object e não uma imagem

Ver o tópico anterior Ver o tópico seguinte Ir para baixo 
AutorMensagem
Alex FC
Alex FC

Colaborador
Mensagens : 18
Data de inscrição : 07/08/2011
Idade : 30
Localização : Itaporã-MS

Parâmetros
Advertências:
Classe Image retorna Object e não uma imagem Left_bar_bleue0/0Classe Image retorna Object e não uma imagem Empty_bar_bleue  (0/0)

Classe Image retorna Object e não uma imagem Empty
MensagemAssunto: Classe Image retorna Object e não uma imagem   Classe Image retorna Object e não uma imagem Icon_minitime14/8/2011, 19:45

Estava trabalhando no meu projeto quando me deparei com um enorme problema.

Vamos ao inicio, sabemos que um projeto feito no monkey não começa ou continua se os recursos como imagens e sons não serem carregados.

Sabendo disso vamos supor que criamos um novo objeto utilizando:

Código:
Local o:obj= New obj(10,20,LoadImage("sprite.png"))

Até ai tudo bem. Mas agora vamos supor que eu tenha que criar um foguete e que como um de seus elementos tenhamos a fumaça, que faz o trajeto do foguete.

A solução seria colocar o mesmo código de criação acima no Update do foguete, certo? Mas não funciona. Também tentei colocar a imagem em uma var global, mas deu acesso nulo de objeto.

Simplesmente porque a função LoadImage não retorna uma imagem e sim um objeto da classe Image.

Logo a criação de um objeto que carrega a toda hora uma imagem, não deixa o jogo iniciar ou continuar.

Fuçando nos módulos do Monkey, mais precisamente no módulo gráfico vi que a Imagem é retornada no método Loaded() da Classe Image.

Então uma soluução seria armazenar o objeto que carrega a imagem em uma variável global e depois na criação fazer isso:

Código:
Local fu:obj= New obj (x,y,obj_fum.Loaded())

Mas adivinhem, também não funciona porque o módulo é Extern e seus métodos só funcionam nele.

Então fica a pergunta, como carregar uma imagem e não um objeto?

FLWS!
Ir para o topo Ir para baixo
vinians
vinians

Webmaster
Mensagens : 23
Data de inscrição : 04/08/2011

Parâmetros
Advertências:
Classe Image retorna Object e não uma imagem Left_bar_bleue0/0Classe Image retorna Object e não uma imagem Empty_bar_bleue  (0/0)

Classe Image retorna Object e não uma imagem Empty
MensagemAssunto: Re: Classe Image retorna Object e não uma imagem   Classe Image retorna Object e não uma imagem Icon_minitime15/8/2011, 08:40

E ae amigão blz?
Uma imagem é realmente um objeto, mas isso não se torna um problema. Pra resolver isso no meu game eu crie uma classe sprite, fazendo isso, eu carrego todos os sprites que preciso no método OnCreate() e depois posso atribuir o sprite em qualquer objeto. Viu a diferença? "Atribuir" o sprite. Pois um objeto é uma referência, assim posso atribui-lo a várias referências gastando memória apenas uma vez. Exemplo:
Código:

Class MyGame Extends App
    Field Nave:Objeto
    Field OutraNave:Objeto
    Field MaisOutra:Objeto
    Field Tiro:Objeto
    Field sprNave:Sprite
    Method OnCreate()
      sprNave = new Sprite("nave.png", 1)
      Nave = New Objeto(10, 10, sprNave)
      OutraNave = New Objeto(10, 32, sprNave)
      MaisOutra = New Objeto(10, 64, sprNave)
      Tiro  = New Objeto(1, 1, New Sprite("tiro.pn", 1))
    End
    Method OnUpdate()
    End
    Method OnDraw()
 
    End
End
Class Objeto
  sprite:Sprite
  x:Float
  y:Float
  visible:boolean
  Method New(x:Float, y:Float, Sprite:sp)
      sprite = sp
      self.x = x
      self.y = y
      visible = true
  End
  Method Draw()
      If (visible)
         DrawImage(sprite.image,  x, y,  0, 1, 1, Int(image_index))
         image_index += image_speed
         If (image_index > sprite.image_count - 1) image_index = 0
      End
  End
End

Class Sprite
   Field image:Image
   Field image_count:Int
   Method New(file:String, frames:Int)
      image = LoadImage(file, frames, Image.MidHandle)
      image_count = frames
   End
End
Basicamente é isso, ve se resolve pra você. Esse código é um pedaço do meu game e pode não funcionar diretamente pois ta faltando algumas coisas, é só pra você ter uma idéia. Vou postar o source do game depois e poderá lhe ajudar.
Flws!
Ir para o topo Ir para baixo
Alex FC
Alex FC

Colaborador
Mensagens : 18
Data de inscrição : 07/08/2011
Idade : 30
Localização : Itaporã-MS

Parâmetros
Advertências:
Classe Image retorna Object e não uma imagem Left_bar_bleue0/0Classe Image retorna Object e não uma imagem Empty_bar_bleue  (0/0)

Classe Image retorna Object e não uma imagem Empty
MensagemAssunto: Re: Classe Image retorna Object e não uma imagem   Classe Image retorna Object e não uma imagem Icon_minitime15/8/2011, 13:55

Entendi. E eu pensando que já manjava. Muito obrigado cara.

Em breve vou postar um tutu pra ajudar também.

Pode trancar.

FLWS!
Resolvido. Trancado.
Ir para o topo Ir para baixo
Conteúdo patrocinado



Classe Image retorna Object e não uma imagem Empty
MensagemAssunto: Re: Classe Image retorna Object e não uma imagem   Classe Image retorna Object e não uma imagem Icon_minitime

Ir para o topo Ir para baixo
 

Classe Image retorna Object e não uma imagem

Ver o tópico anterior Ver o tópico seguinte Ir para o topo 

 Tópicos semelhantes

-
» Classe não encontrada?
» Colisão entre objetos da mesma classe
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
Monkey Brasil :: Perguntas e Respostas-