Làm cách nào tôi có thể chia tỷ lệ hình ảnh trong sprite CSS


157

Trong bài viết này, http://css-tricks.com/css-sprites/ , nó nói về cách tôi có thể cắt một hình ảnh nhỏ hơn từ 1 hình ảnh lớn hơn. Bạn có thể vui lòng cho tôi biết nếu có thể / làm cách nào tôi có thể cắt bỏ một hình ảnh nhỏ hơn và sau đó thu nhỏ vùng bị cắt trước khi tôi đặt nó ra không?

Đây là một ví dụ từ bài viết đó:

A
{
  background-image: url(http://www.jaredhirsch.com/coolrunnings/public_images/3deb155981/spriteme1.png);
  background-position: -10px -56px;
}

Tôi muốn biết làm thế nào tôi có thể chia tỷ lệ hình ảnh đó sau khi tôi cắt nó từ spriteme1.png

Đây là URL của ví dụ: http://css-tricks.com/examples/CSS-Sprites/Example1After/

Vì vậy, tôi muốn biết liệu tôi có thể làm cho các biểu tượng bên cạnh Item1,2,3,4 nhỏ hơn không?


Như Stephen đã hỏi, có điều gì ngăn bạn hiển thị hình ảnh ở kích thước bạn muốn chúng ở vị trí đầu tiên không?
Paul D. Chờ

4
Tôi đã kết thúc trên trang này vì tôi đang tìm kiếm một câu trả lời cho điều tương tự. Trong thế giới ngày nay với màn hình retina độ nét cao, thông thường sẽ xây dựng hình ảnh có kích thước gấp đôi so với mức cần thiết và sau đó sử dụng các giá trị chiều cao / chiều rộng trong các thuộc tính <img> hoặc kiểu CSS để giảm một nửa chiều cao / chiều rộng khi hiển thị. Điều này đảm bảo hiển thị rõ nét trên điện thoại thông minh và máy tính bảng. Nhưng các sprite PNG là tuyệt vời để lưu trữ và kết xuất nhanh chóng. Tốt nhất là không chỉ sử dụng một sprite của hình ảnh 2x, mà sau đó thu nhỏ nó thành một kích thước làm cho nó trông cũng rõ nét.
Art Geigel

Vì câu hỏi ban đầu không bao giờ có câu trả lời được chấp nhận và có một giải pháp tương thích khá gọn gàng và lạc hậu, tôi đã tạo một phiên bản Codepen Stretchy mới, vì trang web gốc không còn trực tuyến nữa và vẫn còn một số người cần phải lạc hậu giải pháp tương thích. Tôi đã thực hiện Bút với sự ghi nhận của tác phẩm / tác giả gốc.
Tất cả các bit bằng nhau

Câu trả lời:


131

Bạn có thể sử dụng kích thước nền , vì nó được hỗ trợ bởi hầu hết các trình duyệt (nhưng không phải tất cả http://caniuse.com/#search=background-size )

background-size : 150% 150%;

Hoặc là

Bạn có thể sử dụng kết hợp thu phóng cho webkit / tức là và biến đổi: tỷ lệ cho Firefox (-moz-) và Opera (-o-) cho máy tính để bàn và thiết bị di động chéo

[class^="icon-"]{
    display: inline-block;
    background: url('../img/icons/icons.png') no-repeat;
    width: 64px;
    height: 51px;
    overflow: hidden;
    zoom:0.5;
    -moz-transform:scale(0.5);
    -moz-transform-origin: 0 0;
}

.icon-huge{
    zoom:1;
    -moz-transform:scale(1);
    -moz-transform-origin: 0 0;
}

.icon-big{
    zoom:0.60;
    -moz-transform:scale(0.60);
    -moz-transform-origin: 0 0;
}

.icon-small{
    zoom:0.29;
    -moz-transform:scale(0.29);
    -moz-transform-origin: 0 0;
}

3
Hoạt động tốt trong Chrome, hoạt động tốt trong FF, IE9 / 10. Tạo hiệu ứng mong muốn cho hầu hết các phần.
RCNeil

Sử dụng (ví dụ) kích thước nền: 15%; hoạt động hoàn hảo cho các họa tiết trong khi vẫn giữ tỷ lệ khung hình chính xác. Đó là một giải pháp đơn giản để sử dụng với các điểm dừng trên các trang web đáp ứng.
C13L0

1
thuộc tính kích thước nền không hoạt động cho sprite svg của tôi với chiều cao và chiều rộng cố định, tuy nhiên tỷ lệ đã làm khó.
Andre

Để thêm hỗ trợ cho IE8, hãy sử dụng thuộc tính -ms-zoom làm từ đồng nghĩa để phóng to ở chế độ Tiêu chuẩn IE8. -ms-zoom: 0,7; Xem liên kết dưới đây để biết thêm chi tiết: msdn.microsoft.com/en-us/l Library / ms531189 (v = vs85) .aspx
Amr

2
Cập nhật 2017: kích thước nền được hỗ trợ bởi tất cả các trình duyệt chính, bao gồm IE9 +. caniuse.com/#search=background-size
Nathan Hinchey

29

Khi bạn sử dụng các họa tiết, bạn bị giới hạn kích thước của hình ảnh trong sprite. Các background-sizethuộc tính CSS, được đề cập bởi Stephen, không được hỗ trợ rộng rãi được nêu ra và có thể gây ra vấn đề với các trình duyệt như IE8 và dưới đây - và được thị phần của mình, đây không phải là một lựa chọn khả thi.

Một cách khác để giải quyết vấn đề là sử dụng hai yếu tố và chia tỷ lệ sprite bằng cách sử dụng nó với một imgthẻ, như thế này:

<div class="sprite-image"
     style="width:20px; height:20px; overflow:hidden; position:relative">
    <!-- set width/height proportionally, to scale the sprite image -->
    <img src="sprite.png" alt="icon"
         width="20" height="80"
         style="position:absolute; top: -20px; left: 0;" />
</div>

Bằng cách này, phần tử bên ngoài ( div.sprite-image) đang cắt hình ảnh 20x20px từ imgthẻ, hoạt động như một tỷ lệ background-image.


2
Giống như cletus và Quentin statet ở đây , đây có thể không phải là cách tiếp cận tốt nhất. Đối với tôi đó là một công cụ giải quyết - tôi cần chỉ định srcbằng css.
Jook

-1: Bạn không thể trộn các yếu tố trình bày với nội dung / dữ liệu. <img>chỉ nên được sử dụng nếu nó là một phần của nội dung. Đối với mục đích thiết kế, hình ảnh nền là phải.
Shahriyar Imanov

Câu trả lời hay nhất (a) hoạt động phổ biến, (b) có thể hiểu được bởi con người, (c) ngắn gọn, ... (z) tách phần trình bày khỏi nội dung.
Bob Stein

18

Hãy thử điều này: Stretchy Sprites - Trình duyệt chéo, thay đổi kích thước / kéo dài hình ảnh sprite CSS

Phương pháp này chia tỷ lệ 'phản hồi' sao cho chiều rộng / chiều cao điều chỉnh theo kích thước cửa sổ trình duyệt của bạn. Nó không sử dụng background-size như hỗ trợ cho điều này trong các trình duyệt cũ hơn là không tồn tại.

CSS

.stretchy {display:block; float:left; position:relative; overflow:hidden; max-width:160px;}
.stretchy .spacer {width: 100%; height: auto;}
.stretchy .sprite {position:absolute; top:0; left:0; max-width:none; max-height:100%;}
.stretchy .sprite.s2 {left:-100%;}
.stretchy .sprite.s3 {left:-200%;}

HTML

<a class="stretchy" href="#">
  <img class="spacer" alt="" src="spacer.png">
  <img class="sprite" alt="icon" src="sprite_800x160.jpg">
</a>
<a class="stretchy s2" href="#">
  <img class="spacer" alt="" src="spacer.png">
  <img class="sprite" alt="icon" src="sprite_800x160.jpg">
</a>
<a class="stretchy s3" href="#">
  <img class="spacer" alt="" src="spacer.png">
  <img class="sprite" alt="icon" src="sprite_800x160.jpg">
</a>

3
Liên kết không thực sự giải thích lý thuyết ở đây. Bạn đang sử dụng div với tràn: ẩn dưới dạng vùng cắt / cửa sổ phía trên đầu bằng cách sử dụng phiên bản thu nhỏ của hình ảnh sprite. Đó là lý do tại sao nó không sử dụng hình ảnh nền. Chỉ cần một lớp trên lớp khác như một mặt nạ.
Simon

1
spacer phải là một hình ảnh hoặc một div đơn giản có thể được sử dụng thay thế?
isapir

4
Dưới đây là một ví dụ CodePen về điều này. Nó dường như chỉ hoạt động cho các sprite ngang hoặc dọc. Không lưới.
Wernight

Tôi đã tạo một phiên bản Codepen Stretchy mới, vì trang web ban đầu không còn trực tuyến nữa và vẫn còn một số người cần một giải pháp tương thích ngược. Tôi đã thực hiện Bút với sự ghi nhận của tác phẩm / tác giả gốc
All Bits Equal

10

transform: scale(); sẽ làm cho yếu tố ban đầu bảo tồn kích thước của nó.

Tôi tìm thấy lựa chọn tốt nhất là sử dụng vw. Nó hoạt động như một bùa mê:

https://jsfiddle.net/tomekmularchot/6ebv9Lxw/1/

#div1,
#div2,
#div3 {
  background:url('//www.google.pl/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png') no-repeat;
  background-size: 50vw;   
  border: 1px solid black;
  margin-bottom: 40px;
}

#div1 {
  background-position: 0 0;
  width: 12.5vw;
  height: 13vw;
}
#div2 {
  background-position: -13vw -4vw;
  width: 17.5vw;
  height: 9vw;
  transform: scale(1.8);
}
#div3 {
  background-position: -30.5vw 0;
  width: 19.5vw;
  height: 17vw;
}
<div id="div1">
  </div>
  <div id="div2">
  </div>
  <div id="div3">
  </div>


