hge注意事项

时间:2019-05-14 16:44:43下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《hge注意事项》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《hge注意事项》。

第一篇:hge注意事项

注意事项

1.用VS编译后的hge程序不能在其他机器上运行: 首先先确定hge.dll和bass.dll还有其他相关文件是否在hge程序的目录 下或者其找得到的地方.然后请确认项目属性中公共语言运行库是否为关闭 具体做法项目属性(project properties)->配置属性(configuration p roperties)->公共语言运行库(common language runtime support)将该项关闭。

其次请确认Release的运行时库为MT模式 具体做法在之前提到配置属性中->C/C++->代码生成(code genera tion)->运行时哭(runtime library)中修改。

2.使用hgeSprite类中的GetBoundingBox()时,注意其接受一个hgeRect 指针参数,将得到的sprite的boundingbox存储在该指针所指的对象中 因此,改指针指向的对象必须要先初始化后才能使用。例如: 3.m_boundingbox = new hgeRect();4.m_sprite = GetBoundingBox(m_posX, m_posY, m_boundingBox);5.hgeSprite中的SetHotSpot的功用是设定该sprite的热点(锚点)。其接 受的参数a,b代表改热点据sprite坐上角的相对横,纵距离。设置热点 是初始化一个sprite过程中的一部分。之后再对该sprite进行处理时其 坐标就是其热点坐标。例如: 6.hgeSprite* spr = new hgeSprite(0, 0, 0, 20, 20)//20x20 7.spr.SetHotSpot(10, 10);//Hot spot(10, 10)in center 8.当要将FrameFunc和RenderFunc封装到类里面时,注意用System_SetState 是无法将类成员函数直接设为hge的FrameFunc和RenderFunc 的。因为类成员函数属于一个具体的对象,不能直接从类调用他。例如: 9.class GameState 10.{ 11.public: 12.bool FrameFunc();13.bool RenderFunc();14.} 15.hge->System_SetState(HGE_FRAMEFUNC, 16.GameState::FrameFunc);//ERROR 17.hge->System_SetState(HGE_RENDERFUNC, 18.GameState::RenderFunc);//ERROR 代替的方法是将该类建立为Singleton,为其提供Static的FrameFunc 和RenderFunc来调用成员函数进行真正的工作。例如: class GameState { public: static instance;static bool FrameFunc(){ return instance.doUpdate();} static bool RenderFunc(){ return instance.doRender();} private: bool doUpdate();bool doRender();} 19.使用hge中Input系列函数时,区分GetKeyState和KeyDown的区别并 选择你需要的使用。KeyDown 用于侦测按键被按下的事件,适合于 监测单次按下键做出反应的情况。GetKeyState则是侦测某个键是否 被按下的状态。用于按下并保持按下按键进行操作情况比较合适。

20.我们一般用hge指针来操作hge。但是hge指针不需要是全局变量。由 于hge是Singleton,每次采用hgeCreate返回的指针都是指向同一个h ge类。所以任何时候你需要用到hge中的功能就能用hgeCreate 来得 到一个指向hge的指针。要记得使用release来释放hge。

21.尽量使用hgeResourceManager类。因为他它真的很好用。如果没有使用他,那么注意在初始化texture/font时一定要确保hge 已经初始化过(System_Initiate已成功)。否则会产生运行时错误。

