Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Napisano

Witam.Jestem w trakcie robienia gry ,ale jest kilka błędów.Jednym z nich jest gdy sie podskoczy przyciskiem Z to można ruszać strzałkami w lewo i w prawo ,a ja chciałbym gdy przycisk Z jest wciśnięty to żeby wtedy przyciski lewo i prawo były wyłączone.A drugim błędem jest gdy się podejdzie do ściany to postać zostaje przekierowana wyżej zobaczcie sami:

 

http://evoteam.unl.pl/Gra/FreeRun.html

 

 

Tutaj jest kod postaci:

 

onClipEvent(load) 
{ 
   grav = 10; 
   speed = 1; 
   jumpHeight = 12; 
   scale = _xscale; 
   slowfall = 0; 
}onClipEvent(enterFrame) 
{ 
   ++grav; 
   _y = _y + grav; 
   while (_root.ground.hitTest(_x, _y, true))  
   { 
       --_y; 
       grav = 0; 
   } 
   if (Key.isDown(39))  
   { 
       _x = _x + speed; 
       _xscale = scale; 
       if (_root.ground.hitTest(_x, _y + 3, true))  
       { 
           this.gotoAndStop(2); 
       } 
       else  
       { 
           this.gotoAndStop(3); 
       } 
   } 
   else  
   { 
       if (Key.isDown(37))  
       { 
           _x = _x - speed; 
           _xscale = 0 - scale; 
           if (_root.ground.hitTest(_x, _y + 3, true))  
           { 
               this.gotoAndStop(2); 
           } 
           else  
           { 
               this.gotoAndStop(3); 
           } 
       } 
       else  
       { 
           if (_root.ground.hitTest(_x, _y + 3, true) && !Key.isDown(79))  
           { 
               this.gotoAndStop(1); 
           } 
       } 
   } 
   if (Key.isDown(79) && !Key.isDown(37) && !Key.isDown(40) && !Key.isDown(39) && !Key.isDown(38) && !Key.isDown(32)) 
   { 
       this.gotoAndStop(3); 
   } 
   if (Key.isDown(Key.SPACE) && _root.ground.hitTest(_x, _y + 3, true))  
   { 
       grav = 0 - jumpHeight; 
       _y = _y - 4; 
       this.gotoAndStop(3); 
   }  
  if (Key.isDown(90) && _root.ground.hitTest(_x, _y + 3, true))  
   {   fight=true 
       grav = 0 - jumpHeight; 
       _y = _y - 4; 
       this.gotoAndStop(5); 
   } 

  if (Key.isDown(67) && _root.ground.hitTest(_x, _y + 3, true))  
   {   fight=true 
       grav = 0 - jumpHeight; 
       _y = _y - 4; 
       this.gotoAndStop(6); 
   } 

   if (_root.ground.hitTest(_x + _width / 2, _y - _height / 2, true) || _root.ground.hitTest(_x + _width / 2, _y - _height / 6 * 4, true)) 
   { 
       _x = _x - speed; 
   } 
   if (_root.ground.hitTest(_x - _width / 2, _y - _height / 2, true) || _root.ground.hitTest(_x - _width / 2, _y - _height / 6 * 4, true)) 
   { 
       _x = _x + speed; 
   } 
   if (_root.ground.hitTest(_x, _y - _height, true))  
   { 
       grav = 2; 
   } 
}

 

A tutaj kod tła :

onClipEvent (enterFrame) {  if(Key.isDown(Key.RIGHT)) { this._x=_x-10; } } onClipEvent (enterFrame) {  if(Key.isDown(Key.LEFT)) { this._x=_x+10; } }  	   

 

Dla tego kto się pozbędzie tych błędów nagroda,konto premium na rapidshare.com icon_smile.gif

  • Odpowiedzi 2
  • Wyświetleń 937
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

Heh, jakbyś komentowal swój kod to pewnie byłoby latwiej. Zwlaszcza dla kogos kto nie programuje we flashu. :)

 

a) zablokowanie "strzalek" przy skoku: do kodu odpowiadajacego za poruszanie w lewo i w prawo dodaj sprawdzanie warunku na wcisniety klawisz Z a potem go zaneguj. Nie wiem jak to we flashu wygląda (!Key.isDown(90), NOT Key.isDown(90), czy Key.isDown(90)==false)

 

b) To juz chyba trudniejsze. Na 1-szy rzut oka widac 2 rozwiazania.

1- budynki maja conajmniej 2 strefy kolizji: sciany(podstawa budynku) oraz dach(plaski pasek na gorze). Przy kolizji z dachem postac dziala jak teraz a przy kolizji ze sciana stoi w miejscu.

2- mozesz liczyc przyrosty polozenia w czasie. Mozna to skomplikowac ale chyba najlatwiej to zpamietywac polozenie y postaci i w kolejnej jednostce czasu sprawdzac jego zmiane [ dY=Y(t=t0)-Y(t=t0+dt) ]. Jesli zmiana jest duza znaczy ze postac sie 'teleportowala' wyzej i należy ja cofnąć do poprzedniej pozycji. Zmieniajac prog akceptowalnego przyrostu dY mozesz decydowac na jak wysokie przeszkody ludek beddzie mogl wbiec bez skakania a na jakie nie.

 

Podkreslam, ze nie jestem programistą, a napewno nie AS2/3 i nie wiem czy to bedzie dzialac. Nie bede Ci kodu poprawiał. Kombinuj.

 

pozdr.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.