Xin chào điều này không trả lời câu hỏi. Bạn nên hiển thị ba div với tỷ lệ khác nhau của cùng một hình ảnh. Trong vài từ, nó sẽ hiển thị các kích cỡ khác nhau của "phông chữ". Bạn có thể sửa nó không?
Robert

xin chào @Robert. Làm thế nào bây giờ?
Tomasz Mularchot

PS bạn có nhận thấy hành vi sử dụng đơn vị đo lường của VW không?
Robert

Tôi không chắc, ý bạn là gì?
Tomasz Mularchot

VW VH được chia tỷ lệ với kích thước khung nhìn. Tôi chưa bao giờ sử dụng chúng cho đến bây giờ. Nó chỉ là một sự tò mò về kinh nghiệm của bạn khi sử dụng chúng. Có phải chúng rất "kỳ diệu" hoặc có vấn đề cần xem xét (hành vi bất ngờ) trong một số tình huống bạn có thể nhận thấy? cảm ơn bạn
Robert

7

Đây là những gì tôi đã làm để làm điều này. Hãy nhớ rằng nó sẽ không hoạt động trên IE8 trở xuống.

#element {
  width:100%;
  height:50px;
  background:url(/path/to/image.png);
  background-position:140.112201963534% 973.333333333333%;
}

