Jump to content
Sign in to follow this  
Eroque77

Desenvolvimento - MOBILE

Recommended Posts

Bom dia

Eu gostaria de saber como posso começar a desenvolver jogos para ANDROID.

Gostaria de saber qual software que poderia usar para programar e exportar para ANDROID.

Softwares que não sejam Unity, Construct2..

Obrigado

Share this post


Link to post
Share on other sites

Basicamente você não quer desenvolver utilizando uma GameEngine/Editor, você está querendo um biblioteca de jogos para desenvolver basicamente do zero diretamente...

Para isto existe muitas, primeiro de tudo você deve escolher uma IDE para desenvolvimento, tais como exemplo: Eclipse, NetBeans, Xamarin, Android Studio, entre outros... Entre várias eu recomendo o Android Studio (vale destacar que é uma IDE muito pesada), pois ela serve também para fazer aplicativos de forma dinâmica e com design responsável, assim você não fica preso ao desenvolvimento de games em si...

Em seguida você deve escolher um framework/bíblioteca de jogos, basicamente você deverá procurar bibliotecas de programação Java, tais como exemplo: LibGDX, Lwjgl, Slick2D, JMonkeyEngine, entre outros... Dentre estes eu recomendo começar pelo LibGDX, ela não é tão poderosa(vistosa) mas é ótima para aprendizado...

Observação: Comece criando jogos 2d bem simples, o fato de você querer programar jogos sem utilizar um motor de jogos / editor aumentará muito a dificuldade o tempo de finalização do seu produto, então não queira abordar temas/programação avançada de primeira...

Alguma vídeos aulas pra iniciar:

Flappy Bird em LibGDX:

Asteroids em LibGDX:

Caso não tenha conhecimento de lógica de programação em Java + LibGDX , esta playlist pode te ensinar bastante coisa:

Você também pode tentar outras alerternativas como HTML5 + CANVAS , C++ e Lua, CoronaSDK, Cocos2D, entre outros... Todos possuem compilações para Android e Iphone e são tão poderosos quanto...

