WELCOME TO BLOGGER VQGĐC

THÂN CHÀO QUÝ BẠN
CLICK HERE TO OPEN

Tất cả hình ảnh, những hoạt động cùng cơ sở Định Chuẩn rồi cũng cùng với thời gian rơi vào khoảng không
Nếu còn gì rớt lại chỉ là những tình cảm của những con người đã một thời làm việc chung dưới một mái nhà
mà nay đả tản mác khắp bốn phương trời
Ninh Vũ / Phòng Thí Nghiệm VQGĐC

Wednesday, September 11, 2024

SMIL LÀM DI ĐỘNG HÌNH VẼ SVG

SMIL LÀM HÌNH SVG CHUYỂN ĐỘNG

SMIL nghĩa là Synchronized Multimedia Integration xuất hiện version đầu tiên vào năm 1998. Với version 2.1 năm 2005 có nhiều động tác làm di chuyển hinh SVG.

1-  animate attributeName làm di chuyển hình svg theo trục x, hoặc trục y .

2- animateMotion làm di chuyển hình svg theo tọa độ x,y .

Rất đơn giản không cần Javascript. Viết động tác làm di chuyển trong phạm vi của hình. Viết thời gian di chuyển , ấn định chỗ khởi hành và chỗ ngừng lại rồi cho lặp lại số lần di chuyển.

Muốn khởi hành và ngừng lại theo y muốn thì viết codes cho nút start và stop.

  -----------------------------------------------------------

A-XỬ DÚNG ĐỘNG TÁC animate attributeName.

Đây là thí dụ làm hình svg chuyển động trên trục x từ vị trí 60 pxels tới vị trí 160 pixels.

Hình di chuyển liên tục không ngừng lại. Muốn ngừng phải tạo nút STOP.

Thị dụ 1.

<svg  xmlns="http://www.w3.org/2000/svg" width="5000" height="3000">           

<circle cx="50" cy="150" r="20" stroke="red" fill="blue">

<animate attributeName="cx" dur="4" from="60" to="160"

repeatCount="indefinite"/>

</circle>

</svg>

Thí du 2.

<svg  xmlns="http://www.w3.org/2000/svg" width="5000" height="3000">           

  <circle cx="50" cy="150" r="20" stroke="red" fill="blue">

  <animate

   attributeName="cx"// viết riêng chữ animate

   begin="0s" dur="4" // viểt thêm chữ begin

   from="60"

   to="160"

   repeatCount="indefinite"/>

  </circle>

  </svg>

B-XỬ DỤNG ĐỘNG TÁC animateMotion

 Động tác goị là animateMotion của SMIL làm hinh svg chuỷển đông theo tọa độ từ điểm nầy sang điểm khác như sau.

Thí dụ.

 <svg  xmlns="http://www.w3.org/2000/svg" width="5000" height="3000">                 

<circle cx="50" cy="150" r="20" stroke="red" fill="blue">

<animateMotion dur="4" from="60,100" to="150,200"

repeatCount="indefinite"/>

</animateMotion>

</circle>

</svg>

Hình di chuyển liên tục không ngừng lại. Muốn ngừng phải tạo nút STOP

TẠO NÚT START VÀ STOP.

<svg  xmlns="http://www.w3.org/2000/svg" width="5000" height="3000">                     

<g id="1">

<circle cx="50" cy="150" r="20" stroke="red" fill="blue">

<animateMotion begin="B.click" end="S.click"  dur="4" from="60,100" to="150,200"

repeatCount="indefinite"/>

</circle>

        <g id="B">

        <text x="20" y="120" fill="blue">START</text></g>

        <g id="S">   

        <text x="100" y="120" fill="red">STOP</text></g>

 </g>

</svg>