пятница, 8 июля 2011 г.

How to prevent webpage from scrolling when scrolling inside a Flash object


Dennis Kolyako реализовал отличный класс для захвата событий колеса мыши в AS3 проектах путем встраивания AS2 movie в AS3 movie. Лучшее решение на данный момент.
Нашел тут

Dennis Kolyako created a clever workaround that captures the mouse wheel by loading an AS2 movie inside the AS3 movie, allowing us to get the desired AS2 mouse functionality. This seems to be the best solution, so be sure to check it out.
Found here

Читать дальше

вторник, 24 мая 2011 г.

Box2D Jump in Platformer Engine




Вот мой код для реализации проверки может/не может герой прыгать. За одно тут же и проверка на пересечение героем платформ-"облаков" снизу.
Устанавливаем свой contactListener в world. В конце каждого обновления мира делаем сброс значению canJump.

Here is my code for jumping check (can/can't jump). Also cloud platforms realization.
Setting up custom contactListener into world. On every world update function making reset for canJump variable (in the end of update function).

package 
{
  import Box2D.Dynamics.*;
  import Box2D.Collision.*;
  import Box2D.Collision.Shapes.*;
  import Box2D.Dynamics.Joints.*;
  import Box2D.Dynamics.Contacts.*;
  import Box2D.Common.*;
  import Box2D.Common.Math.*;

  public class customb2ContactListener extends b2ContactListener
  {
    private var canJump:Boolean = false;

    public function ResetCanJump():void
    {
      canJump = false;
    }

    public function CanJump():Boolean
    {
      return canJump;
    }

    public function customb2ContactListener()
    {
    }

    override public function BeginContact(contact:b2Contact):void 
    {
    }

    override public function PreSolve(contact:b2Contact, oldManifold:b2Manifold):void 
    {
      var fixtureA:b2Fixture=contact.GetFixtureA();
      var fixtureB:b2Fixture=contact.GetFixtureB();
      var local_canJump:Boolean = false;
      if ((fixtureA.GetBody().GetUserData()=="platform" && fixtureB.GetBody().GetUserData()=="hero")||
          (fixtureA.GetBody().GetUserData()=="hero" && fixtureB.GetBody().GetUserData()=="platform")||
          (fixtureA.GetBody().GetUserData()=="cloud" && fixtureB.GetBody().GetUserData()=="hero")||
          (fixtureA.GetBody().GetUserData()=="hero" && fixtureB.GetBody().GetUserData()=="cloud")) 
      {
        if(contact.IsTouching())
        {
          if(fixtureA.GetBody().GetUserData() == "platform" || fixtureA.GetBody().GetUserData() == "cloud")
          {
            local_canJump = fixtureA.TestPoint(new b2Vec2(fixtureB.GetBody().GetPosition().x, 
                                                          fixtureB.GetBody().GetPosition().y + 0.6));//y + half of hero height + 0.1
          }else{
            local_canJump = fixtureB.TestPoint(new b2Vec2(fixtureA.GetBody().GetPosition().x, 
                                                          fixtureA.GetBody().GetPosition().y + 0.6));//y + half of hero height + 0.1
          }
          if (fixtureA.GetBody().GetUserData()=="cloud" || fixtureB.GetBody().GetUserData()=="cloud") 
          {
            if(local_canJump)
            {
              //check if we are still inside platform
              var inside:Boolean = false;
              if(fixtureA.GetBody().GetUserData() == "cloud")
              {
                inside = fixtureA.TestPoint(new b2Vec2(fixtureB.GetBody().GetPosition().x, 
                                                       fixtureB.GetBody().GetPosition().y + 0.45));//y + half of hero height - 0.5
              }else{
                inside = fixtureB.TestPoint(new b2Vec2(fixtureA.GetBody().GetPosition().x, 
                                                       fixtureA.GetBody().GetPosition().y + 0.45));//y + half of hero height - 0.5
              }
              if(inside == true)
              {
                local_canJump = false;
                canJump = false;
                contact.SetEnabled(false);
              }
            }else{
              contact.SetEnabled(false);
            }
          }
        }
      }
      //if canJump once set to true - do not change on next contacts
      if(canJump == false)
      {
        canJump = local_canJump;
      }
    }
  }
}


Читать дальше

понедельник, 23 мая 2011 г.


Сегодня начал "работу над собой".
Из музыки оставил только звуки природы. Расписал незаконченые этапы разработки игры.
Думаю нужно ещё начать утреннюю зарядку и выработать приемлемый режим сна.
UPD. Ещё из музыки оставил Infected Mushrooms, всё таки у звуков природы не достаточно драйва.

I've started "self development" today.
Deleted all of my music except sounds of nature. Made ToDo list of my game development.
I think i should start morning exercises and develop acceptable sleep schedule.
UPD. Also left Infected Mushrooms, cause sounds of nature doesn't have so much drive.

Читать дальше

пятница, 20 мая 2011 г.


Начал генерить BitCoins. Сначала пробовал официальный клиент, но там... пока не нагененришь 50 биткоинов - баланс не обновится (может я что не правильно понял).
Сейчас использую Ufasoft miner и пулл DeepBit.
На основном ноуте 0.750 MHash/s, на старом 0.19 MHash/s.
Пока оставлю на ночь - посмотрю что будет к утру.

I've started generating BitCoins. Tried official client, but... it will not refresh balance till you got 50 coins (may be i'm wrong).
Now i'm using Ufasoft miner and pool DeepBit.
On my regular notebook i got 0.750 MHash/s, on old one 0.19 MHash/s.
Will left them for the night - will see how much coins i will get.

Читать дальше

понедельник, 16 мая 2011 г.

Underworld: Defense

Совсем устал от своей игры. Сейчас выбросил её на мочимедиа и у себя.
Мне нужен отдых от этого концепта. Слишком много он сожрал у меня сил.
Quite tired of this game. Now i've published it on the mochimedia and at my site.
I need a vacation from that concept. Development took me too much effort.

Читать дальше

понедельник, 7 марта 2011 г.

Got alexa.com rating


At last i got Alexa rating of my site.

Наконец я получил Alexa рейтинг моего сайта.

Читать дальше

четверг, 3 марта 2011 г.

NailedGames.com opened


Наконец портал с нашими и чужими играми запущен и тестируется. Для оценки игр необходимо войти с помощью аккаунта Google. Играйте, оценивайте, комментарии и ЛС с пожеланиями приветствуются.

Finally portal with our and other people's games started and testing now. To estimate the game you should enter with your Google account. Play, rate, comment and PM with the wishes are welcome.

Читать дальше

суббота, 22 мая 2010 г.

D-Link DSL-2500U Trouble

Вот жеж запарка с этим модемом.
Только торрент включишь - сразу начинают рваться соединения на im-клиентах и dns пакеты кудато теряться.
всё дело в настройках sysctl которые идут по умолчанию в прошивке.
В 1.54 прошивке немного улучшили ситуацию, но не настолько - насколько хотелось бы.

До сих пор приходится пользоваться этим решением:
BCM96332 ADSL Router
Login: admin
Password:
> cat /proc/sys/net/ipv4/ip_conntrack_max
1024
> echo 1024 > /proc/sys/net/ipv4/ip_conntrack_max
> cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
30
> echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
> logout
Bye bye. Have a nice day!!!

Утащено с форума
Читать дальше

суббота, 23 января 2010 г.

Ах под елью три гриба

На днях была создана группа MMG.
Чем она занимается?
Пока соединяет двух людей.
Зачем?
Потому что одному мне сложно будет вырасти. Я думаю каждому из нас по одиночке будет сложнее.
Где мы?
Тут

P.S. Сертификаты конечно не подписаны.
Читать дальше

суббота, 16 января 2010 г.

Vim: небольшое обновление

В принципе я всего лишь изменил список скриптов, которые были установлены.
Список плагинов и скриншот под катом


CSApprox
Flex Development Support
git-commit
winmanager
matchit
python-indent
project
omnicppcomplete
colors sampler pack
bufexplorer

Сейчас мой вим выглядит вот так:



Все, кроме первых двух, ставил через vim-addons, поэтому линки на них пусты.
Удачного Виминга.

P.S. Как видно из второго аддона я готовлюсь к Flex программированию на виме (как ни странно - в этом плане он намного лучше axdt).


Читать дальше