22.如果你将hgeSprite,hgeFont这些类封装在你自定义的类中,记得不 要把delete放在析构函数中。如果这样将导致游戏退出时出错。将需要执行的delete操作提取出来放入一个函数中(如命名为Clear)在合适的地方手动调用。例如: 23.if(hge->System_Initiate())24.{ 25.RenderUnit::instance();//singleton 26.hge->System_Start();27.RenderUnit::instance().clearup();//clearup includes deletes 28.} 29.HGE的Color格式为0xAARGGBB 其中Agreen B-blue 但事实上传统C++颜色值表示为 0xBBGGRR 记得不要弄错。

30.HGE和Box2D混用时很容易采用一比一的单位,即1个像素代表1个 Box2D中的一个单位。但这样是严重错误的。Box2D中1代表的单位 为1米。所以HGE中渲染一个30像素的正方形在Box2D中意味着一栋 楼房。Box2D在其文档中明确指出,Box2D只能模拟0,1至10米的物 体,对于超出范围以外的物体的物理模拟将会很不正常,一般表现 为速度慢,惯性大且难以加速到很大的速度。所以一定不能在HGE和Box2D直接采用一比一单位比。

31.Box2D中如果为了给物体一个线性速度,比较好的方法是使用SetLi nearVelocity()而不是ApplyImpulse()来设置冲量。

32.HGE和Box2D中获得的radius是相同的。所以下面语句能正确的将Bo x2D模拟的情况反应到屏幕上。

33.objspr->RenderEx(dynbody->GetPosition().x, 34.dynbody->GetPosition().y, dynbody->GetAngle())但是务必注意10条中的内容,一比一的单位制必然导致灾难性结果。

35.HGE中sprite的淡入淡出效果可以通过SetColor不断更改sprite的颜色 值来做到。对于一个带有自定义的texture的sprite,将其颜色设置为0xFFFFFFF 在一般的BlendMode设定下为最标准的值。如果更改为0x88FFFFFF 则正好是半透明状态。以此类推0x00FFFFFF时则为完全透明。下面给出一个简单的渐变色的类的例子。一个简单的办法是设置一个int的factor,将其乘以0x1000000对颜色进行加减来控制其alpha值。但要注意的是HGE中颜色值的类型是 typedef unsigned long DWORD 是非符号数。

如果用下面这种方式进行操作必然导致错误。colorword-= factor*0x1000000;if(colorword < 0x00FFFFFF){ colorword = 0x00FFFFFF;return false;//fade finished } return true;//fading

//由于colorword是非符号数,if判断支内语句永远无法执行可以改为下面的方法:

DWORD delta = factor*0x1000000;if(colorword < delta){ colorword = 0x00FFFFFF;return false;} else { colorword-= delta;return true;} 36.Box2D中一个Body的默认弹性系数是0,即不反弹。这个设定使得 在初期进行渲染测试时容易产生误解。如果要设置一个Body使其能够反弹,首先检查其是否创建了Shape 然后看是否执行了SetMasses类语句,之后设置Restitution设置弹性 如果还是不能反弹则需检查该Body是否冻结(用IsFrozen()检查)37.第10条中提到了不能在HGE和Box2D直接直接用一比一的单位制。比较好的方法是预先建立你想要大小的Sprite,将Box2D模拟的结 果乘以系数加上偏移来渲染到屏幕上。例如

38.//建立一个Box2D中的物件,尺寸为5m x 5m正方形 39.b2BodyDef dynBodyDef;40.b2PolygonDef dynPolyDef;41.dynPolyDef.SetAsBox(2.5f, 2.5f);42.dynbody = world->CreateBody(&dynBodyDef);43.dynbody->CreateShape(&dynPolyDef);44.dynbody->SetMassFromShapes();45.46.//根据上面Box3D中物件的尺寸创建Sprite,这里是1:10 47.dynspr = new hgeSprite(dyntex, 0, 0, 50.0f, 50.0f);48.dynspr->SetHotSpot(25.0f, 25.0f);49.50.//渲染,计算坐标要计入全局的偏移量和缩放量

51.dynspr->RenderEx(dynbody->GetPosition().x * GLOBSCALE 52.+ GLOBSHIFT, dynbody->GetPosition().y * GLOBSCALE 53.+ GLOBSHIFT, dynbody->GetAngle());容易看出来对Body/Shape建立相应的Sprite时要用到Shape的尺寸所以最好在Body的ShapeDef可见的地方就建立Sprite。

54.对于包装FrameFunc的类对象,慎用Singleton模式。Singleton只要实例化后很难销毁重建。对于需要完成游戏重置的 情况会早成很大的麻烦。含有RenderFunc的对象偶尔可以考虑用Singleton模式。总的来说,程序进程中需要重置的对象最好都不要用Singleton。EDIT: 后来发现对于这些对象还是尽量使用Singleton比较好 这样有一个比较可靠的可以全局取得的实例在 可以避免很多类似两个头文件需要互相包含的问题 对于重置问题 建议设置两个函数分别负责初始化和数据清除,在重置时可以先调用清 除函数,再进行初始化即可。注意要照顾到所有数据成员。

55.Box2D中实现“子弹时间”效果,只要动态修改world的timestep大小 即可。而且效果相当完美。

56.HGE中的卷轴问题,可以用Gfx_SetTransform解决。但是这个函数 貌似有点问题。

57.void Gfx_SetTransform(58.float x = 0, 59.float y = 0, 60.float dx = 0, 61.float dy = 0, 62.float rot = 0, 63.float hscale = 0, 64.float vscale = 0 65.);虽然每个都有默认参数但是如果根据源码中,如果忽略设置vscale 那么之前的参数都会被忽略。这应该是个bug。所以如果要使用SetTransform必须将提供所有参数。hge->Gfx_SetTransform(0,0, 10.0f, 10.0f, 0, 1.0f, 1.0f);66.Box2D中隐藏的函数 有一些简单的计算函数在Box2D API文档中貌似是找不到的 比如b2vec2这个向量类的点乘和差乘操作,在b2Vec2类中没有相关描述 实际上在b2math.h中有定义一系列的相关函数,比如b2dot就是对两个向 量进行点乘。当你发现一些很常用的操作没有相关函数时不妨自己打开相应的源代码翻看一下。

第二篇:注意事项

注意事项

一.

二.

三.

四. 加钟表和做挡电表箱 都需厚板 钟表加25元 挡电表箱加20元 每天看评价管理 对评价进行解释 每天把已发货的宝贝点发货,并且发短信给客户提醒客户宝贝以发出 对有特殊情况的单子须进行备注(如改地址,加钟表,做挡电表箱,发物流等)

五.

六.

七.

八. 一定要注意不是当天拍的但已付款的单子与价格,先记下来 以防漏单。要发物流的单子,须在白单上面注明详细的,收件人姓名,电话,地址。客户提供图片 须在原尺寸的价格基础上加百分之二十的加工设计费。发给厂里的单子格式:

三联画:

如要三块50*70*3薄板 7A-121ABC

如要其中的两块AB:50*70*3 薄板 7A-121只要AB

两联与四联 同上

单副系类:50*70薄板8CT-027-026

只需把型号标注好就行 不用写数量 不用加ABC

九、白单的格式:

三联画:

如要三块50*70*3薄板 7A-121ABC

如要其中的两块AB:50*70*2 薄板 7A-121只要AB

注意数量的填写 与发给厂里的区别

单副系类:50*70*2 薄板8CT-027-026

空杯的学习无怨的工作 感恩的处事 吃亏为人 求事不求利

第三篇:注意事项

1、请贵单位在预约的时间内来房产交易办证大厅,我们会安排房产测量人员前去测量贵单位的房产,测量后,请随同测量人员一同返回房产交易大厅,办理相关手续;

2、(1)建设工程规划许可证(8)机构代码证复印件

(2)土地使用证(9)股东会决议(仅限公司)

(3)计经委立项批复(10)公司章程(仅限公司)

(4)归档证明(11)营业执照复印件(仅限公司)

(5)竣工验收报告书(12)单位委托书

(6)房产平面图(13)委托人身份证明

(7)法人代表身份证复印件

3、预约测量时间如遇下雨等天气原因,测量时间顺延;

4、如有任何问题,请拨打电话0511-5172329,我们会为您做详细的解答。

第四篇:注意事项

注意事项: 1.专业技术岗位等级和工勤技能岗位等级大家一定要填写准确,对应自己聘用的等级填写。例如:专技十级;技术工四级。2.本人工作总结本人自评要写自评的结果(分别是优秀;合格;基本合格;不合格)结尾处(签名)必须将表打印出来后再手写签名。日期是2017年7月10日 3.个人复制空表去填写,电子档自行保存,暑假之后回园上班第一天交纸质版(各班教师交教务室,保育后勤交给张副,行政人员交各主管领导)

4.临聘人员同样上交(岗位等级不用填写)。

2017年7月5日

第五篇:注意事项

注意事项

如下建议:垂直运输:塔吊+汽车吊,钢结构加工期:20天;每层安装期:15天*4=60天。钢结构内容:钢柱、钢梁、钢梁上栓钉、楼板压型钢板、屋面压型钢板等结构的制作安装。

具体需要跟承包人协商确定施工进度计划及施工方案。

下载hge注意事项word格式文档
下载hge注意事项.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    注意事项

    注意事项1、 公示催告申请书用黑色签字笔书写于A4白纸上,打印亦可,法 人签字盖章。 2、 申请书左侧留3cm装订线。 3、 公示催告由持请人代表的单位为申请人,开户行必须是朝阳区......

    注意事项。

    注意事项: 1、考核内容:职能职责目标完成情况、党建、书记信箱、政务公开、重点项目、干部作风考核、人才工作。 2、民主测评会前,在单位公示栏张贴目标完成情况、考核公告(考核......

    注意事项

    注 意 事 项大家好,现在跨省转学已经和教育部全国对接,跨省转学流程将放到群空间,这里几点注意事项 1、我们只能操作跨省转入申请,转入时填写该学生全国唯一编码L打头 2、转出我......

    注意事项

    1、生源地:填写高考报名的户籍所在地 2、外语水平:只写四级,写上多少分 3、户籍性质:农业户或者非农业户 4、常住地址乡镇街道办事处描述:一定要写上是XX省XX市(地级市)XX市(县),没有......

    注意事项

    各环节应注意事项: 1.询价-楼盘名称、房号面积、登记价、成交价(周末及假日不能查客户征信) 2.办理全权委托公证-业主身份证原件、房产证复印件、借款抵押合同原件 3.到银行申......

    注意事项

    注意事项: 1、我部将于5月28日(周二)晚8:00-9:30在综合实验楼十楼1018收取报名表电子档和纸质档(一式一份),请报名的同学按时上交报名表,逾期我部不再收取; 2、由于比赛规模较大,具体......

    注意事项

    注意事项注意事项根据教育部师范司、教育部教师资格认定指导中心和省教育厅的部署,为推进教师资格认定工作信息化建设,从今年春季开始,教师资格认定全面实行网上申报。网上申报......

    招投标注意事项

    招投标注意事项 招投标流程: 看公告→投标报名→看招标文件→制作投标文件→开标→分析评标结果→未中标退保证金、中标押证及后续手续一、公告 主要网站:东营建设网、东营市......