Chiều rộng của hình nền sẽ giảm xuống theo #elementtỷ lệ gốc. Bạn cũng có thể làm tương tự với chiều cao của nó, nếu bạn chuyển đổi heightthành tỷ lệ phần trăm. Một chút khó khăn duy nhất là tìm ra tỷ lệ phần trăm cho background-position.

Tỷ lệ phần trăm đầu tiên là chiều rộng của vùng được nhắm mục tiêu của sprite khi ở chiều rộng bình thường chia cho tổng chiều rộng của sprite và nhân với 100.

Tỷ lệ phần trăm thứ hai là chiều cao của vùng được nhắm mục tiêu của sprite trước khi được chia tỷ lệ chia cho tổng chiều cao của sprite và nhân với 100.

Từ ngữ về hai phương trình này hơi cẩu thả, vì vậy hãy cho tôi biết nếu bạn cần tôi giải thích rõ hơn.


6

Điều này dường như làm việc cho tôi.

Nếu các sprite nằm trong lưới, đặt background-sizesố lượng sprite lên 100% và 100% số sprite xuống. Sau đó sử dụng background-position -<x*100>% -<y*100>%trong đó x và y là sprite dựa trên zero

Nói cách khác, nếu bạn muốn sprite thứ 3 từ bên trái và hàng thứ 2 thì 2 trên và 1 trở xuống

background-position: -200% -100%;

Ví dụ: đây là một sprite 4x2 sprite

nhập mô tả hình ảnh ở đây

Và đây là một ví dụ

