标签: sprite

没有补间的CSS3 Sprite Animation

阅读下面的最终编辑!

是否可以使用CSS3动画而不在帧之间补间动画?

例如,我有一个图像,我有两个角色动画精灵.它们的间距均匀为50px.当我使用下面的动画时,我仍然得到一个补间(尽管非常快的补间,所以它看起来像闪烁).

#ball .animated{
        -webkit-animation-name: animate;
        -webkit-animation-duration: .5s;
        -webkit-animation-iteration-count: infinite;
        -webkit-animation-direction: alternate;
        -webkit-animation-timing-function: linear;}
@-webkit-keyframes animate{
        0%{-webkit-transform: translate3d(0,0,0);}
        49%{-webkit-transform: translate3d(0,0,0);}

        50%{-webkit-transform: translate3d(-50px,0,0);}
        100%{-webkit-transform: translate3d(-50px,0,0);}
Run Code Online (Sandbox Code Playgroud)

因此,基于上述情况,精灵帧应保持在图像的第一部分(x = 0px)持续时间的前0-49%,然后跳转到图像的第二部分(x = -50px)为50-100%.但是,1%的差异仍然足以在视觉上看到从0到-50px的补间.

思考?

编辑:

-webkit-animation-timing-function: cubic-bezier(1,0,1,0);
Run Code Online (Sandbox Code Playgroud)

上面似乎有点理顺了一段时间,但过了一会儿,它又回到了闪烁状态.

编辑:我没有意识到你可以使用百分比的小数.将间隙从1%缩小到0.1%会产生更快的补间,这几乎是不可见的(-webkit-animation-duration:<1s;)

0%{-webkit-transform: translate3d(0,0,0);}
49.9%{-webkit-transform: translate3d(0,0,0);}

50%{-webkit-transform: translate3d(-50px,0,0);}
100%{-webkit-transform: translate3d(-50px,0,0);}
Run Code Online (Sandbox Code Playgroud)

最终编辑!: 好的,所以从我发现的web-kit动画百分比将接受小数到百万分之一(即0.0001).在相对较快的动画计时器上将导致瞬时翻译.我猜想有点黑客攻击,但它确实可以解决问题.

例:

@-webkit-keyframes sprite {
 0% {
   -webkit-transform: translate3d(0,0,0);
 }
 50% {
   -webkit-transform: translate3d(0,0,0);
 }
 50.0001%{
   -webkit-transform: translate3d(-50px,0,0);
 }
 100%{
   -webkit-transform: translate3d(-50px,0,0);
 }
}
Run Code Online (Sandbox Code Playgroud)

上面的例子是一个100px的图像(图像上的每个sprite是50px宽),在一个容器div中,width: 50px并且overflow:hidden每次只显示一个精灵.

注意:我使用的是translate3d,因为它在移动浏览器中是硬件加速的,其中translateX,translateY,translateZ尚未加速硬件.

animation sprite css3 tween

4
推荐指数
2
解决办法
6066
查看次数

AndEngine Sprite/Box2D Body删除崩溃我的程序没有错误/异常信息?

我正在制作一个滑板游戏,你必须使用box2D和AndEngine跳过障碍物.我试图这样做,以便当玩家与一个物体碰撞时,物体被移除并且物体旧位置会发生爆炸,但是精灵移除代码中的某些内容会冻结我的程序导致它结束(甚至不是强制关闭消息它只是关闭自己并进入我的主屏幕)并且没有错误/异常信息出现在logcat中所以我不知道是什么导致它!以下是一些代码片段 -

当我创建精灵/边界时,我将JSONObject附加到包含精灵和精灵类型的主体,并将类似的JSONOBject附加到具有正文和类型的精灵:

/** method to construct our player (takes an x and y position)*/
private void constructPlayer(final float pX, final float pY) {


    final Body body;


    /* construct the sprite of our player and set the animation */
    this.player = new AnimatedSprite(pX, pY, this.mSkaterTextureRegion);
    long[] frameDurations = {100, 100};
    player.animate(frameDurations, 4, 5, true);


    body = PhysicsFactory.createBoxBody(this.mPhysicsWorld, player, BodyType.DynamicBody, PLAYER_FIXTURE_DEF);
    this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(player, body, true, false));
    body.setUserData(makeUserDataForBody(PLAYER_TYPE,player));
    player.setUserData(makeUserDataForSprite(PLAYER_TYPE,body));
    this.mScene.registerTouchArea(player);

    //attach our player to the scene
    this.mScene.attachChild(player);
}

private JSONObject makeUserDataForBody(int type, …
Run Code Online (Sandbox Code Playgroud)

android sprite box2d andengine

4
推荐指数
1
解决办法
4600
查看次数

使用CSS sprites在表单元素上定位背景图像

我正在尝试将放大镜作为输入元素的背景.放大镜图标是CSS精灵的一部分,如下所示:

在此输入图像描述

为了定位它,我使用了以下属性:

#search-form input[type="text"] {
    background: url('../images/icons.png') no-repeat left center;
    background-position: 0px -30px;
    border: 1px solid #a9e2ff;
    padding: 3px;
    width: 200px;
    font-size: 1em;
    padding-left: 20px;
}
Run Code Online (Sandbox Code Playgroud)

但背景仍然出现在输入框的顶部,而不是在垂直中间和左边对齐.我也尝试过:

background: url('../images/icons.png') no-repeat left middle;

但这也不起作用.

如果它很重要,虽然我猜它没有,这是我的表单标记:

<form action="/search" method="get" id="search-form">
    <input type="text" placeholder="Search..." name="s">
</form>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

