Articles of 精灵

基于分层系统,我如何让精灵重叠在一起?

在Unity中,我正在构建一个2D益智游戏,但是我需要确保某些精灵在其他精灵之上的时候被渲染。 这是一个开关(左)和块(右)的例子。 我想确保在绿色开关上方出现绿色块时,如何避免发生这种情况?

如何根据自己的表面,墙上的速度自然地旋转球

我在cocos2d-x cpp上开发一个游戏。 我的游戏中有一个精灵球。 我通过触摸事件将球移动到一个表面(墙)上,但不能根据其速度自然旋转。 如果我在update(float dt)方法中使用ballSprite-> runAction(..),那么它不会旋转。 我使用以下代码: void GameLayer::updateBall(float dt) { float deltaRotateX = 360.0f * _ballVelocityX; _ballSprite->setRotation(90.0f- CC_RADIANS_TO_DEGREES(deltaRotateX)); } 但球不自然旋转。 它离散地旋转。 它不能根据其速度自然旋转。 谢谢。

在移相器中将物理添加到组或容器主体

我正在开发一个HTML5 Phaser游戏。 在这个游戏中,我确实有一个团体,我想作为一个物理体(街机物理)行为。 这是一个在这个组里面有很多移动部分(sprites)的角色。 在这种情况下,这个团体就像一个精灵的容器。 不过,我只能将物理行为添加到精灵。 game.physics.arcade.enable(mySprite); // works good! 对一个团体做同样的事情是行不通的。 它只是添加物理学的孩子精灵 game.physics.arcade.enable(myroup) // does no works myGroup.body.(…) // body is undefined 我想为这个组创建一个“虚拟”的身体,为其设置尺寸(body.setSize),并在其中添加我所有的精灵。 这有可能以其他方式吗?

寻找一个肮脏的伪3D技巧

具体来说,我想要做像Thunderbolt操作那样糟糕的精灵缩放。 出于某种原因,我得到这一切都错了。 我从头开始,我从字面上得到了一个跟随鼠标变化的精灵,随着Y位置的增加,它变大了。 我在y128有一个水平线。 我不希望精灵开始缩放,直到它通过地平线。 我经历了无数伪3D的例子,但是我想简单地开始,一次一件事,所以我可以在我的脑海中得到math:S 现在的代码是: 设置比例:Sprite.Y / Scalerate 即使在我上下移动鼠标的情况下,它仍然保持缩放,但是现在我想限制它仅在128的地平线之后增长。就好像一个人在你的道路上行走,或者是一个方程式,让你设置一个y轴上的起点和终点。 我是全新的精灵缩放的东西!

在Unity中检测鼠标点击最上层的2d精灵

我有两个精灵 一个用于整个背景和另一个小精灵,它是一个前景对象。 我已经在OnMouseDown()函数中为这两个对象编写了代码。 当我点击前景物体时,背景物体的MouseDown()方法也会被调用,因为它位于前景的后面。我只想让前景精灵在点击它时作出反应,而不是前景和背景精灵。

小地图如何为开放的世界渲染?

当我创建小型到中等级别的小型地图之前,我将使用映射到小型地图和世界地图的平面的大型纹理。 小地图/世界地图相机将从上到下查看该纹理。 对于更大,开放的世界风格的环境,虽然我面临着性能与保真度问题。 例如,大的环境需要大的纹理来适应所有的东西,但同时纹理也需要足够高的分辨率,以便玩家决定放大地图上的特定点。 我可以使地图高分辨率与足够的细节近距离,但是这创造了相当大的纹理尺寸。 或者我可以制作更高效的低分辨率地图,但放大时会变得模糊/像素化。 这只是一个平衡,我必须玩,还是有更好的方法来处理这个? 例如,创建一个简单的三维网格,其形状将作为地图。 或者,而不是使用vectorgraphics使用纹理。 这通常如何完成?

我该如何延迟着色器?

我的效果是循环,但我需要每个闪光效果之间的延迟。我不想使用C#代码,因为我相信有一个简单的方法来实现着色器延迟。 waitfor 2 second flash effect waitfor 2 second flash effect …. 这是我的着色器: Shader "Smkgames/SwordFlash" { Properties { _MainTex("MainTex",2D) = "white"{} _Color ("Color", Color) = (1,1,1,1) _LineColor ("LineColor", Color) = (1,1,0,1) _Speed ("Speed",Float) = 1 _Thickness ("Thickness", Float) = 4.286548 _LineSeparation ("LineSeparation", Range(0.1, 10)) = 1 _LineRotation ("LineRotation", Range(-180, 180)) = 0 _Numbers ("Numbers", Float […]

如何在类似Bomberman的2D游戏中协调精灵,玩家的位置和碰撞?

我正在用Java编写一个炸弹人(我的第一个游戏),而且我在玩家的精灵和地图上有问题。 我正在使用一个二维整数数组来表示: 牢不可破的块 可爆砖墙 可用空间 玩家本身(不知道这是否正确) 现在我可以正确放置每个迭代arrays的背景图块(每个40 * 40)。 炸弹人的精灵是MAX 40 * 40(有时会稍小一些)。 我的问题是,我怎样才能正确处理与墙壁的碰撞? 我已经试图做到这一点,但这个解决scheme是非常可怕的。 提前致谢。

围绕Y轴旋转的Sprite(2D)

我将很快创建一个游戏,其中一部分涉及到精灵。 精灵将围绕Y轴旋转(设想一个棍子顶部的旋转盘子,棍子垂直站立。 我想到的主要方法是在“板块”旋转时模糊不同的旋转值的精灵(精灵比板块更复杂)。 游戏将为iPhone,但我打开使用任何2D给它的开发库。

演员和雪碧,谁应该拥有这些属性?

我正在编写一个2D游戏引擎,使游戏制作过程更加简单。 它有两个类:Actor和Sprite。 Actor用于交互元素(玩家,敌人,子弹,菜单,控制分数的不可见实例等),Sprite用于具有透明度(或不透明)的animation(或不)图像。 演员可能会在屏幕上显示一个分配的精灵,这个精灵在游戏中可能会改变。 例如,在一个自上而下的动作游戏中,你可能会有一个演员,他有一个小家伙的精灵,在攻击,走路和面向不同的方向时会发生变化。 目前,actor有x和y属性(在屏幕上的坐标),而精灵有一个index属性(当前由精灵显示的帧号)。 由于精灵不知道它属于哪个演员(或者如果它属于某个演员),演员在绘制精灵时必须传递其x和y坐标。 另外,因为一个actor可以在每一帧重置它的精灵(通常是这样),所以精灵的index属性必须像旧的一样从旧的传递到新的精灵(伪代码): function change_sprite(new_sprite) old_index = my.sprite.index my.sprite = new_sprite() my.sprite.index = old_index % my.sprite.frames end 我一直认为这很麻烦,但从来不是一个大问题。 现在我决定增加对更多属性的支持。 也就是说,绘制精灵旋转的属性,绘制它的属性翻转,属性绘制拉伸等。这些应该可能属于精灵而不是演员,但如果他们这样做,演员将不得不从他们每当它变化时,老的到新的精灵……另一方面,如果他们属于这个演员,那么演员在绘制它的时候必须把每个属性传给精灵(因为精灵不知道哪个演员属于,它不应该,因为精灵不只是要被演员使用,真的)。 我想到的另一个select是拥有一个拥有所有这些属性(加index , x和y )的额外类,并将一个角色与一个精灵链接起来,但是这并不是没有缺点的。 那么,我应该如何处理所有这些属性呢?