jjzjj

java - Android 版 OpenGL ES 2.0 中的纹理

我是OpenGL的新手,我正在通过使用ES2.0为Android制作2D游戏来自学。我首先创建一个“Sprite”类,该类创建一个平面并为其渲染纹理。为了练习,我在同一个地方交替绘制了两个Sprite对象。我在ES1.0上工作得很好,但现在我已经切换到2.0,我得到了一个没有错误的黑屏。我已经筋疲力尽地想弄清楚我做错了什么,但我有一种强烈的感觉,这与我的着色器有关。我将在这里转储所有相关代码,希望有人可以就我做错了什么给我一个答案或一些建议。如果不是很明显我做错了什么,也许有一些关于如何解决的建议?预先感谢您查看我将要发布的所有代码。我发布的三个类(class)是:GameRender

Android:位图的补间动画

我的应用程序通过在我的View的onDraw()方法中调用以下内容来实现自己的Sprite:canvas.drawBitmap(sprite.getBitmap(),sprite.getX(),sprite.getY(),null);该应用程序是一个物理模拟,到目前为止效果很好。但现在我想通过在某些事件发生时在Sprite的图像之间变形来增强动画效果。例如-当发生碰撞时,我想播放爆炸动画。我的想法是用爆炸PNG替换通常的Sprite位图,并使用Android“补间动画”使爆炸变大。但是安卓tweenanimationexample假定您在XML配置中的某处静态定义了一个ImageVie

android - Android 中的 Sprite 旋转使用 Canvas.DrawBitmap。我很接近,我做错了什么?

我有这个sprite旋转算法(它的名字不好,只是用于测试)。它是如此接近,用它绘制的Sprite确实会旋转。每一帧我都可以增加+5度并看到我漂亮的小Sprite旋转。问题是,绘制到Canvas上的其他内容现在会闪烁。如果我不进行旋转,则常规绘制的Sprite效果很好。我想我很接近,但我只是不知道我错过了什么。下面是我的两个“Draw_Sprite”方法,一个只是将先前加载的资源位图绘制到传入的Canvas上。另一个,做一些旋转我知道如何将Sprite旋转这么多度数..然后绘制它.如果我有一个很好的游戏循环来绘制多个对象,一种类型是旋转的。然后非旋转的Sprite闪烁,而旋转的Sprit

Unity2D Sprite尺寸与UI在场景视图和游戏视图显示不一致问题解决方案

在Unity3D中,当开发2D游戏时,经常会遇到Sprite尺寸与UI在场景视图和游戏视图中显示不一致的问题。这个问题可能导致UI元素变形或者在不同分辨率的设备上显示不正确。本文将为您提供解决这个问题的方法,并附带相应的源代码。问题分析:Sprite是2D游戏中最常用的图像资源,而UI元素则是用于创建用户界面的关键组件。在Unity中,Sprite和UI元素都可以在场景视图和游戏视图中显示,但由于它们具有不同的显示机制,可能导致尺寸不一致的问题。解决方案:为了解决Sprite尺寸与UI在场景视图和游戏视图中显示不一致的问题,我们可以使用以下两种方法:使用CanvasScaler组件:Canva

Android:有什么方法可以加快 canvas.drawBitmap 的速度吗?

简单的问题,虽然不确定是否有简单的答案!!我能做些什么来加快我的表面View绘图吗?我正在使用这样的东西:c.drawBitmap(scaledSprite,X,Y,redPaint);我使用的方法必须在屏幕上绘制大约25个这样的Sprite,所以我使用了一个for循环,这意味着它必须在一帧中显示25个。现在,这在我测试过的3款手机上运行得非常好,但在平板电脑上,它只是变慢了。我已经注释掉所有其他绘图方法,只留下这个方法,这绝对是拖慢游戏速度的原因。有没有人可以给我一些聪明的技巧来加快速度?我知道开放式GL是可能的,但游戏的大部分内容现在已经编写完成,所以如果可以的话,我现在真的不想做

c++ - 是否有计算在单色背景上绘制的 Sprite 边界矩形的算法?

想象一个普通的矩形位图,比方说,1024x768像素填充白色。位图上绘制了一些(非重叠的)Sprite:圆形、正方形和三角形。是否有一种算法(甚至可能是C++实现)在给定位图和背景颜色(白色,在上例中)的情况下,生成一个列表,其中包含每个Sprite的最小边界矩形?这是一些示例:在左侧,您可以看到我的代码给出的示例位图(以及“背景”为白色的信息)。在右侧,您可以看到相同的图像以及四个形状的边界矩形(红色);我正在寻找的算法计算这些矩形的几何形状。一些绘画程序具有选择形状的类似功能:它们甚至可以计算看似任意的边界多边形。无需手动拖动选择矩形,您可以单击“背景”(什么是背景,什么不是由某个

c++ - 从灰色到彩色对 Sprite 进行着色

我有很多相同的图形,但颜色不同。我想通过从灰度图像着色来优化它。此外,我想在游戏中为实时Sprite对象动态更改其颜色。也逐渐将颜色值从一种颜色类型更改为另一种颜色类型。Don'tknowitituseful-Image-Transformation-Grayscale-to-Color. 最佳答案 要色调灰度Sprite,可以通过一个简单的片段着色器完成,该着色器将纹理的纹理像素的颜色与色调颜色相乘。这导致灰度纹理使亮度呈现恒定的颜色。以下所有着色器均考虑PremultipliedAlpha。顶点着色器shader/tone.ve

c++ - 你如何计算两个矩形的重叠百分比?

我编写了一个绘制各种屏幕Sprite的绘图函数。这些Sprite只能重叠到一个点。如果它们必须重叠太多,它们就会变得太模糊。因此,我需要检测这些Sprite何时重叠太多。幸运的是,问题得到了简化,因为Sprite可以被视为正交矩形。我想知道这些矩形重叠了多少。现在,我只是通过测试一个矩形中的每个像素以查看另一个矩形中是否包含它来暴力破解它。我计算这些并计算重叠百分比。我认为可能有更好的、更少蛮力的方法。我可以使用什么算法来确定这一点?我正在使用wxwidgets。 最佳答案 结果取决于你如何定义重叠百分比,为了保持对称,我会这样编码

unity | 图片放入指定文件夹自动变成sprite精灵模式

一、理解我们要做的事    原本图片放入文件夹后是Default(默认)模式,但是需要大量处理图片的时候,我们希望它拖进去就是sprite模式=我们想修改unity原本的功能。二、unity是允许我们去修改它本身的一些功能的,你可以定制属于你的unity    这需要用到UnityEditor,所以我们需要在代码里加上usingUnityEditor;三、unityEditor    因为我们现在想要修改的是导入图片时改变图片模式,所以这部分内容在导入这里,因此我们需要继承AssetPostprocessorusingUnityEditor;usingUnityEngine;publiccla

Pygame中Sprite类的使用6-3

在Pygame中Sprite类的使用2_棉猴的博客-CSDN博客中提到了通过派生自pygame.sprite.Sprite类的自定义类Zombie,可以实现一个僵尸的移动。可以通过pygame.sprite.Group类实现对多个Zombie类实例的管理,即可以实现多个僵尸的移动。1pygame.sprite.Group类简介pygame.sprite.Group类是一个容器,可以包含多个Sprite类的实例。可以对Group类中的Sprite实例进行同一的绘制和更新,使得代码得到了简化。2pygame.sprite.Group类实例的创建zombie_group=pygame.sprite.