html css markup css-sprites sprite

4
推荐指数
1
解决办法
1万
查看次数

不能在pyglet中绘制()精灵

出于某种原因,我无法得到pyglet来绘制精灵.这是我的代码:

import pyglet

game = pyglet.window.Window(640, 480, "I'm a window")

batch = pyglet.graphics.Batch()

pyglet.resource.path = ["."]
pyglet.resource.reindex()

image = pyglet.resource.image("hextile.png")
pyglet.sprite.Sprite(image, x=200, y=300, batch=batch)
pyglet.text.Label('DING', font_name='Arial', font_size=24, x=100, y=100, batch=batch)

@game.event
def on_draw():

    game.clear()
    batch.draw()
    #image.blit(0, 0)

pyglet.app.run()
Run Code Online (Sandbox Code Playgroud)

现在,当我绘制批处理时,文本标签会正确显示.我在窗户上看到"DING".但是,未显示图像"hextile.png".我尝试独立绘制精灵,但这也不起作用.然而,模糊图像(如注释行中所示)似乎工作得很好,但显然这不是我在此之后的功能.我无法想出这个.我错过了什么?

python pyglet sprite draw blit

4
推荐指数
1
解决办法
2228
查看次数

如何在Unity3d中为2D精灵制作最佳动画?

我想在Unity3D中为2D精灵设置动画.这样做的最好(最简单)方法是什么?

我有几个图像,我想循环创建动画.什么是最简单的代码和设置?

animation sprite unity-game-engine

4
推荐指数
1
解决办法
1万
查看次数

如何在Pygame中移动Sprite

即时通讯试图让我的形象(鸟)在屏幕上上下移动,但我无法弄清楚如何做到这里是我试图确定它的方式,但我试图找出来,如果有人可以帮助那将是大!

import pygame
import os

screen = pygame.display.set_mode((640, 400))

running = 1

while running:
    event = pygame.event.poll()
    if event.type == pygame.QUIT:
        running = 0
    screen.fill([255, 255, 255])
    clock = pygame.time.Clock()
    clock.tick(0.5)
    pygame.display.flip()

    bird = pygame.image.load(os.path.join('C:\Python27', 'player.png'))
    screen.blit( bird, ( 0, 0 ) )

    pygame.display.update()

class game(object):
    def move(self, x, y):
        self.player.center[0] += x
        self.player.center[1] += y


    if event.key == K_UP:
        player.move(0,5)
    if event.key == K_DOWN:
        player.move(0,-5)

game()
Run Code Online (Sandbox Code Playgroud)

我试图让它按下向下按钮按下向上按UP按键

python pygame sprite

4
推荐指数
1
解决办法
3万
查看次数

AS3 - 如何复制sprite的sprite/graphics?

假设我的2D级别是由2D块构建的.其中一些是盒子.

盒子看起来一样.没有不同!如何将一个盒子的图形"复制"或克隆到另一个盒子?该唯一的区别盒子将是sprite.xsprite.y具有不同的值.我可能会那样:

public static function drawBox(graphics:Graphics):void
{
    graphics.clear();
    // draw box
}

drawBox(box1.graphics);
drawBox(box2.graphics);
drawBox(box3.graphics);
Run Code Online (Sandbox Code Playgroud)

不会使用纹理,只有矢量绘图!

这是一个好习惯吗?还有另一种方法可以达到同样的目的吗?


更新:有时我会随机绘制精灵(如果我需要一个精灵及其所有属性的许多实例,很难重绘它们).

flash graphics clone sprite actionscript-3

4
推荐指数
1
解决办法
5138
查看次数

如何设置SKScene的背景图像?

因为目前这是不可能的颜色设置的SKSceneclearColor,做

-(id)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {


        self.backgroundColor = [SKColor clearColor];

    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

如下所示:LINK

那么如何设置背景图像SKScene呢?请尽可能具体,示例代码会很棒!

sprite uiview ios ios7 sprite-kit

4
推荐指数
2
解决办法
9736
查看次数

如何在phaser.js中向组sprite添加动画?

如何为已添加到组中的精灵设置动画?

这是我的spritesheet:

game.load.spritesheet('enemyBullet', 'assets/games/invaders/enemy-bullet.png', 11, 19);
Run Code Online (Sandbox Code Playgroud)

这是小组:

// The enemy's bullets
enemyBullets = game.add.group();
enemyBullets.enableBody = true;
enemyBullets.physicsBodyType = Phaser.Physics.ARCADE;
enemyBullets.createMultiple(30, 'enemyBullet');
enemyBullets.setAll('anchor.x', 0.5);
enemyBullets.setAll('anchor.y', 1);
enemyBullets.setAll('outOfBoundsKill', true);
enemyBullets.setAll('checkWorldBounds', true);
Run Code Online (Sandbox Code Playgroud)

这是我认为我应该添加的代码.

enemyBullets.animations.add('fly3', [ 0, 1, 2, 3], 20, true);
enemyBullets.play('fly3');
Run Code Online (Sandbox Code Playgroud)

但是,如果我在上面的组代码块中的任何地方添加它,我会收到错误'enemyBullets.animations'.undefined'.

有任何想法吗?

animation sprite phaser-framework

4
推荐指数
1
解决办法
1761
查看次数

如何删除Unity3d中的切片精灵

当我在Unity中切片精灵时.

我错误地切了一块我不想要的东西

这里是Menu Buttons_0

在此输入图像描述

现在,我想删除那些垃圾

有什么办法可以删除菜单按钮_0

sprite game-development game-engine unity-game-engine

4
推荐指数
1
解决办法
1430
查看次数