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

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[Resolvido]Erro em surfaces

3 participantes

Ir para baixo

[Resolvido]Erro em surfaces Empty [Resolvido]Erro em surfaces

Mensagem por Rhino Ter 12 Out 2010, 22:31

Olá!
Gostaria de saber como eu poderia ajustar o meu obj_surface para acabar com este erro: "Trying to use non-existing surface."
Sei que ele é bem comum, pois já vi várias pessoas sofrendo com ele e não obtendo muitos resultados. No caso do meu jogo, eu gostaria de saber como eu poderia fazer para que, ao dar load game na tela inicial, o player, caso tiver salvado em uma room cujo obj_surface estiver operando, não sofra mais com ele.
Andei lendo que precisaria chamar o objeto novamente ou coisa do tipo. A informação procede?


Última edição por Rhino em Ter 19 Out 2010, 20:52, editado 1 vez(es)
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Convidad Ter 12 Out 2010, 22:55

Você pode tentar checar se a surface existe com a função surface_exists(id). Se ela não existir é só recriá-la, porém, o conteúdo dela não será o mesmo afinal, você fez o load. Contanto que você não necessite arbitrariamente do conteúdo e sim, apenas as vantagens de se usar surface, vai funcionar normalmente!

Mas se porventura vier àlgum erro, esse tópico aqui me ajudou bastante:
http://www.gamemakerbrasil.com/perguntas-respostas-f8/erro-em-surface-de-video-t11112.htm

Boa sorte!
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Rhino Ter 12 Out 2010, 23:08

E aonde eu colocaria isso? No objeto que dá load no jogo?
Código:
if surface_exists(global.surface)
{
//load
}
else
{
instance_create(x,y,obj_surface)
//load
}

Seria isso?
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Convidad Ter 12 Out 2010, 23:34

Você pode fazer o seguinte: no evento de criação da room confira lá se a surface existe, independentemente do fato de que a partida tenha sido restaurada pelo load ou não. Se a surface não existir, então é só criá-la. O envento Create da room acontece antes dos eventos Create dos objetos, eliminando alguns erros que possam ocorrer:

Código:
if not surface_exists(global.surface) then global.surface := surface_create(w,h);

Mas isso pode depender muito de como seu jogo está programado ou de como você vem fazendo o load! Você também poderia checar se a variável que contém o id da surface existe, por exemplo:

Código:
if not variable_global_exists('surface') then global.surface := surface_create(w,h);

Em qualquer hipótese, pra eliminar definitivamente qualquer possibilidade de erros, você pode criar um objeto que monitora essa surface o tempo todo. Crie-o na primeira room do jogo e marque-o como persistente para que ele exista nas outras rooms. No step dele, você pode colocar quaisquer dos códigos acima (de preferência, o primeiro). Você só terá que ter cuidado para que não crie duas surfaces, caso esse objeto seja criado antes da surface!

Como eu disse, vai depender de como seu jogo está programado e de como você faz o load, então, o que eu escrevi são apenas ideias... Boa sorte!
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Rhino Qua 13 Out 2010, 13:44

Tentei fazer isso no Creation Code da Room que tem o obj_surface e não consegui.
Outra coisa que também tentei foi no obj_surface, no evento de Draw, colocar a condição "if surface_exists", mas não adiantou. :/
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por diego333 Qua 13 Out 2010, 15:31

vish , tente isso , assim que vc criar a surface ja checa o retorno
Código:

surf =surface_create(640,480):
if (surf < 0)
{
show_message("vc nao tem memória o suficiente");
}
avatar
diego333

Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Rhino Qua 13 Out 2010, 21:07

Não adiantou, diego333!
Por enquanto eu estou usando o sistema do GM mesmo de salvar (F5 e F6), porém mais pra frente vou modificar. Mesmo assim, o erro persiste.
Ajudem, por favor! Sad
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Convidad Qua 13 Out 2010, 23:02

Na hora em que você faz o load, o Game Maker tá perdendo a referência dessa surface, Quando você faz o load, a variável global.surface ainda terá o id da surface, porém o Game Maker não porá acessá-la na memória. Quem sabe pode ser isso...

Então faça o seguinte, EXCLUA primeiro a surface ANTES de recriá-la, tente isso:

Código:
surface_free(global.surface);
global.surface := surface_create(tamanho_w,tamanho_h);

Ou então, tenta uma forma mais "radical":

Código:
for (s := 0; s <= 1000; s += 1) begin if surface_exists(s) then surface_free(s); end;
global.surface := surface_create(tamanho_w,tamanho_h);
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por diego333 Qua 13 Out 2010, 23:26

no loadgame do game maker ele carrega surfraces da memoria vc vai ter q fazer assim
Código:

load_game(...) //  carrega o jogo e ja cria a surface denovo , o save e load game do game maker n salva surfaces , particulas , etc
if not surface_exists(global.surface)
{
global.surface = surface_create(tamanho_w,tamanho_h);
}
avatar
diego333

Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Denis Lemos Qui 14 Out 2010, 14:54

Essas surfaces são bem danadas [Resolvido]Erro em surfaces 71423 [Resolvido]Erro em surfaces 71423 [Resolvido]Erro em surfaces 71423

Veja o que o help diz sobre o que não se pode fazer com as surfaces:
Alguns cuidados devem ser tomados ao usar essas funções. Em particular, observar o seguinte:

Você nunca deve alterar o destino de desenho enquanto você está realmente de desenho na tela, ou seja, nunca usá-lo na elaboração de eventos. Isso vai causar problemas sérios com a projeção e visor.
Superfícies não funcionam corretamente com o modo 3D. Você pode usá-los, embora não no modo 3D (por d3d_end chamando () antes de utilizá-los), mas quando você começar o modo 3D novamente as superfícies serão destruídos.
Por razões de velocidade, a superfície é mantida em videomemory só. Como resultado, você pode perder a superfície quando, por exemplo as mudanças de resolução de tela ou protetor de tela aparece.
Superfícies não serão salvos quando salvar o jogo.
Note bem na última linha !
As surfaces não podem ser salvas, então quando você der o load_game acho que ela não existirá mais !

Bom, eu não testei, mas na lógica acho que pode funcionar, eu faria assim para salvar o jogo e não perder o conteúdo da surface !

No Evento que "SALVA" o jogo:
surface_save(surf,fname) // Salva a imagem da surface em alguma pasta, ela é salva no formato PNG
game_save(filename) // E só depois salvar o jogo

Agora no Evento de "LOAD":

game_load(filename) // Carrega o jogo primeiramente
var back; // Declara uma variável que puxará o recurso da surface para o jogo
back=background_add(fname,removeback,smooth) // Carrega a surface salva como uma background
if not surface_exists(surf) // Se não existir a surface
{
surf=surface_create( background_get_width(back),background_get_height(back) ) // Cria a surface com as dimensões da back, que é a surface salva anteriormante !
}
surface_set_target(surf) // Inicia a surface
draw_background(back,0,0) // Desenha a back da surface salva
surface_reset_target() // Desliga a surface

background_delete(back) // Deleta a back para liberar memória, pois ela já está desenhada na surface "(surf)"
Obs: Não tenho certeza, mas talvez seja necessário declarar também o nome da variável "surf" junto onde foi declarada a variável "back", depois que der load, mas acho que é somente a surface que some a variável fica ainda no jogo, mas todo caso se der erro, tente colocar assim no load onde declara a variável "back":
var back, surf;

Háh, também acho que não seja necessário verificar se a surface existe quando der o load, acho que basta somente criar uma nova com o mesmo ID, pois se ela existir ela só vai ser subistituída por esse nova, pelo menos é o que eu acho: se o código de load de cima não funcionar tente somente assim:

game_load(filename) // Carrega o jogo primeiramente
var back; // Declara uma variável que puxará o recurso da surface para o jogo
back=background_add(fname,removeback,smooth) // Carrega a surface salva como uma background
surf=surface_create( background_get_width(back),background_get_height(back) ) // Cria a surface com as dimensões da back, que é a surface salva anteriormante !
surface_set_target(surf) // Inicia a surface
draw_background(back,0,0) // Desenha a back da surface salva
surface_reset_target() // Desliga a surface

background_delete(back) // Deleta a back para liberar memória, pois ela já está desenhada na surface "(surf)"
Lembrando de declarar a variável "surf" junto com a back, caso seja necessário !

Fiz aqui de cabeça, mas acho que vai funcionar, agora é só você preencher alguns argumentos que eu coloquei só os nomes deles, pois é a sua escolha !

Té + flw
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Rhino Qui 14 Out 2010, 15:16

Então Denis, eu segui o seu raciocínio e o do diego333 e realmente deu certo.
Mas no caso, simplifiquei o código. Porém, como eu disse anteriormente, eu iria mudar o sistema de salvar e dar load (pra não ficar aquela coisa de F5 e F6 que vem no próprio GM). Mas agora, meio que parou de funcionar!

Por exemplo: Se estou fase 3 (que tem surface), salvo e vou para o menu dar load para testar, aparece erro de "Trying to use a non-existing surface."!
Gostaria de saber como que eu poderia ajustar o código, pois já tentei colocar a parte "instance_create(x,y,obj_surface)" no evento Room Start do obj_controle (obj_surface e obj_controle não são os mesmos) para evitar o erro e não deu certo! Estou usando os seguintes códigos:

Evento Create do obj_controle:

Código:
if !surface_exists(global.surface)
{
instance_create(x,y,obj_surface)
}

Botão de Load Game no Menu Principal:
Código:
load=get_open_filename("*.sav","")
game_load(load)

Botão de Save Game no Menu do Player:
Código:
save=get_save_filename("*.sav","")+".sav"
game_save(save)

Não sei se deu pra entender muito bem, mas qualquer coisa tento explicar novamente. Razz


EDIT:

Vou postar os códigos que eu usava anteriormente para salvar/load:

Botão F5 do obj_player:
Código:
game_save("jogo.sav")

Botão F6 do obj_player:
Código:
if !surface_exists(global.surface)
{
instance_create(x,y,obj_surface)
game_load("jogo.sav")
}

