我正在尝试在我的GWT应用程序中使用ClientBundle来使多个图像作为单个文件发送.我这样声明了这个包:
public interface MyResources extends ClientBundle {
public static final MyResources INSTANCE = GWT.create(MyResources.class);
@Source("icon1.png") ImageResource icon1();
@Source("icon2.png") ImageResource icon2();
}
Run Code Online (Sandbox Code Playgroud)
这在Firefox和IE8的伟大工程,但在IE7(或更早)整个精灵代替我原来的图像之一的显示出来 - 那就是,ICON1旁边旁边ICON3到ICON2,等等.在使用IE8-as-IE7模式或兼容性视图的IE8开发人员工具中,我可以看到它显示的文件名如26BEFD2399A92A5DDA54277BA550C75B.cache.png,这是我所期望的.
那么有没有办法让GWT图像精灵在IE7和更低版本中运行?如果没有,有没有办法优雅地降级,所以其他浏览器的用户获得spriting的加速,IE7和IE6用户获得看起来正确但速度较慢的东西?
编辑:该客户端包开发者指南具有使用ClientBundle和@sprite的讨论,并说:"对IE6的支持是不是在这种格式是可行的,因为对DOM结构变化是实行必要的'窗口’效应一旦它的可能.为了区分user.agent中的ie6和ie7,我们可以重新考虑对ie6的支持.在当前的实现中,ie6代码将无法正确呈现,尽管这是一个纯粹的装饰性问题.这是在我的情况下发生了什么,有没有办法解决它?显示所有图像"纯粹是一个美容问题",但它是一个非常严重的问题.
编辑2:这是我如何使用图像:
public class MyTabHeader extends Composite {
@UiField Image icon;
public MyTabHeader(String iconPath) {
initWidget(uiBinder.createAndBindUi(this));
this.icon.setUrl(iconPath);
}
}
public class MyTabPanel extends TabPanel {
public MyTabPanel() {
String icon1 = MyResources.INSTANCE.icon1().getURL();
MyTabHeader tabHeader1 = new MyWidget(icon1);
Widget tabContent1 = new HTML("Content 1");
add(tabContent1, tabHeader1);
String icon2 = MyResources.INSTANCE.icon2().getURL();
MyTabHeader tabHeader2 …Run Code Online (Sandbox Code Playgroud) 精灵是如何工作的?
我见过《超级马里奥兄弟》等老派游戏中的精灵,想知道如何将它们制作成动画来制作游戏。
它们总是以一张大图像图的形式呈现,那么它们是如何使用的呢?
对于马里奥(作为示例),是否有预先计算的图像坐标来勾画马里奥的轮廓,并在各种马里奥精灵之间交换以生成动画?
或者是在游戏初始化期间使用预先计算的图像坐标预先“剪切”精灵并将其存储在内存中的某处?
显然我对游戏开发一无所知。
我需要放置一个48x48的图标作为背景.我的图像精灵中有这个图标,当然还有很多其他图像.
有没有办法只显示图像的背景?
谢谢
编辑:有没有办法在不设置背景元素的宽度高度的情况下做到这一点?(我不确定我是否可以设置宽度 - 高度)
Edit2:这就是我需要的:http://jsfiddle.net/pdxnj/
谢谢
我正在使用Compass来创建精灵.正在创建精灵,但css输出指向images目录的错误位置.
输出是:
.menu-sprite, .menu-about, .menu-art, .menu-drum, .menu-links,
.menu-music, .menu-science, .menu-writing {
background: url('/images/menu-sb7e36b009c.png') no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
但我希望它是:
.menu-sprite, .menu-about, .menu-art, .menu-drum, .menu-links,
.menu-music, .menu-science, .menu-writing {
background: url('images/menu-sb7e36b009c.png') no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
这是我的confib.rb设置:
http_path = "/"
css_dir = "."
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "js"
Run Code Online (Sandbox Code Playgroud)
这是我如何在我的scss文件中调用sprite:
@import "compass/utilities/sprites/base";
@import "menu/*.png";
@include all-menu-sprites;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?如何在图像前删除第一个斜杠?
谢谢你的帮助.
我只想使用 CSS在精灵图像的“背景位置”之间淡入淡出。我找到了很多教程,但没有找到像这样简单的东西:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS3 - Fade between 'background-position' of a sprite image</title>
<style type="text/css">
div{
width: 120px;
height: 60px;
background-image: url('sprite.jpg');
background-repeat: no-repeat;
background-position: 0 0;
}
div:hover{
background-position: 0 -60px;
}
</style>
</head>
<body>
<div></div>
</html>
Run Code Online (Sandbox Code Playgroud)
谢谢你。
我想做的是防止我的精灵在我正在编写的游戏中超出边界。它应该非常简单,这是我的程序到目前为止所做的一些伪代码。
rect = my_sprite_img.get_rect()
while (1)
if keydown = left:
direction = [-30,0]
elif keydown = right:
direction = [30,0]
rect = rect.move(direction)
screen.blit(mysprite_img, rect)
Run Code Online (Sandbox Code Playgroud)
再说一次,这不是我真正的代码,只是一个超级简单的例子。我想做的就是说
“如果 rect.position.x < 0 :不要向左移动”
是否有一个内置函数可以为我提供矩形的坐标,因为我无法通过查看http://www.pygame.org/docs/ref/rect.html找到一个
提前致谢。
在充满 2D 透明精灵的 2D 游戏中我应该使用什么。
所有建议表示赞赏。下面的例子。
我要提到的是,我正在使用 Unity 来制作这款游戏,并且它必须在移动设备上尽可能快地运行。但答案不必与 Unity 相关。
有没有办法(使用 css)在最后一步后暂停精灵一秒或多秒?我试图再添加一个步骤或从 80% 到 100% 的相同 bg 位置,但它没有用。
.sprite {
animation: anim 2000ms steps(16) infinite;
background: url(http://i.imgur.com/9FprJ5C.png) left center no-repeat;
height: 45px;
width: 90px;
}
@keyframes anim {
0% {
background-position: 0px 0;
}
80% {
background-position: -1440px 0px;
}
100% {
background-position: -1440px 0px;
}
}Run Code Online (Sandbox Code Playgroud)
<div class="sprite"></div>Run Code Online (Sandbox Code Playgroud)
我在 Three js 中使用 sprites 来显示 2d 图像,我遇到的问题是它们旋转以面对相机。
我正在尝试使用它来为 3d 对象伪造阴影。当我旋转相机时,3d 物体会随着相机倾斜,直到它与水平面成 30 度角,但它的阴影(2d 精灵)仍然是 0 度。
如何禁用精灵的自动旋转,或者是否有另一种解决方案可以在三个 js 中预览 2d 图像以使其看起来像 3d 对象?