Bom, espero ter ajudado, tudo de bom...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By iamdiegoinacio
      Eu consigo acessar o meu site com iptvaiomi.com, mas quando eu coloco o www ele não entra e aparece a mesagem: Erro 503 service Temporarily Unavailable. Como resolver?
    • By brunoogm
      Boa noite pessoal, estou com uma ideia de aplicativo para construir durante a faculdade.
       
      A ideia basicamente é um assistente virtual de turismo, onde o aplicativo deverá falar os dados históricos da cidade (pontos de curiosidade
      e etc.) assim que identificar que o usuário está próximo desse ponto.
       
      Por exemplo, ao me aproximar de um lugar histórico da cidade o aplicativo começa a contar coisas relacionadas aquele lugar...
      Simplificando a ideia é isso...
       
      Eu gostaria de uma ajuda de por onde começar, quais tecnologias pesquisar, linguagens que podem vir a ajudar, talvez algum recurso de código aberto
      ou qualquer outra coisa que me ajude a dar o pontapé inicial.
       
      Qualquer ajuda é bem vinda.
       
      Agradeço a todos!
    • By vinihhylian0103
      Estou fazendo um projeto de Delphi escola e nele tenho que gravar dados no SQLITE. Estou usando o seguinte código:
       
      unit UClube; interface uses   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,   FMX.ListView.Types, FMX.ListView.Appearances, FMX.ListView.Adapters.Base,   FMX.StdCtrls, FMX.ListView, FMX.DateTimeCtrls, FMX.Edit,   FMX.Controls.Presentation, FMX.TabControl, FireDAC.Stan.Intf,   FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf,   FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys,   FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs,   FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,   FireDAC.FMXUI.Wait, System.Rtti, System.Bindings.Outputs, Fmx.Bind.Editors,   Data.Bind.EngExt, Fmx.Bind.DBEngExt, Data.DB, FireDAC.Comp.DataSet,   Data.Bind.Components, Data.Bind.DBScope, FireDAC.Comp.UI, FireDAC.Comp.Client, System.IOUtils; type   TForm1 = class(TForm)     TabControl1: TTabControl;     TabItem2: TTabItem;     tb1: TTabItem;     lvSocio: TListView;     btnSalvar: TButton;     btnCancelar: TButton;     btnEditar: TButton;     btnExcluirr: TButton;     Panel1: TPanel;     edtDataNasc: TDateEdit;     edtCod: TEdit;     edtNome: TEdit;     edtRg: TEdit;     edtCPF: TEdit;     edtEndereco: TEdit;     Label1: TLabel;     Label2: TLabel;     Label3: TLabel;     Label4: TLabel;     Label5: TLabel;     labwl: TLabel;     NOME: TLabel;     Button5: TButton;     Panel2: TPanel;     edtDataA: TDateEdit;     edtCodSocio: TEdit;     Label6: TLabel;     Label10: TLabel;     Label11: TLabel;     Label12: TLabel;     rdbSocio: TRadioButton;     edtNomeA: TEdit;     btnNovoA: TButton;     edtHoraIA: TEdit;     Label7: TLabel;     Edit7: TEdit;     edtHoraFA: TLabel;     edtDescricaoA: TEdit;     Label9: TLabel;     edtValorA: TEdit;     btnCancelarA: TButton;     btnEditarA: TButton;     btnExcluirA: TButton;     btnSalvarA: TButton;     lvAgendamento: TListView;     FDConnPrincipal: TFDConnection;     qrSocio: TFDQuery;     qrAgendamento: TFDQuery;     FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink;     FDGUIxWaitCursor1: TFDGUIxWaitCursor;     BindSourceDB1: TBindSourceDB;     BindingsList1: TBindingsList;     LinkListControlToField1: TLinkListControlToField;     LinkControlToField1: TLinkControlToField;     LinkControlToField2: TLinkControlToField;     LinkControlToField3: TLinkControlToField;     LinkControlToField4: TLinkControlToField;     LinkControlToField5: TLinkControlToField;     LinkControlToField6: TLinkControlToField;     qrSocioID: TFDAutoIncField;     qrSocioNOME: TStringField;     qrSocioRG: TStringField;     qrSocioCPF: TStringField;     qrSocioENDERECO: TStringField;     qrSocioDATA_NASC: TDateField;     qrSocioCODIGO: TIntegerField;     qrAgendamentoID: TFDAutoIncField;     qrAgendamentoNOME: TStringField;     qrAgendamentoCODIGO: TIntegerField;     qrAgendamentoDESCRICAO: TWideMemoField;     qrAgendamentoDATA: TDateField;     qrAgendamentoHORA_INICIO: TStringField;     qrAgendamentoHORARIO_FIM: TStringField;     qrAgendamentoVALOR: TLargeintField;     qrAgendamentoSOCIO: TStringField;     procedure rdbSocioChange(Sender: TObject);     procedure btnSalvarClick(Sender: TObject);     procedure Button5Click(Sender: TObject);     procedure btnCancelarClick(Sender: TObject);     procedure btnEditarClick(Sender: TObject);     procedure btnExcluirrClick(Sender: TObject);     procedure FormShow(Sender: TObject);   private     { Private declarations }   public     { Public declarations }   end; var   Form1: TForm1; implementation {$R *.fmx} procedure TForm1.btnCancelarClick(Sender: TObject); begin qrSocio.Cancel; Panel1.Enabled := False; end; procedure TForm1.btnEditarClick(Sender: TObject); begin if qrSocio.RecordCount > 0 then begin   qrSocio.Edit;   Panel1.Enabled := True;   edtNome.SetFocus; end; end; procedure TForm1.btnExcluirrClick(Sender: TObject); begin if qrSocio.RecordCount = 0 then abort; qrSocio.Delete; ShowMessage('Dados excluídos!'); end; procedure TForm1.btnSalvarClick(Sender: TObject); begin if edtNome.Text = '' then begin ShowMessage('O nome não pode estar vázio!'); edtNome.SetFocus; abort; end; qrSocio.Post; qrSocio.Refresh; Panel1.Enabled := False; end; procedure TForm1.Button5Click(Sender: TObject); begin Panel1.Enabled := True; edtNome.SetFocus; qrSocio.Append; end; procedure TForm1.FormShow(Sender: TObject);   begin   FDConnPrincipal.Connected := True;   try  {$IF DEFINED (IOS) or DEFINED (ANDROID)}   FDConnPrincipal.Params.Values['DATABASE'] := TPath.Combine(TPath.GetDocumentsPath, 'BD_CLUBE.s3db');   {$ENDIF}   except on E: Exception do   ShowMessage(e.Message);   end;   qrSocio.Open(); end; procedure TForm1.rdbSocioChange(Sender: TObject); begin  if rdbSocio.IsChecked = true then  begin  edtCodSocio.Enabled := true;  edtCodSocio.SetFocus;  end; end; end.
      E recebo o seguinte erro: 
    • By Zambi
      Tenho uma aplicação web em php e quero fazer um aplicativo mobile do meu site responsivo. Como fazer e publica-lo na playstore?
    • By CharlieAldrin
      Estou tentando fazer um chat, e nele é necessário saber se um usuário continua na página do chat, para caso ele saia informar o outro usuário.
      Encontrei em alguns lugares como solução fazer um ajax conferindo se o usuário está "dando sinal de vida" de 10 em 10 segundos (por exemplo), porém não entendi como fazer isso e nem como colocar no código. Alguém pode me ajudar por favor? 
      Ou me informar se existe alguma forma melhor de conferir isso?
       
      Valeu desde já :) 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.