Desse jeito funcionava!
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por diego333 Qui 14 Out 2010, 17:04

no botao de load coloca
Código:

load=get_open_filename("*.sav","")
game_load(load)
    if !surface_exists(global.surface)
    {
    global.surface = surface_create(640,480);
    }
avatar
diego333

Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Rhino Qui 14 Out 2010, 17:16

Eu já tinha tentado dessa maneira. O problema é que deu esse erro:

"Unknown variable surface."

Outra coisa, se eu clicar em "Cancelar" depois de apertar para dar load, o jogo dá o mesmo erro! Sad
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Denis Lemos Qui 14 Out 2010, 18:02

Então não crie a surface quando der o Load, já que você disse que ela fica lá em outra room, então a crie somente quando iniciar aquela room, fazendo o esquema de ADD a back da surface salva na hora do save_game e gravar na surface quando ela for criada, pois não é necessário estar gastando memória se ainda não vai precisar dessa surface !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por diego333 Qui 14 Out 2010, 18:24

Código:

load=get_open_filename("*.sav","")
game_load(load)
    if variable_global_exists('surface) && !surface_exists(global.surface)
    {
    global.surface = surface_create(640,480);
    }
avatar
diego333

Data de inscrição : 06/10/2010
Reputação : 3
Número de Mensagens : 84
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Denis Lemos Qui 14 Out 2010, 21:54

Cara aconteceu um erro parecido comigo no programa que estou desenvolvendo, usando a função get_open_filename, pois se fechar sem selecionar nada vai dar erro dizendo que não existe mesmo a surface, e acho que o código que o diego333 passou acima, também vai dar o mesmo erro novamente !

Para resolver é bem simples, temos que saber se a pessoa selecionou ou não algum arquivo, então vou fazer usando o código acima do diego333, aí depois você tenta adapitar ao seu código:
Código:


load=get_open_filename("*.sav","")
if load!='' { game_load(load) } else break;

    if variable_global_exists('surface) && !surface_exists(global.surface)
    {
    global.surface = surface_create(640,480);
    }
É um bom exemplo para aprender o uso do '"break" !

Explicação:

É criada avariável "load" para abrir a janela e procurar o endereço do arquivo certo ? Sim, daí o que fiz depois foi só ver se ela não está vindo vazia, e caso ela tenha vindo vazia"(fechado a janela ou cancelado)" vai breka a função e não vai continuar o load game, não dando mais o erro !

Caso você não consiga, me passe o código que você está usando para eu ver se corrijo, agora estou sem tempo !

Fui e até amanhã !!!
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Rhino Qui 14 Out 2010, 22:57

Obrigado Denis, consegui arrumar agora o código quando apertar o botão de cancelar! Very Happy
Esse "break" é usado quando queremos cancelar uma ação ou fazer com que não dê em nada?

Sobre a surface: Eu tentei jogar este código no obj_controle novamente e não funcionou.

Código:
if variable_global_exists(global.surface) and !surface_exists(global.surface)
{
instance_create(x,y,obj_surface)
}

Eu não entendo como que anteriormente funcionava e agora não funciona mais. Antes mesmo se eu estivesse em outra room e clica-se no F6, não dava esse problema, mas agora que troquei o sistema de save/load, começou a não dar mais! ;(

PS: uso instance_create pois no obj_surface há códigos que ligam-se com os objetos de luz.
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Denis Lemos Sex 15 Out 2010, 14:00

O break, ele interrompe a função e não executa os códigos que vem a seguir !

Vou fazer aquele primeiro código que passei, com esse último erro corrigido, pois você disse que funcionou, e quando você mudou o esquema de load deu o problema !


var load;
load=get_open_filename("*.sav","") // Pega o endereço
if load!='' // Se ele "NÃO" vier vazio !
{
game_load(load) // Carrega o jogo primeiramente
}
else { break; } //Senão para por aqui
var back; // Declara uma variável que puxará o recurso da surface para o jogo
back=background_add(fname,removeback,smooth) // Carrega a surface salva como uma background
surf=surface_create( background_get_width(back),background_get_height(back) ) // Cria a surface com as dimensões da back, que é a surface salva anteriormante !
surface_set_target(surf) // Inicia a surface
draw_background(back,0,0) // Desenha a back da surface salva
surface_reset_target() // Desliga a surface

background_delete(back) // Deleta a back para liberar memória, pois ela já está desenhada na surface "(surf)"
Assim só vai seguir a função se a pessoa selecionar um caminho, caso contrário ela para !

Se não funcionar, moste o script que você está usando para o load !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Rhino Ter 19 Out 2010, 20:51

Consegui fazer funcionar Denis (quer dizer, até agora não deu nenhum erro Very Happy)! Mas fiz de um jeito mais fácil e simples:

Na tela inicial, coloquei o obj_surface e marquei "persistent" (programei-o para apenas criar a surface se estiver na room desejada), assim, quando der load, automaticamente ele detecta a room e não preciso criar novamente a surface!
Rhino
Rhino

Games Ranking : Nota C

Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios : [Resolvido]Erro em surfaces Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Erro em surfaces Empty Re: [Resolvido]Erro em surfaces

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos