一些高流量网站似乎有几乎疯狂的精简图像,几乎所有东西都在一个大图像中.
这对高流量站点和长期维护难度有多大影响?
我知道这可能是一段"字符串有多长"的问题,但我有兴趣了解人们从这种练习中获得的性能提升的经验.
我正在制作精灵,它的高度达到了约4000像素.在图形设计社区中使用的最大精灵高度是否有一般尺寸?
我决定为我的整个网站创建一个精灵表(+ -30图像),这样我就可以加载1个图像并只引用位置,这样可以减少图像加载时间和服务器调用.
我的问题:是否可以在精灵表中引用图像,然后将该图像调整为其父容器的100%?
所以例如:
#SomeDiv
{
background: url("/Content/Images/SpriteSheet.png") -125px 0 no-repeat;
width:100px;
}
Run Code Online (Sandbox Code Playgroud)
我的div的宽度是100px,但我要引用的精灵是20px(例如) - 我怎样才能将提取的精灵拉伸到100px?
此致,Byron Cobb.
如何在特定位置移动对象.
举些例子.我有一个小条(宽= 50,高= 10).我必须手动移动这个柱塞.我想只在x cordinates中移动(限制是x = 20(起始点)到x = 50(终点))y坐标上没有移动.但是在病房没有动静的情况下它移动了50到10.
编码:-
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (isPlaying) {
UITouch *touch = [[event allTouches] anyObject];
touchPosition = [touch locationInView:touch.view];
if ( CGRectContainsPoint(para3.boundingBox,touchPoint)
isDragging = YES;
touchOffset = para3.position.y - touchPosition.y;
}
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
if (isPlaying) {
UITouch *touch3 = [[event allTouches] anyObject];
float distanceMoved =
([touch3 locationInView:touch3.view].y + touchOffset) -
para3.position.y;
float newY = para3.position.y + distanceMoved;
if (newY > 67 && newY < 99)
para3.position …Run Code Online (Sandbox Code Playgroud) 我正在寻找一些关于最佳结构的CSS大师建议.我正在水平'列表'上实现精灵而不是图标.当前的HTML就像:
<a href="link"><img src="icon" /></a><a href="link_b"><img src="icon"/></a>
Run Code Online (Sandbox Code Playgroud)
等等
所以我用精灵替换.我正在使用
<a href="link" class="sprite_img_a"></a><a href="link_b" class="sprite_img_b"></a>
Run Code Online (Sandbox Code Playgroud)
但要做到这一点,我给标签内联块和宽度.我从来不喜欢内联块,看起来很笨重.
有更好的选择吗?(嵌套span,div包装器?)
我无法获得"背景位置"CSS来定位图像的特定部分,我已设置位置并可以加载所有图像,但指定的区域不显示.到目前为止我写的这段代码无济于事:
<head>
<style type="text/css">
ul#links {
list-style: none;
}
ul#links li a{
float: left;
padding: 40px;
background: url('http://static.tumblr.com/wgijwsy/ixYlr91ax/sprite_colored.png') no-repeat;
}
#customlink {
width: 24px;
height: 24px;
background-position: -0px -0px ;
background-repeat: no-repeat;
}
#rss {
width: 24px;
height: 24px;
background-position: -24px -0px;
background-repeat:no-repeat;
}
#facebook {
width: 24px;
height: 24px;
background-position: -0px -24px;
background-repeat:no-repeat;
}
#flickr {
width: 24px;
height: 24px;
background-position: -24px -24px;
background-repeat:no-repeat;
}
#twitter {
width: 24px;
height: 24px;
background-position: -0px -48px;
background-repeat:no-repeat;
}
#linkedin {
width: …Run Code Online (Sandbox Code Playgroud) 我想为我的游戏节省内存,我想问你,因为我找不到任何东西,上次我问了一些问题,我得到了一个很好的答案.我可以在eclipse中翻转位图,这样我可以节省精灵的内存吗?我发现的所有教程都是关于旋转而不是翻转.翻转位图的教程仅适用于开放式Gl或类似的东西.请帮我.我一直在寻找谷歌的教程,但我在第5页放弃了.任何人都可以帮助我吗?有没有人有一个很好的教程?顺便说一句,我正在使用画布.谢谢!
每当我试图运行它时,我都会收到一个力量......你可以搞清楚吗?这是我的代码:
Matrix flipHorizontalMatrix = new Matrix();
flipHorizontalMatrix.setScale(-1,1);
flipHorizontalMatrix.postTranslate(0, canvas.getHeight()-arrowL.getHeight());
canvas.drawBitmap(arrowL, flipHorizontalMatrix, null);
Run Code Online (Sandbox Code Playgroud)
我希望箭头位于右下角.
我正在尝试从纹理图集中绘制一个由较小的瓷砖组成的基本2d地面网格(请注意1像素透明边框):

