Articles of iphone

使用Flurrylogging度量标准时,我应该如何使用事件名称?

我正在做一个多人游戏,我想用Flurry来logging游戏事件。 在游戏中,你可以建立,培养和训练部队。 在Flurry中,您可以logging一个事件(可选地带有参数)。 能够跟踪玩家的进步情况是非常好的,这取决于他们建立,成长等等什么样的事情,以及他们在什么样的经验水平上,但是我不知道最好是不同的不同types的行为的事件集…像这样: NSDictionary *buildParams = [NSDictionary dictionaryWithObjectsAndKeys: @"Build_Type", @"Castle", @"EXP", @"234523", // Capture user status nil]; [Flurry logEvent:@"Build_Action" withParameters:buildParams]; 等等…所以另一个增长的东西,另一个培训,等等。 还是有一个这样的事件的全球loggingtypes更好: NSDictionary *actionParams = [NSDictionary dictionaryWithObjectsAndKeys: @"Action", @"Build", @"Type", @"Castle", @"EXP", @"44234", nil]; [Flurry logEvent:@"Game_Action" withParameters:actionParams]; 在这种方法中,所有的数据都存储在一个事件types中。 我不确定在漏斗,分割和所有这些方面哪个能给我最好的结果?

使用OpenGL ES 2.0在3D中绘制火焰字母

我对如何实现这一点感到困惑。 我想要的是“用火焰画”。 我已经成功地实现了这个纹理,但现在我关心的是用粒子来实现火焰效果。 我应该创建一个path,我应该添加许多粒子发射器,将发射火焰粒子? 我理解2D的概念,但对3D来说,粒子总是应该面向用户? 我担心的另外一个问题是,由于拥有这么多的粒子发射器将会发生性能冲击,因为同时可以有许多字母和图画,而且每个元素都有许多粒子发射器。 更新1: 更详细的解释: 我有一个点的path,这是我的模型。 想象一下例如一个虚线的字母“S”。 我想让“S”着火。 “S”只是一个例子,它可以是一个圆形,三角形,一条线,几乎任何我所描述的path点。 为了达到这个效果,我想到了使用粒子。 所以我使用一个名为“粒子devise器”的程序来创建一个消防风格的粒子发射器。 这个发射器在iphone屏幕尺寸上看起来非常完美。 所以我想我可以画一个S或其他任何数字,如果我把许多粒子发射器放在彼此相邻的path之后。 为了从2D版本移动到3D版本,我考虑了缩放发射器(在其模型matrix中使用缩放matrix乘法),然后将其移动到3D世界中的某个点。 我这样做,它的工作原理。 所以现在我在3D世界中有一个粒子发射器。 我的问题是,你是如何实现一个燃烧的信? 如果我期望在我的世界上有许多燃烧的path,这太低效了吗? 我是否应该旋转粒子的四边形,以便它始终看着用户? (最后一个是因为我注意到如果你从侧面看它的粒子开始变平) 更新2: 我testing了这个,有多个粒子发射器,而且他们看起来相当好,我得到的最差的粒子越多。 一个常见的情况是在同一时间至less有大约50个不同的行/字母。 目前粒子发射器在CPU上。 它计算每个粒子的顶点的位置,并将新的顶点提供给GPU。 这对于一些排放者来说效果不错,但是还不足以让所有的字母都“燃烧”。 我正考虑在着色器中将粒子发射器执行的计算移动到GPU,但是这似乎有些复杂,因为每个粒子都有其自己的状态并且被修改为时间增量。 在CPU中,它只是一个以前一个值作为参考来改变它的值的对象,但是GPU渲染器只是每个绘制调用运行一次,不是吗?

NEHotspotHelper在框架中的使用

所以从iOS9开始,就有了一个公开的API来允许开发者使用NEHotspotHelper获得WiFi信号。 但要使用它 – 需要申请它,让苹果公司在开发者门户网站为您提供额外的权利。 让我们想象一下,苹果确实可以访问它,但问题是: 它只能在应用程序级别或框架(库级别)中使用吗? 我这样问的理由是因为我看不到框架目标中的权利选项卡,而不是正常的应用程序目标。 任何建议或指向正确的方向将不胜感激。 干杯!

纹理不加载在一个iOS设备上

我使用testflighttesting我朋友的设备上的应用程序。 在所有设备如:iPhone 6s,iPad 2的游戏工作正常,但iPhone 7不加载纹理(下面的图片)有什么不对?

只有iPhone的游戏没有通过加载屏幕

我有一个JavaScript游戏,使用pixi.js构建。 这在我的桌面和Android设备上正常工作。 但是,当我尝试在iPhone上运行它时,游戏不会超过加载屏幕。 我得到以下错误: “Typeerror:null不是一个对象(评估'window.screen.height'):window.screen not defined”。 我从来没有在其他类似的游戏上遇到这个错误。 出于某种原因,window.screen在这个游戏中还没有定义。 但是恐怕我不知道window.screen是什么,应该如何创建。 我认为这个问题可能与我正在使用的框架有关,但是我已经对其他游戏使用了相同的框架,并且这些都可以在iPad上正常工作。 任何帮助将非常感激!

opengl内存问题 – 很奇怪

我听说纹理消耗大量的内存,但我很惊讶多less….我有7个纹理1024 16位每个。 而我将运行我的应用程序消耗57MB的内存。 我觉得这太“有点”了。 我正在写2D应用程序(没有cocoa或其他框架) 奇怪的是,虽然我会编译我的应用程序禁用渲染方法:glDrawArrays比它只使用27MB ….这是约30MB … 你有什么想法为什么? 我在渲染之前创建纹理:渲染看起来像这样: [EAGLContext setCurrentContext:context]; glBindFramebufferOES(GL_FRAMEBUFFER_OES, defaultFramebuffer); glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glPushMatrix(); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); TeksturaObrazek *obrazek_klaw =[[AppDirector sharedAppDirector] obrazek_klaw]; glBindTexture(GL_TEXTURE_2D, [[obrazek_klaw image_texture] name] ); glVertexPointer(2, GL_FLOAT, 0,vertex1); glTexCoordPointer(2, GL_FLOAT, 0, vertex2); glColor4f(1,1,1,alpha); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDisable(GL_BLEND); glDisable(GL_TEXTURE_2D); glDisableClientState(GL_TEXTURE_COORD_ARRAY); glPopMatrix(); [context presentRenderbuffer:GL_RENDERBUFFER_OES]; 它看起来像标准的例程…我花了大约2天寻找答案,我仍然没有线索。

