Pixilang v3.4

Pixilang по русски
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Да, получение списка файлов прикрутить было-бы классно! Реально нужная вещь. Подключение библиотек на Андроид с примером использования вызова метода тоже, но ИМХО пока это не кспеху :)
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Можно-ли надеяться на скорое появление ф-и для получения списка файлов в заданной директории?
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

Уже прикрутил ) Может, сегодня выложу
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Класс! Большое спасибо!
Al Rado
Posts: 6
Joined: Wed Oct 10, 2012 1:28 am

Re: Pixilang v3.4

Post by Al Rado »

Переписал пример Math3 с pixilang на flash as3
http://megaswf.com/serve/2489737/

Сначала сильно удивился - на десктопе fps на flash равнялся 7, при 14 у кода на pixilang, но когда запостил увидел fps = 27-29
Оказалось debug flash player тормозил, flash все-таки быстрее. Как такое может быть?

Вот код примера на as3 если кому интересно

Code: Select all

package {
	import flash.display.*;
	import flash.events.*;
	import flash.text.TextField;
	import flash.utils.getTimer;

	[SWF(width="320", height="240", frameRate="30", backgroundColor="#FFFFFF")]
	public class Math3Example extends Sprite {
		public const X_SIZE : int = 320;
		public const Y_SIZE : int = 240;

		public var x_half_size : int = X_SIZE / 2;
		public var y_half_size : int = Y_SIZE / 2;

		private var fpsText : TextField;
		private var ms : int;

		private var bitmapData : BitmapData;
		private var bitmap : Bitmap;

		private var counter : uint;

		public function Math3Example() : void {
			stage.scaleMode = StageScaleMode.NO_SCALE;

			bitmapData = new BitmapData( X_SIZE, Y_SIZE, false );
			bitmap = new Bitmap( bitmapData );
			bitmap.width = X_SIZE;
			bitmap.height = Y_SIZE;
			addChild( bitmap );

			fpsText = new TextField();
			fpsText.textColor = 0xFFFFFF;
			addChild( fpsText );

			addEventListener( Event.ENTER_FRAME, onEnterFrame );
		}

		private function onEnterFrame( event : Event = null ) : void {
			updateFps();

			var yCoord : int = 0;
			while ( yCoord < bitmap.width ) {
				var xCoord : int = 0;
				while ( xCoord < bitmap.width ) {
					var xx : Number = ( xCoord - x_half_size ) / x_half_size;
					var yy : Number = ( yCoord - y_half_size ) / y_half_size;
					var v : Number = Math.sin( yy ) * Math.cos( xx );
					var shift : Number = counter / 20;
					var v2 : int = Math.sin( v * 8 + shift ) * 256;

					if ( v2 < 0 || v2 > 255 ) {
						v2 = 0;
					}

					var color : uint = colorFromRGB255( v2, xCoord / 2, v2 / 3 );
					bitmapData.setPixel32( xCoord, yCoord, color);
					xCoord ++;
				}
				yCoord ++;
			}
			counter ++;
		}

		private function updateFps() : void {
			const timer:int = getTimer();
			const frameTime : Number = (timer - ms);
			fpsText.text = "FPS: " + (1000 / frameTime).toFixed( 0 );
			ms = timer;
		}

		public static function colorFromRGB255( red : int, green : int, blue : int ) : uint {
			var color : int = 0;
			color = 0 | (red & 255) << 16;
			color = color | (green & 255) << 8;
			color = color | (blue & 255) << 0;
			return color;
		}

	}
}
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

Если картинку обрабатывать пиксель за пикселем, без функций блочной обработки данных, то Pixilang не обязательно будет быстрее других языков :) Flash скорее всего лучше оптимизирует, или там вообще JIT-компилятор встроен. Но я над этим работаю - постепенно производительность будет увеличиваться. Пока все в лоб )
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Позвольте несколько пожеланий для pixilang на будущее (в прядке уменьшения важности):
1. Для ввода имени файла в редакторе, имени игрока в игре, текста в записной книжке и пр. в графическом режиме пикси очень бы пригодилась функция вызова из pixilang экранной клавиатуры (имеется в виду Android);
2. Не плохо было-бы иметь возможность для пикси-программиста блокировать и обрабатывать самому нажатие экранной кнопки "назад" в Android, т.к. при создании дочерних окон андроид-юзер может для их закрытия воспользоваться этой кнопкой и вылетит из пикси-программы;
3. Возможность вызва методов из .so библиотек на Андроид.
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

По поводу кнопки Back на Андроиде. Когда нажимается Back, проге приходит событие EVT_QUIT. Но при этом в EVT[ EVT_SCANCODE ] = 1, что означает, что данное событие можно игнорировать. Например, можно вывести какой-то диалог, или еще что-то.
Post Reply