div {
  margin: 3px;
  display: inline-block;
}
.sprite {
  background-image: url('https://i.stack.imgur.com/AEYNC.png');
  background-size: 400% 200%;  /* 4x2 sprites so 400% 200% */
}
.s0x0 { background-position:    -0%   -0%; }
.s1x0 { background-position:  -100%   -0%; }
.s2x0 { background-position:  -200%   -0%; }
.s3x0 { background-position:  -300%   -0%; }
.s0x1 { background-position:    -0%  -100%; }
.s1x1 { background-position:  -100%  -100%; }
.s2x1 { background-position:  -200%  -100%; }
.s3x1 { background-position:  -300%  -100%; }
<div class="sprite s3x1" style="width: 45px; height:20px"></div>
<div class="sprite s3x1" style="width: 128px; height:30px"></div>
<div class="sprite s3x1" style="width: 64px; height:56px"></div>
<div class="sprite s2x1" style="width: 57px; height:60px"></div>
<div class="sprite s3x0" style="width: 45px; height:45px"></div>
<div class="sprite s0x1" style="width: 12px; height:100px"></div>

<br/>
<div class="sprite s0x0" style="width: 45px; height:20px"></div>
<div class="sprite s1x0" style="width: 128px; height:45px"></div>
<div class="sprite s2x0" style="width: 64px; height:56px"></div>
<div class="sprite s3x0" style="width: 57px; height:60px"></div>
<br/>
<div class="sprite s0x1" style="width: 45px; height:45px"></div>
<div class="sprite s1x1" style="width: 12px; height:50px"></div>
<div class="sprite s2x1" style="width: 12px; height:50px"></div>
<div class="sprite s3x1" style="width: 12px; height:50px"></div>

Nếu các họa tiết có kích thước khác nhau, bạn cần đặt background-sizecho mỗi sprite thành phần trăm sao cho chiều rộng của sprite trở thành 100%

Nói cách khác, nếu hình ảnh rộng 640px và sprite bên trong hình ảnh đó rộng 45px thì để có được 45px đó là 640px

xScale = imageWidth / spriteWidth
xScale = 640 / 45
xScale = 14.2222222222
xPercent = xScale * 100
xPercent = 1422.22222222%

Sau đó, bạn cần đặt bù. Sự phức tạp của phần bù là 0% được căn trái và 100% được căn phải.

nhập mô tả hình ảnh ở đây

Là một lập trình viên đồ họa, tôi mong muốn phần bù 100% sẽ di chuyển nền 100% qua phần tử, nói cách khác là hoàn toàn ở phía bên phải nhưng đó không phải là ý nghĩa 100% khi được sử dụng backgrouhnd-position. background-position: 100%;có nghĩa là liên kết đúng. Vì vậy, forumla đã tính đến điều đó sau khi nhân rộng

xOffsetScale = 1 + 1 / (xScale - 1)              
xOffset = offsetX * offsetScale / imageWidth

Giả sử độ lệch là 31px

xOffsetScale = 1 + 1 / (14.222222222 - 1)
xOffsetScale = 1.0756302521021115
xOffset = offsetX * xOffsetScale / imageWidth
xOffset = 31 * 1.0756302521021115 / 640
xOffset = 0.05210084033619603
xOffsetPercent = 5.210084033619603

Đây là hình ảnh 640x480 với 2 họa tiết.

  1. ở 31x 27y size 45w 32h
  2. ở kích thước 500x 370y 105w 65h

nhập mô tả hình ảnh ở đây

Theo toán học ở trên cho sprite 1

xScale = imageWidth / spriteWidth
xScale = 640 / 45
xScale = 14.2222222222
xPercent = xScale * 100
xPercent = 1422.22222222%

xOffsetScale = 1 + 1 / (14.222222222 - 1)
xOffsetScale = 1.0756302521021115
xOffset = offsetX * xOffsetScale / imageWidth
xOffset = 31 * 1.0756302521021115 / 640
xOffset = 0.05210084033619603
xOffsetPercent = 5.210084033619603

yScale = imageHeight / spriteHEight
yScale = 480 / 32
yScale = 15
yPercent = yScale * 100
yPercent = 1500%

yOffsetScale = 1 + 1 / (15 - 1)
yOffsetScale = 1.0714285714285714
yOffset = offsetY * yOffsetScale / imageHeight
yOffset = 27 * 1.0714285714285714 / 480
yOffset = 0.06026785714285714
yOffsetPercent = 6.026785714285714