OpenGL ES 1.1通过在iPhone上缩放来实现奇怪的缓慢绘制

我已经创建了一个视图(从UIScrollView派生),其中单元格绘制和缩放发生。 一切都是用OpenGL ES 1.1绘制的。 缩放通过增加由手指传递的计算的新距离(滑动分开或一起移动)来指定,其乘以常数系数: fNewZoom += fDistance * fCoef; fDistance在最小化时可能具有负值 有4个单元格arrays,每个arrays包含具有确定大小的单元格。 在缩放时,按照尺寸select最适合的单元格进行绘制,并使用OpenGL ES 1.1进行绘制。 所有四个纹理的初始化都在绘图视图的初始化时开始。 视图的初始化: + (Class) layerClass { return [CAEAGLLayer class]; } – (id)initWithCoder:(NSCoder*)coder { if((self = [super initWithCoder:coder])) { CAEAGLLayer *eaglLayer = (CAEAGLLayer*) self.layer; eaglLayer.opaque = NO; eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:FALSE], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil]; m_context = [[EAGLContext alloc] […]

如何在Cocos2D应用程序的CCScene节点中打开相机?

我是Cocos2D的新手,我找不到从图书馆打开相机的方式。 我想在我的游戏中打开相机,任何人都可以帮助我吗? 先谢谢你。

我怎么能在我的游戏中产生多个怪物?

我做了一个iPhone游戏,我想让多个怪物产生。 我有一个UIImageView叫做enemy ,在游戏开始时产生。 但是我想要它产生更多的怪物,直到我说它需要停止产卵。 我知道如何获得随机位置。 这个问题是这个问题的后续。

Objective-C iPhone SDK侧滚动

我正在做一个游戏,我这边滚动:如果玩家超过150,玩家停止移动,背景开始移动。 但是在游戏中放置物体非常烦人。 没有更好的方法来做到这一点? 我不想用cocos2D。 谢谢!