我使用以下代码将tile渲染为纹理四边形:
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, m_texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_SHORT, 0, &m_coords[0]);
glTexCoordPointer(2, GL_FLOAT, 0, &m_uvs[0]);
glDrawArrays(GL_TRIANGLES, 0, m_coords.size() / 2);
glBindTexture(GL_TEXTURE_2D, 0);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisable(GL_TEXTURE_2D);
Run Code Online (Sandbox Code Playgroud)
这些位置显然是整数坐标.角的UV坐标计算如下:
u0 = float(x) / float(texWidth);
v0 = float(y) / float(texHeight);
u1 = float(x+w) / float(texWidth);
v1 = float(y+h) / float(texHeight);
Run Code Online (Sandbox Code Playgroud)
其中w和h是没有填充的瓷砖的大小.
当模型视图变换被捕捉到整数位置(右)时看起来很棒,但是当它开始移动时,我会在图块之间得到黑色东西(左):

根据我的理解,我应该用半个纹素偏移UV坐标以使其工作,但是如果我将UV计算更改为:
u0 = float(x+0.5f) / float(texWidth);
v0 = float(y+0.5f) / float(texHeight);
u1 = float(x+w-0.5f) / float(texWidth);
v1 = float(y+h-0.5f) / float(texHeight);
Run Code Online (Sandbox Code Playgroud)
它仍然无法正常工作.这是正确的方法吗?我需要混合才能使用吗?如果我偏移了瓷砖以确保它们被捕捉到像素网格它可以工作,但这会使它在移动缓慢时快速捕捉.人们通常如何解决这个问题?
编辑
我应该说它是在iphone上.
我是全新的,有一个问题.我在学校和家里做过锻炼,但我无法弄清楚该怎么做.
问题是我想在屏幕上的10个随机位置绘制一个精灵,而不使用特殊的精灵类.我的问题是他们被吸引后会再次消失.
解决了它,感谢所有的帮助!
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Texture2D turtleTexture;
int counter = 0;
Random randomera = new Random();
int x;
int y;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
base.Initialize();
}
/// <summary>
/// </summary>
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
turtleTexture = Content.Load<Texture2D>(@"Images/turtle_50x38");
}
protected override void UnloadContent()
{
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit(); …Run Code Online (Sandbox Code Playgroud) 我正在学习游戏开发,我正在尝试从一些我喜欢玩的游戏中提取一些资源,我这样做只是为了更多地了解精灵和资源组织.问题是每个游戏我提取的图像都带有某种问题,有时只是不打开,有时我可以打开图像,但我只看到一些像素.
在apk市场中是否使用了任何资源保护?有没有办法提取和看到这些精灵表?
请记住,我这样做仅仅是为了学习目的,我不会在任何游戏或项目中使用它!
感谢您的帮助,并有一个美好的一天球员:).
sprite ×10
css ×5
android ×2
css-sprites ×2
html ×2
iphone ×2
2d ×1
apk ×1
c# ×1
canvas ×1
flip ×1
objective-c ×1
opengl-es ×1
performance ×1
position ×1
random ×1
sprite-sheet ×1
textures ×1
xna ×1