我正在制作2D Java游戏.我希望游戏看起来不错,所以我需要很好的精灵,但我想专注于游戏的编码,而不是图形设计.这个项目有时间限制,所以预制精灵会非常有用.有谁知道任何好的精灵集合?
我有这个精灵旋转算法(它的命名很差,只是用于测试).它是如此接近,用它绘制的精灵旋转.每一帧我都可以加上+5度,看到我漂亮的小精灵旋转.问题是,画布上绘制的其他东西现在都在闪烁.如果我不进行旋转,则常规绘制的精灵效果很好.我想我很接近,但我不知道我错过了什么.下面是我的两个"Draw_Sprite"方法,一个只是将先前资源加载的位图绘制到传入的画布.另一个,做一些旋转最好我知道如何旋转精灵这么多x度...然后绘制它.如果我有一个很好的游戏循环来绘制几个对象,一种类型是旋转的类型.然后非旋转的精灵闪烁,但旋转的精灵永远不会闪烁.
/*************************************************
* rotated sprite, ignore the whatever, its for ease of use and testing to have this argument list
* @param c canvas to draw on.
* @param whatever ignore
* @param rot degrees to rotate
* @return
*/
public int Draw_Sprite(Canvas c, int whatever, int rot) {
//rotating sprite
Rect src = new Rect(0, 0, width, height);
Rect dst = new Rect(x, y, x + width, y + height);
Matrix orig = c.getMatrix();
mMatrix = orig;
orig.setTranslate(0, 0); …Run Code Online (Sandbox Code Playgroud) 我正在用javascript创建一个游戏.目前精灵是div元素,背景图像被更新以创建动画.我听说如果我将元素画布并将精灵blit放到画布上,我可以使精灵可点击,省略透明区域.
我需要一个解决方案,可以点击我的游戏精灵,但可点击的区域适合精灵的形状.它还需要自动化.我不能用预制的点击地图做到这一点.
当按下箭头键时,我正在使用此代码让玩家精灵在屏幕上移动:
import pygame, sys, time
from pygame.locals import *
pygame.init()
FPS=30
fpsClock=pygame.time.Clock()
width=400
height=300
DISPLAYSURF=pygame.display.set_mode((width,height),0,32)
pygame.display.set_caption('Animation')
background=pygame.image.load('bg.png')
UP='up'
LEFT='left'
RIGHT='right'
DOWN='down'
sprite=pygame.image.load('down.png')
spritex=200
spritey=130
direction=DOWN
pygame.mixer.music.load('bgm.mp3')
pygame.mixer.music.play(-1, 0.0)
while True:
DISPLAYSURF.blit(background,(0,0))
DISPLAYSURF.blit(sprite,(spritex,spritey))
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if (event.key == K_LEFT):
spritex-=5
sprite=pygame.image.load('left.png')
elif (event.key == K_RIGHT):
spritex+=5
sprite=pygame.image.load('right.png')
elif (event.key == K_UP):
spritey-=5
sprite=pygame.image.load('up.png')
elif (event.key == K_DOWN):
spritey+=5
sprite=pygame.image.load('down.png')
pygame.display.update()
fpsClock.tick(FPS)
Run Code Online (Sandbox Code Playgroud)
图像能够实际移动,但按下按键时只能移动5个像素.我希望图像在按住键的同时保持移动(并且在窗口中添加基本的碰撞检测,但这是一个不同的问题).当按下按键时,图像会继续移动的原因是什么?
我最近一直在使用Compass和Sass做一些CSS spriting,因为它非常有用.
但是,文件名始终附加随机字符串.例如icons-s5eb424578c.png.而且我不希望附加这个随机字符串,因为这意味着每次发生更改时我都需要上传新的CSS文件和新的精灵图像.
那么,有没有人知道Compass gem目录中的哪个Ruby或其他配置文件,即附加这个随机字符串?然后我可以只为该位注释代码.除非我错过了一个官方变量,否则我可以在Compass中设置告诉它我不希望附加这个字符串?
在此先感谢任何帮助.
我是使用SpriteKit/Swift进行编码的新手,并且遇到以下问题:一个角色应该通过跳入它们来收集硬币.检测碰撞并摆脱收集的硬币是没有问题的,但是我的角色在硬币消失之前会反弹.
该角色应该通过硬币飞行并在途中收集它.
let playerCategory: UInt32 = 0x1 << 0
let coinCategory: UInt32 = 0x1 << 1
Run Code Online (Sandbox Code Playgroud)
player = SKSpriteNode(texture: playerTexture)
player.physicsBody = SKPhysicsBody(circleOfRadius: player.size.height / 2)
player.physicsBody?.dynamic = true
player.physicsBody?.allowsRotation = false
player.physicsBody?.categoryBitMask = playerCategory
player.physicsBody?.contactTestBitMask = coinCategory
var coin:SKSpriteNode = SKSpriteNode(texture: coinTexture)
coin.physicsBody = SKPhysicsBody(circleOfRadius: coin.size.height / 2)
coin.physicsBody?.dynamic = false
coin.physicsBody?.allowsRotation = false
coin.physicsBody?.categoryBitMask = coinCategory
coin.physicsBody?.contactTestBitMask = playerCategory
Run Code Online (Sandbox Code Playgroud)
func playerDidCollideWithCoin(player:SKSpriteNode, thisCoin:SKSpriteNode) {
thisCoin.removeFromParent()
coinsCollected++
}
Run Code Online (Sandbox Code Playgroud)
碰撞检测工作正常,但正如我所说,我怎样才能避免撞击并用"飞越"代替?
我正在使用Xcode 6 Beta 7
提前致谢!
以下评论中的解决方案;)
我是JavaFX的新手,我正在尝试编写一个动画2D角色穿过屏幕的游戏(例如最初的塞尔达传说游戏).我在Swing中完成了这个,通过创建我自己的Sprite类并覆盖Swing中的paintComponent()方法,然后放入我自己的g2d.drawImage(...); 在那里调用,它将正确的子帧从Sprite复制到JPanel中正确的x,y目的地,从而实现动画(行走)2D图像在屏幕上的移动.
我怎么能在JavaFX中做到这一点?我找到了关于如何创建精灵的一个很好的例子:http: //blog.netopyr.com/2012/03/09/creating-a-sprite-animation-with-javafx/ 在JavaFX中,但我该如何做PaintComponent和drawImage(...)部分?JavaFX是否有与PaintComponent等效的方法重新绘制所有内容?我试过调用primaryStage.show(); 方法,但是没有用.
我想我不清楚如何设置我的主游戏循环,触发刷新并在不同的x,y位置在场景上绘制图像?
什么是JavaFX等同于drawImage(...)方法?这种方法允许我在任何给定的x,y偏移处将源图像的一部分复制到目标场景中.这就是我在Swing中在屏幕上移动动画精灵的方法.
最好的祝福,
Zareh
我知道有很多方法可以在 HTML 中使用 SVG 精灵。我对这个日期的偏好是使用类似的东西
<div class="container">
<svg class="icon">
<title>Icon Title</title>
<use xlink:href="/svg/sprite.svg#icon"/>
</svg>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,现在我想从子域加载精灵,如下所示:
<div class="container">
<svg class="icon">
<title>Icon Title</title>
<use xlink:href="https://sub.domain.com/svg/sprite-home.svg#icon"/>
</svg>
</div>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用,因为未获取文件。我也试过<object>,但这似乎也不起作用。
到目前为止,我只能使用
<?php include_once("https://sub.domain.com/svg/sprite.svg"); ?>
Run Code Online (Sandbox Code Playgroud)
可以作为快速修复,因为这不涉及太多重构。然而,这也意味着 HTML 变得臃肿。
使用该<use>方法,精灵被缓存。但是使用该include方法,精灵不会被缓存,只会被嵌入,因此它远非理想。
有没有人使用与跨域请求和浏览器缓存兼容的 php include 方法的任何替代方法?
我正在按照教程并设置我的代码..但是当我运行它时,我会收到一条错误消息
“(索引):18 未捕获的 InvalidStateError:无法在“CanvasRenderingContext2D”上执行“drawImage”:提供的 HTMLImageElement 处于“损坏”状态。”
这是我在 indexSoccer.html 文件中运行的代码,
var ctx = document.getElementById("ctx").getContext("2d");
var Img = {};
Img.player = new Image();
Img.player.src = 'images/cat1sprite.png';
drawPlayer = function(player){
ctx.save();
var x = player.x;
var y = player.y;
ctx.drawImage(Img.player, x, y);
ctx.restore();
}
Run Code Online (Sandbox Code Playgroud)
我的目录如下所示 -
有什么想法为什么吗?
我想在图像周围绘制红色边框,但不知道如何做。
我尝试填充Hero精灵的图像并将 colorkey 设置为 red self.image.set_colorkey(red),但这会使图像不可见。
在图像上绘制一个红色矩形,将其完全填充:pygame.draw.rect(self.image, red, [0, 0, width, height])。
我只想要一个红色边框,以帮助将来进行碰撞检测。
main.py中的代码:
import pygame
from pygame import *
import sprites
from sprites import *
pygame.init()
width = 640
height = 480
color = (255, 255, 255) #white
x = 0
y = 0
speed = 3
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Mushroom")
icon = pygame.image.load('icon.bmp')
pygame.display.set_icon(icon)
sprites_list = pygame.sprite.Group()
hero = Hero('mushroom.png', 48, 48)
hero.rect.x = 200;
hero.rect.y = 300;
sprites_list.add(hero)
running = …Run Code Online (Sandbox Code Playgroud) sprite ×10
animation ×2
canvas ×2
html ×2
image ×2
javascript ×2
pygame ×2
python ×2
2d ×1
android ×1
compass-sass ×1
cross-domain ×1
css ×1
game-loop ×1
game-physics ×1
ios ×1
java ×1
javafx ×1
rotation ×1
ruby ×1
sass ×1
sprite-kit ×1
surface ×1
svg ×1
swift ×1
translation ×1
xcode6 ×1