草庐IT

canvas2d

全部标签

android - 背景图像绘制时间太长(Canvas)生涩的 Sprite ......?

嘿,我正处于我一直在开发的应用程序的十字路口。这是一款游戏,而且是一款“街机/Action”游戏,但我使用Surfaceview而不是OpenGL对其进行了编码(由于游戏与原始设计发生了巨大变化,结果就是这样)。我发现自己被性能问题困扰,甚至在游戏中也没有,但只是在第一个Activity中,它是一个动画菜单(全屏背景,大约有8个Sprite在屏幕上float)。即使使用这么少量的Sprite,我也无法获得完美流畅的运动。它们平稳地移动了一会儿,然后瞬间变得“断断续续”或“不稳定”。我注意到(据我所知)绘制背景(预缩放图像)大约需要7到8毫秒。这合理吗?我尝试了不同的绘图方式,例如:ca

android - 在 OpenCL 内核中读取 GL_UNSIGNED_BYTE OpenGL texture2D (android)

我的Android应用将OpenGLtexture2D传递到我的OpenCL内核,但是我的内核读取的像素值超出范围(>255)。我这样创建我的OpenGL纹理:GLES20.glGenTextures(2,targetTex,0);GLES20.glBindTexture(GLES20.GL_TEXTURE_2D,targetTex[0]);GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D,GLES20.GL_TEXTURE_MIN_FILTER,GLES20.GL_LINEAR);GLES20.glTexParameteri(GLES20.GL_

Android:单击按钮在自定义 Canvas 中绘制圆圈

我正在做一个简单的鼓组应用程序,用户可以在其中单击按钮以发出相应的声音并在Canvas上的随机位置绘制一个圆圈。对于Canvas,我创建了一个名为CanvasView的自定义View,然后我将该CanvasView实现到MainActivity中,这样每次在MainActivity中使用OnClickListener单击按钮时我都可以控制该View。但是,我不知道如何使用OnClickListener实际控制(画一个圆圈)CanvasView。这部分我需要帮助这是我的MainActivity类代码:publicclassMainActivityextendsActivity{//set

android - Canvas restore() 在极少数情况下导致下溢异常

通过ACRA,我收到了来自软件alpha版本的少量报告,这些报告显示在对Canvas.restore()的特定调用期间发生异常。异常是java.lang.IllegalStateException:Underflowinrestore。我很清楚,如果restore()调用次数多于save()调用次数,就会发生此异常。然而,通过非常仔细的代码检查,我绝对确定对canvas.save()和canvas.restore()的所有调用都是平衡的。也就是说,所有对canvas.save()的调用肯定会在稍后阶段通过对canvas.restore()的调用来平衡。我还可以确认不存在可能导致缺少ca

android - UNITY 触摸位置到世界位置 2D

如何将触摸位置(在手机上)转换为世界位置。例如,如果我手机的屏幕尺寸是1440x2560,我在手机上的触摸位置是X600Y700。我如何才能统一将该位置转换为世界位置?我需要它,这样我才能知道用户将手指放在哪里。 最佳答案 已经有一种方法可以为您做到这一点。看看Camera.ScreenToWorldPoint.一旦您获得了所需相机的引用,您就可以像这样使用它:Vector2touchPos=Input.touches[0].position;Vector3touchPosinWorldSpace=camera.ScreenToWo

android - 在创建/渲染 scene2d 舞台后重置视口(viewport)

在我的游戏中,我使用自定义世界坐标系绘制了一个scene2dStage。然后我想绘制一个调试UI,上面有一些像FPS这样的文本,但只是使用屏幕坐标,即文本位于屏幕右上角的位置。我的主要渲染方法看起来像这样:@Overridepublicvoidrender(floatdelta){Gdx.gl.glClearColor(1,0,0,1);Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);gameStage.act(delta);gameStage.draw();debugInfo.render(delta);}Stage设置自定义视口(viewport)

安卓。 Canvas 缩放和平移

我创建了自定义View,您可以在其中触摸和缩放它。大部分工作都是在这个post的帮助下创建的接下来我观察到,如果我想放大图像,它总是缩放到左上角。这是我的onDraw()方法:@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas);canvas.save();canvas.translate(mPosX,mPosY);canvas.scale(mScaleFactor,mScaleFactor);//actualdrawingcanvas.getClipBounds(mRect);canvas.restore();

android - 如何在使用 Canvas 时制作动画

例如:myPos.getCoordX()为0,myPos.getCoordY()为0当我更新变量时,myPos.getCoordX()是50而myPos.getCoordY()是100然后我再次调用showPosition()方法。我想:开始一个从0,0到50,100的移动动画privatevoidshowPosition(){BitmapfloorPlan=BitmapFactory.decodeResource(getResources(),R.drawable.wallpaper).copy(Bitmap.Config.ARGB_4444,true);Bitmappoint=Bi

javascript - HTML5 Canvas ,防手掌误触

我们正在尝试将html5Canvas与平板电脑手写笔一起使用,但我们在使用多点触控平板电脑进行手掌触摸时遇到了问题。当一个人试图画东西并用手掌触摸显示表面时,由于多点触控会出现线条。你知道如何通过js或canvas选项在平板电脑上禁用多点触控吗,或者你知道是否有html5canvas防手掌误触技术。 最佳答案 当前的浏览器中提供了一些较新的WebAPI。特别是radiusX和radiusY的touches来自touchevent可用于计算触摸面积。可以忽略大于手指或手写笔的区域。 关于j

java - 您可以将 Spriter Pro 2d 装配 Sprite 导入 LibGDX 吗?

如其所说,我在网上读到有关将Spine导入LibGDX的信息。我正在使用AndroidStudio开发游戏并使用LibGDX框架。但是我的游戏需要2D装配动画而不是预渲染模型,所以我使用的是SpriterPro。但我想知道如何将我从SpriterPro制作的内容导入LibGDX,以便我可以使用我从那里制作的内容在LibGDX框架上开发我的游戏。如果有人可以详细说明,那么具有大量帧的2d动画不能与2d装配动画一样高效吗?我看不出两者的优缺点,只是2d动画可能会占用大量时间来制作 最佳答案 ThisLibrarymightworkfor