2d图形编程
‘壹’ 制作一个2D动作游戏需要什么编程知识和软件工具
游戏的开发不是由一个人完成的,需要各种不同工种的人合作来完成,尤其是单机游戏,其中包括:1,引擎程序员2,工具程序员3,概念原画4,3D建模美术5,动画美术6,特效师7,关卡设计师8,执行策划9,音效设计师这些还只是在游戏开发中的分工,在游戏发行的过程中又会有的职责,包括一些版权/法律相关的顾问之类的。对于国内现在比较普遍的网络游戏,分工又和一般单机游戏的分工不一样,大致可以分为:1,主策划2,执行策划3,主程序4,客户端程序5,服务器程序6,主美术7,2D美术8,3D美术在开发过程中一般用到的软件有:1,3DSMAX或者MAYA用来做3D建模2,VS.NET用来做程序3,Office系列的Excel,Visio,Word,PPT等是策划用来写文档的4,SVN,CVS,VSS等用来做版本管理5,Project用来做项目管理如果是引擎程序员的话,往往会涉及到使用一些引擎,一般有自己制作的引擎,或者是第三方购买的一些引擎。主流的图形引擎如下:1,Unreal系列,现在市面上的《天堂2》,《AION》都是基于Unreal的图形引擎制作的2,CryEngine,目前市面上最强的图形引擎,也是最贵的引擎,是《孤岛惊魂》所使用的引擎,目前国内只有搜狐畅游一家购买了这个引擎。3,OGRE/Torque/Nebula2,这些都属于三线引擎了,基本属于免费的,或者收费非常低的引擎。大部分国内的网游公司一般都会选择自己制作引擎,因为每个游戏的一些特点不一样,如果受引擎的限制太多,会影响到游戏设计的发挥。希望说的对你有所帮助:)
‘贰’ 图形编程是什么
图形编程的概念很广,有UI编程,还有游戏编程,游戏编程又分为2D游戏、3D游戏等。有人觉得游戏不是一门艺术,因为受众也是参与者;有人觉得游戏是一门艺术,尤其是一门交互艺术。创造游戏的人和游戏的受众,都在虚拟世界中沉迷。
UI编程也如是,早期PC机上,人们在厌倦了XP风格的界面后,争先恐后的用GDI+技术产出了各种各样的UI风格。这种风格的UI界面不但美观而且安全。
其安全性在于,使用GDI+技术绘制的UI控件,不在Windows系统本身控制范围内,所以任何检测工具都无法检测到其存在,这使得UI入侵的难度变高。
图形与数据:
图形界面编程是在与机器做抗争,而数据编程是在与人做抗争。数据,是人产生的,所以数据编程是对人的编程。人产生的数据千变万化,一套代码无法适应持续波动的数据,但是经过一系列算法,过滤,检测后,最终得出的结果却是十分客观的。
这是一个奇妙的事情,甚至可以上升到哲学层面。对机器编程产生主观结果,对人编程产生客观结果。如果按照这个理论,那么上面那位说自己喜欢“算出东西”的同学,则是一个标准的理科生思维,而喜欢图形编程的同学,则是人文和技术兼备的创作家。
‘叁’ 如何用C++编写一个基本的2D图形游戏,如小时候玩的坦克大战
本人的程序之路是:
ASP---HTML----AJAX(之后发现这个行业工资不高,转向下面)
C/C++----MFC---STL----WINDOWS程序设计----ATL(只学一种不行,要精通客户端web手机编程才行,因此往下学)
java----FLEX----android----(进入编程高级阶段)在学---设计模式---架构模式
由于从事了网络游戏开发,包括手机手机网页游戏。。之后对图形图像这一块有深刻的研究
所以研究了 数字图像处理 GDI ---GDI+-----d3d/DX等
现在在一家网游公司工作。。希望能够给你提供一个方向。
‘肆’ 学手机游戏开发需要学什么
1、首先要有Java基础
安卓是基于Java的,所以想要从事android开发相关工作一定要先有一定的Java基础知识,这里的Java基础主要包括两方面:JavaSE基础和Java Web开发基础。
2、JavaSE基础
JavaSE是整个Java的核心,其他所有的Java相关知识点,都是在JavaSE的基础上进行的扩充而已。所以对JavaSE的学习,需要牢固掌握Java的基本语法、理解面向对象的一些概念、Java异常、集合框架、Java I/O,反射、泛型和多线程以及网络编程等知识。
3、Java Web开发
Java Web的主要内容包括:
Java解析XML文件DOM4J、MySql数据库的应用、多表连接查询的应用、Jsp和Servlet应用、Http协议解析、Tomcat服务器的应用配置、WebService服务配置应用。
4、Android基础
有了Java基础之后还要学习一些android开发的基础知识,包括学Android的基本控件开发和使用、高级控件的使用,掌握布局和自定义控件、Android的数据存储方法,Android的图形编程技术,2D图形的编程,图像的旋转、动画框架等。
5、android游戏编程知识
android开发也分为很多方面,所以从事android游戏开发就要学习一些安卓游戏开发方面的专业知识,包括Android游戏开发概述,SurfaceView的使用方法,物理小球技术碰撞检测技术,游戏引擎基础概念,Cocoa2d-Android引擎使用方法,OpenGL ES使用方法,图片、文字和背景音乐等资源的使用方法。
拓展资料
关于大型游戏的开发:
大型游戏(cs已经有些过时了)魔兽世界,星际等等还有国内的剑侠情缘,这类游戏都是大型游戏。开发它们肯定不是一个人能完成的,一般的大型游戏开发绝不是用某种语言这么单纯的问题。
一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
开发游戏我们经常听到的是游戏引擎,一个游戏引擎决定一个游戏最基本的东西操作和效果,那么一般的游戏开发架构从底到顶一般是Direct X(Windows平台)——游戏引擎——游戏。Direct X可是大名鼎鼎相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X接口为了追求高性能功能非常简单基本的绘图功能,不利于游戏的高效开发。
此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。
‘伍’ 用Java编写2D或3D图形,要求为: Area和GeneralPath至少一个;其余的几何对象不少于3个;
这个太笼统、太复杂,学校的作业?给出几个关键,然后自己动手吧。
1、美观:这个要看自己的审美。从程序角度就是“消除锯齿”
2、渐变:可以采用“GradientPaint”
3、变换:最简单的是Graphics2D.scale
4、文本:Graphics2D.drawString
5、图像:Graphics2D.drawImage
6、颜色:Graphics2D.setColor
7、Area:这个是用于图形裁剪的,最常用的add/subtract就是在一个图形是那个加减另一个。
8、图形:java.awt.Shape的子类都是图形,比如new Rectangle2D.Float可以建立矩形。
9、动画:使用Timer来控制。
‘陆’ UG编程怎么进行2D编程
具体操作步骤如下:
1、首先,进入UG2D处理模块并使用2D轮廓处理功能,如下图所示,然后进入下一步。
‘柒’ 安卓开发需要学习什么
学习分三个阶段:
1,Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现
2,Android进阶初级:组件Widget/ 菜单Menu/ 布局Layout 详解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL数据库原理,。
SQLite /SharedPreferences/File详解 多媒体Audio/Video/Camera 详解
3,Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理。
实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势 应用实现
(7)2d图形编程扩展阅读:
知识体系
1、Unix/Linux平台技术:基本命令,Linux下的开发环境
2、企业级数据库技术:SQL语言、SQL语句调优、Oracle数据库技术
3、Java 语言核心技术:Java语言基础、Java面向对象编程、JDK核心API、Java集合框架、Java网络编 程、JavaI/O编程、Java多线程编程、Java异常机制、Java安全、JDBC、XML
4、软件工程和设计模式:软件工程概述、配置管理及SVN、UML、基本设计模式
5、Android应用开发基础:Android开发平台、Eclipse+ADT开发环境、AVD及传感模拟器调试、Android核心组件、Android常用组件、Android高级组件、文件及网络访问、SQLite数据库编程、后台服务编程
6、互联网核心技术: HTML、CSS、JavaScript、JQuery、Ajax应用
7、Android高级应用开发:音频视频摄像头、互联网应用、GPS和位置服务、Google Map、2D3D绘制、传感器开发、游戏开发、电话及SMS服务、网络BluetoothWi-Fi等。
8、Android系统级开发:移植、驱动、NDK(C方向)。
9、JavaEE核心技术:Servlet核心技术、JSP核心技术、Struts、Spring、Hibernate框架。
‘捌’ 图形化编程是什么课程
图形化编程是代码编程课程。图形化编程的学习旨在通过课程训练,培养和提升学生的创新思维,计算思维和编程思维,帮助他们更好更正确的掌握科学世界的底层逻辑,从而更好的应对解决未来人生的各种问题。相比传统的代码编程,图形化编程更加简单、易读。
图形编程不仅仅是一项技术,更是一门艺术。图形编程的概念很广,有UI编程,还有游戏编程,游戏编程又分为2D游戏、3D游戏等。
有人觉得游戏不是一门艺术,因为受众也是参与者;有人觉得游戏是一门艺术,尤其是一门交互艺术。使用图形化编程可以进行良好的页面布局,在现有的很多Web应用中,其应用程序的页面布局经常需要使用图像,这样能够让页面整体效果更加友好。
‘玖’ java编程:如果不用applet,怎么绘制2D或3D图像
明确一点:绘制2D或3D图像 跟applet没任何关系
可以在任何组件绘制 只要得到这个组件的 抽象画笔Graphics就可
比如你想在一个创建一个有图片背景的面板 创建一个新类 继承JPanel 重写paint();方法即可
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
//功能:辅助类 返回一个规定大小 且有背景图的面板
public class PicturePanel extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1L;
String picturename=null;//图片路径
int panelwidth=0, panelheight=0;//面板大小
//构造方法 图片路径 面板的长和宽
public PicturePanel(String picturename,int panelwidth,int panelheight){
this.picturename=picturename;
this.panelwidth=panelwidth;
this.panelheight=panelheight;
}
//关键--重写paint()
public void paintComponent(Graphics g){
super.paintComponent(g);
this.setSize(panelwidth, panelheight);
ImageIcon im=new ImageIcon(picturename);
g.drawImage(im.getImage(), 0, 0,panelwidth,panelheight,null);
}
}