div {
  margin: 3px;
  display: inline-block;
}
.sprite {
  background-image: url('https://i.stack.imgur.com/mv9lJ.png');
}
.s1 {
  background-size:      1422.2222% 1500%;
  background-position:  5.210084033619603% 6.026785714285714%;
}
.s2 {
  background-size:      609.5238095238095% 738.4615384615385%;
  background-position:  93.45794392523367% 89.1566265060241%;
}
<div class="sprite s1" style="width: 45px; height:20px"></div>
<div class="sprite s1" style="width: 128px; height:30px"></div>
<div class="sprite s1" style="width: 64px; height:56px"></div>
<div class="sprite s1" style="width: 57px; height:60px"></div>
<div class="sprite s1" style="width: 45px; height:45px"></div>
<div class="sprite s1" style="width: 12px; height:50px"></div>
<div class="sprite s1" style="width: 50px; height:40px"></div>
<hr/>
<div class="sprite s2" style="width: 45px; height:20px"></div>
<div class="sprite s2" style="width: 128px; height:30px"></div>
<div class="sprite s2" style="width: 64px; height:56px"></div>
<div class="sprite s2" style="width: 57px; height:60px"></div>
<div class="sprite s2" style="width: 45px; height:45px"></div>
<div class="sprite s2" style="width: 12px; height:50px"></div>
<div class="sprite s2" style="width: 50px; height:40px"></div>


Làm thế nào bạn tính toán các giá trị cho offsetX và offsetY?
TryHarder

5

Bài đăng cũ, nhưng đây là những gì tôi đã sử dụng background-size:cover;(hat hat to @Ceylan Pamir) ...

VÍ DỤ SỬ DỤNG Công cụ
flipper vòng tròn ngang (di chuột trên hình ảnh mặt trước, lật sang phía sau với hình ảnh khác nhau).

VÍ DỤ XUÂN
480px x 240px

VÍ DỤ KÍCH THƯỚC CUỐI CÙNG
Hình ảnh đơn @ 120px x 120px

MÃ CHUNG
.front {width:120px; height:120px; background:url(http://www.example.com/images/image_240x240.png); background-size:cover; background-repeat:no-repeat; background-position:0px 0px;}

.back {width:120px; height:120px; background:url(http://www.example.com/images/image_240x240.png); background-size:cover; background-repeat:no-repeat; background-position:-120px 0px;}

FIDDLE TRƯỜNG HỢP VIỄN THÔNG
http://jsfiddle.net/zuhloobie/133esq63/2/


4

hãy thử sử dụng kích thước nền: http://webdesign.about.com/od/styleproperIES/p/blspbgsize.htmlm

Có điều gì ngăn bạn hiển thị hình ảnh ở kích thước bạn muốn chúng ở vị trí đầu tiên không?


Tôi có thể sử dụng kết hợp JavaScript và CSS để giải quyết vấn đề này không? Tôi đã thử kích thước nền; bất động sản. Tôi không thể làm cho nó hoạt động. Nó không mở rộng hình ảnh vì một số lý do.
michael

1
background-sizelà CSS 3 và chưa được hỗ trợ rộng rãi.
janmoesen

4
Nó được hỗ trợ bởi hầu hết các phiên bản trình duyệt bây giờ. Kiểm tra caniuse.com/#search=background-size
kiranvj

4

Phải mất một thời gian để tạo ra một giải pháp cho vấn đề này, tôi rất hài lòng với:

Vấn đề:

  • Một biểu tượng SVG của biểu tượng - giả sử 80px x 3200px

  • Chúng tôi muốn chia tỷ lệ mỗi lần sử dụng chúng trong các bộ chọn nội dung (: trước /: sau) ở nhiều nơi trên các kích cỡ khác nhau mà không xác định lại các đồng quỹ của mỗi sprite dựa trên kích thước được sử dụng.

Vì vậy, giải pháp này cho phép bạn sử dụng cùng một sprite đồng ords trong một <button>như một <menuitem>trong khi vẫn mở rộng quy mô nó.

[data-command]::before {
    content: '';
    position: absolute;
    background-image: url("images/sprite.svgz");
    background-repeat: no-repeat;
    background-size: cover;
}

button[data-command]::before {
  width: 32px;
  height: 32px;
}

menuitem[data-command]::before {
  width: 24px;
  height: 24px;
}

[data-command="cancel"]::before {
  background-position: 0% 35%;
}

[data-command="logoff"]::before {
  background-position: 0% 37.5%;
}

Bằng cách sử dụng tỷ lệ phần trăm (đến 2 vị trí thập phân) ở vị trí nền thay vì kích thước nền như được đề xuất bởi những người khác ở đây, bạn có thể chia tỷ lệ khai báo biểu tượng tương tự thành bất kỳ kích thước nào mà không cần phải kê khai lại.

Tỷ lệ vị trí-y là chiều cao / chiều cao biểu tượng gốc là% - trong trường hợp của chúng tôi ở đây là 80px * 100/3200px == mỗi sprite được biểu thị bằng vị trí y là 2,5%.

Nếu bạn có trạng thái di chuột / di chuột, bạn có thể tăng gấp đôi chiều rộng của sprite và chỉ định trong tọa độ vị trí-x.

Nhược điểm của phương pháp này là việc thêm nhiều biểu tượng vào một ngày sau đó sẽ thay đổi chiều cao sprite và vị trí y%, nhưng nếu bạn không làm điều đó thì tọa độ sprite của bạn sẽ cần thay đổi cho mỗi độ phân giải bạn yêu cầu.


2

Vâng, tôi nghĩ đã tìm thấy một giải pháp đơn giản hơn để thu nhỏ hình ảnh: ví dụ - giả sử có một hình ảnh với 3 họa tiết có kích thước bằng nhau mà bạn muốn sử dụng, sử dụng CSS để chia tỷ lệ hình ảnh

background-size : 300% 100%;

và sau đó chỉ định chiều cao và chiều rộng tùy chỉnh cần được áp dụng cho phần tử html của bạn, ví dụ:

 width :45%;
 height:100px;

Một mã mẫu sẽ trông giống như thế này:

.customclass {
    background: url("/sample/whatever.png") 0 0 no-repeat ;
    background-size : 300% 100%;
    width :45%;
    height:100px;
}

Tôi khá mới với css và kiểu dáng không phải là lĩnh vực tốt nhất của tôi, đây có thể là một cách làm sai .. nhưng nó hoạt động với tôi trong Firefox / Chrome / Explorer 10, hy vọng nó cũng hoạt động trong các phiên bản cũ hơn ..


2

Sử dụng transform: scale(...);và thêm kết hợp margin: -...pxđể bù không gian trống từ tỷ lệ. (bạn có thể sử dụng * {outline: 1px solid}để xem ranh giới phần tử).


2

2018 đây. Sử dụng kích thước nền với tỷ lệ phần trăm.

TẤM:

Điều này giả định một hàng duy nhất của sprite. Chiều rộng của trang tính của bạn phải là một số chia hết cho 100 + chiều rộng của một sprite . Nếu bạn có 30 họa tiết có kích thước 108x108 px, thì hãy thêm khoảng trống vào cuối để tạo chiều rộng cuối cùng 5508px (50 * 108 + 108).

CSS:

.icon{
    height: 30px;  /* Set this to anything. It will scale. */
    width: 30px; /* Match height. This assumes square sprites. */
    background:url(<mysheeturl>);
    background-size: 5100% 100%; /*  5100% because 51 sprites. */
}

/* Each image increases by 2% because we used 50+1 sprites. 
   If we had used 20+1 sprites then % increase would be 5%. */

.first_image{
    background-position: 0% 0;
}

.ninth_image{
    background-position: 16% 0; /* (9-1) x 2 = 16 */
}

HTML:

<div class ="icon first_image"></div>
<div class ="icon ninth_image"></div>


0

Đặt chiều rộng và chiều cao thành phần tử bao bọc của hình ảnh sprite. Sử dụng css này.

{
    background-size: cover;
}

1
Tôi không hiểu tại sao điều này lại bị bỏ phiếu. Đã làm cho tôi. Sẽ đăng phương pháp của tôi như là một câu trả lời.
chris

Tôi đồng ý với chris ở đây. Điều này cũng giải quyết vấn đề trong trường hợp của tôi. Không chắc chắn tại sao nó bị hạ cấp!
ShellZero

3
Nó không hoạt động với sprite (nhìn vào tiêu đề câu hỏi), đó là lý do tại sao giải pháp này bị hạ cấp.
Dimko Desu

-8

Dễ dàng ... Sử dụng hai bản sao của cùng một hình ảnh với tỷ lệ khác nhau trên trang tính của sprite. Đặt Coords và kích thước trên logic của ứng dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.