设为首页收藏本站喵玉殿官方微博

 找回密码
 少女注册中
搜索
楼主: ofz

[网页游戏] web红魔乡 3~6 面 [完]

  [复制链接]
发表于 2014-7-12 19:37:09 来自手机 | 显示全部楼层
本帖最后由 drzzm32 于 2014-7-12 19:44 编辑
ofz 发表于 2014-7-12 18:12
楼下 lrdcp 说的对,vb .net 不是解释性的。.net 平台上的三种语言(vb.net, c#, 托管c++),最后都是编译 ...


就是那个IL
翻译为中间代码,其本质不是二进制程序。
程序第一次运行时的确进行了翻译,解释到缓存。
第二次运行则直接从缓存读取。
微软说vb.net效率只比c++\c#低20%

话说我把弹幕绘制,计算,判定也是分离开的~
你们的测试并没开启判定吧?
弹幕超出游戏范围后又如何处理呢?这范围又有多大呢?
回复

使用道具 举报

 楼主| 发表于 2014-7-12 19:55:36 | 显示全部楼层
drzzm32 发表于 2014-7-12 19:37
就是那个IL
翻译为中间代码,其本质不是二进制程序。
程序第一次运行时的确进行了翻译,解释到缓存。 ...

我的判定是基于类的(自机负责自己跟弹幕的判定,妖精负责自己跟子弹的判定),因为在跑benchmark的时候没有创建自机,所以完全不会作判定

弹幕的活动范围是可调的,默认大概是显示范围上下左右再往外扩个几十像素的样子。超出的话会就直接舍弃掉了(还留在队列里,但设置成可回收对象,不再更新了)
回复

使用道具 举报

发表于 2014-7-12 19:59:14 来自手机 | 显示全部楼层
本帖最后由 drzzm32 于 2014-7-12 20:02 编辑
ofz 发表于 2014-7-12 19:55
我的判定是基于类的(自机负责自己跟弹幕的判定,妖精负责自己跟子弹的判定),因为在跑benchmark的时候没 ...


我的是在一个Timer里完成所有判定,在判定之前还有一个矩形预判定。不同范例的方法也不同。因为我还不知道如何使用掩模纹理现在是内部几十像素。超出范围后继续加入循环。

回复

使用道具 举报

发表于 2014-7-12 20:10:53 | 显示全部楼层
本帖最后由 lrdcq 于 2014-7-12 20:17 编辑
drzzm32 发表于 2014-7-12 19:37
就是那个IL
翻译为中间代码,其本质不是二进制程序。
程序第一次运行时的确进行了翻译,解释到缓存。 ...

两种碰撞函数,点到点碰撞(圆形),点到线碰撞(条形),曲线激光就是几十条短线,特殊形状弹幕由多个基本形状的弹幕藏在下面做判定。
运行流程
1.boss池:bossx自机判定(boss体术)
2.敌机池:包括boss和已注册为敌机的普通弹幕(其他敌机)x自机弹幕判定(自机弹幕伤害)
3.弹幕池:所有敌机弹幕x自机判定(自机中弹)

弹幕出屏的话本来就是可设定为是否出屏消失的发射器属性的(考虑到有些弹幕会出屏再绕回来,比如二重坑死爹),出屏消失的话和ofz君差不多就多几十个像素,具体是按照当前弹幕应用模型边长一半再加一点点来算的,出去了就“还留在队列里,但设置成可回收对象,不再更新了”,为了提高数组性能我只从队列尾巴上回收
回复

使用道具 举报

 楼主| 发表于 2014-7-12 20:13:36 | 显示全部楼层
drzzm32 发表于 2014-7-12 19:59
我的是在一个Timer里完成所有判定,在判定之前还有一个矩形预判定。不同范例的方法也不同。因为我还不知 ...

(举手举手)我也有矩形预判的说!

掩膜纹理是用来做复杂形状判定的吗?我这边没有那么高端的东西...(其实一共就只有圆形和矩形两种形状而已)

超出范围后继续加入循环,大概就是对象重用的意思吧...不知道你的队列是怎么管理的,我这边是每隔几秒钟刷新一次,把可回收的对象扔掉,这样队列就不会太长了
回复

使用道具 举报

发表于 2014-7-12 20:16:59 来自手机 | 显示全部楼层
本帖最后由 drzzm32 于 2014-7-12 20:23 编辑
lrdcq 发表于 2014-7-12 20:10
两种碰撞函数,点到点碰撞(圆形),点到线碰撞(条形),曲线激光就是几十条短线,特殊形状弹幕由多个基 ...


你的条形判定难道是用曲率圆半径?
我当前是100条轨迹,每条轨迹100弹幕
这个很容易用参数方程生成。

掩模纹理和OpenGL纹理透明有关

TheRebirth说过可以用图像识别进行判定
回复

使用道具 举报

发表于 2014-7-12 20:21:13 | 显示全部楼层
drzzm32 发表于 2014-7-12 20:16
你的条形判定难道是用曲率圆半径?
我当前是100条轨迹,每条轨迹100弹幕
这个很容易用参数方程生成。 ...

图像识别我以前也考虑过的,不过想了想STG似乎没人用这个做的所以算了。
条形判断也只是简单的点到线段距离而已,大概相当于3个点到点的运算量,一般激光弹幕又不多,曲线激光更少了(你看我bench2的激光弹幕也有判断,性能还能接受),所以就比较无所谓了。毕竟奇形怪状的弹幕还是少数,多半还是点到点。
回复

使用道具 举报

 楼主| 发表于 2014-7-12 20:30:45 | 显示全部楼层
lrdcq 发表于 2014-7-12 20:21
图像识别我以前也考虑过的,不过想了想STG似乎没人用这个做的所以算了。
条形判断也只是简单的点 ...

觉得图像识别没必要+1

话说在做姆Q的一非的时候,发现激光的纹理居然是把一个圆形弹幕拉长做出来的(神主大人您真会玩)我想问一下,你的曲线激光是怎么渲染的呢?
回复

使用道具 举报

发表于 2014-7-12 20:41:01 | 显示全部楼层
本帖最后由 lrdcq 于 2014-7-12 20:43 编辑

传统写法,扭曲的分隔矩形啦(这东西不用gl基本上没法写吧),具体来说就是抛洒一个弹幕,他留下的轨迹(比如这里取了20个点)的队列生成的长条矩形的点坐标,就像一个弹幕拖的尾巴一样
QQ截图20140712203908.jpg
回复

使用道具 举报

发表于 2014-7-12 20:52:06 | 显示全部楼层
ofz 发表于 2014-7-12 20:30
觉得图像识别没必要+1

话说在做姆Q的一非的时候,发现激光的纹理居然是把一个圆形弹幕拉长做出来的(神 ...

话说神主特会玩儿,比如这个就是 红色鳞弹 和 红色鳞弹 拉伸的激光 ,逗死了
无标题.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 少女注册中

本版积分规则

合作与事务联系|无图版|手机版|小黑屋|喵玉殿

GMT+8, 2025-10-31 16:08

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表