Задать вопрос
NightmareZ
@NightmareZ
Разработчик

Мысштабирование игры под различные девайсы. Что не так с андроидом?

Пишу игрушки на HTML5 фиксированного размера под десктоп и мобильные платформы. То, что в файрфоксе в CSS свойство zoom не определено - меня сейчас не сильно беспокоит. Меня беспокоит, почему в десктопном хроме размеры экрана определяются корректно, а вот в мобильном нет... $(window).height() даёт вообще чёрти что, window.screen.availHeight - уже по-лучше, но всё равно не спасает положение. Посмотрите, пожалуйста, мой скрипт, и подскажите, что я делаю не так.

$(document).ready(function() {
	function applyScale() {
		var scaleFactor = 1, scaleFactorX = 1, scaleFactorY = 1;
		var width, height;

		// why adnroid is so strange?
		if (isAndroid()) {
			var width = window.screen && window.screen.availHeight || $(window).width();
			var height = window.height && window.screen.availWidth || $(window).height();
		} else {
			var width = $(window).width();
			var height = $(window).height();
		}

		if (width < 1450) {
			scaleFactorX = width / 1450;
		}

		if (height < 1024) {
			scaleFactorY = height / 1024;
		}

		scaleFactor = scaleFactorX < scaleFactorY ? scaleFactorX : scaleFactorY;

		if (scaleFactor < 0.1) {
			scaleFactor = 0.1;
		}

		$('body').css('zoom', scaleFactor);
	}

	$(window).resize(function() {
		applyScale();
	});

	applyScale();
});
  • Вопрос задан
  • 95 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
18 янв. 2025, в 07:20
50000 руб./за проект
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект