рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдХреНрд╢рд╛ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛:
- рдЪрд┐рдХрдиреА рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ
- рдирдХреНрд╢рд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдХрдИ рджрд┐рди рдмрд┐рддрд╛рдиреЗ рдкрдбрд╝реЗред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдмрд╕ рдЧрдпрд╛ред
рдореИрдВрдиреЗ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ, рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ
рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛, рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирдХреНрд╢реЗ рдХреА рдЧрддрд┐, рд╕реНрдкрд╕реНрдореЛрдбрд┐рдХ рдереЗред
рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдореИрдВрдиреЗ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛, рдФрд░ рдЕрдВрдд рдореЗрдВ рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдХрд┐ рдХрд╛рд░реНрдб рдмрддрд╛рдИ рдЧрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред
рдЯреНрд░реЗрдирд┐рдВрдЧ
рдореИрдВ рддреИрдпрд╛рд░реА рдХреЗ рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдм рдкрд░ рдХрдИ рдмрд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред
рдЖрдзрд╛рд░, рдирдХреНрд╢реЗ рдХрд╛ рдореВрд▓,
core.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рдХреИрдирд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рдХреИрдирд╡рд╛рд╕ рд╣реИред
js рдлрд╝рд╛рдЗрд▓ред
рдореИрдк рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
index.html рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореИрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реВрдБ рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рдореИрдк рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддрд╛ рд╣реВрдБред
var map = new Zig.Map.Core($('body').width(), $('body').height(), 100, 100); map.addEventListener('change', function(data){ $('#coord').html(' : ' + data.x + ':' + data.y); });
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреИрдирд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдХрд╛рд░реНрдп рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИрдВ,
рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рдЬреА рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдХреЛрдИ рднреА рдореЗрд░реЗ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдЖрдХрд░реНрд╖рд┐рдд рди рд╣реЛ рд╕рдХреЗред
рдореИрдВ рдХреИрдирд╡рд╛рд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдкрд╣рд▓реЗ рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рдореБрдЦреНрдп рдПрдХ рд╣реИ, рдФрд░ рдмрд╛рдХреА рд╕рднреА рдмрдлрд╝рд░ рд╣реИрдВ, рдмрд╛рдж рдореЗрдВ рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреНрдпреЛрдВ рд╣реИрдВред
рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ
рдЧреЛрдЯреЛ (x, y, рдХреЙрд▓рдмреИрдХ) рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХрд╛ рдХрд╛рд░реНрдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрд░реЛрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ, рдореИрдВрдиреЗ ajax рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдб рдХреА рдкреВрд░реНрдг рдкреНрд░рд╛рдкреНрддрд┐ рдирд╣реАрдВ рдХреА, рдЗрд╕реЗ рдХреБрдЫ рдПрдирд╛рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛:
_get_ajax_map : function(coords, callback) { setTimeout(function(){
рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реВрдВред
рдкреНрд░рддрд┐рдкрд╛рджрди
рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рдХрдИ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реНрдХреНрд░реАрди рдкрд░ рдмрд╛рдж рдХреЗ рд░реЗрдВрдбрд░рд┐рдВрдЧ
рдХреИрдирд╡рд╕.рдЬреЗрдПрд╕ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореЗрдВ рд╣реЛрддреА рд╣реИ
рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЧрдгрдирд╛
core.js. рдореЗрдВ рдХреА
рдЬрд╛рддреА рд╣реИред render : function(buffer, buffer2, mouse) { this._checkMoveMap(mouse); if (this._rebuild_buffer) {
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, 2 рдмрдлрд╝рд░ рднрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЪрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ
ред_rebuild_buffer = false; рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрдВ
рдЕрдЧрд▓реЗ рдЙрдкрд╛рдп рдХреЛ рдмрдлрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдпрд╣ рдЪрд░
рд╕рддреНрдп рд╣реЛ рдЬрд╛рддрд╛
рд╣реИ , рддреЛ рдмрдлрд░ рдХреЛ рдЕрдЧрд▓реЗ рдШрдбрд╝реА рдЪрдХреНрд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВрдиреЗ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдмреЛрдЭ рди рдкрдбрд╝реЗ
рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рдоред
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдмрд╕ рдореБрдЦреНрдп рдмрдлрд░ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдКрдкрд░ 2 рдмрдлрд╝рд░ рдЦреАрдВрдЪрддрд╛ рд╣реВрдВ, рдХреБрдЫ рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЬреЛ рдореБрдЭреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред
рдорд╛рдЙрд╕ рдЗрд╡реЗрдВрдЯ рдХреИрдкреНрдЪрд░
рдирдХреНрд╢реЗ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдереАред рдШрдЯрдирд╛ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХрд┐ рдорд╛рдЙрд╕ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рдПрдХ рдЖрдВрджреЛрд▓рди рдерд╛, рджрдмрд╛рдпрд╛ рдЧрдпрд╛,
рдореИрдВрдиреЗ рд░рд┐рдХреЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЪрд▓рд╛рдпрд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рднреА рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдорд╛рдЙрд╕ рд╕реЗ рдШрдЯрдирд╛рдПрдБ 60 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЖ рд╕рдХрддреА рд╣реИрдВред
рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдореИрдВрдиреЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛, рдФрд░ рд╕рднреА рдорд╛рдЙрд╕ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдпрд╛рдж рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп рдЙрдиреНрд╣реЗрдВ рдЙрдард╛рдпрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЪрд╛рд╣реЗ рдХрд┐рддрдиреА рднреА рдШрдЯрдирд╛рдПрдБ рдХреНрдпреЛрдВ рди рд╣реЛрдВ,
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрднреА рднреА рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 60 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЗрд╕ рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдорд╛рдЙрд╕ рдХреА рдЧрддрд┐ рдпрд╛рдж рд╣реИ:
_move: function(e) { var x = e.offsetX || e.layerX, y = e.offsetY || e.layerY; this.diff.x += Math.abs(this.pos.x - x); this.diff.y += Math.abs(this.pos.y - y); if (this.pressed) { this._addToAction('drag', this.pos.x - x, this.pos.y - y); } else { this._action.move = {x : x, y : y}; } this.pos.x = x; this.pos.y = y; }, _addToAction : function(key, x, y) { if (typeof this._action[key] == 'undefined') { this._action[key] = {x : 0, y : 0}; } this._action[key].x += x; this._action[key].y += y; }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ
рдбреНрд░реИрдЧ рдПрдВрдб
рдореВрд╡ рдЗрд╡реЗрдВрдЯ рд╣реИрдВ, рддрд╛рдХрд┐ рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХреВрдВ рдХрд┐ рд╡реЗ рдореИрдк рдХреЛ рдХрд╣рд╛рдВ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ рдФрд░ рдХрд╣рд╛рдВ рд╡реЗ рдмрд╕ рдорд╛рдЙрд╕ рд╕реЗ рдбреНрд░рд╛рдЗрд╡ рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░рддреЗ рд╣реБрдП, рдЪрд░ рдХреЛ рдордВрдЬреВрд░реА рджреЗ рджреА рдЧрдИ рд╣реИ:
getAction : function() { var action = this._action; this._action = {}; return action; }
рдХрд╛рд░реНрдб рдЖрдВрджреЛрд▓рди
рдкрд╣рд▓рд╛, рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрддред
рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдХреИрдирд╡рд╛рд╕ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдпрд╛рдо рдореИрдВ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рд╕реНрдореГрддрд┐ рдореЗрдВ 3 рдФрд░ рдмрдлрд╝рд░реНрд╕ рднреА рд╣реИрдВ рдЬреЛ рдореБрдЦреНрдп рдмрдлрд░ рд╕реЗ рджреЛрдЧреБрдирд╛ рдмрдбрд╝реЗ рд╣реИрдВред
рдпрд╣ рдХрд╛рд░реНрдб рдХреЗ рдорд╛рдореВрд▓реА рдЖрдВрджреЛрд▓рди рдкрд░ рдмрдлрд░ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдмрдлрд╝рд░реНрд╕ рдПрдХ рдорд╛рд░реНрдЬрд┐рди рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдо рд╕рдХрддреЗ рд╣реИрдВред
рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдСрдлрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╛рдиреА рдЬрд╣рд╛рдВ рдореБрдЦреНрдп рдХреИрдирд╡рд╛рд╕ рдореЗрдВ 0: 0 рд╣реИ, рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдХреБрдЫ рдорд╛рди рд╣реЛрдЧрд╛, 512: 512ред

рддрд╕реНрд╡реАрд░ рдореЗрдВ, рдкреАрд▓рд╛ рд╡рд░реНрдЧ рдореБрдЦреНрдп рдХреИрдирд╡рд╛рд╕ рд╣реИ, рд▓рд╛рд▓ рдмрдлрд░ рд╣реИ, рдмреНрд▓реИрдХ рдбреЙрдЯ рдЕрдиреБрд░реЛрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИред
рдХрд╛рд░реНрдб рдмрдЧрд╝рд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдмрдлрд░ рдХреЛ рдереЛрдбрд╝рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдирдХреНрд╢реЗ рдореЗрдВ рдХрд┐рддрдиреА рджреВрд░ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ 2 рдЪрд░ рд╣реИрдВ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрд░рд╛рдмрд░ рд╣реИрдВ:
offset : { x : _ * 4, y : _ * 4 }
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдСрдлрд╕реЗрдЯ рд▓рд╛рд▓ рдФрд░ рдкреАрд▓реЗ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рдЬрдм рдирдХреНрд╢рд╛ рдЪрд▓рддрд╛ рд╣реИ, рдореИрдВ рдмрд╕ рдЗрди рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдПрдХ рдбреЗрд▓реНрдЯрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ:
this._options.pos.offset.x += act.drag.x; this._options.pos.offset.y += act.drag.y;
рдФрд░ рдКрдкрд░реА рдмрд╛рдПрдБ рд╡рд░реНрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рднреА рдмрджрд▓реЗрдВ:
this._options.pos.px.x += act.drag.x; this._options.pos.px.y += act.drag.y;
рдпрд╣ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рд╣рдореЗрд╢рд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рдКрдВ рдХрд┐ рдорд╛рдЙрд╕ рдХрд┐рд╕ рд╡рд░реНрдЧ рдореЗрдВ рдмрд╕ рдЗрд╕реЗ рдЬреЛрдбрд╝рдХрд░ рд╕реНрдерд┐рдд рд╣реИ
рдорд╛рдЙрд╕ рд╕рдордиреНрд╡рдп рдореВрд▓реНрдпред
рдЗрд╕ рддрд░рд╣ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдкрддрд╛ рд╣реИ рдХрд┐ рдмрдлрд░ рдХрд╣рд╛рдБ рдЦреАрдВрдЪрдирд╛ рд╣реИ рддрд╛рдХрд┐ рджреГрд╢реНрдп рдмрд┐рдВрджреБ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВред
рд▓реЗрдХрд┐рди, рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдб рдХреЛ рдмрд╣реБрдд рджреВрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдмрдлрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдордп рдореЗрдВ рдмрдлрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЗрд╕рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рддрд╛рдХрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдмрдиреА рд░рд╣реЗрдВред
рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рди рдХреЗрд╡рд▓ рдСрдлрд╕реЗрдЯ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЧрдгрдирд╛ рднреА рдХрд░рддрд╛ рд╣реВрдВ
рдХрд┐рддрдирд╛ рдФрд░ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдкрдХреЛ рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рджреГрд╢реНрдп рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдЬрдЧрд╣ рдореЗрдВ рд░рд╣реЗрдВред
рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐, "рдХреЛрдиреЗ" рд╕реЗ рдореИрдВ рдореБрдЦреНрдп рдХреИрдирд╡рд╕-рдФрд░ рдХреЗ рджреГрд╢реНрдп рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдХреЛ рдХреЙрд▓ рдХрд░реВрдБрдЧрд╛
"рд╕реНрдХреНрд╡рд╛рдпрд░" - рд╡рд╣ рд╡рд░реНрдЧ рдЬрд┐рд╕рд╕реЗ "рдХреЛрдиреЗ" рдореЗрдВ рд╕реНрдерд┐рдд рдмрд┐рдВрджреБ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЕрд░реНрдерд╛рдд "рдХреЛрдиреЗ" рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЗрд╕ "рд╡рд░реНрдЧ" рдХреЗ рдЕрдВрджрд░ рд╣реИрдВред
рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ "рдХреЛрдиреЗ" рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ "рд╡рд░реНрдЧ" рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред
рдФрд░ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рдЙрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдлрд┐рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдСрдлрд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
this._options.pos.offset.x = w * 4 + (p.px.x - (xy.x + 4) * w); this._options.pos.offset.y = h * 4 + (p.px.y - (xy.y + 4) * h);
рдЬрд╣рд╛рдБ
- рдбрдмреНрд▓реНрдпреВ, рдПрдЪ - рд╡рд░реНрдЧ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ
- p.px.x, p.px.y - рдкрд┐рдХреНрд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЬреЛ рдореБрдЦреНрдп рдХреИрдирд╡рд╛рд╕ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ
- (xy.x + 4), (xy.y + 4) - рдХреИрдирд╡рд╛рд╕ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдХреЛ рдЫреВрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ
рддреАрд╕рд░рд╛ рдмрдлрд╝рд░
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рддреАрд╕рд░реЗ рдмрдлрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рддрд╛рдХрд┐ рдмрдлрд╝рд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдбреЗрдЯ рди рдХрд┐рдпрд╛ рдЬрд╛рдП
рдХрд╛рд░реНрдб рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдмрдлрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдл рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рддреАрд╕рд░реЗ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдФрд░ рдХреЗрд╡рд▓ рд╡рд┐рд╕реНрдерд╛рдкрди рдХрд╛ рд╢реВрдиреНрдп рднрд░рд╛ред
рдпрд╣ рдФрд░ рднреА рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореБрдЭреЗ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереАред рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛
рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд▓реЗрдЦ рдХреЛ рдЙрдиреНрд╣реАрдВ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреА рдереАрдВред
рд╕реНрд░реЛрдд рдХреЛрдб
BitBucketрдбреЗрдореЛ