Pixilang v3.4

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

Re: Pixilang v3.4

Post by J3d1 » Tue Oct 09, 2012 11:27 am

Да, получение списка файлов прикрутить было-бы классно! Реально нужная вещь. Подключение библиотек на Андроид с примером использования вызова метода тоже, но ИМХО пока это не кспеху :)

User avatar
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 » Wed Oct 10, 2012 10:52 am

Можно-ли надеяться на скорое появление ф-и для получения списка файлов в заданной директории?

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

Re: Pixilang v3.4

Post by NightRadio » Wed Oct 10, 2012 12:01 pm

Уже прикрутил ) Может, сегодня выложу

User avatar
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 » Wed Oct 10, 2012 12:22 pm

Класс! Большое спасибо!

Al Rado
Posts: 6
Joined: Wed Oct 10, 2012 1:28 am

Re: Pixilang v3.4

Post by Al Rado » Wed Oct 10, 2012 7:04 pm

Переписал пример 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: 3081
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio » Wed Oct 10, 2012 9:07 pm

Если картинку обрабатывать пиксель за пикселем, без функций блочной обработки данных, то Pixilang не обязательно будет быстрее других языков :) Flash скорее всего лучше оптимизирует, или там вообще JIT-компилятор встроен. Но я над этим работаю - постепенно производительность будет увеличиваться. Пока все в лоб )

User avatar
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 » Thu Oct 11, 2012 10:21 am

Позвольте несколько пожеланий для pixilang на будущее (в прядке уменьшения важности):
1. Для ввода имени файла в редакторе, имени игрока в игре, текста в записной книжке и пр. в графическом режиме пикси очень бы пригодилась функция вызова из pixilang экранной клавиатуры (имеется в виду Android);
2. Не плохо было-бы иметь возможность для пикси-программиста блокировать и обрабатывать самому нажатие экранной кнопки "назад" в Android, т.к. при создании дочерних окон андроид-юзер может для их закрытия воспользоваться этой кнопкой и вылетит из пикси-программы;
3. Возможность вызва методов из .so библиотек на Андроид.

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

Re: Pixilang v3.4

Post by NightRadio » Thu Oct 11, 2012 12:10 pm

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

Post Reply