Программирование > JavaScript & JScript

заставте его двигатца и отскакивать!

(1/1)

Arteas:
слово "я двигаюсь" должно проплыть по экрану под углом 30 градусов и отбившись полететь в другой угол  со значением rhi - hpi
а оно не двигаетца даже!
=======================

        Я двигаюсь!
       
                var phi = Math.PI
                var rho = 0;  
                var rhoOffset = 0.5;  
        var L = document.getElementById(\'move-me\').style.left;
        var T = document.getElementById(\'move-me\').style.top;
        var Lnext, Tnext;  

 var W = document.getElementById(\'move-me\').offsetWidth;
var H = document.getElementById(\'move-me\').offsetHeight;
var Wb, Hb;

                function moveByLine() {    
                       
                        document.getElementById(\'move-me\').style.left = rho * Math.cos(phi) + \'px\';  
                         
                        document.getElementById(\'move-me\').style.top = rho * Math.sin(phi) + \'px\';  
                                  rho += rhoOffset;  
                               
                                 if ((document.getElementById(\'move-me\').offsetLeft +
                                   document.getElementById(\'move-me\').offsetWidth >=
                                   document.getElementById(\'body\').clientWidth) ||
                           (document.getElementById(\'move-me\').offsetTop +
                                   document.getElementById(\'move-me\').offsetHeight >=
                                   document.getElementById(\'body\').clientHeight))
                                                                     
Lnext = L + rho * Math.cos(phi);
Tnext = T + rho * Math.sin(phi);

Wcl = document.getElementById(\'body\').clientWidth -20;  
Hcl = document.getElementById(\'body\').clientHeight;

if ((Lnext < 0) || (L + W > Wcl))
phi = Math.PI  - phi;

if ((Tnext < 0) || (T + H > Hcl))
phi =  - phi;                  

L = L + rho * Math.cos(phi);
T = T + rho * Math.sin(phi);
document.getElementById(\'move-me\').style.left = L;
document.getElementById(\'move-me\').style.top = T;
     
clearInterval(moveInterval);
            }
                var moveInterval = setInterval(moveByLine, 20);   // Зберігаємо інтервал в змінній.
       


==================

если же убрать значение и переменные  угла отбивания то
то "я двигаюсь" довольно шустро проплывет из верхнего левого угла в нижний правый...
===========

        Я двигаюсь!
       
                var phi = Math.PI / 6;  
                var rho = 0;    
                var rhoOffset = 0.5;  

                function moveByLine() {  
                       
                        document.getElementById(\'move-me\').style.left = rho * Math.cos(phi) + \'px\';  
                       
                        document.getElementById(\'move-me\').style.top = rho * Math.sin(phi) + \'px\';  
                                  rho += rhoOffset;
                               
                                 if ((document.getElementById(\'move-me\').offsetLeft +
                                   document.getElementById(\'move-me\').offsetWidth >=
                                   document.getElementById(\'body\').clientWidth) ||
                           (document.getElementById(\'move-me\').offsetTop +
                                   document.getElementById(\'move-me\').offsetHeight >=
                                   document.getElementById(\'body\').clientHeight))
                                                                 clearInterval(moveInterval);  
                var moveInterval = setInterval(moveByLine, 20);  
       


                }
                var moveInterval = setInterval(moveByLine, 20);  
       

===========
помогите плз..:confused:

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии