ДействиеСценарий / Говнокод #10208 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
override protected function checkCollision():void
		{
			var allCollisionObjects:Object = (root as MovieClip).allCollisionObjects;
			allCollisionObjects.setPropertyIsEnumerable("monsterHead", true);
			allCollisionObjects.setPropertyIsEnumerable("item", false);
			allCollisionObjects.setPropertyIsEnumerable("trashBin", true);
			allCollisionObjects.setPropertyIsEnumerable("container", true);
			allCollisionObjects.setPropertyIsEnumerable("platform", true);
			allCollisionObjects.setPropertyIsEnumerable("elevatorToggleSwitch", true);
			allCollisionObjects.setPropertyIsEnumerable("hero", false);
			
			collision: for (var collisionObject in allCollisionObjects)//создаем метку главного цикла
			{
				for each (var targetObject:* in allCollisionObjects[collisionObject].array)
				{
					if (this.hitTestObject(targetObject))
					{
						switch (allCollisionObjects[collisionObject].name)
						{
							case CollisionWith.MONSTER_HEAD:
								targetObject.reduceHealth(this.bullet.getDamage());
								if (this.bullet is Morgenstern) 
								{
									if (! targetObject.killed) targetObject.monsterheads::pushBack(direction);
									else targetObject.monsterheads::alternativeDeath(direction);
								}
								break;
							case CollisionWith.TRASH_BIN:
								targetObject.collector.trashbin::remove(targetObject);
								break;
							case CollisionWith.CONTAINER:
								if (this.bullet is Morgenstern) targetObject.sound.play(600);
								break;
							case CollisionWith.PLATFORM:
								trace("hitted!!!");
								break;
							case CollisionWith.ELEVATOR_TOGGLE_SWITCH:
								targetObject.parent.collector.elevator::toggleSwitch(targetObject);
								break;
						}

						this.dispatchEvent(new Event(HITTED));
						break collision;
					}
				}
				
			}
		}
	}
}

динамически убираем из массива объекты, с кот. не сталкивается объект пуля

Запостил: lammar lammar, (Updated )

Комментарии (4) RSS

  • *** убираем из массива объекты, с кот. не сталкивается объект пуля
    Ответить
  • Ну как бы плохо написано, но не так, чтобы прямо что-то смешное было. В чем суть? Типичный игрострой какой-то + кулхацкерство с setPropertyIsEnumerable.
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8