`Any` is a type that is compatible with any other in both ways.
This means that a value of any type can be assigned to `Any`, and
vice-versa, a value of `Any` type can be assigned to any other type.
It's a more type-safe alternative to `Dynamic`, because it doesn't
support field access or operators and it's bound to monomorphs. So,
to work with the actual value, it needs to be explicitly promoted
to another type.
<__registerLimeModule set="method">
show
<__unregisterLimeModule set="method">
show()]]>Exit events are dispatched when the application is exiting
<__registerLimeModule set="method" line="27">
<__unregisterLimeModule set="method" line="29">
Creates a new `Module` instance`Module` instances can be added to a running `Application`,
simplifying support for adding new components, such as a renderer,
input handler or higher-level framework."tags=\"haxe,release\""
<_loadPrime public="1" set="method" line="34" static="1">
{ quietFail : false }(cpp.Prime._loadPrime("lime", "lime_application_create", "o", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_application_event_manager_register", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_application_exec", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_application_init", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_application_quit", "oi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_application_set_frame_rate", "odv", false))]]>(cpp.Prime._loadPrime("lime", "lime_application_update", "ob", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load_bytes", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load_file", "ooo", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_bytes_from_data_pointer", "dioo", false))]]>(cpp.Prime._loadPrime("lime", "lime_bytes_get_data_pointer", "od", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_bytes_get_data_pointer_offset", "oid", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_bytes_read_file", "soo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cffi_get_native_pointer", "od", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_clipboard_event_manager_register", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_clipboard_get_text", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_clipboard_set_text", "sv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_data_pointer_offset", "did", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_deflate_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_deflate_decompress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_drop_event_manager_register", "oov", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_directory", "ssso", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_file", "ssso", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_files", "ssso", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_save_file", "ssso", false))]]>(cpp.Prime._loadPrime("lime", "lime_file_watcher_create", "oo", false))]]> cpp.Object -> Bool>(cpp.Prime._loadPrime("lime", "lime_file_watcher_add_directory", "oobo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_file_watcher_remove_directory", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_file_watcher_update", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_ascender", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_descender", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_family_name", "oo", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_index", "osi", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_indices", "oso", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_metrics", "oio", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_height", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_num_glyphs", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_underline_position", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_underline_thickness", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_get_units_per_em", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_load", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_load_bytes", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_font_load_file", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_font_outline_decompose", "oio", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_font_render_glyph", "oioo", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_font_render_glyphs", "oooo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_font_set_size", "oiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gamepad_add_mappings", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_gamepad_get_device_guid", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_gamepad_get_device_name", "io", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gamepad_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gzip_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gzip_decompress", "ooo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_haptic_vibrate", "iiv", false))]]> Int -> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_encode", "oiioo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load_bytes", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load_file", "ooo", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_data_util_color_transform", "ooov", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_copy_channel", "ooooiiv", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> cpp.Object -> cpp.Object -> Bool>(cpp.Prime._loadPrime("lime", "lime_image_data_util_copy_pixels", "oooooobv", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_fill_rect", "ooiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_flood_fill", "oiiiiv", false))]]> cpp.Object -> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_data_util_get_pixels", "ooiov", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_merge", "ooooiiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_image_data_util_multiply_alpha", "ov", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_resize", "ooiiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_set_format", "oiv", false))]]> cpp.Object -> cpp.Object -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_set_pixels", "oooiiiv", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Bool>(cpp.Prime._loadPrime("lime", "lime_image_data_util_threshold", "ooooiiiiiiibi", false))]]>(cpp.Prime._loadPrime("lime", "lime_image_data_util_unmultiply_alpha", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_joystick_get_device_guid", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_joystick_get_device_name", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_joystick_get_num_axes", "ii", false))]]>(cpp.Prime._loadPrime("lime", "lime_joystick_get_num_buttons", "ii", false))]]>(cpp.Prime._loadPrime("lime", "lime_joystick_get_num_hats", "ii", false))]]>(cpp.Prime._loadPrime("lime", "lime_joystick_get_num_trackballs", "ii", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_joystick_event_manager_register", "oov", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_jpeg_decode_bytes", "oboo", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_jpeg_decode_file", "sboo", false))]]>(cpp.Prime._loadPrime("lime", "lime_key_code_from_scan_code", "ff", false))]]>(cpp.Prime._loadPrime("lime", "lime_key_code_to_scan_code", "ff", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_key_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_lzma_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_lzma_decompress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_mouse_event_manager_register", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_neko_execute", "sv", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_png_decode_bytes", "oboo", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_png_decode_file", "sboo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_render_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_sensor_event_manager_register", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_allow_screen_timeout", "b", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_set_allow_screen_timeout", "bb", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_device_model", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_device_vendor", "o", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_system_get_directory", "isso", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_display", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_ios_tablet", "b", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_num_displays", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_platform_label", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_platform_name", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_platform_version", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_get_timer", "d", false))]]>(cpp.Prime._loadPrime("lime", "lime_system_open_file", "sv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_system_open_url", "ssv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_text_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_touch_event_manager_register", "oov", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_window_alert", "ossv", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_close", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_context_flip", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_context_lock", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_context_make_current", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_context_unlock", "ov", false))]]> Int -> Int -> Int -> String>(cpp.Prime._loadPrime("lime", "lime_window_create", "oiiiso", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_focus", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_context", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_context_type", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_display", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_display_mode", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_height", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_id", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_mouse_lock", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_scale", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_text_input_enabled", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_width", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_x", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_window_get_y", "oi", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_move", "oiiv", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_read_pixels", "oooo", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_resize", "oiiv", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_borderless", "obb", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_window_set_cursor", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_display_mode", "ooo", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_fullscreen", "obb", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_icon", "oov", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_maximized", "obb", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_minimized", "obb", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_mouse_lock", "obv", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_resizable", "obb", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_text_input_enabled", "obv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_text_input_rect", "oov", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_window_set_title", "oso", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_warp_mouse", "oiiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_zlib_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_zlib_decompress", "ooo", false))]]> Int -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_buffer_data", "oioiiv", false))]]> Int -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_buffer3f", "oifffv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_buffer3i", "oiiiiv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_bufferf", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_bufferfv", "oiov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_bufferi", "oiiv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_bufferiv", "oiov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_cleanup", "v", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_delete_buffer", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_delete_buffers", "iov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_delete_source", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_delete_sources", "iov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_disable", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_distance_model", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_doppler_factor", "fv", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_doppler_velocity", "fv", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_enable", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_gen_source", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_gen_sources", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_boolean", "ib", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_booleanv", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_gen_buffer", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_gen_buffers", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_buffer3f", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_buffer3i", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferf", "oif", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferfv", "oiio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferi", "oii", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferiv", "oiio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_double", "id", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_doublev", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_enum_value", "si", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_error", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_float", "if", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_floatv", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_integer", "ii", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_integerv", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_listener3f", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_listener3i", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_listenerf", "if", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_listenerfv", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_listeneri", "ii", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_listeneriv", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_proc_address", "sd", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_source3f", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_source3i", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcef", "oif", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcefv", "oiio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcei", "oio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourceiv", "oiio", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_get_string", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_is_buffer", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_is_enabled", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_is_extension_present", "sb", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_is_source", "ob", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_listener3f", "ifffv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_listener3i", "iiiiv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_listenerf", "ifv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_listenerfv", "iov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_listeneri", "iiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_listeneriv", "iov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_source_pause", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_pausev", "iov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_source_play", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_playv", "iov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_queue_buffers", "oiov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_source_rewind", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_rewindv", "iov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_source_stop", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_stopv", "iov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_source_unqueue_buffers", "oio", false))]]> Int -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_source3f", "oifffv", false))]]> Int -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_source3i", "oioiiv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_sourcef", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourcefv", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourcei", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourceiv", "oiov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_speed_of_sound", "fv", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_close_device", "ob", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_alc_create_context", "ooo", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_destroy_context", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_get_contexts_device", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_get_current_context", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_get_error", "oi", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_alc_get_integerv", "oiio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_alc_get_string", "oio", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_make_context_current", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_open_device", "so", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_pause_device", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_process_context", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_resume_device", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_alc_suspend_context", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_gen_filter", "o", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_filteri", "oiov", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_filterf", "oifv", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_remove_direct_filter", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_is_filter", "ob", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_filteri", "oii", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_gen_effect", "o", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_effectf", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_effectfv", "oiov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_effecti", "oiiv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_effectiv", "oiov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_is_effect", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_gen_aux", "o", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_auxf", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxfv", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxi", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxiv", "oiov", false))]]>(cpp.Prime._loadPrime("lime", "lime_al_is_aux", "ob", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_remove_send", "oiv", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_arc", "odddddv", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_arc_negative", "odddddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_clip", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_clip_preserve", "ov", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_clip_extents", "oddddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_close_path", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_copy_page", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_create", "oo", false))]]> Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_curve_to", "oddddddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_fill", "ov", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_fill_extents", "oddddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_fill_preserve", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_antialias", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_current_point", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_dash", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_dash_count", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_fill_rule", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_font_face", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_font_options", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_group_target", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_line_cap", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_line_join", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_line_width", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_matrix", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_miter_limit", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_operator", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_source", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_target", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_get_tolerance", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_has_current_point", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_identity_matrix", "ov", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_clip", "oddb", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_fill", "oddb", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_stroke", "oddb", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_line_to", "oddv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_mask", "oov", false))]]> cpp.Object -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_mask_surface", "ooddv", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_move_to", "oddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_new_path", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_paint", "ov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_paint_with_alpha", "odv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_pop_group", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_pop_group_to_source", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_push_group", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_push_group_with_content", "oiv", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rectangle", "oddddv", false))]]> Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_curve_to", "oddddddv", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_line_to", "oddv", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_move_to", "oddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_reset_clip", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_restore", "ov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rotate", "odv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_save", "ov", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_scale", "oddv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_antialias", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_dash", "oov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_fill_rule", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_face", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_options", "oov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_size", "odv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_cap", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_join", "oiv", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_width", "odv", false))]]> Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_matrix", "oddddddv", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_miter_limit", "odv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_operator", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source", "oov", false))]]> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_rgb", "odddv", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_rgba", "oddddv", false))]]> cpp.Object -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_surface", "ooddv", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_tolerance", "odv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_show_glyphs", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_show_page", "ov", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_cairo_show_text", "osv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_status", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_stroke", "ov", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_stroke_extents", "oddddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_stroke_preserve", "ov", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_cairo_text_path", "osv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_transform", "oov", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_translate", "oddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_version", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_version_string", "s", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_font_face_status", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_create", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_antialias", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_hint_metrics", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_hint_style", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_subpixel_order", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_antialias", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_hint_metrics", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_hint_style", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_subpixel_order", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_ft_font_face_create", "oio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_create", "iiio", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_create_for_data", "diiiio", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_data", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_format", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_height", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_stride", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_width", "oi", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_add_color_stop_rgb", "oddddv", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_add_color_stop_rgba", "odddddv", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_for_surface", "oo", false))]]> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_linear", "ddddo", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_radial", "ddddddo", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_rgb", "dddo", false))]]> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_rgba", "ddddo", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_color_stop_count", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_extend", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_filter", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_matrix", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_extend", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_filter", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_matrix", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_cairo_surface_flush", "ov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_curl_getdate", "sdd", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_global_cleanup", "v", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_global_init", "ii", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_version", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_version_info", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_easy_cleanup", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_easy_duphandle", "oo", false))]]> String -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_escape", "osio", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_easy_flush", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_getinfo", "oio", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_easy_init", "o", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_pause", "oii", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_easy_perform", "oi", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_recv", "ooiii", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_easy_reset", "ov", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_send", "ooiii", false))]]> Int -> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_easy_setopt", "oiooi", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_easy_strerror", "io", false))]]> String -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_unescape", "osiio", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_multi_init", "o", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_add_handle", "oooi", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_multi_get_running_handles", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_multi_info_read", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_curl_multi_perform", "oi", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_remove_handle", "ooi", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_setopt", "oioi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_curl_multi_wait", "oii", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_active_texture", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_attach_shader", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_begin_query", "iiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_begin_transform_feedback", "iv", false))]]> Int -> String>(cpp.Prime._loadPrime("lime", "lime_gl_bind_attrib_location", "iisv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer", "iiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer_base", "iiiv", false))]]> Int -> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer_range", "iiidiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_framebuffer", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_renderbuffer", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_sampler", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_texture", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_transform_feedback", "iiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_bind_vertex_array", "iv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_blend_color", "ffffv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_blend_equation", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_equation_separate", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_func", "iiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_func_separate", "iiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blit_framebuffer", "iiiiiiiiiiv", false))]]> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_buffer_data", "iidiv", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_buffer_sub_data", "iiidv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_check_framebuffer_status", "ii", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_clear", "iv", false))]]> Int -> cpp.Float32 -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferfi", "iifiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferfv", "iidv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferiv", "iidv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferuiv", "iidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_client_wait_sync", "oiiii", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_clear_color", "ffffv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_clear_depthf", "fv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_clear_stencil", "iv", false))]]> Bool -> Bool -> Bool>(cpp.Prime._loadPrime("lime", "lime_gl_color_mask", "bbbbv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_compile_shader", "iv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_image_2d", "iiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_image_3d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_sub_image_2d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_sub_image_3d", "iiiiiiiiiidv", false))]]> Int -> lime.utils.DataPointer -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_buffer_sub_data", "iiddiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_image_2d", "iiiiiiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_sub_image_2d", "iiiiiiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_sub_image_3d", "iiiiiiiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_buffer", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_framebuffer", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_program", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_query", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_renderbuffer", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_sampler", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_shader", "ii", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_texture", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_transform_feedback", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_create_vertex_array", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_cull_face", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_buffer", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_framebuffer", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_program", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_query", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_renderbuffer", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_sampler", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_shader", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_sync", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_texture", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_transform_feedback", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_delete_vertex_array", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_depth_func", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_depth_mask", "bv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_depth_rangef", "ffv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_detach_shader", "iiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_disable", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_disable_vertex_attrib_array", "iv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_arrays", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_arrays_instanced", "iiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_draw_buffers", "ov", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_draw_elements", "iiidv", false))]]> Int -> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_elements_instanced", "iiidiv", false))]]> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_draw_range_elements", "iiiiidv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_enable", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_enable_vertex_attrib_array", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_end_query", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_end_transform_feedback", "v", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_fence_sync", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_finish", "v", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_flush", "v", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_renderbuffer", "iiiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_texture2D", "iiiiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_texture_layer", "iiiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_front_face", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_generate_mipmap", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_attrib", "iio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform", "iio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_blocki", "iiii", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_blockiv", "iiidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_block_name", "iio", false))]]> cpp.Object -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniformsiv", "ioidv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_attached_shaders", "io", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_attrib_location", "isi", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_boolean", "ib", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_booleanv", "idv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteri64v", "iidv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteriv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_pointerv", "iid", false))]]> lime.utils.DataPointer -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_sub_data", "ididv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_context_attributes", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_error", "i", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_extension", "so", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_float", "if", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_floatv", "idv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_frag_data_location", "isi", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_framebuffer_attachment_parameteri", "iiii", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_framebuffer_attachment_parameteriv", "iiidv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_integer", "ii", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integer64v", "idv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integer64i_v", "iidv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integerv", "idv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integeri_v", "iidv", false))]]> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_internalformativ", "iiiidv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_get_program_binary", "iiov", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_program_info_log", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_programi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_programiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_queryi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_queryiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_query_objectui", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_query_objectuiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_renderbuffer_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_renderbuffer_parameteriv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameterf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameterfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameteriv", "iidv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_shader_info_log", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_shaderi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_shaderiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_shader_precision_format", "iio", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_shader_source", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_get_string", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_stringi", "iio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sync_parameteri", "oii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sync_parameteriv", "oidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameterf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameterfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameteriv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_transform_feedback_varying", "iio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformui", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformuiv", "iidv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniform_block_index", "isi", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniform_location", "isi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribii", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiui", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiuiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attrib_pointerv", "iid", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_hint", "iiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_invalidate_framebuffer", "iov", false))]]> cpp.Object -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_invalidate_sub_framebuffer", "ioiiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_buffer", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_enabled", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_framebuffer", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_program", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_query", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_renderbuffer", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_sampler", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_shader", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_sync", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_texture", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_transform_feedback", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_is_vertex_array", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_line_width", "fv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_link_program", "iv", false))]]> lime.utils.DataPointer -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_map_buffer_range", "idiid", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_object_deregister", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_object_from_id", "iio", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_object_register", "iioo", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_pause_transform_feedback", "v", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_pixel_storei", "iiv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_polygon_offset", "ffv", false))]]> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_program_binary", "iidiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_program_parameteri", "iiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_read_buffer", "iv", false))]]> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_read_pixels", "iiiiiidv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_release_shader_compiler", "v", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_renderbuffer_storage", "iiiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_renderbuffer_storage_multisample", "iiiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_resume_transform_feedback", "v", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_gl_sample_coverage", "fbv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_sampler_parameterf", "iifv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_sampler_parameteri", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_scissor", "iiiiv", false))]]> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_shader_binary", "oidiv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_shader_source", "isv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_func", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_func_separate", "iiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_mask", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_mask_separate", "iiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_op", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_op_separate", "iiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_image_2d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_image_3d", "iiiiiiiiidv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_tex_parameterf", "iifv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_parameteri", "iiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_storage_2d", "iiiiiv", false))]]> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_storage_3d", "iiiiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_sub_image_2d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_sub_image_3d", "iiiiiiiiiidv", false))]]> cpp.Object -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_transform_feedback_varyings", "ioiv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1f", "ifv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1fv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1i", "iiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1iv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1ui", "iiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1uiv", "iidv", false))]]> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2f", "iffv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2fv", "iidv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2i", "iiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2iv", "iidv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2ui", "iiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2uiv", "iidv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3f", "ifffv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3fv", "iidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3i", "iiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3iv", "iidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3ui", "iiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3uiv", "iidv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4f", "iffffv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4fv", "iidv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4i", "iiiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4iv", "iidv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4ui", "iiiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4uiv", "iidv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_block_binding", "iiiv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2x3fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2x4fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3x2fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3x4fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4x2fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4x3fv", "iibdv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_unmap_buffer", "ib", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_use_program", "iv", false))]]>(cpp.Prime._loadPrime("lime", "lime_gl_validate_program", "iv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib1f", "ifv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib1fv", "idv", false))]]> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib2f", "iffv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib2fv", "idv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib3f", "ifffv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib3fv", "idv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib4f", "iffffv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib4fv", "idv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4i", "iiiiiv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4iv", "idv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4ui", "iiiiiv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4uiv", "idv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_divisor", "iiv", false))]]> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_ipointer", "iiiidv", false))]]> Int -> Int -> Bool -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_pointer", "iiibidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_viewport", "iiiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_wait_sync", "oiiiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_blob_create", "diio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_blob_create_sub_blob", "oiio", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_blob_get_data", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_blob_get_data_writable", "od", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_blob_get_empty", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_blob_get_length", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_blob_is_immutable", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_blob_make_immutable", "ov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add", "oiiv", false))]]> lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_codepoints", "odiiiv", false))]]> String -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf8", "osiiv", false))]]> lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf16", "odiiiv", false))]]> lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf32", "odiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_allocation_successful", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_clear_contents", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_create", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_cluster_level", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_content_type", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_direction", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_empty", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_flags", "oi", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_glyph_infos", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_glyph_positions", "ooo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_language", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_length", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_replacement_codepoint", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_script", "oi", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_segment_properties", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_guess_segment_properties", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_normalize_glyphs", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_preallocate", "oib", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_reset", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_reverse", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_reverse_clusters", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_format_from_string", "si", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_format_to_string", "io", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_list_formats", "o", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_cluster_level", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_content_type", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_direction", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_flags", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_language", "oov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_length", "oib", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_replacement_codepoint", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_script", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_segment_properties", "oov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_create", "oio", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_face_get_empty", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_face_get_glyph_count", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_face_get_index", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_face_get_upem", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_face_is_immutable", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_face_make_immutable", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_face_reference_blob", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_reference_table", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_glyph_count", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_index", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_upem", "oiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_feature_from_string", "so", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_feature_to_string", "oo", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_add_glyph_origin_for_direction", "oiiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_create", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_create_sub_font", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_empty", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_face", "oo", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_advance_for_direction", "oiio", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_kerning_for_direction", "oiiio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_origin_for_direction", "oiio", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_parent", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_ppem", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_scale", "oo", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_hb_font_glyph_from_string", "osi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_glyph_to_string", "oio", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_is_immutable", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_font_make_immutable", "ov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_set_ppem", "oiiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_set_scale", "oiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_subtract_glyph_origin_for_direction", "oiiiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_ft_font_create", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_ft_font_create_referenced", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_ft_font_get_load_flags", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_ft_font_set_load_flags", "oiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_language_from_string", "so", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_language_get_default", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_language_to_string", "oo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_segment_properties_equal", "oob", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_segment_properties_hash", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_add", "oiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_add_range", "oiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_allocation_successful", "ob", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_clear", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_create", "o", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_del", "oiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_del_range", "oiiv", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_get_empty", "o", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_get_max", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_get_min", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_get_population", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_has", "oib", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_intersect", "oov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_invert", "ov", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_is_empty", "ob", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_is_equal", "oob", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_next", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_hb_set_next_range", "oo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_set", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_subtract", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_symmetric_difference", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_union", "oov", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_shape", "ooov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_bitrate", "oii", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_bitrate_instant", "oi", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_clear", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_comment", "oio", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_crosslap", "ooo", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_from_bytes", "oo", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_from_file", "so", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_info", "oio", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_lap", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_page", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_page_lap", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_seek", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_seek_lap", "oooi", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_tell", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_total", "oio", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_tell", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_total", "oio", false))]]> cpp.Object -> Int -> Int -> Bool -> Int -> Bool>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_read", "ooiibibo", false))]]> cpp.Object -> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_read_float", "ooio", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_seekable", "ob", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_serial_number", "oii", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_streams", "oi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek", "odi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_lap", "odi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_page", "odi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_page_lap", "odi", false))]]>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_tell", "od", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_total", "oid", false))]]>"tags=\"haxe,release\""new ApplicationEventInfo(UPDATE)new ClipboardEventInfo()()]]>new DropEventInfo()new GamepadEventInfo()new JoystickEventInfo()new KeyEventInfo()new MouseEventInfo()new RenderEventInfo(RENDER)new SensorEventInfo()new TextEventInfo()new TouchEventInfo()()]]>new WindowEventInfo()"tags=\"haxe,release\""haxe.Timerlime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeOpenGLRenderContextlime._internal.backend.native.NativeWindowlime.app.Applicationlime.graphics.opengl.GLlime.graphics.OpenGLRenderContextlime.graphics.Rendererlime.system.Clipboardlime.system.Sensorlime.ui.Gamepadlime.ui.Joysticklime.ui.WindowThe current Application instance that is executingMeta-data values for the application, such as a version or a package nameA list of currently attached Module instances()]]>Update events are dispatched each frame (usually just before rendering)()]]>Dispatched when a new window has been created by this applicationThe Preloader for the current ApplicationThe Window associated with this Application, or the first Window
if there are multiple Windows activeA list of active Window instances associated with this Application
<__backend>
<__preloader>
<__window>
<__windowByID>
<__windows>
Adds a new module to the Application
@param module A module to addCreates a new Window and adds it to the Application
@param attributes A set of parameters to initialize the windowExecute the Application. On native platforms, this method
blocks until the application is finished running. On other
platforms, it will return immediately
@return An exit code, 0 if there was no errorCalled when a gamepad axis move event is fired
@param gamepad The current gamepad
@param axis The axis that was moved
@param value The axis value (between 0 and 1)Called when a gamepad button down event is fired
@param gamepad The current gamepad
@param button The button that was pressedCalled when a gamepad button up event is fired
@param gamepad The current gamepad
@param button The button that was releasedCalled when a gamepad is connected
@param gamepad The gamepad that was connectedCalled when a gamepad is disconnected
@param gamepad The gamepad that was disconnectedCalled when a joystick axis move event is fired
@param joystick The current joystick
@param axis The axis that was moved
@param value The axis value (between 0 and 1)Called when a joystick button down event is fired
@param joystick The current joystick
@param button The button that was pressedCalled when a joystick button up event is fired
@param joystick The current joystick
@param button The button that was releasedCalled when a joystick is connected
@param joystick The joystick that was connectedCalled when a joystick is disconnected
@param joystick The joystick that was disconnectedCalled when a joystick hat move event is fired
@param joystick The current joystick
@param hat The hat that was moved
@param position The current hat positionCalled when a joystick axis move event is fired
@param joystick The current joystick
@param trackball The trackball that was moved
@param x The x movement of the trackball (between 0 and 1)
@param y The y movement of the trackball (between 0 and 1)Called when a key down event is fired on the primary window
@param keyCode The code of the key that was pressed
@param modifier The modifier of the key that was pressedCalled when a key up event is fired on the primary window
@param keyCode The code of the key that was released
@param modifier The modifier of the key that was releasedCalled when the module is exitingCalled when a mouse down event is fired on the primary window
@param x The current x coordinate of the mouse
@param y The current y coordinate of the mouse
@param button The ID of the mouse button that was pressedCalled when a mouse move event is fired on the primary window
@param x The current x coordinate of the mouse
@param y The current y coordinate of the mouseCalled when a mouse move relative event is fired on the primary window
@param x The x movement of the mouse
@param y The y movement of the mouseCalled when a mouse up event is fired on the primary window
@param x The current x coordinate of the mouse
@param y The current y coordinate of the mouse
@param button The ID of the button that was releasedCalled when a mouse wheel event is fired on the primary window
@param deltaX The amount of horizontal scrolling (if applicable)
@param deltaY The amount of vertical scrolling (if applicable)
@param deltaMode The units of measurement usedCalled when a preload complete event is firedCalled when a preload progress event is fired
@param loaded The number of items that are loaded
@param total The total number of items will be loadedCalled when a render context is lost on the primary windowCalled when a render context is restored on the primary window
@param context The render context relevant to the eventCalled when a text edit event is fired on the primary window
@param text The current replacement text
@param start The starting index for the edit
@param length The length of the editCalled when a text input event is fired on the primary window
@param text The current input textCalled when a touch cancel event is fired
@param touch The current touch objectCalled when a touch end event is fired
@param touch The current touch objectCalled when a touch move event is fired
@param touch The current touch objectCalled when a touch start event is fired
@param touch The current touch objectCalled when a window activate event is fired on the primary windowCalled when a window close event is fired on the primary windowCalled when the primary window is createdCalled when a window deactivate event is fired on the primary windowCalled when a window drop file event is fired on the primary windowCalled when a window enter event is fired on the primary windowCalled when a window expose event is fired on the primary windowCalled when a window focus in event is fired on the primary windowCalled when a window focus out event is fired on the primary windowCalled when the primary window enters fullscreenCalled when a window leave event is fired on the primary windowCalled when a window move event is fired on the primary window
@param x The x position of the window in desktop coordinates
@param y The y position of the window in desktop coordinatesCalled when the primary window is minimizedCalled when a window resize event is fired on the primary window
@param width The width of the window
@param height The height of the windowCalled when the primary window is restored from being minimized or fullscreenRemoves a module from the Application
@param module A module to removeCalled when a render event is fired on the primary window
@param context The render context ready to be renderedCalled when an update event is fired on the primary window
@param deltaTime The amount of time in milliseconds that has elapsed since the last update
<__addWindow set="method" line="461">
<__createWindow set="method" line="507">
<__registerLimeModule set="method" line="514" override="1">
<__removeWindow set="method" line="540">
<__onGamepadConnect set="method" line="562">
<__onJoystickConnect set="method" line="572">
<__onModuleExit set="method" line="584">
<__onWindowClose set="method" line="589">
<__unregisterLimeModule set="method" line="599" override="1">
Creates a new Application instanceThe Application class forms the foundation for most Lime projects.
It is common to extend this class in a main class. It is then possible
to override "on" functions in the class in order to handle standard events
that are relevant.lime.ui.Window"tags=\"haxe,release\""lime.app.Applicationlime.system.Systemopenfl.display.Stageopenfl.events.UncaughtErrorEventshide{ useWeakReference : false, priority : 0, useCapture : false }Registers an event listener object with an EventDispatcher object so that the
listener receives notification of an event. You can register event listeners on all
nodes in the display list for a specific type of event, phase, and priority.
After you successfully register an event listener, you cannot change its priority
through additional calls to `addEventListener()`. To change a listener's priority,
you must first call `removeEventListener()`. Then you can register the listener
again with the new priority level.
After the listener is registered, subsequent calls to `addEventListener()` with a
different value for either `type` or `useCapture` result in the creation of a
separate listener registration. For example, if you first register a listener with
`useCapture` set to true, it listens only during the capture phase. If you call
`addEventListener()` again using the same listener object, but with `useCapture`
set to `false`, you have two separate listeners: one that listens during the
capture phase, and another that listens during the target and bubbling phases.
You cannot register an event listener for only the target phase or the bubbling
phase. Those phases are coupled during registration because bubbling applies only
to the ancestors of the target node.
When you no longer need an event listener, remove it by calling
`EventDispatcher.removeEventListener()`; otherwise, memory problems might result.
Objects with registered event listeners are not automatically removed from memory
because the garbage collector does not remove objects that still have references.
Copying an EventDispatcher instance does not copy the event listeners attached to
it. (If your newly created node needs an event listener, you must attach the
listener after creating the node.) However, if you move an EventDispatcher
instance, the event listeners attached to it move along with it.
If the event listener is being registered on a node while an event is also being
processed on this node, the event listener is not triggered during the current
phase but may be triggered during a later phase in the event flow, such as the
bubbling phase.
If an event listener is removed from a node while an event is being processed on
the node, it is still triggered by the current actions. After it is removed, the
event listener is never invoked again (unless it is registered again for future
processing).
@param type The type of event.
@param listener The listener function that processes the event. This function
must accept an event object as its only parameter and must return nothing, as
this example shows:
```haxe
function(evt:Event):Void
```
The function can have any name.
@param useCapture Determines whether the listener works in the capture phase or
the target and bubbling phases. If `useCapture` is set to `true`, the listener
processes the event only during the capture phase and not in the target or
bubbling phase. If `useCapture` is `false`, the listener processes the event only
during the target or bubbling phase. To listen for the event in all three phases,
call `addEventListener()` twice, once with `useCapture` set to `true`, then again
with `useCapture` set to `false`.
@param priority The priority level of the event listener. Priorities are
designated by a 32-bit integer. The higher the number, the higher the priority.
All listeners with priority `n` are processed before listeners of priority `n-1`.
If two or more listeners share the same priority, they are processed in the order
in which they were added. The default priority is 0.
@param useWeakReference Determines whether the reference to the listener is
strong or weak. A strong reference (the default) prevents your listener from being
garbage-collected. A weak reference does not.
Class-level member functions are not subject to garbage collection, so you can set
`useWeakReference` to `true` for class-level member functions without subjecting
them to garbage collection. If you set `useWeakReference` to `true` for a listener
that is a nested inner function, the function will be garbage-collected and no
longer be persistent. If you create references to the inner function (save it in
another variable) then it is not garbage-collected and stays persistent.Dispatches an event into the event flow. The event target is the EventDispatcher
object upon which `dispatchEvent()` is called.
@param event The event object dispatched into the event flow.
@returns A value of true unless `preventDefault()` is called on the event, in
which case it returns `false`.Checks whether the EventDispatcher object has any listeners registered for a
specific type of event. This allows you to determine where an EventDispatcher
object has altered handling of an event type in the event flow hierarchy. To
determine whether a specific event type will actually trigger an event listener,
use `IEventDispatcher.willTrigger()`.
The difference between `hasEventListener()` and `willTrigger()` is that
`hasEventListener()` examines only the object to which it belongs, whereas
`willTrigger()` examines the entire event flow for the event specified by the `type`
parameter.
@param type The type of event.
@returns A value of `true` if a listener of the specified type is registered;
`false` otherwise.{ useCapture : false }Removes a listener from the EventDispatcher object. If there is no matching
listener registered with the EventDispatcher object, a call to this method has no
effect.
@param type The type of event.
@param listener The listener object to remove.
@param useCapture Specifies whether the listener was registered for the capture
phase or the target and bubbling phases. If the listener was registered for both
the capture phase and the target and bubbling phases, two calls to
`removeEventListener()` are required to remove both: one call with `useCapture` set
to `true`, and another call with `useCapture` set to `false`.Checks whether an event listener is registered with this EventDispatcher object or
any of its ancestors for the specified event type. This method returns `true` if an
event listener is triggered during any phase of the event flow when an event of
the specified type is dispatched to this EventDispatcher object or any of its
descendants.
The difference between `hasEventListener()` and `willTrigger()` is that
`hasEventListener()` examines only the object to which it belongs, whereas
`willTrigger()` examines the entire event flow for the event specified by the
`type` parameter.
@param type The type of event.
@returns A value of `true` if a listener of the specified type will be
triggered; `false` otherwise.The IEventDispatcher interface defines methods for adding or removing event listeners,
checks whether specific types of event listeners are registered, and dispatches events.
Event targets are an important part of the Flash� Player and Adobe AIR event model. The
event target serves as the focal point for how events flow through the display list
hierarchy. When an event such as a mouse click or a keypress occurs, an event object is
dispatched into the event flow from the root of the display list. The event object
makes a round-trip journey to the event target, which is conceptually divided into
three phases: the capture phase includes the journey from the root to the last node
before the event target's node; the target phase includes only the event target node;
and the bubbling phase includes any subsequent nodes encountered on the return trip to
the root of the display list.
In general, the easiest way for a user-defined class to gain event dispatching
capabilities is to extend EventDispatcher. If this is impossible (that is, if the class
is already extending another class), you can instead implement the IEventDispatcher
interface, create an EventDispatcher member, and write simple hooks to route calls
into the aggregated EventDispatcher.
<__eventMap>
<__iterators>
<__targetDispatcher>
{ useWeakReference : false, priority : 0, useCapture : false }Registers an event listener object with an EventDispatcher object so that
the listener receives notification of an event. You can register event
listeners on all nodes in the display list for a specific type of event,
phase, and priority.
After you successfully register an event listener, you cannot change
its priority through additional calls to `addEventListener()`.
To change a listener's priority, you must first call
`removeListener()`. Then you can register the listener again
with the new priority level.
Keep in mind that after the listener is registered, subsequent calls to
`addEventListener()` with a different `type` or
`useCapture` value result in the creation of a separate
listener registration. For example, if you first register a listener with
`useCapture` set to `true`, it listens only during
the capture phase. If you call `addEventListener()` again using
the same listener object, but with `useCapture` set to
`false`, you have two separate listeners: one that listens
during the capture phase and another that listens during the target and
bubbling phases.
You cannot register an event listener for only the target phase or the
bubbling phase. Those phases are coupled during registration because
bubbling applies only to the ancestors of the target node.
If you no longer need an event listener, remove it by calling
`removeEventListener()`, or memory problems could result. Event
listeners are not automatically removed from memory because the garbage
collector does not remove the listener as long as the dispatching object
exists(unless the `useWeakReference` parameter is set to
`true`).
Copying an EventDispatcher instance does not copy the event listeners
attached to it.(If your newly created node needs an event listener, you
must attach the listener after creating the node.) However, if you move an
EventDispatcher instance, the event listeners attached to it move along
with it.
If the event listener is being registered on a node while an event is
being processed on this node, the event listener is not triggered during
the current phase but can be triggered during a later phase in the event
flow, such as the bubbling phase.
If an event listener is removed from a node while an event is being
processed on the node, it is still triggered by the current actions. After
it is removed, the event listener is never invoked again(unless
registered again for future processing).
@param type The type of event.
@param useCapture Determines whether the listener works in the
capture phase or the target and bubbling phases.
If `useCapture` is set to
`true`, the listener processes the
event only during the capture phase and not in the
target or bubbling phase. If
`useCapture` is `false`, the
listener processes the event only during the
target or bubbling phase. To listen for the event
in all three phases, call
`addEventListener` twice, once with
`useCapture` set to `true`,
then again with `useCapture` set to
`false`.
@param priority The priority level of the event listener. The
priority is designated by a signed 32-bit integer.
The higher the number, the higher the priority.
All listeners with priority _n_ are processed
before listeners of priority _n_-1. If two or
more listeners share the same priority, they are
processed in the order in which they were added.
The default priority is 0.
@param useWeakReference Determines whether the reference to the listener
is strong or weak. A strong reference(the
default) prevents your listener from being
garbage-collected. A weak reference does not.
Class-level member functions are not subject to
garbage collection, so you can set
`useWeakReference` to `true`
for class-level member functions without
subjecting them to garbage collection. If you set
`useWeakReference` to `true`
for a listener that is a nested inner function,
the function will be garbage-collected and no
longer persistent. If you create references to the
inner function(save it in another variable) then
it is not garbage-collected and stays
persistent.
@throws ArgumentError The `listener` specified is not a
function.Dispatches an event into the event flow. The event target is the
EventDispatcher object upon which the `dispatchEvent()` method
is called.
@param event The Event object that is dispatched into the event flow. If
the event is being redispatched, a clone of the event is
created automatically. After an event is dispatched, its
`target` property cannot be changed, so you must
create a new copy of the event for redispatching to work.
@return A value of `true` if the event was successfully
dispatched. A value of `false` indicates failure or
that `preventDefault()` was called on the event.
@throws Error The event dispatch recursion limit has been reached.Checks whether the EventDispatcher object has any listeners registered for
a specific type of event. This allows you to determine where an
EventDispatcher object has altered handling of an event type in the event
flow hierarchy. To determine whether a specific event type actually
triggers an event listener, use `willTrigger()`.
The difference between `hasEventListener()` and
`willTrigger()` is that `hasEventListener()`
examines only the object to which it belongs, whereas
`willTrigger()` examines the entire event flow for the event
specified by the `type` parameter.
When `hasEventListener()` is called from a LoaderInfo
object, only the listeners that the caller can access are considered.
@param type The type of event.
@return A value of `true` if a listener of the specified type
is registered; `false` otherwise.{ useCapture : false }Removes a listener from the EventDispatcher object. If there is no
matching listener registered with the EventDispatcher object, a call to
this method has no effect.
@param type The type of event.
@param useCapture Specifies whether the listener was registered for the
capture phase or the target and bubbling phases. If the
listener was registered for both the capture phase and
the target and bubbling phases, two calls to
`removeEventListener()` are required to
remove both, one call with `useCapture()` set
to `true`, and another call with
`useCapture()` set to `false`.Checks whether an event listener is registered with this EventDispatcher
object or any of its ancestors for the specified event type. This method
returns `true` if an event listener is triggered during any
phase of the event flow when an event of the specified type is dispatched
to this EventDispatcher object or any of its descendants.
The difference between the `hasEventListener()` and the
`willTrigger()` methods is that `hasEventListener()`
examines only the object to which it belongs, whereas the
`willTrigger()` method examines the entire event flow for the
event specified by the `type` parameter.
When `willTrigger()` is called from a LoaderInfo object,
only the listeners that the caller can access are considered.
@param type The type of event.
@return A value of `true` if a listener of the specified type
will be triggered; `false` otherwise.
<__dispatchEvent set="method" line="360">
<__removeAllListeners set="method" line="426">
<__addListenerByPriority set="method" line="432">
{ target : null }Aggregates an instance of the EventDispatcher class.
The EventDispatcher class is generally used as a base class, which
means that most developers do not need to use this constructor function.
However, advanced developers who are implementing the IEventDispatcher
interface need to use this constructor. If you are unable to extend the
EventDispatcher class and must instead implement the IEventDispatcher
interface, use this constructor to aggregate an instance of the
EventDispatcher class.
@param target The target object for events dispatched to the
EventDispatcher object. This parameter is used when the
EventDispatcher instance is aggregated by a class that
implements IEventDispatcher; it is necessary so that the
containing object can be the target for events. Do not use
this parameter in simple cases in which a class extends
EventDispatcher.® Player and
Adobe® AIR® event model. The event target serves as
the focal point for how events flow through the display list hierarchy.
When an event such as a mouse click or a keypress occurs, Flash Player or
the AIR application dispatches an event object into the event flow from the
root of the display list. The event object then makes its way through the
display list until it reaches the event target, at which point it begins
its return trip through the display list. This round-trip journey to the
event target is conceptually divided into three phases: the capture phase
comprises the journey from the root to the last node before the event
target's node, the target phase comprises only the event target node, and
the bubbling phase comprises any subsequent nodes encountered on the return
trip to the root of the display list.
In general, the easiest way for a user-defined class to gain event
dispatching capabilities is to extend EventDispatcher. If this is
impossible(that is, if the class is already extending another class), you
can instead implement the IEventDispatcher interface, create an
EventDispatcher member, and write simple hooks to route calls into the
aggregated EventDispatcher.
@event activate [broadcast event] Dispatched when the Flash Player or AIR
application gains operating system focus and becomes
active. This event is a broadcast event, which means that
it is dispatched by all EventDispatcher objects with a
listener registered for this event. For more information
about broadcast events, see the DisplayObject class.
@event deactivate [broadcast event] Dispatched when the Flash Player or AIR
application operating loses system focus and is becoming
inactive. This event is a broadcast event, which means
that it is dispatched by all EventDispatcher objects with
a listener registered for this event. For more
information about broadcast events, see the DisplayObject
class.]]>"tags=\"haxe,release\""openfl.events.Event
<__blendMode>
<__drawableType>
<__isMask>
<__renderable>
<__renderTransform>
<__transform>
<__worldAlpha>
<__worldColorTransform>
<__worldTransform>
<__getBounds set="method">
<__update set="method">
<__updateTransforms set="method">
{ overrideTransform : null }
<__mask>
<__scrollRect>
Maps `key` to `value`.
If `key` already has a mapping, the previous value disappears.
If `key` is `null`, the result is unspecified.Returns the current mapping of `key`.
If no such mapping exists, `null` is returned.
Note that a check like `map.get(key) == null` can hold for two reasons:
1. the map has no mapping for `key`
2. the map has a mapping with a value of `null`
If it is important to distinguish these cases, `exists()` should be
used.
If `key` is `null`, the result is unspecified.Returns true if `key` has a mapping, false otherwise.
If `key` is `null`, the result is unspecified.Removes the mapping of `key` and returns true if such a mapping existed,
false otherwise.
If `key` is `null`, the result is unspecified.Returns an Iterator over the keys of `this` Map.
The order of keys is undefined.Returns an Iterator over the values of `this` Map.
The order of values is undefined.Returns an Iterator over the keys and values of `this` Map.
The order of values is undefined.Returns a shallow copy of `this` map.
The order of values is undefined.Returns a String representation of `this` Map.
The exact representation depends on the platform and key-type.Removes all keys from `this` Map.Indicates whether the `length` property of the Vector can be changed. If the
value is `true`, the `length` property can't be changed. This means the
following operations are not allowed when `fixed` is `true`:
* setting the `length` property directly
* assigning a value to index position length
* calling a method that changes the `length` property, including:
* `pop()`
* `push()`
* `shift()`
* `unshift()`
* `splice()` (if the `splice()` call changes the length of the Vector).The range of valid indices available in the Vector. A Vector instance has index
positions up to but not including the length value.
Every Vector element always has a value that is either an instance of the base
type or `null`. When the `length` property is set to a value that's larger than
its previous value, additional elements are created and populated with the
default value appropriate to the base type (`null` for reference types).
When the `length` property is set to a value that's smaller than its previous
value, all the elements at index positions greater than or equal to the new
length value are removed from the Vector.{ vec : null }Concatenates the Vectors specified in the parameters list with the elements in
this Vector and creates a new Vector. The Vectors in the parameters list must
have the same base type, or subtype, as this Vector. If you do not pass any
parameters, the returned Vector is a duplicate (shallow clone) of the original
Vector.
@param vec A Vector of the base type, or subtype, of this Vector.
@return A Vector with the same base type as this Vector that contains the
elements from this Vector followed by elements from the Vector in the
parameter list.
@throws TypeError If any argument is not a Vector of the base type, or cannot
be converted to a Vector of the base type.Creates a new shallow clone of the current Vector object
@return A new Vector object):Bool {
// your code here
}
```
The callback function should return a Boolean value.
@param thisObject The object that the identifer this in the callback function
refers to when the function is called. ***Ignored on targets other than neko and
js.
@return A Boolean value of true if the specified function returns true when called
on all items in the Vector; otherwise, false.]]>Executes a test function on each item in the Vector and returns a new Vector
containing all items that return true for the specified function. If an item
returns false, it is not included in the result Vector. The base type of the return
Vector matches the base type of the Vector on which the method is called.
@param callback The function to run on each item in the Vector.hideArray access{ fromIndex : 0 }Searches for an item in the Vector and returns the index position of the item.
The item is compared to the Vector elements using strict equality (`===`).
@param searchElement The item to find in the Vector.
@param fromIndex The location in the Vector from which to start searching for
the item. If this parameter is negative, it is treated as `length + fromIndex`,
meaning the search starts -fromIndex items from the end and searches from that
position forward to the end of the Vector.
@return A zero-based index position of the item in the Vector. If the
`searchElement` argument is not found, the return value is -1.Insert a single element into the Vector. This method modifies the Vector without
making a copy.
@param index An integer that specifies the position in the Vector where the
element is to be inserted. You can use a negative integer to specify a position
relative to the end of the Vector (for example, -1 for the last element of the
Vector).
@param element The value to insert
@throws RangeError If this method is called while `fixed` is `true`.hideIterator{ sep : "," }Converts the elements in the Vector to strings, inserts the specified separator
between the elements, concatenates them, and returns the resulting string. A
nested Vector is always separated by a comma (`,`), not by the separator passed
to the `join()` method.
@param sep A character or string that separates Vector elements in the returned
string. If you omit this parameter, a comma is used as the default separator.
@return A string consisting of the elements of the Vector converted to strings
and separated by the specified string.{ fromIndex : null }Searches for an item in the Vector, working backward from the specified index
position, and returns the index position of the matching item. The item is
compared to the Vector elements using strict equality (`===`).
@param searchElement The item to find in the Vector.
@param fromIndex The location in the Vector from which to start searching for
the item. The default is the maximum allowable index value, meaning that the
search starts at the last item in the Vector.
If this parameter is negative, it is treated as `length + fromIndex`, meaning the
search starts -fromIndex items from the end and searches from that position
backward to index 0.
@return A zero-based index position of the item in the Vector. If the
`searchElement` argument is not found, the return value is -1.Removes the last element from the Vector and returns that element. The `length`
property of the Vector is decreased by one when this function is called.
@return The value of the last element in the specified Vector.
@throws RangeError If this method is called while `fixed` is `true`.Adds one or more elements to the end of the Vector and returns the new length of
the Vector.
Because this function can accept multiple arguments, the data type of the
arguments is not checked at compile time even in strict mode. However, if an
argument is passed that is not an instance of the base type, an exception
occurs at run time.
@param value A value to append to the Vector.
@return The length of the Vector after the new elements are added.
@throws TypeError If any argument is not an instance of the base type T of
the Vector.
@throws RangeError If this method is called while `fixed` is `true`.Remove a single element from the Vector. This method modifies the Vector without
making a copy.
@param index An integer that specifies the index of the element in the Vector
that is to be deleted. You can use a negative integer to specify a position
relative to the end of the Vector (for example, -1 for the last element of the
Vector).
@return The element that was removed from the original Vector.
@throws RangeError If the index argument specifies an index to be deleted that's
outside the Vector's bounds.
@throws RangeError If this method is called while `fixed` is `true`.Reverses the order of the elements in the Vector. This method alters the Vector
on which it is called.
@return The Vector with the elements in reverse order.hideArray accessRemoves the first element from the Vector and returns that element. The
remaining Vector elements are moved from their original position, i, to i - 1.
@return The first element in the Vector.
@throws RangeError If `fixed` is `true`.{ endIndex : null, startIndex : 0 }Returns a new Vector that consists of a range of elements from the original
Vector, without modifying the original Vector. The returned Vector includes the
`startIndex` element and all elements up to, but not including, the
`endIndex` element.
If you don't pass any parameters, the new Vector is a duplicate (shallow clone) of
the original Vector. If you pass a value of 0 for both parameters, a new, empty
Vector is created of the same type as the original Vector.
@param startIndex A number specifying the index of the starting point for the
slice. If startIndex is a negative number, the starting point begins at the end
of the Vector, where -1 is the last element.
@param endIndex A number specifying the index of the ending point for the
slice. If you omit this parameter, the slice includes all elements from the
starting point to the end of the Vector. If endIndex is a negative number, the
ending point is specified from the end of the Vector, where -1 is the last element.
@return A Vector that consists of a range of elements from the original Vector.):Bool
```
The callback function should return a Boolean value.
@param thisObject The object that the identifer this in the callback function refers
to when the function is called. ***Ignored on targets other than neko and js.
@return A Boolean value of true if any items in the Vector return true for the specified
function; otherwise, false.]]>Sorts the elements in the Vector object, and also returns a sorted Vector object.
This method sorts according to the parameter sortBehavior, which is either a
function that compares two values, or a set of sorting options.
The method takes one parameter. The parameter is one of the following:
* a function that takes two arguments of the base type (T) of the Vector and
returns a Number:
```as3
function compare(x:T, y:T):Number {}
```
The logic of the function is that, given two elements `x` and `y`, the function
returns one of the following three values:
* a negative number, if `x` should appear before `y` in the sorted sequence
* 0, if `x` equals `y`
* a positive number, if `x` should appear after `y` in the sorted sequence
* a number which is a bitwise OR of the following values:
* 1 or `Array.CASEINSENSITIVE`
* 2 or `Array.DESCENDING`
* 4 or `Array.UNIQUESORT`
* 8 or `Array.RETURNINDEXEDARRAY`
* 16 or `Array.NUMERIC`
If the value is 0, the sort works in the following way:
* Sorting is case-sensitive (Z precedes a).
* Sorting is ascending (a precedes b).
* The array is modified to reflect the sort order; multiple elements that
have identical sort fields are placed consecutively in the sorted array in
no particular order.
* All elements, regardless of data type, are sorted as if they were strings,
so 100 precedes 99, because "1" is a lower string value than "9".
@param sortBehavior A Function or a Number value that determines the
behavior of the sort. A Function parameter specifies a comparison method. A
Number value specifies the sorting options.
@return A Vector object, with elements in the new order.Adds elements to and removes elements from the Vector. This method modifies the
Vector without making a copy.
**Note:** To override this method in a subclass of Vector, use ...args for the
parameters, as this example shows:
```as3
public override function splice(...args) {
// your statements here
}
```
@param startIndex:int — An integer that specifies the index of the element in the Vector where the insertion or deletion begins. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector).
@param deleteCount:uint (default = 4294967295) — An integer that specifies the number of elements to be deleted. This number includes the element specified in the startIndex parameter. If the value is 0, no elements are deleted.
@param ... items — An optional list of one or more comma-separated values to insert into the Vector at the position specified in the startIndex parameter.
@return a Vector containing the elements that were removed from the original Vector.
@throws RangeError If the startIndex and deleteCount arguments specify an index to be deleted that's outside the Vector's bounds.
@throws RangeError If this method is called while fixed is true and the splice() operation changes the length of the Vector.Returns a string that represents the elements in the Vector. Every element in the
Vector, starting with index 0 and ending with the highest index, is converted to
a concatenated string and separated by commas. To specify a custom separator,
use the `Vector.join()` method.
@return A string of Vector elements.Adds one or more elements to the beginning of the Vector and returns the new
length of the Vector. The other elements in the Vector are moved from their
original position, i, to i + the number of new elements.
Because this function can accept multiple arguments, the data type of the
arguments is not checked at compile time even in strict mode. However, if an
argument is passed that is not an instance of the base type, an exception occurs
at run time.
@param value An instance of the base type of the Vector to be inserted at the
beginning of the Vector.
@return An integer representing the new length of the Vector.
@throws TypeError If any argument is not an instance of the base type T of the
Vector.
@throws RangeError If this method is called while fixed is true.Attempts to cast a Vector to another Vector object of a similar type
@param vec A Vector object to cast
@return The casted Vector object"checkstyle:Dynamic"
<__inactiveObject0>
<__inactiveObject1>
<__inactiveObjectList>
<__pool>
<__size>
<__addInactive get="inline" set="null" line="151">
<__getInactive get="inline" set="null" line="173">
<__removeInactive set="method" line="212">
{ size : null, clean : null, create : null }"tags=\"haxe,release\"""haxe.ds.ObjectMap.*"See `Map.set`See `Map.get`See `Map.exists`See `Map.remove`See `Map.keys`
(cs, java) Implementation detail: Do not `set()` any new value while
iterating, as it may cause a resize, which will break iteration.See `Map.iterator`
(cs, java) Implementation detail: Do not `set()` any new value while
iterating, as it may cause a resize, which will break iteration.See `Map.keyValueIterator`See `Map.copy`See `Map.toString`See `Map.clear`Creates a new ObjectMap.ObjectMap allows mapping of object keys to arbitrary values.
On static targets, the keys are considered to be strong references. Refer
to `haxe.ds.WeakMap` for a weak reference version.
See `Map` for documentation details.
@see https://haxe.org/manual/std-Map.html\r\n inline void set(Dynamic key, const ::cpp::Struct &value) {__object_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Function &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Pointer &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n inline bool get_bool(Dynamic key) { return __object_hash_get_bool(h,key); }\r\n inline int get_int(Dynamic key) { return __object_hash_get_int(h,key); }\r\n inline Float get_float(Dynamic key) { return __object_hash_get_float(h,key); }\r\n inline String get_string(Dynamic key) { return __object_hash_get_string(h,key); }\r\n\r\n"]]>The length of `this` List.Adds element `item` at the end of `this` List.
`this.length` increases by 1.Adds element `item` at the beginning of `this` List.
`this.length` increases by 1.Returns the first element of `this` List, or null if no elements exist.
This function does not modify `this` List.Returns the last element of `this` List, or null if no elements exist.
This function does not modify `this` List.Returns the first element of `this` List, or null if no elements exist.
The element is removed from `this` List.Tells if `this` List is empty.Empties `this` List.
This function does not traverse the elements, but simply sets the
internal references to null and `this.length` to 0.Removes the first occurrence of `v` in `this` List.
If `v` is found by checking standard equality, it is removed from `this`
List and the function returns true.
Otherwise, false is returned.Returns an iterator on the elements of the list.Returns an iterator of the List indices and values.Returns a string representation of `this` List.
The result is enclosed in { } with the individual elements being
separated by a comma.Returns a string representation of `this` List, with `sep` separating
each element.Returns a list filtered with `f`. The returned list will contain all
elements for which `f(x) == true`.Creates a new empty list.A linked-list of elements. The list is composed of element container objects
that are chained together. It is optimized so that adding or removing an
element does not imply copying the whole list content every time.
@see https://haxe.org/manual/std-List.html
<__broadcastEvents expr="new Map()" line="184" static="1">
new Map()
<__initStage static="1">
<__instanceCount expr="0" line="186" static="1">
0
<__supportDOM get="inline" set="null" expr="false" line="189" static="1">
false
<__tempStack expr="new ObjectPool<Vector<DisplayObject>>(function() return new Vector<DisplayObject>(), function(stack) stack.length = 0)" line="191" static="1">
>(function() return new Vector(), function(stack) stack.length = 0)]]>
<__calculateAbsoluteTransform get="inline" set="null" line="1359" static="1">
Indicates the alpha transparency value of the object specified. Valid
values are 0 (fully transparent) to 1 (fully opaque). The default value is 1.
Display objects with `alpha` set to 0 _are_ active, even though they are invisible.For example, if a constituent color (such as red) of one pixel in the display object and the corresponding color of the pixel in the background both have the value 0x88, the multiplied result is 0x4840. Dividing by 0xFF yields a value of 0x48 for that constituent color, which is a darker shade than the color of the display object or the color of the background. |
| `BlendMode.SCREEN` |  | Multiplies the complement (inverse) of the display object color by the complement of the background color, resulting in a bleaching effect. This setting is commonly used for highlights or to remove black areas of the display object. |
| `BlendMode.LIGHTEN` |  | Selects the lighter of the constituent colors of the display object and the color of the background (the colors with the larger values). This setting is commonly used for superimposing type. For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0xFFF833 (because 0xFF > 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering. |
| `BlendMode.DARKEN` |  | Selects the darker of the constituent colors of the display object and the colors of the background (the colors with the smaller values). This setting is commonly used for superimposing type. For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0xDDCC00 (because 0xFF > 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering. |
| `BlendMode.DIFFERENCE` |  | Compares the constituent colors of the display object with the colors of its background, and subtracts the darker of the values of the two constituent colors from the lighter value. This setting is commonly used for more vibrant colors. For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0x222C33 (because 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). |
| `BlendMode.ADD` |  | Adds the values of the constituent colors of the display object to the colors of its background, applying a ceiling of 0xFF. This setting is commonly used for animating a lightening dissolve between two objects. For example, if the display object has a pixel with an RGB value of 0xAAA633, and the background pixel has an RGB value of 0xDD2200, the resulting RGB value for the displayed pixel is 0xFFC833 (because 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33). |
| `BlendMode.SUBTRACT` |  | Subtracts the values of the constituent colors in the display object from the values of the background color, applying a floor of 0. This setting is commonly used for animating a darkening dissolve between two objects. For example, if the display object has a pixel with an RGB value of 0xAA2233, and the background pixel has an RGB value of 0xDDA600, the resulting RGB value for the displayed pixel is 0x338400 (because 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84, and 0x00 - 0x33 < 0x00). |
| `BlendMode.INVERT` |  | Inverts the background. |
| `BlendMode.ALPHA` |  | Applies the alpha value of each pixel of the display object to the background. This requires the `blendMode` setting of the parent display object to be set to `BlendMode.LAYER`. For example, in the illustration, the parent display object, which is a white background, has `blendMode = BlendMode.LAYER`. Not supported under GPU rendering. |
| `BlendMode.ERASE` |  | Erases the background based on the alpha value of the display object. This requires the `blendMode` of the parent display object to be set to `BlendMode.LAYER`. For example, in the illustration, the parent display object, which is a white background, has `blendMode = BlendMode.LAYER`. Not supported under GPU rendering. |
| `BlendMode.OVERLAY` |  | Adjusts the color of each pixel based on the darkness of the background. If the background is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the background is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. |
| `BlendMode.HARDLIGHT` |  | Adjusts the color of each pixel based on the darkness of the display object. If the display object is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the display object is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. |
| `BlendMode.SHADER` | N/A | Adjusts the color using a custom shader routine. The shader that is used is specified as the Shader instance assigned to the blendShader property. Setting the blendShader property of a display object to a Shader instance automatically sets the display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` property is set to `BlendMode.SHADER` without first setting the `blendShader` property, the `blendMode` property is set to `BlendMode.NORMAL`. Not supported under GPU rendering. |]]>All vector data for a display object that has a cached bitmap is drawn
to the bitmap instead of the main display. If
`cacheAsBitmapMatrix` is null or unsupported, the bitmap is
then copied to the main display as unstretched, unrotated pixels snapped
to the nearest pixel boundaries. Pixels are mapped 1 to 1 with the parent
object. If the bounds of the bitmap change, the bitmap is recreated
instead of being stretched.
If `cacheAsBitmapMatrix` is non-null and supported, the
object is drawn to the off-screen bitmap using that matrix and the
stretched and/or rotated results of that rendering are used to draw the
object to the main display.
No internal bitmap is created unless the `cacheAsBitmap`
property is set to `true`.
After you set the `cacheAsBitmap` property to
`true`, the rendering does not change, however the display
object performs pixel snapping automatically. The animation speed can be
significantly faster depending on the complexity of the vector content.
The `cacheAsBitmap` property is automatically set to
`true` whenever you apply a filter to a display object(when
its `filter` array is not empty), and if a display object has a
filter applied to it, `cacheAsBitmap` is reported as
`true` for that display object, even if you set the property to
`false`. If you clear all filters for a display object, the
`cacheAsBitmap` setting changes to what it was last set to.
A display object does not use a bitmap even if the
`cacheAsBitmap` property is set to `true` and
instead renders from vector data in the following cases:
* The bitmap is too large. In AIR 1.5 and Flash Player 10, the maximum
size for a bitmap image is 8,191 pixels in width or height, and the total
number of pixels cannot exceed 16,777,215 pixels.(So, if a bitmap image
is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9
and earlier, the limitation is is 2880 pixels in height and 2,880 pixels
in width.
* The bitmap fails to allocate(out of memory error).
The `cacheAsBitmap` property is best used with movie clips
that have mostly static content and that do not scale and rotate
frequently. With such movie clips, `cacheAsBitmap` can lead to
performance increases when the movie clip is translated(when its _x_
and _y_ position is changed).If non-null, this Matrix object defines how a display object is rendered when `cacheAsBitmap` is set to
`true`. The application uses this matrix as a transformation matrix that is applied when rendering the
bitmap version of the display object.
_AIR profile support:_ This feature is supported on mobile devices, but it is not supported on desktop
operating systems. It also has limited support on AIR for TV devices. Specifically, on AIR for TV devices,
supported transformations include scaling and translation, but not rotation and skewing. See AIR Profile
Support for more information regarding API support across multiple profiles.
With `cacheAsBitmapMatrix` set, the application retains a cached bitmap image across various 2D
transformations, including translation, rotation, and scaling. If the application uses hardware acceleration,
the object will be stored in video memory as a texture. This allows the GPU to apply the supported
transformations to the object. The GPU can perform these transformations faster than the CPU.
To use the hardware acceleration, set Rendering to GPU in the General tab of the iPhone Settings dialog box
in Flash Professional CS5. Or set the `renderMode` property to gpu in the application descriptor file. Note
that AIR for TV devices automatically use hardware acceleration if it is available.
For example, the following code sends an untransformed bitmap representation of the display object to the GPU:
```haxe
var matrix:Matrix = new Matrix(); // creates an identity matrix
mySprite.cacheAsBitmapMatrix = matrix;
mySprite.cacheAsBitmap = true;
```
Usually, the identity matrix (`new Matrix()`) suffices. However, you can use another matrix, such as a
scaled-down matrix, to upload a different bitmap to the GPU. For example, the following example applies a
`cacheAsBitmapMatrix` matrix that is scaled by 0.5 on the x and y axes. The bitmap object that the GPU uses
is smaller, however the GPU adjusts its size to match the `transform.matrix` property of the display object:
```haxe
var matrix:Matrix = new Matrix(); // creates an identity matrix
matrix.scale(0.5, 0.5); // scales the matrix
mySprite.cacheAsBitmapMatrix = matrix;
mySprite.cacheAsBitmap = true;
```
Generally, you should choose to use a matrix that transforms the display object to the size that it will
appear in the application. For example, if your application displays the bitmap version of the sprite scaled
down by a half, use a matrix that scales down by a half. If you application will display the sprite larger
than its current dimensions, use a matrix that scales up by that factor.
**Note:** The `cacheAsBitmapMatrix` property is suitable for 2D transformations. If you need to apply
transformations in 3D, you may do so by setting a 3D property of the object and manipulating its
`transform.matrix3D` property. If the application is packaged using GPU mode, this allows the 3D transforms
to be applied to the object by the GPU. The `cacheAsBitmapMatrix` is ignored for 3D objects. instance as a shader
input, and the `width` and
`height` properties aren't specified for
the ShaderInput object, or the specified values
don't match the amount of data in the input data.
See the `ShaderInput.input` property for
more information.]]>Indicates the height of the display object, in pixels. The height is
calculated based on the bounds of the content of the display object. When
you set the `height` property, the `scaleY` property
is adjusted accordingly, as shown in the following code:
Except for TextField and Video objects, a display object with no
content(such as an empty sprite) has a height of 0, even if you try to
set `height` to a different value.Returns a LoaderInfo object containing information about loading the file
to which this display object belongs. The `loaderInfo` property
is defined only for the root display object of a SWF file or for a loaded
Bitmap(not for a Bitmap that is drawn with ActionScript). To find the
`loaderInfo` object associated with the SWF file that contains
a display object named `myDisplayObject`, use
`myDisplayObject.root.loaderInfo`.
A large SWF file can monitor its download by calling
`this.root.loaderInfo.addEventListener(Event.COMPLETE,
func)`.The calling display object is masked by the specified `mask`
object. To ensure that masking works when the Stage is scaled, the
`mask` display object must be in an active part of the display
list. The `mask` object itself is not drawn. Set
`mask` to `null` to remove the mask.
To be able to scale a mask object, it must be on the display list. To
be able to drag a mask Sprite object(by calling its
`startDrag()` method), it must be on the display list. To call
the `startDrag()` method for a mask sprite based on a
`mouseDown` event being dispatched by the sprite, set the
sprite's `buttonMode` property to `true`.
When display objects are cached by setting the
`cacheAsBitmap` property to `true` an the
`cacheAsBitmapMatrix` property to a Matrix object, both the
mask and the display object being masked must be part of the same cached
bitmap. Thus, if the display object is cached, then the mask must be a
child of the display object. If an ancestor of the display object on the
display list is cached, then the mask must be a child of that ancestor or
one of its descendents. If more than one ancestor of the masked object is
cached, then the mask must be a descendent of the cached container closest
to the masked object in the display list.
**Note:** A single `mask` object cannot be used to mask
more than one calling display object. When the `mask` is
assigned to a second display object, it is removed as the mask of the
first object, and that object's `mask` property becomes
`null`.Indicates the x coordinate of the mouse or user input device position, in
pixels.
**Note**: For a DisplayObject that has been rotated, the returned x
coordinate will reflect the non-rotated object.Indicates the y coordinate of the mouse or user input device position, in
pixels.
**Note**: For a DisplayObject that has been rotated, the returned y
coordinate will reflect the non-rotated object.Indicates the instance name of the DisplayObject. The object can be
identified in the child list of its parent display object container by
calling the `getChildByName()` method of the display object
container.
@throws IllegalOperationError If you are attempting to set this property
on an object that was placed on the timeline
in the Flash authoring tool.Specifies whether the display object is opaque with a certain background
color. A transparent bitmap contains alpha channel data and is drawn
transparently. An opaque bitmap has no alpha channel(and renders faster
than a transparent bitmap). If the bitmap is opaque, you specify its own
background color to use.
If set to a number value, the surface is opaque(not transparent) with
the RGB background color that the number specifies. If set to
`null`(the default value), the display object has a
transparent background.
The `opaqueBackground` property is intended mainly for use
with the `cacheAsBitmap` property, for rendering optimization.
For display objects in which the `cacheAsBitmap` property is
set to true, setting `opaqueBackground` can improve rendering
performance.
The opaque background region is _not_ matched when calling the
`hitTestPoint()` method with the `shapeFlag`
parameter set to `true`.
The opaque background region does not respond to mouse events.Indicates the DisplayObjectContainer object that contains this display
object. Use the `parent` property to specify a relative path to
display objects that are above the current display object in the display
list hierarchy.
You can use `parent` to move up multiple levels in the
display list as in the following:
```haxe
this.parent.parent.alpha = 20;
```
@throws SecurityError The parent display object belongs to a security
sandbox to which you do not have access. You can
avoid this situation by having the parent movie call
the `Security.allowDomain()` method.For a display object in a loaded SWF file, the `root` property
is the top-most display object in the portion of the display list's tree
structure represented by that SWF file. For a Bitmap object representing a
loaded image file, the `root` property is the Bitmap object
itself. For the instance of the main class of the first SWF file loaded,
the `root` property is the display object itself. The
`root` property of the Stage object is the Stage object itself.
The `root` property is set to `null` for any display
object that has not been added to the display list, unless it has been
added to a display object container that is off the display list but that
is a child of the top-most display object in a loaded SWF file.
For example, if you create a new Sprite object by calling the
`Sprite()` constructor method, its `root` property
is `null` until you add it to the display list(or to a display
object container that is off the display list but that is a child of the
top-most display object in a SWF file).
For a loaded SWF file, even though the Loader object used to load the
file may not be on the display list, the top-most display object in the
SWF file has its `root` property set to itself. The Loader
object does not have its `root` property set until it is added
as a child of a display object for which the `root` property is
set.Indicates the rotation of the DisplayObject instance, in degrees, from its
original orientation. Values from 0 to 180 represent clockwise rotation;
values from 0 to -180 represent counterclockwise rotation. Values outside
this range are added to or subtracted from 360 to obtain a value within
the range. For example, the statement `my_video.rotation = 450`
is the same as ` my_video.rotation = 90`.The display object. |  The red rectangle shows the scale9Grid. |
When the display object is scaled or stretched, the objects within the rectangle scale normally, but the
objects outside of the rectangle scale according to the `scale9Grid` rules:
| | |
| --- | --- |
| Scaled to 75%: |  |
| Scaled to 50%: |  |
| Scaled to 25%: |  |
| Stretched horizontally 150%: |  |
A common use for setting `scale9Grid` is to set up a display
object to be used as a component, in which edge regions retain the same
width when the component is scaled.
@throws ArgumentError If you pass an invalid argument to the method.]]>Indicates the horizontal scale (percentage) of the object as applied from
the registration point. The default registration point is (0,0). 1.0
equals 100% scale.
Scaling the local coordinate system changes the `x` and
`y` property values, which are defined in whole pixels.Indicates the vertical scale (percentage) of an object as applied from the
registration point of the object. The default registration point is (0,0).
1.0 is 100% scale.
Scaling the local coordinate system changes the `x` and
`y` property values, which are defined in whole pixels.The scroll rectangle bounds of the display object. The display object is
cropped to the size defined by the rectangle, and it scrolls within the
rectangle when you change the `x` and `y` properties
of the `scrollRect` object.
The properties of the `scrollRect` Rectangle object use the
display object's coordinate space and are scaled just like the overall
display object. The corner bounds of the cropped window on the scrolling
display object are the origin of the display object(0,0) and the point
defined by the width and height of the rectangle. They are not centered
around the origin, but use the origin to define the upper-left corner of
the area. A scrolled display object always scrolls in whole pixel
increments.
You can scroll an object left and right by setting the `x`
property of the `scrollRect` Rectangle object. You can scroll
an object up and down by setting the `y` property of the
`scrollRect` Rectangle object. If the display object is rotated
90� and you scroll it left and right, the display object actually scrolls
up and down.**BETA**
Applies a custom Shader object to use when rendering this display object (or its children) when using
hardware rendering. This occurs as a single-pass render on this object only, if visible. In order to
apply a post-process effect to multiple display objects at once, enable `cacheAsBitmap` or use the
`filters` property with a ShaderFilterThe Stage of the display object. A Flash runtime application has only one
Stage object. For example, you can create and load multiple display
objects into the display list, and the `stage` property of each
display object refers to the same Stage object(even if the display object
belongs to a loaded SWF file).
If a display object is not added to the display list, its
`stage` property is set to `null`.An object with properties pertaining to a display object's matrix, color
transform, and pixel bounds. The specific properties - matrix,
colorTransform, and three read-only properties
(`concatenatedMatrix`, `concatenatedColorTransform`,
and `pixelBounds`) - are described in the entry for the
Transform class.
Each of the transform object's properties is itself an object. This
concept is important because the only way to set new values for the matrix
or colorTransform objects is to create a new object and copy that object
into the transform.matrix or transform.colorTransform property.
For example, to increase the `tx` value of a display
object's matrix, you must make a copy of the entire matrix object, then
copy the new object into the matrix property of the transform object:
` var myMatrix:Matrix =
myDisplayObject.transform.matrix; myMatrix.tx += 10;
myDisplayObject.transform.matrix = myMatrix; `
You cannot directly set the `tx` property. The following
code has no effect on `myDisplayObject`:
` myDisplayObject.transform.matrix.tx +=
10; `
You can also copy an entire transform object and assign it to another
display object's transform property. For example, the following code
copies the entire transform object from `myOldDisplayObj` to
`myNewDisplayObj`:
`myNewDisplayObj.transform = myOldDisplayObj.transform;`
The resulting display object, `myNewDisplayObj`, now has the
same values for its matrix, color transform, and pixel bounds as the old
display object, `myOldDisplayObj`.
Note that AIR for TV devices use hardware acceleration, if it is
available, for color transforms.Whether or not the display object is visible. Display objects that are not
visible are disabled. For example, if `visible=false` for an
InteractiveObject instance, it cannot be clicked.Indicates the width of the display object, in pixels. The width is
calculated based on the bounds of the content of the display object. When
you set the `width` property, the `scaleX` property
is adjusted accordingly, as shown in the following code:
Except for TextField and Video objects, a display object with no
content(such as an empty sprite) has a width of 0, even if you try to set
`width` to a different value.Indicates the _x_ coordinate of the DisplayObject instance relative
to the local coordinates of the parent DisplayObjectContainer. If the
object is inside a DisplayObjectContainer that has transformations, it is
in the local coordinate system of the enclosing DisplayObjectContainer.
Thus, for a DisplayObjectContainer rotated 90� counterclockwise, the
DisplayObjectContainer's children inherit a coordinate system that is
rotated 90� counterclockwise. The object's coordinates refer to the
registration point position.Indicates the _y_ coordinate of the DisplayObject instance relative
to the local coordinates of the parent DisplayObjectContainer. If the
object is inside a DisplayObjectContainer that has transformations, it is
in the local coordinate system of the enclosing DisplayObjectContainer.
Thus, for a DisplayObjectContainer rotated 90� counterclockwise, the
DisplayObjectContainer's children inherit a coordinate system that is
rotated 90� counterclockwise. The object's coordinates refer to the
registration point position.
<__alpha>
<__blendMode>
<__cacheAsBitmap>
<__cacheAsBitmapMatrix>
<__cacheBitmap>
<__cacheBitmapBackground>
<__cacheBitmapColorTransform>
<__cacheBitmapData>
<__cacheBitmapData2>
<__cacheBitmapData3>
<__cacheBitmapMatrix>
<__cacheBitmapRenderer>
<__cairo>
"checkstyle:Dynamic"
<__children>
<__customRenderClear>
<__customRenderEvent>
<__drawableType>
<__filters>
<__graphics>
<__interactive>
<__isCacheBitmapRender>
<__isMask>
<__loaderInfo>
<__mask>
<__maskTarget>
<__name>
<__objectTransform>
<__renderable>
<__renderDirty>
<__renderParent>
<__renderTransform>
<__renderTransformCache>
<__renderTransformChanged>
<__rotation>
<__rotationCosine>
<__rotationSine>
<__scale9Grid>
<__scaleX>
<__scaleY>
<__scrollRect>
<__shader>
<__tempPoint>
<__transform>
<__transformDirty>
<__visible>
<__worldAlpha>
<__worldAlphaChanged>
<__worldBlendMode>
<__worldClip>
<__worldClipChanged>
<__worldColorTransform>
<__worldShader>
<__worldScale9Grid>
<__worldTransform>
<__worldVisible>
<__worldVisibleChanged>
<__worldTransformInvalid>
<__worldZ>
{ useWeakReference : false, priority : 0, useCapture : false }"checkstyle:Dynamic"Returns a rectangle that defines the area of the display object relative
to the coordinate system of the `targetCoordinateSpace` object.
Consider the following code, which shows how the rectangle returned can
vary depending on the `targetCoordinateSpace` parameter that
you pass to the method:
**Note:** Use the `localToGlobal()` and
`globalToLocal()` methods to convert the display object's local
coordinates to display coordinates, or display coordinates to local
coordinates, respectively.
The `getBounds()` method is similar to the
`getRect()` method; however, the Rectangle returned by the
`getBounds()` method includes any strokes on shapes, whereas
the Rectangle returned by the `getRect()` method does not. For
an example, see the description of the `getRect()` method.
@param targetCoordinateSpace The display object that defines the
coordinate system to use.
@return The rectangle that defines the area of the display object relative
to the `targetCoordinateSpace` object's coordinate
system.Returns a rectangle that defines the boundary of the display object, based
on the coordinate system defined by the `targetCoordinateSpace`
parameter, excluding any strokes on shapes. The values that the
`getRect()` method returns are the same or smaller than those
returned by the `getBounds()` method.
**Note:** Use `localToGlobal()` and
`globalToLocal()` methods to convert the display object's local
coordinates to Stage coordinates, or Stage coordinates to local
coordinates, respectively.
@param targetCoordinateSpace The display object that defines the
coordinate system to use.
@return The rectangle that defines the area of the display object relative
to the `targetCoordinateSpace` object's coordinate
system.Converts the `point` object from the Stage(global) coordinates
to the display object's(local) coordinates.
To use this method, first create an instance of the Point class. The
_x_ and _y_ values that you assign represent global coordinates
because they relate to the origin(0,0) of the main display area. Then
pass the Point instance as the parameter to the
`globalToLocal()` method. The method returns a new Point object
with _x_ and _y_ values that relate to the origin of the display
object instead of the origin of the Stage.
@param point An object created with the Point class. The Point object
specifies the _x_ and _y_ coordinates as
properties.
@return A Point object with coordinates relative to the display object.Evaluates the bounding box of the display object to see if it overlaps or
intersects with the bounding box of the `obj` display object.
@param obj The display object to test against.
@return `true` if the bounding boxes of the display objects
intersect; `false` if not.{ shapeFlag : false }Evaluates the display object to see if it overlaps or intersects with the
point specified by the `x` and `y` parameters. The
`x` and `y` parameters specify a point in the
coordinate space of the Stage, not the display object container that
contains the display object(unless that display object container is the
Stage).
@param x The _x_ coordinate to test against this object.
@param y The _y_ coordinate to test against this object.
@param shapeFlag Whether to check against the actual pixels of the object
(`true`) or the bounding box
(`false`).
@return `true` if the display object overlaps or intersects
with the specified point; `false` otherwise.Calling the `invalidate()` method signals to have the current object
redrawn the next time the object is eligible to be rendered.Converts the `point` object from the display object's(local)
coordinates to the Stage(global) coordinates.
This method allows you to convert any given _x_ and _y_
coordinates from values that are relative to the origin(0,0) of a
specific display object(local coordinates) to values that are relative to
the origin of the Stage(global coordinates).
To use this method, first create an instance of the Point class. The
_x_ and _y_ values that you assign represent local coordinates
because they relate to the origin of the display object.
You then pass the Point instance that you created as the parameter to
the `localToGlobal()` method. The method returns a new Point
object with _x_ and _y_ values that relate to the origin of the
Stage instead of the origin of the display object.
@param point The name or identifier of a point created with the Point
class, specifying the _x_ and _y_ coordinates as
properties.
@return A Point object with coordinates relative to the Stage.{ useCapture : false }"checkstyle:Dynamic"
<__cleanup set="method" line="1369">
<__dispatch set="method" line="1396">
<__dispatchChildren set="method" line="1412">
<__dispatchEvent set="method" line="1415" override="1">
<__dispatchWithCapture set="method" line="1440">
<__enterFrame set="method" line="1481">
<__getBounds set="method" line="1484">
<__getCursor set="method" line="1492">
<__getFilterBounds set="method" line="1497">
<__getInteractive set="method" line="1523">
<__getLocalBounds set="method" line="1528">
<__getRenderBounds set="method" line="1543">
<__getRenderTransform set="method" line="1561">
<__getWorldTransform set="method" line="1567">
<__globalToLocal set="method" line="1602">
<__hitTest set="method" line="1619">
<__hitTestMask set="method" line="1640">
<__readGraphicsData set="method" line="1653">
<__setParentRenderDirty set="method" line="1661">
<__setRenderDirty get="inline" set="null" line="1671">
<__setStageReference set="method" line="1680">
<__setTransformDirty set="method" line="1685">
<__setWorldTransformInvalid set="method" line="1696">
<__stopAllMovieClips set="method" line="1700">
<__update set="method" line="1703">
<__updateTransforms set="method" line="1828">
{ overrideTransform : null }The DisplayObject class is the base class for all objects that can be
placed on the display list. The display list manages all objects displayed
in openfl. Use the DisplayObjectContainer class to arrange the
display objects in the display list. DisplayObjectContainer objects can
have child display objects, while other display objects, such as Shape and
TextField objects, are "leaf" nodes that have only parents and siblings, no
children.
The DisplayObject class supports basic functionality like the _x_
and _y_ position of an object, as well as more advanced properties of
the object such as its transformation matrix.
DisplayObject is an abstract base class; therefore, you cannot call
DisplayObject directly. Invoking `new DisplayObject()` throws an
`ArgumentError` exception.
All display objects inherit from the DisplayObject class.
The DisplayObject class itself does not include any APIs for rendering
content onscreen. For that reason, if you want create a custom subclass of
the DisplayObject class, you will want to extend one of its subclasses that
do have APIs for rendering content onscreen, such as the Shape, Sprite,
Bitmap, SimpleButton, TextField, or MovieClip class.
The DisplayObject class contains several broadcast events. Normally, the
target of any particular event is a specific DisplayObject instance. For
example, the target of an `added` event is the specific
DisplayObject instance that was added to the display list. Having a single
target restricts the placement of event listeners to that target and in
some cases the target's ancestors on the display list. With broadcast
events, however, the target is not a specific DisplayObject instance, but
rather all DisplayObject instances, including those that are not on the
display list. This means that you can add a listener to any DisplayObject
instance to listen for broadcast events. In addition to the broadcast
events listed in the DisplayObject class's Events table, the DisplayObject
class also inherits two broadcast events from the EventDispatcher class:
`activate` and `deactivate`.
Some properties previously used in the ActionScript 1.0 and 2.0
MovieClip, TextField, and Button classes(such as `_alpha`,
`_height`, `_name`, `_width`,
`_x`, `_y`, and others) have equivalents in the
ActionScript 3.0 DisplayObject class that are renamed so that they no
longer begin with the underscore(_) character.
For more information, see the "Display Programming" chapter of the
_ActionScript 3.0 Developer's Guide_.
@event added Dispatched when a display object is added to the
display list. The following methods trigger this
event:
`DisplayObjectContainer.addChild()`,
`DisplayObjectContainer.addChildAt()`.
@event addedToStage Dispatched when a display object is added to the on
stage display list, either directly or through the
addition of a sub tree in which the display object
is contained. The following methods trigger this
event:
`DisplayObjectContainer.addChild()`,
`DisplayObjectContainer.addChildAt()`.
@event enterFrame [broadcast event] Dispatched when the playhead is
entering a new frame. If the playhead is not
moving, or if there is only one frame, this event
is dispatched continuously in conjunction with the
frame rate. This event is a broadcast event, which
means that it is dispatched by all display objects
with a listener registered for this event.
@event exitFrame [broadcast event] Dispatched when the playhead is
exiting the current frame. All frame scripts have
been run. If the playhead is not moving, or if
there is only one frame, this event is dispatched
continuously in conjunction with the frame rate.
This event is a broadcast event, which means that
it is dispatched by all display objects with a
listener registered for this event.
@event frameConstructed [broadcast event] Dispatched after the constructors
of frame display objects have run but before frame
scripts have run. If the playhead is not moving, or
if there is only one frame, this event is
dispatched continuously in conjunction with the
frame rate. This event is a broadcast event, which
means that it is dispatched by all display objects
with a listener registered for this event.
@event removed Dispatched when a display object is about to be
removed from the display list. Two methods of the
DisplayObjectContainer class generate this event:
`removeChild()` and
`removeChildAt()`.
The following methods of a
DisplayObjectContainer object also generate this
event if an object must be removed to make room for
the new object: `addChild()`,
`addChildAt()`, and
`setChildIndex()`.
@event removedFromStage Dispatched when a display object is about to be
removed from the display list, either directly or
through the removal of a sub tree in which the
display object is contained. Two methods of the
DisplayObjectContainer class generate this event:
`removeChild()` and
`removeChildAt()`.
The following methods of a
DisplayObjectContainer object also generate this
event if an object must be removed to make room for
the new object: `addChild()`,
`addChildAt()`, and
`setChildIndex()`.
@event render [broadcast event] Dispatched when the display list
is about to be updated and rendered. This event
provides the last opportunity for objects listening
for this event to make changes before the display
list is rendered. You must call the
`invalidate()` method of the Stage
object each time you want a `render`
event to be dispatched. `Render` events
are dispatched to an object only if there is mutual
trust between it and the object that called
`Stage.invalidate()`. This event is a
broadcast event, which means that it is dispatched
by all display objects with a listener registered
for this event.
**Note: **This event is not dispatched if the
display is not rendering. This is the case when the
content is either minimized or obscured."tags=\"haxe,release\""lime.graphics.Imagelime.graphics.ImageBufferopenfl.display3D._internal.Context3DStateopenfl.display._internal.Context3DGraphicsopenfl.events.Eventopenfl.display3D.Context3Dopenfl.display.Bitmapopenfl.display.BitmapDataopenfl.display.DisplayObjectContaineropenfl.display.Graphicsopenfl.display.Shaderopenfl.display.Stageopenfl.filters.BitmapFilteropenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.Rectangleopenfl.geom.TransformSpecifies whether the object receives `doubleClick` events. The
default value is `false`, which means that by default an
InteractiveObject instance does not receive `doubleClick`
events. If the `doubleClickEnabled` property is set to
`true`, the instance receives `doubleClick` events
within its bounds. The `mouseEnabled` property of the
InteractiveObject instance must also be set to `true` for the
object to receive `doubleClick` events.
No event is dispatched by setting this property. You must use the
`addEventListener()` method to add an event listener for the
`doubleClick` event.Specifies whether this object displays a focus rectangle. It can take
one of three values: `true`, `false`, or `null`. Values of `true` and
`false` work as expected, specifying whether or not the focus
rectangle appears. A value of `null` indicates that this object obeys
the `stageFocusRect` property of the Stage.Specifies whether this object receives mouse, or other user input,
messages. The default value is `true`, which means that by
default any InteractiveObject instance that is on the display list
receives mouse events or other user input events. If
`mouseEnabled` is set to `false`, the instance does
not receive any mouse events(or other user input events like keyboard
events). Any children of this instance on the display list are not
affected. To change the `mouseEnabled` behavior for all
children of an object on the display list, use
`openfl.display.DisplayObjectContainer.mouseChildren`.
No event is dispatched by setting this property. You must use the
`addEventListener()` method to create interactive
functionality.Specifies whether a virtual keyboard(an on-screen, software keyboard)
should display when this InteractiveObject instance receives focus.
By default, the value is `false` and focusing an
InteractiveObject instance does not raise a soft keyboard. If the
`needsSoftKeyboard` property is set to `true`, the
runtime raises a soft keyboard when the InteractiveObject instance is
ready to accept user input. An InteractiveObject instance is ready to
accept user input after a programmatic call to set the Stage
`focus` property or a user interaction, such as a "tap." If the
client system has a hardware keyboard available or does not support
virtual keyboards, then the soft keyboard is not raised.
The InteractiveObject instance dispatches
`softKeyboardActivating`, `softKeyboardActivate`,
and `softKeyboardDeactivate` events when the soft keyboard
raises and lowers.
**Note:** This property is not supported in AIR applications on
iOS.Defines the area that should remain on-screen when a soft keyboard is
displayed.
If the `needsSoftKeyboard` property of this InteractiveObject is
`true`, then the runtime adjusts the display as needed to keep the
object in view while the user types. Ordinarily, the runtime uses the
object bounds obtained from the `DisplayObject.getBounds()` method.
You can specify a different area using this
`softKeyboardInputAreaOfInterest` property.
Specify the `softKeyboardInputAreaOfInterest` in stage coordinates.
**Note:** On Android, the `softKeyboardInputAreaOfInterest` is not
respected in landscape orientations.Specifies whether this object is in the tab order. If this object is
in the tab order, the value is `true`; otherwise, the value is
`false`. By default, the value is `false`, except for the following:
* For a SimpleButton object, the value is `true`.
* For a TextField object with `type = "input"`, the value is `true`.
* For a Sprite object or MovieClip object with `buttonMode = true`,
the value is `true`.Specifies the tab ordering of objects in a SWF file. The `tabIndex`
property is -1 by default, meaning no tab index is set for the object.
If any currently displayed object in the SWF file contains a
`tabIndex` property, automatic tab ordering is disabled, and the tab
ordering is calculated from the `tabIndex` properties of objects in
the SWF file. The custom tab ordering includes only objects that have
`tabIndex` properties.
The `tabIndex` property can be a non-negative integer. The objects are
ordered according to their `tabIndex` properties, in ascending order.
An object with a `tabIndex` value of 1 precedes an object with a
`tabIndex` value of 2. Do not use the same `tabIndex` value for
multiple objects.
The custom tab ordering that the `tabIndex` property defines is
_flat_. This means that no attention is paid to the hierarchical
relationships of objects in the SWF file. All objects in the SWF file
with `tabIndex` properties are placed in the tab order, and the tab
order is determined by the order of the `tabIndex` values.
**Note:** To set the tab order for TLFTextField instances, cast the
display object child of the TLFTextField as an InteractiveObject, then
set the `tabIndex` property. For example:
```haxe
cast(tlfInstance.getChildAt(1), InteractiveObject).tabIndex = 3;
```
To reverse the tab order from the default setting for three instances of
a TLFTextField object (`tlfInstance1`, `tlfInstance2` and
`tlfInstance3`), use:
```haxe
cast(tlfInstance1.getChildAt(1), InteractiveObject).tabIndex = 3;
cast(tlfInstance2.getChildAt(1), InteractiveObject).tabIndex = 2;
cast(tlfInstance3.getChildAt(1), InteractiveObject).tabIndex = 1;
```
<__tabEnabled>
<__tabIndex>
Raises a virtual keyboard.
Calling this method focuses the InteractiveObject instance and raises
the soft keyboard, if necessary. The `needsSoftKeyboard` must
also be `true`. A keyboard is not raised if a hardware keyboard
is available, or if the client system does not support virtual
keyboards.
**Note:** This method is not supported in AIR applications on
iOS.
@return A value of `true` means that the soft keyboard request
was granted; `false` means that the soft keyboard was
not raised.
<__allowMouseFocus set="method" line="1257">
<__getInteractive set="method" line="1262" override="1">
<__hitTest set="method" line="1278" override="1">
<__tabTest set="method" line="1284">
Calling the `new InteractiveObject()` constructor throws an
`ArgumentError` exception. You can, however, call constructors
for the following subclasses of InteractiveObject:
* `new SimpleButton()`
* `new TextField()`
* `new Loader()`
* `new Sprite()`
* `new MovieClip()`The InteractiveObject class is the abstract base class for all display
objects with which the user can interact, using the mouse, keyboard, or
other user input device.
You cannot instantiate the InteractiveObject class directly. A call to
the `new InteractiveObject()` constructor throws an
`ArgumentError` exception.
The InteractiveObject class itself does not include any APIs for
rendering content onscreen. To create a custom subclass of the
InteractiveObject class, extend one of the subclasses that do have APIs for
rendering content onscreen, such as the Sprite, SimpleButton, TextField, or
MovieClip classes.
@event clear Dispatched when the user selects 'Clear'(or
'Delete') from the text context menu. This
event is dispatched to the object that
currently has focus. If the object that
currently has focus is a TextField, the
default behavior of this event is to cause
any currently selected text in the text field
to be deleted.
@event click Dispatched when a user presses and releases
the main button of the user's pointing device
over the same InteractiveObject. For a click
event to occur, it must always follow this
series of events in the order of occurrence:
mouseDown event, then mouseUp. The target
object must be identical for both of these
events; otherwise the `click`
event does not occur. Any number of other
mouse events can occur at any time between
the `mouseDown` or
`mouseUp` events; the
`click` event still occurs.
@event contextMenu Dispatched when a user gesture triggers the
context menu associated with this interactive
object in an AIR application.
@event copy Dispatched when the user activates the
platform-specific accelerator key combination
for a copy operation or selects 'Copy' from
the text context menu. This event is
dispatched to the object that currently has
focus. If the object that currently has focus
is a TextField, the default behavior of this
event is to cause any currently selected text
in the text field to be copied to the
clipboard.
@event cut Dispatched when the user activates the
platform-specific accelerator key combination
for a cut operation or selects 'Cut' from the
text context menu. This event is dispatched
to the object that currently has focus. If
the object that currently has focus is a
TextField, the default behavior of this event
is to cause any currently selected text in
the text field to be cut to the clipboard.
@event doubleClick Dispatched when a user presses and releases
the main button of a pointing device twice in
rapid succession over the same
InteractiveObject when that object's
`doubleClickEnabled` flag is set
to `true`. For a
`doubleClick` event to occur, it
must immediately follow the following series
of events: `mouseDown`,
`mouseUp`, `click`,
`mouseDown`, `mouseUp`.
All of these events must share the same
target as the `doubleClick` event.
The second click, represented by the second
`mouseDown` and
`mouseUp` events, must occur
within a specific period of time after the
`click` event. The allowable
length of this period varies by operating
system and can often be configured by the
user. If the target is a selectable text
field, the word under the pointer is selected
as the default behavior. If the target
InteractiveObject does not have its
`doubleClickEnabled` flag set to
`true` it receives two
`click` events.
The `doubleClickEnabled`
property defaults to `false`.
The double-click text selection behavior
of a TextField object is not related to the
`doubleClick` event. Use
`TextField.doubleClickEnabled` to
control TextField selections.
@event focusIn Dispatched _after_ a display object
gains focus. This situation happens when a
user highlights the object with a pointing
device or keyboard navigation. The recipient
of such focus is called the target object of
this event, while the corresponding
InteractiveObject instance that lost focus
because of this change is called the related
object. A reference to the related object is
stored in the receiving object's
`relatedObject` property. The
`shiftKey` property is not used.
This event follows the dispatch of the
previous object's `focusOut`
event.
@event focusOut Dispatched _after_ a display object
loses focus. This happens when a user
highlights a different object with a pointing
device or keyboard navigation. The object
that loses focus is called the target object
of this event, while the corresponding
InteractiveObject instance that receives
focus is called the related object. A
reference to the related object is stored in
the target object's
`relatedObject` property. The
`shiftKey` property is not used.
This event precedes the dispatch of the
`focusIn` event by the related
object.
@event gesturePan Dispatched when the user moves a point of
contact over the InteractiveObject instance
on a touch-enabled device(such as moving a
finger from left to right over a display
object on a mobile phone or tablet with a
touch screen). Some devices might also
interpret this contact as a
`mouseOver` event and as a
`touchOver` event.
Specifically, if a user moves a finger
over an InteractiveObject, the
InteractiveObject instance can dispatch a
`mouseOver` event or a
`touchOver` event or a
`gesturePan` event, or all if the
current environment supports it. Choose how
you want to handle the user interaction. Use
the openfl.ui.Multitouch class to manage touch
event handling(enable touch gesture event
handling, simple touch point event handling,
or disable touch events so only mouse events
are dispatched). If you choose to handle the
`mouseOver` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`gesturePan` event, you can design
your event handler to respond to the specific
needs of a touch-enabled environment and
provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event gesturePressAndTap Dispatched when the user creates a point of
contact with an InteractiveObject instance,
then taps on a touch-enabled device(such as
placing several fingers over a display object
to open a menu and then taps one finger to
select a menu item on a mobile phone or
tablet with a touch screen). Some devices
might also interpret this contact as a
combination of several mouse events, as well.
Specifically, if a user moves a finger
over an InteractiveObject, and then provides
a secondary tap, the InteractiveObject
instance can dispatch a
`mouseOver` event and a
`click` event(among others) as
well as the `gesturePressAndTap`
event, or all if the current environment
supports it. Choose how you want to handle
the user interaction. Use the
openfl.ui.Multitouch class to manage touch
event handling(enable touch gesture event
handling, simple touch point event handling,
or disable touch events so only mouse events
are dispatched). If you choose to handle the
`mouseOver` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`gesturePressAndTap` event, you
can design your event handler to respond to
the specific needs of a touch-enabled
environment and provide users with a richer
touch-enabled experience. You can also handle
both events, separately, to provide a
different response for a touch event than a
mouse event.
When handling the properties of the event
object, note that the `localX` and
`localY` properties are set to the
primary point of contact(the "push"). The
`offsetX` and `offsetY`
properties are the distance to the secondary
point of contact(the "tap").
@event gestureRotate Dispatched when the user performs a rotation
gesture at a point of contact with an
InteractiveObject instance(such as touching
two fingers and rotating them over a display
object on a mobile phone or tablet with a
touch screen). Two-finger rotation is a
common rotation gesture, but each device and
operating system can have its own
requirements to indicate rotation. Some
devices might also interpret this contact as
a combination of several mouse events, as
well.
Specifically, if a user moves a finger
over an InteractiveObject, the
InteractiveObject instance can dispatch a
`mouseOver` event and a
`click` event(among others), in
addition to the `gestureRotate`
event, or all if the current environment
supports it. Choose how you want to handle
the user interaction. Use the
openfl.ui.Multitouch class to manage touch
event handling(enable touch gesture event
handling, simple touch point event handling,
or disable touch events so only mouse events
are dispatched). If you choose to handle the
`mouseOver` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`gestureRotate` event, you can
design your event handler to respond to the
specific needs of a touch-enabled environment
and provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
When handling the properties of the event
object, note that the `localX` and
`localY` properties are set to the
primary point of contact. The
`offsetX` and `offsetY`
properties are the distance to the point of
contact where the rotation gesture is
complete.
**Note:** See the Multitouch class for
environment compatibility information.
@event gestureSwipe Dispatched when the user performs a swipe
gesture at a point of contact with an
InteractiveObject instance(such as touching
three fingers to a screen and then moving
them in parallel over a display object on a
mobile phone or tablet with a touch screen).
Moving several fingers in parallel is a
common swipe gesture, but each device and
operating system can have its own
requirements for a swipe. Some devices might
also interpret this contact as a combination
of several mouse events, as well.
Specifically, if a user moves a finger
over an InteractiveObject, and then moves the
fingers together, the InteractiveObject
instance can dispatch a `rollOver`
event and a `rollOut` event(among
others), in addition to the
`gestureSwipe` event, or all if
the current environment supports it. Choose
how you want to handle the user interaction.
If you choose to handle the
`rollOver` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`gestureSwipe` event, you can
design your event handler to respond to the
specific needs of a touch-enabled environment
and provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
When handling the properties of the event
object, note that the `localX` and
`localY` properties are set to the
primary point of contact. The
`offsetX` and `offsetY`
properties are the distance to the point of
contact where the swipe gesture is
complete.
**Note:** While some devices using the
Mac OS operating system can interpret a
four-finger swipe, this API only supports a
three-finger swipe.
@event gestureTwoFingerTap Dispatched when the user presses two points
of contact over the same InteractiveObject
instance on a touch-enabled device(such as
presses and releases two fingers over a
display object on a mobile phone or tablet
with a touch screen). Some devices might also
interpret this contact as a
`doubleClick` event.
Specifically, if a user taps two fingers
over an InteractiveObject, the
InteractiveObject instance can dispatch a
`doubleClick` event or a
`gestureTwoFingerTap` event, or
both if the current environment supports it.
Choose how you want to handle the user
interaction. Use the openfl.ui.Multitouch
class to manage touch event handling(enable
touch gesture event handling, simple touch
point event handling, or disable touch events
so only mouse events are dispatched). If you
choose to handle the `doubleClick`
event, then the same event handler will run
on a touch-enabled device and a mouse enabled
device. However, if you choose to handle the
`gestureTwoFingerTap` event, you
can design your event handler to respond to
the specific needs of a touch-enabled
environment and provide users with a richer
touch-enabled experience. You can also handle
both events, separately, to provide a
different response for a touch event than a
mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event gestureZoom Dispatched when the user performs a zoom
gesture at a point of contact with an
InteractiveObject instance(such as touching
two fingers to a screen and then quickly
spreading the fingers apart over a display
object on a mobile phone or tablet with a
touch screen). Moving fingers apart is a
common zoom gesture, but each device and
operating system can have its own
requirements to indicate zoom. Some devices
might also interpret this contact as a
combination of several mouse events, as well.
Specifically, if a user moves a finger
over an InteractiveObject, and then moves the
fingers apart, the InteractiveObject instance
can dispatch a `mouseOver` event
and a `click` event(among
others), in addition to the
`gestureZoom` event, or all if the
current environment supports it. Choose how
you want to handle the user interaction. Use
the openfl.ui.Multitouch class to manage touch
event handling(enable touch gesture event
handling, simple touch point event handling,
or disable touch events so only mouse events
are dispatched). If you choose to handle the
`mouseOver` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`gestureZoom` event, you can
design your event handler to respond to the
specific needs of a touch-enabled environment
and provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
When handling the properties of the event
object, note that the `localX` and
`localY` properties are set to the
primary point of contact. The
`offsetX` and `offsetY`
properties are the distance to the point of
contact where the zoom gesture is
complete.
**Note:** See the Multitouch class for
environment compatibility information.
@event imeStartComposition This event is dispatched to any client app
that supports inline input with an IME
@event keyDown Dispatched when the user presses a key.
Mappings between keys and specific characters
vary by device and operating system. This
event type is generated after such a mapping
occurs but before the processing of an input
method editor(IME). IMEs are used to enter
characters, such as Chinese ideographs, that
the standard QWERTY keyboard is ill-equipped
to produce. This event occurs before the
`keyUp` event.
In AIR, canceling this event prevents the
character from being entered into a text
field.
@event keyFocusChange Dispatched when the user attempts to change
focus by using keyboard navigation. The
default behavior of this event is to change
the focus and dispatch the corresponding
`focusIn` and
`focusOut` events.
This event is dispatched to the object
that currently has focus. The related object
for this event is the InteractiveObject
instance that receives focus if you do not
prevent the default behavior. You can prevent
the change in focus by calling the
`preventDefault()` method in an
event listener that is properly registered
with the target object. Focus changes and
`focusIn` and
`focusOut` events are dispatched
by default.
@event keyUp Dispatched when the user releases a key.
Mappings between keys and specific characters
vary by device and operating system. This
event type is generated after such a mapping
occurs but before the processing of an input
method editor(IME). IMEs are used to enter
characters, such as Chinese ideographs, that
the standard QWERTY keyboard is ill-equipped
to produce. This event occurs after a
`keyDown` event and has the
following characteristics:
@event middleClick Dispatched when a user presses and releases
the middle button of the user's pointing
device over the same InteractiveObject. For a
`middleClick` event to occur, it
must always follow this series of events in
the order of occurrence:
`middleMouseDown` event, then
`middleMouseUp`. The target object
must be identical for both of these events;
otherwise the `middleClick` event
does not occur. Any number of other mouse
events can occur at any time between the
`middleMouseDown` or
`middleMouseUp` events; the
`middleClick` event still occurs.
@event middleMouseDown Dispatched when a user presses the middle
pointing device button over an
InteractiveObject instance.
@event middleMouseUp Dispatched when a user releases the pointing
device button over an InteractiveObject
instance.
@event mouseDown Dispatched when a user presses the pointing
device button over an InteractiveObject
instance. If the target is a SimpleButton
instance, the SimpleButton instance displays
the `downState` display object as
the default behavior. If the target is a
selectable text field, the text field begins
selection as the default behavior.
@event mouseFocusChange Dispatched when the user attempts to change
focus by using a pointer device. The default
behavior of this event is to change the focus
and dispatch the corresponding
`focusIn` and
`focusOut` events.
This event is dispatched to the object
that currently has focus. The related object
for this event is the InteractiveObject
instance that receives focus if you do not
prevent the default behavior. You can prevent
the change in focus by calling
`preventDefault()` in an event
listener that is properly registered with the
target object. The `shiftKey`
property is not used. Focus changes and
`focusIn` and
`focusOut` events are dispatched
by default.
@event mouseMove Dispatched when a user moves the pointing
device while it is over an InteractiveObject.
If the target is a text field that the user
is selecting, the selection is updated as the
default behavior.
@event mouseOut Dispatched when the user moves a pointing
device away from an InteractiveObject
instance. The event target is the object
previously under the pointing device. The
`relatedObject` is the object the
pointing device has moved to. If the target
is a SimpleButton instance, the button
displays the `upState` display
object as the default behavior.
The `mouseOut` event is
dispatched each time the mouse leaves the
area of any child object of the display
object container, even if the mouse remains
over another child object of the display
object container. This is different behavior
than the purpose of the `rollOut`
event, which is to simplify the coding of
rollover behaviors for display object
containers with children. When the mouse
leaves the area of a display object or the
area of any of its children to go to an
object that is not one of its children, the
display object dispatches the
`rollOut` event.The
`rollOut` events are dispatched
consecutively up the parent chain of the
object, starting with the object and ending
with the highest parent that is neither the
root nor an ancestor of the
`relatedObject`.
@event mouseOver Dispatched when the user moves a pointing
device over an InteractiveObject instance.
The `relatedObject` is the object
that was previously under the pointing
device. If the target is a SimpleButton
instance, the object displays the
`overState` or
`upState` display object,
depending on whether the mouse button is
down, as the default behavior.
The `mouseOver` event is
dispatched each time the mouse enters the
area of any child object of the display
object container, even if the mouse was
already over another child object of the
display object container. This is different
behavior than the purpose of the
`rollOver` event, which is to
simplify the coding of rollout behaviors for
display object containers with children. When
the mouse enters the area of a display object
or the area of any of its children from an
object that is not one of its children, the
display object dispatches the
`rollOver` event. The
`rollOver` events are dispatched
consecutively down the parent chain of the
object, starting with the highest parent that
is neither the root nor an ancestor of the
`relatedObject` and ending with
the object.
@event mouseUp Dispatched when a user releases the pointing
device button over an InteractiveObject
instance. If the target is a SimpleButton
instance, the object displays the
`upState` display object. If the
target is a selectable text field, the text
field ends selection as the default behavior.
@event mouseWheel Dispatched when a mouse wheel is spun over an
InteractiveObject instance. If the target is
a text field, the text scrolls as the default
behavior. Only available on Microsoft Windows
operating systems.
@event nativeDragComplete Dispatched by the drag initiator
InteractiveObject when the user releases the
drag gesture.
The event's dropAction property indicates
the action set by the drag target object; a
value of "none"
(`DragActions.NONE`) indicates
that the drop was canceled or was not
accepted.
The `nativeDragComplete` event
handler is a convenient place to update the
state of the initiating display object, for
example, by removing an item from a list(on
a drag action of "move"), or by changing the
visual properties.
@event nativeDragDrop Dispatched by the target InteractiveObject
when a dragged object is dropped on it and
the drop has been accepted with a call to
DragManager.acceptDragDrop().
Access the dropped data using the event
object `clipboard` property.
The handler for this event should set the
`DragManager.dropAction` property
to provide feedback to the initiator object
about which drag action was taken. If no
value is set, the DragManager will select a
default value from the list of allowed
actions.
@event nativeDragEnter Dispatched by an InteractiveObject when a
drag gesture enters its boundary.
Handle either the
`nativeDragEnter` or
`nativeDragOver` events to allow
the display object to become the drop
target.
To determine whether the dispatching
display object can accept the drop, check the
suitability of the data in
`clipboard` property of the event
object, and the allowed drag actions in the
`allowedActions` property.
@event nativeDragExit Dispatched by an InteractiveObject when a
drag gesture leaves its boundary.
@event nativeDragOver Dispatched by an InteractiveObject
continually while a drag gesture remains
within its boundary.
`nativeDragOver` events are
dispatched whenever the mouse is moved. On
Windows and Mac, they are also dispatched on
a short timer interval even when the mouse
has not moved.
Handle either the
`nativeDragOver` or
`nativeDragEnter` events to allow
the display object to become the drop
target.
To determine whether the dispatching
display object can accept the drop, check the
suitability of the data in
`clipboard` property of the event
object, and the allowed drag actions in the
`allowedActions` property.
@event nativeDragStart Dispatched at the beginning of a drag
operation by the InteractiveObject that is
specified as the drag initiator in the
DragManager.doDrag() call.
@event nativeDragUpdate Dispatched during a drag operation by the
InteractiveObject that is specified as the
drag initiator in the DragManager.doDrag()
call.
`nativeDragUpdate` events are
not dispatched on Linux.
@event paste Dispatched when the user activates the
platform-specific accelerator key combination
for a paste operation or selects 'Paste' from
the text context menu. This event is
dispatched to the object that currently has
focus. If the object that currently has focus
is a TextField, the default behavior of this
event is to cause the contents of the
clipboard to be pasted into the text field at
the current insertion point replacing any
currently selected text in the text field.
@event rightClick Dispatched when a user presses and releases
the right button of the user's pointing
device over the same InteractiveObject. For a
`rightClick` event to occur, it
must always follow this series of events in
the order of occurrence:
`rightMouseDown` event, then
`rightMouseUp`. The target object
must be identical for both of these events;
otherwise the `rightClick` event
does not occur. Any number of other mouse
events can occur at any time between the
`rightMouseDown` or
`rightMouseUp` events; the
`rightClick` event still occurs.
@event rightMouseDown Dispatched when a user presses the pointing
device button over an InteractiveObject
instance.
@event rightMouseUp Dispatched when a user releases the pointing
device button over an InteractiveObject
instance.
@event rollOut Dispatched when the user moves a pointing
device away from an InteractiveObject
instance. The event target is the object
previously under the pointing device or a
parent of that object. The
`relatedObject` is the object that
the pointing device has moved to. The
`rollOut` events are dispatched
consecutively up the parent chain of the
object, starting with the object and ending
with the highest parent that is neither the
root nor an ancestor of the
`relatedObject`.
The purpose of the `rollOut`
event is to simplify the coding of rollover
behaviors for display object containers with
children. When the mouse leaves the area of a
display object or the area of any of its
children to go to an object that is not one
of its children, the display object
dispatches the `rollOut` event.
This is different behavior than that of the
`mouseOut` event, which is
dispatched each time the mouse leaves the
area of any child object of the display
object container, even if the mouse remains
over another child object of the display
object container.
@event rollOver Dispatched when the user moves a pointing
device over an InteractiveObject instance.
The event target is the object under the
pointing device or a parent of that object.
The `relatedObject` is the object
that was previously under the pointing
device. The `rollOver` events are
dispatched consecutively down the parent
chain of the object, starting with the
highest parent that is neither the root nor
an ancestor of the `relatedObject`
and ending with the object.
The purpose of the `rollOver`
event is to simplify the coding of rollout
behaviors for display object containers with
children. When the mouse enters the area of a
display object or the area of any of its
children from an object that is not one of
its children, the display object dispatches
the `rollOver` event. This is
different behavior than that of the
`mouseOver` event, which is
dispatched each time the mouse enters the
area of any child object of the display
object container, even if the mouse was
already over another child object of the
display object container.
@event selectAll Dispatched when the user activates the
platform-specific accelerator key combination
for a select all operation or selects 'Select
All' from the text context menu. This event
is dispatched to the object that currently
has focus. If the object that currently has
focus is a TextField, the default behavior of
this event is to cause all the contents of
the text field to be selected.
@event softKeyboardActivate Dispatched immediately after the soft
keyboard is raised.
@event softKeyboardActivating Dispatched immediately before the soft
keyboard is raised.
@event softKeyboardDeactivate Dispatched immediately after the soft
keyboard is lowered.
@event tabChildrenChange Dispatched when the value of the object's
`tabChildren` flag changes.
@event tabEnabledChange Dispatched when the object's
`tabEnabled` flag changes.
@event tabIndexChange Dispatched when the value of the object's
`tabIndex` property changes.
@event textInput Dispatched when a user enters one or more
characters of text. Various text input
methods can generate this event, including
standard keyboards, input method editors
(IMEs), voice or speech recognition systems,
and even the act of pasting plain text with
no formatting or style information.
@event touchBegin Dispatched when the user first contacts a
touch-enabled device(such as touches a
finger to a mobile phone or tablet with a
touch screen). Some devices might also
interpret this contact as a
`mouseDown` event.
Specifically, if a user touches a finger
to a touch screen, the InteractiveObject
instance can dispatch a
`mouseDown` event or a
`touchBegin` event, or both if the
current environment supports it. Choose how
you want to handle the user interaction. Use
the openfl.ui.Multitouch class to manage touch
event handling(enable touch gesture event
handling, simple touch point event handling,
or disable touch events so only mouse events
are dispatched). If you choose to handle the
`mouseDown` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`touchBegin` event, you can design
your event handler to respond to the specific
needs of a touch-enabled environment and
provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event touchEnd Dispatched when the user removes contact with
a touch-enabled device(such as lifts a
finger off a mobile phone or tablet with a
touch screen). Some devices might also
interpret this contact as a
`mouseUp` event.
Specifically, if a user lifts a finger
from a touch screen, the InteractiveObject
instance can dispatch a `mouseUp`
event or a `touchEnd` event, or
both if the current environment supports it.
Choose how you want to handle the user
interaction. Use the openfl.ui.Multitouch
class to manage touch event handling(enable
touch gesture event handling, simple touch
point event handling, or disable touch events
so only mouse events are dispatched). If you
choose to handle the `mouseUp`
event, then the same event handler will run
on a touch-enabled device and a mouse enabled
device. However, if you choose to handle the
`touchEnd` event, you can design
your event handler to respond to the specific
needs of a touch-enabled environment and
provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event touchMove Dispatched when the user moves the point of
contact with a touch-enabled device(such as
drags a finger across a mobile phone or
tablet with a touch screen). Some devices
might also interpret this contact as a
`mouseMove` event.
Specifically, if a user moves a finger
across a touch screen, the InteractiveObject
instance can dispatch a
`mouseMove` event or a
`touchMove` event, or both if the
current environment supports it. Choose how
you want to handle the user interaction. Use
the openfl.ui.Multitouch class to manage touch
event handling(enable touch gesture event
handling, simple touch point event handling,
or disable touch events so only mouse events
are dispatched). If you choose to handle the
`mouseMove` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`touchMove` event, you can design
your event handler to respond to the specific
needs of a touch-enabled environment and
provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event touchOut Dispatched when the user moves the point of
contact away from InteractiveObject instance
on a touch-enabled device(such as drags a
finger from one display object to another on
a mobile phone or tablet with a touch
screen). Some devices might also interpret
this contact as a `mouseOut`
event.
Specifically, if a user moves a finger
across a touch screen, the InteractiveObject
instance can dispatch a `mouseOut`
event or a `touchOut` event, or
both if the current environment supports it.
Choose how you want to handle the user
interaction. Use the openfl.ui.Multitouch
class to manage touch event handling(enable
touch gesture event handling, simple touch
point event handling, or disable touch events
so only mouse events are dispatched). If you
choose to handle the `mouseOut`
event, then the same event handler will run
on a touch-enabled device and a mouse enabled
device. However, if you choose to handle the
`touchOut` event, you can design
your event handler to respond to the specific
needs of a touch-enabled environment and
provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event touchOver Dispatched when the user moves the point of
contact over an InteractiveObject instance on
a touch-enabled device(such as drags a
finger from a point outside a display object
to a point over a display object on a mobile
phone or tablet with a touch screen). Some
devices might also interpret this contact as
a `mouseOver` event.
Specifically, if a user moves a finger
over an InteractiveObject, the
InteractiveObject instance can dispatch a
`mouseOver` event or a
`touchOver` event, or both if the
current environment supports it. Choose how
you want to handle the user interaction. Use
the openfl.ui.Multitouch class to manage touch
event handling(enable touch gesture event
handling, simple touch point event handling,
or disable touch events so only mouse events
are dispatched). If you choose to handle the
`mouseOver` event, then the same
event handler will run on a touch-enabled
device and a mouse enabled device. However,
if you choose to handle the
`touchOver` event, you can design
your event handler to respond to the specific
needs of a touch-enabled environment and
provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event touchRollOut Dispatched when the user moves the point of
contact away from an InteractiveObject
instance on a touch-enabled device(such as
drags a finger from over a display object to
a point outside the display object on a
mobile phone or tablet with a touch screen).
Some devices might also interpret this
contact as a `rollOut` event.
Specifically, if a user moves a finger
over an InteractiveObject, the
InteractiveObject instance can dispatch a
`rollOut` event or a
`touchRollOut` event, or both if
the current environment supports it. Choose
how you want to handle the user interaction.
Use the openfl.ui.Multitouch class to manage
touch event handling(enable touch gesture
event handling, simple touch point event
handling, or disable touch events so only
mouse events are dispatched). If you choose
to handle the `rollOut` event,
then the same event handler will run on a
touch-enabled device and a mouse enabled
device. However, if you choose to handle the
`touchRollOut` event, you can
design your event handler to respond to the
specific needs of a touch-enabled environment
and provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event touchRollOver Dispatched when the user moves the point of
contact over an InteractiveObject instance on
a touch-enabled device(such as drags a
finger from a point outside a display object
to a point over a display object on a mobile
phone or tablet with a touch screen). Some
devices might also interpret this contact as
a `rollOver` event.
Specifically, if a user moves a finger
over an InteractiveObject, the
InteractiveObject instance can dispatch a
`rollOver` event or a
`touchRollOver` event, or both if
the current environment supports it. Choose
how you want to handle the user interaction.
Use the openfl.ui.Multitouch class to manage
touch event handling(enable touch gesture
event handling, simple touch point event
handling, or disable touch events so only
mouse events are dispatched). If you choose
to handle the `rollOver` event,
then the same event handler will run on a
touch-enabled device and a mouse enabled
device. However, if you choose to handle the
`touchRollOver` event, you can
design your event handler to respond to the
specific needs of a touch-enabled environment
and provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information.
@event touchTap Dispatched when the user lifts the point of
contact over the same InteractiveObject
instance on which the contact was initiated
on a touch-enabled device(such as presses
and releases a finger from a single point
over a display object on a mobile phone or
tablet with a touch screen). Some devices
might also interpret this contact as a
`click` event.
Specifically, if a user taps a finger over
an InteractiveObject, the InteractiveObject
instance can dispatch a `click`
event or a `touchTap` event, or
both if the current environment supports it.
Choose how you want to handle the user
interaction. Use the openfl.ui.Multitouch
class to manage touch event handling(enable
touch gesture event handling, simple touch
point event handling, or disable touch events
so only mouse events are dispatched). If you
choose to handle the `click`
event, then the same event handler will run
on a touch-enabled device and a mouse enabled
device. However, if you choose to handle the
`touchTap` event, you can design
your event handler to respond to the specific
needs of a touch-enabled environment and
provide users with a richer touch-enabled
experience. You can also handle both events,
separately, to provide a different response
for a touch event than a mouse event.
**Note:** See the Multitouch class for
environment compatibility information."tags=\"haxe,release\""Determines whether or not the children of the object are mouse, or user
input device, enabled. If an object is enabled, a user can interact with
it by using a mouse or user input device. The default is
`true`.
This property is useful when you create a button with an instance of
the Sprite class(instead of using the SimpleButton class). When you use a
Sprite instance to create a button, you can choose to decorate the button
by using the `addChild()` method to add additional Sprite
instances. This process can cause unexpected behavior with mouse events
because the Sprite instances you add as children can become the target
object of a mouse event when you expect the parent instance to be the
target object. To ensure that the parent instance serves as the target
objects for mouse events, you can set the `mouseChildren`
property of the parent instance to `false`.
No event is dispatched by setting this property. You must use the
`addEventListener()` method to create interactive
functionality.Returns the number of children of this object.Determines whether the children of the object are tab enabled. Enables or
disables tabbing for the children of the object. The default is
`true`.
**Note:** Do not use the `tabChildren` property with
Flex. Instead, use the
`mx.core.UIComponent.hasFocusableChildren` property.
@throws IllegalOperationError Calling this property of the Stage object
throws an exception. The Stage object does
not implement this property.
<__removedChildren>
<__tabChildren>
Adds a child DisplayObject instance to this DisplayObjectContainer
instance. The child is added to the front(top) of all other children in
this DisplayObjectContainer instance.(To add a child to a specific index
position, use the `addChildAt()` method.)
If you add a child object that already has a different display object
container as a parent, the object is removed from the child list of the
other display object container.
**Note:** The command `stage.addChild()` can cause
problems with a published SWF file, including security problems and
conflicts with other loaded SWF files. There is only one Stage within a
Flash runtime instance, no matter how many SWF files you load into the
runtime. So, generally, objects should not be added to the Stage,
directly, at all. The only object the Stage should contain is the root
object. Create a DisplayObjectContainer to contain all of the items on the
display list. Then, if necessary, add that DisplayObjectContainer instance
to the Stage.
@param child The DisplayObject instance to add as a child of this
DisplayObjectContainer instance.
@return The DisplayObject instance that you pass in the `child`
parameter.
@throws ArgumentError Throws if the child is the same as the parent. Also
throws if the caller is a child(or grandchild etc.)
of the child being added.
@event added Dispatched when a display object is added to the display
list.Adds a child DisplayObject instance to this DisplayObjectContainer
instance. The child is added at the index position specified. An index of
0 represents the back(bottom) of the display list for this
DisplayObjectContainer object.
For example, the following example shows three display objects, labeled
a, b, and c, at index positions 0, 2, and 1, respectively:

If you add a child object that already has a different display object
container as a parent, the object is removed from the child list of the
other display object container.
@param child The DisplayObject instance to add as a child of this
DisplayObjectContainer instance.
@param index The index position to which the child is added. If you
specify a currently occupied index position, the child object
that exists at that position and all higher positions are
moved up one position in the child list.
@return The DisplayObject instance that you pass in the `child`
parameter.
@throws ArgumentError Throws if the child is the same as the parent. Also
throws if the caller is a child(or grandchild etc.)
of the child being added.
@throws RangeError Throws if the index position does not exist in the
child list.
@event added Dispatched when a display object is added to the display
list.Indicates whether the security restrictions would cause any display
objects to be omitted from the list returned by calling the
`DisplayObjectContainer.getObjectsUnderPoint()` method with the
specified `point` point. By default, content from one domain
cannot access objects from another domain unless they are permitted to do
so with a call to the `Security.allowDomain()` method. For more
information, related to security, see the Flash Player Developer Center
Topic: [Security](http://www.adobe.com/go/devnet_security_en).
The `point` parameter is in the coordinate space of the
Stage, which may differ from the coordinate space of the display object
container(unless the display object container is the Stage). You can use
the `globalToLocal()` and the `localToGlobal()`
methods to convert points between these coordinate spaces.
@param point The point under which to look.
@return `true` if the point contains child display objects with
security restrictions.Determines whether the specified display object is a child of the
DisplayObjectContainer instance or the instance itself. The search
includes the entire display list including this DisplayObjectContainer
instance. Grandchildren, great-grandchildren, and so on each return
`true`.
@param child The child object to test.
@return `true` if the `child` object is a child of
the DisplayObjectContainer or the container itself; otherwise
`false`.Returns the child display object instance that exists at the specified
index.
@param index The index position of the child object.
@return The child display object at the specified index position.
@throws RangeError Throws if the index does not exist in the child
list.
@throws SecurityError This child display object belongs to a sandbox to
which you do not have access. You can avoid this
situation by having the child movie call
`Security.allowDomain()`.Returns the child display object that exists with the specified name. If
more that one child display object has the specified name, the method
returns the first object in the child list.
The `getChildAt()` method is faster than the
`getChildByName()` method. The `getChildAt()` method
accesses a child from a cached array, whereas the
`getChildByName()` method has to traverse a linked list to
access a child.
@param name The name of the child to return.
@return The child display object with the specified name.
@throws SecurityError This child display object belongs to a sandbox to
which you do not have access. You can avoid this
situation by having the child movie call the
`Security.allowDomain()` method.Returns the index position of a `child` DisplayObject instance.
@param child The DisplayObject instance to identify.
@return The index position of the child display object to identify.
@throws ArgumentError Throws if the child parameter is not a child of this
object.Returns an array of objects that lie under the specified point and are
children(or grandchildren, and so on) of this DisplayObjectContainer
instance. Any child objects that are inaccessible for security reasons are
omitted from the returned array. To determine whether this security
restriction affects the returned array, call the
`areInaccessibleObjectsUnderPoint()` method.
The `point` parameter is in the coordinate space of the
Stage, which may differ from the coordinate space of the display object
container(unless the display object container is the Stage). You can use
the `globalToLocal()` and the `localToGlobal()`
methods to convert points between these coordinate spaces.
@param point The point under which to look.
@return An array of objects that lie under the specified point and are
children(or grandchildren, and so on) of this
DisplayObjectContainer instance.Removes the specified `child` DisplayObject instance from the
child list of the DisplayObjectContainer instance. The `parent`
property of the removed child is set to `null` , and the object
is garbage collected if no other references to the child exist. The index
positions of any display objects above the child in the
DisplayObjectContainer are decreased by 1.
The garbage collector reallocates unused memory space. When a variable
or object is no longer actively referenced or stored somewhere, the
garbage collector sweeps through and wipes out the memory space it used to
occupy if no other references to it exist.
@param child The DisplayObject instance to remove.
@return The DisplayObject instance that you pass in the `child`
parameter.
@throws ArgumentError Throws if the child parameter is not a child of this
object.Removes a child DisplayObject from the specified `index`
position in the child list of the DisplayObjectContainer. The
`parent` property of the removed child is set to
`null`, and the object is garbage collected if no other
references to the child exist. The index positions of any display objects
above the child in the DisplayObjectContainer are decreased by 1.
The garbage collector reallocates unused memory space. When a variable
or object is no longer actively referenced or stored somewhere, the
garbage collector sweeps through and wipes out the memory space it used to
occupy if no other references to it exist.
@param index The child index of the DisplayObject to remove.
@return The DisplayObject instance that was removed.
@throws RangeError Throws if the index does not exist in the child
list.
@throws SecurityError This child display object belongs to a sandbox to
which the calling object does not have access. You
can avoid this situation by having the child movie
call the `Security.allowDomain()` method.{ endIndex : 0x7FFFFFFF, beginIndex : 0 }Removes all `child` DisplayObject instances from the child list of the DisplayObjectContainer
instance. The `parent` property of the removed children is set to `null`, and the objects are
garbage collected if no other references to the children exist.
The garbage collector reallocates unused memory space. When a variable or object is no
longer actively referenced or stored somewhere, the garbage collector sweeps through and
wipes out the memory space it used to occupy if no other references to it exist.
@param beginIndex The beginning position. A value smaller than 0 throws a `RangeError`.
@param endIndex The ending position. A value smaller than 0 throws a `RangeError`.Changes the position of an existing child in the display object container.
This affects the layering of child objects. For example, the following
example shows three display objects, labeled a, b, and c, at index
positions 0, 1, and 2, respectively:

When you use the `setChildIndex()` method and specify an
index position that is already occupied, the only positions that change
are those in between the display object's former and new position. All
others will stay the same. If a child is moved to an index LOWER than its
current index, all children in between will INCREASE by 1 for their index
reference. If a child is moved to an index HIGHER than its current index,
all children in between will DECREASE by 1 for their index reference. For
example, if the display object container in the previous example is named
`container`, you can swap the position of the display objects
labeled a and b by calling the following code:
```haxe
container.setChildIndex(container.getChildAt(1), 0);
```
This code results in the following arrangement of objects:

@param child The child DisplayObject instance for which you want to change
the index number.
@param index The resulting index number for the `child` display
object.
@throws ArgumentError Throws if the child parameter is not a child of this
object.
@throws RangeError Throws if the index does not exist in the child
list.Recursively stops the timeline execution of all MovieClips rooted at this object.
Child display objects belonging to a sandbox to which the excuting code does not
have access are ignored.
**Note:** Streaming media playback controlled via a NetStream object will not be
stopped.Swaps the z-order (front-to-back order) of the two specified child
objects. All other child objects in the display object container remain in
the same index positions.
@param child1 The first child object.
@param child2 The second child object.
@throws ArgumentError Throws if either child parameter is not a child of
this object.Swaps the z-order (front-to-back order) of the child objects at the two
specified index positions in the child list. All other child objects in
the display object container remain in the same index positions.
@param index1 The index position of the first child object.
@param index2 The index position of the second child object.
@throws RangeError If either index does not exist in the child list.
<__cleanup set="method" line="663" override="1">
<__cleanupRemovedChildren get="inline" set="null" line="675">
<__dispatchChildren set="method" line="688" override="1">
<__enterFrame set="method" line="706" override="1">
<__getBounds set="method" line="714" override="1">
<__getFilterBounds set="method" line="734" override="1">
<__getRenderBounds set="method" line="760" override="1">
<__hitTest set="method" line="789" override="1">
<__hitTestMask set="method" line="878" override="1">
<__readGraphicsData set="method" line="893" override="1">
<__setStageReference set="method" line="906" override="1">
<__setWorldTransformInvalid set="method" line="919" override="1">
<__stopAllMovieClips set="method" line="935" override="1">
<__tabTest set="method" line="943" override="1">
<__update set="method" line="964" override="1">
Calling the `new DisplayObjectContainer()` constructor throws
an `ArgumentError` exception. You _can_, however, call
constructors for the following subclasses of DisplayObjectContainer:
* `new Loader()`
* `new Sprite()`
* `new MovieClip()`The DisplayObjectContainer class is the base class for all objects that can
serve as display object containers on the display list. The display list
manages all objects displayed in the Flash runtimes. Use the
DisplayObjectContainer class to arrange the display objects in the display
list. Each DisplayObjectContainer object has its own child list for
organizing the z-order of the objects. The z-order is the front-to-back
order that determines which object is drawn in front, which is behind, and
so on.
DisplayObject is an abstract base class; therefore, you cannot call
DisplayObject directly. Invoking `new DisplayObject()` throws an
`ArgumentError` exception.
The DisplayObjectContainer class is an abstract base class for all objects
that can contain child objects. It cannot be instantiated directly; calling
the `new DisplayObjectContainer()` constructor throws an
`ArgumentError` exception.
For more information, see the "Display Programming" chapter of the
_ActionScript 3.0 Developer's Guide_."tags=\"haxe,release\""openfl.events.Eventopenfl.display.Graphicsopenfl.errors.Erroropenfl.geom.Pointopenfl.geom.Matrixopenfl.geom.Rectangle
<__constructor static="1">
Creates a new Sprite based upon the first frame of a Timeline instance.
@param timeline A Timeline object
@return A new SpriteSpecifies the button mode of this sprite. If `true`, this
sprite behaves as a button, which means that it triggers the display of
the hand cursor when the pointer passes over the sprite and can receive a
`click` event if the enter or space keys are pressed when the
sprite has focus. You can suppress the display of the hand cursor by
setting the `useHandCursor` property to `false`, in
which case the pointer is displayed.
Although it is better to use the SimpleButton class to create buttons,
you can use the `buttonMode` property to give a sprite some
button-like functionality. To include a sprite in the tab order, set the
`tabEnabled` property(inherited from the InteractiveObject
class and `false` by default) to `true`.
Additionally, consider whether you want the children of your sprite to be
user input enabled. Most buttons do not enable user input interactivity
for their child objects because it confuses the event flow. To disable
user input interactivity for all child objects, you must set the
`mouseChildren` property(inherited from the
DisplayObjectContainer class) to `false`.
If you use the `buttonMode` property with the MovieClip
class(which is a subclass of the Sprite class), your button might have
some added functionality. If you include frames labeled _up, _over, and
_down, Flash Player provides automatic state changes(functionality
similar to that provided in previous versions of ActionScript for movie
clips used as buttons). These automatic state changes are not available
for sprites, which have no timeline, and thus no frames to label.Specifies the display object over which the sprite is being dragged,
or on which the sprite was dropped.Specifies the Graphics object that belongs to this sprite where vector
drawing commands can occur.Designates another sprite to serve as the hit area for a sprite. If
the `hitArea` property does not exist or the value is `null` or
`undefined`, the sprite itself is used as the hit area. The value of
the `hitArea` property can be a reference to a Sprite object.
You can change the `hitArea` property at any time; the modified sprite
immediately uses the new hit area behavior. The sprite designated as
the hit area does not need to be visible; its graphical shape,
although not visible, is still detected as the hit area.
**Note:** You must set to `false` the `mouseEnabled` property of the
sprite designated as the hit area. Otherwise, your sprite button might
not work because the sprite designated as the hit area receives the
user input events instead of your sprite button. control, set the `useHandCursor` and
`buttonMode` properties to `true`, and the
`mouseChildren` property to `false`.]]>
<__buttonMode>
<__pendingBindClassName>
<__pendingBindLibrary>
{ bounds : null, lockCenter : false }Lets the user drag the specified sprite. The sprite remains draggable
until explicitly stopped through a call to the
`Sprite.stopDrag()` method, or until another sprite is made
draggable. Only one sprite is draggable at a time.
Three-dimensional display objects follow the pointer and
`Sprite.startDrag()` moves the object within the
three-dimensional plane defined by the display object. Or, if the display
object is a two-dimensional object and the child of a three-dimensional
object, the two-dimensional object moves within the three dimensional
plane defined by the three-dimensional parent object.
@param lockCenter Specifies whether the draggable sprite is locked to the
center of the pointer position(`true`), or
locked to the point where the user first clicked the
sprite(`false`).
@param bounds Value relative to the coordinates of the Sprite's parent
that specify a constraint rectangle for the Sprite.Ends the `startDrag()` method. A sprite that was made draggable
with the `startDrag()` method remains draggable until a
`stopDrag()` method is added, or until another sprite becomes
draggable. Only one sprite is draggable at a time.
<__bind set="method" line="273">
<__getCursor set="method" line="286" override="1">
<__hitTest set="method" line="292" override="1">
<__hitTestHitArea set="method" line="331">
<__hitTestMask set="method" line="353" override="1">
Creates a new Sprite instance. After you create the Sprite instance, call
the `DisplayObjectContainer.addChild()` or
`DisplayObjectContainer.addChildAt()` method to add the Sprite
to a parent DisplayObjectContainer.The Sprite class is a basic display list building block: a display list
node that can display graphics and can also contain children.
A Sprite object is similar to a movie clip, but does not have a
timeline. Sprite is an appropriate base class for objects that do not
require timelines. For example, Sprite would be a logical base class for
user interface(UI) components that typically do not use the timeline.
The Sprite class is new in ActionScript 3.0. It provides an alternative
to the functionality of the MovieClip class, which retains all the
functionality of previous ActionScript releases to provide backward
compatibility."tags=\"haxe,release\""openfl.display.Graphicsopenfl.display.Stageopenfl.geom.Matrixopenfl.geom.Pointopenfl.utils._internal.AssetsMacro.initBinding()nullfalse[]falsehide0"../../../../"false
<__threadCycle expr="0" line="127" static="1">
01280720-1120truefalseopenfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()DocumentClass.build()hideThe length of `this` Array.Returns a new Array by appending the elements of `a` to the elements of
`this` Array.
This operation does not modify `this` Array.
If `a` is the empty Array `[]`, a copy of `this` Array is returned.
The length of the returned Array is equal to the sum of `this.length`
and `a.length`.
If `a` is `null`, the result is unspecified.Returns a string representation of `this` Array, with `sep` separating
each element.
The result of this operation is equal to `Std.string(this[0]) + sep +
Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])`
If `this` is the empty Array `[]`, the result is the empty String `""`.
If `this` has exactly one element, the result is equal to a call to
`Std.string(this[0])`.
If `sep` is null, the result is unspecified.Removes the last element of `this` Array and returns it.
This operation modifies `this` Array in place.
If `this` has at least one element, `this.length` will decrease by 1.
If `this` is the empty Array `[]`, null is returned and the length
remains 0.Adds the element `x` at the end of `this` Array and returns the new
length of `this` Array.
This operation modifies `this` Array in place.
`this.length` increases by 1.Removes the first element of `this` Array and returns it.
This operation modifies `this` Array in place.
If `this` has at least one element, `this`.length and the index of each
remaining element is decreased by 1.
If `this` is the empty Array `[]`, `null` is returned and the length
remains 0.Creates a shallow copy of the range of `this` Array, starting at and
including `pos`, up to but not including `end`.
This operation does not modify `this` Array.
The elements are not copied and retain their identity.
If `end` is omitted or exceeds `this.length`, it defaults to the end of
`this` Array.
If `pos` or `end` are negative, their offsets are calculated from the
end of `this` Array by `this.length + pos` and `this.length + end`
respectively. If this yields a negative value, 0 is used instead.
If `pos` exceeds `this.length` or if `end` is less than or equals
`pos`, the result is `[]`. y and a
negative Int if x < y.
This operation modifies `this` Array in place.
The sort operation is not guaranteed to be stable, which means that the
order of equal elements may not be retained. For a stable Array sorting
algorithm, `haxe.ds.ArraySort.sort()` can be used instead.
If `f` is null, the result is unspecified.]]>Returns a string representation of `this` Array.
The result will include the individual elements' String representations
separated by comma. The enclosing [ ] may be missing on some platforms,
use `Std.string()` to get a String representation that is consistent
across platforms.Adds the element `x` at the start of `this` Array.
This operation modifies `this` Array in place.
`this.length` and the index of each Array element increases by 1.Inserts the element `x` at the position `pos`.
This operation modifies `this` Array in place.
The offset is calculated like so:
- If `pos` exceeds `this.length`, the offset is `this.length`.
- If `pos` is negative, the offset is calculated from the end of `this`
Array, i.e. `this.length + pos`. If this yields a negative value, the
offset is 0.
- Otherwise, the offset is `pos`.
If the resulting offset does not exceed `this.length`, all elements from
and including that offset to the end of `this` Array are moved one index
ahead.Removes the first occurrence of `x` in `this` Array.
This operation modifies `this` Array in place.
If `x` is found by checking standard equality, it is removed from `this`
Array and all following elements are reindexed accordingly. The function
then returns true.
If `x` is not found, `this` Array is not changed and the function
returns false.Returns whether `this` Array contains `x`.
If `x` is found by checking standard equality, the function returns `true`, otherwise
the function returns `false`.Returns position of the first occurrence of `x` in `this` Array, searching front to back.
If `x` is found by checking standard equality, the function returns its index.
If `x` is not found, the function returns -1.
If `fromIndex` is specified, it will be used as the starting index to search from,
otherwise search starts with zero index. If it is negative, it will be taken as the
offset from the end of `this` Array to compute the starting index. If given or computed
starting index is less than 0, the whole array will be searched, if it is greater than
or equal to the length of `this` Array, the function returns -1.Returns position of the last occurrence of `x` in `this` Array, searching back to front.
If `x` is found by checking standard equality, the function returns its index.
If `x` is not found, the function returns -1.
If `fromIndex` is specified, it will be used as the starting index to search from,
otherwise search starts with the last element index. If it is negative, it will be
taken as the offset from the end of `this` Array to compute the starting index. If
given or computed starting index is greater than or equal to the length of `this` Array,
the whole array will be searched, if it is less than 0, the function returns -1.Returns a shallow copy of `this` Array.
The elements are not copied and retain their identity, so
`a[i] == a.copy()[i]` is true for any valid `i`. However,
`a == a.copy()` is always false.Returns an iterator of the Array values.Returns an iterator of the Array indices and values.Returns an Array containing those elements of `this` for which `f`
returned true.
The individual elements are not duplicated and retain their identity.
If `f` is null, the result is unspecified.Set the length of the Array.
If `len` is shorter than the array's current size, the last
`length - len` elements will be removed. If `len` is longer, the Array
will be extended, with new elements set to a target-specific default
value:
- always null on dynamic targets
- 0, 0.0 or false for Int, Float and Bool respectively on static targets
- null for other types on static targetsCreates a new Array.An abstract type that represents a Class.
See `Type` for the Haxe Reflection API.
@see https://haxe.org/manual/types-class-instance.htmlReturns a Date representing the current local time.Creates a Date from the timestamp (in milliseconds) `t`.Creates a Date from the formatted string `s`. The following formats are
accepted by the function:
- `"YYYY-MM-DD hh:mm:ss"`
- `"YYYY-MM-DD"`
- `"hh:mm:ss"`
The first two formats expressed a date in local time. The third is a time
relative to the UTC epoch.Returns the timestamp (in milliseconds) of `this` date.
On cpp and neko, this function only has a second resolution, so the
result will always be a multiple of `1000.0`, e.g. `1454698271000.0`.
To obtain the current timestamp with better precision on cpp and neko,
see the `Sys.time` API.
For measuring time differences with millisecond accuracy on
all platforms, see `haxe.Timer.stamp`.Returns the hours of `this` Date (0-23 range) in the local timezone.Returns the minutes of `this` Date (0-59 range) in the local timezone.Returns the seconds of `this` Date (0-59 range) in the local timezone.Returns the full year of `this` Date (4 digits) in the local timezone.Returns the month of `this` Date (0-11 range) in the local timezone.
Note that the month number is zero-based.Returns the day of `this` Date (1-31 range) in the local timezone.Returns the day of the week of `this` Date (0-6 range, where `0` is Sunday)
in the local timezone.Returns the hours of `this` Date (0-23 range) in UTC.Returns the minutes of `this` Date (0-59 range) in UTC.Returns the seconds of `this` Date (0-59 range) in UTC.Returns the full year of `this` Date (4 digits) in UTC.Returns the month of `this` Date (0-11 range) in UTC.
Note that the month number is zero-based.Returns the day of `this` Date (1-31 range) in UTC.Returns the day of the week of `this` Date (0-6 range, where `0` is Sunday)
in UTC.Returns the time zone difference of `this` Date in the current locale
to UTC, in minutes.
Assuming the function is executed on a machine in a UTC+2 timezone,
`Date.now().getTimezoneOffset()` will return `-120`.Returns a string representation of `this` Date in the local timezone
using the standard format `YYYY-MM-DD HH:MM:SS`. See `DateTools.format` for
other formatting rules.Creates a new date object from the given arguments.
The behaviour of a Date instance is only consistent across platforms if
the the arguments describe a valid date.
- month: 0 to 11 (note that this is zero-based)
- day: 1 to 31
- hour: 0 to 23
- min: 0 to 59
- sec: 0 to 59The Date class provides a basic structure for date and time related
information. Date instances can be created by
- `new Date()` for a specific date,
- `Date.now()` to obtain information about the current time,
- `Date.fromTime()` with a given timestamp or
- `Date.fromString()` by parsing from a String.
There are some extra functions available in the `DateTools` class.
In the context of Haxe dates, a timestamp is defined as the number of
milliseconds elapsed since 1st January 1970 UTC.
## Supported range
Due to platform limitations, only dates in the range 1970 through 2038 are
supported consistently. Some targets may support dates outside this range,
depending on the OS at runtime. The `Date.fromTime` method will not work with
timestamps outside the range on any target.Escape the string `s` for use as a part of regular expression.
If `s` is null, the result is unspecified.~/[\[\]{}()*+?.\\\^$|]/Tells if `this` regular expression matches String `s`.
This method modifies the internal state.
If `s` is `null`, the result is unspecified.Returns the matched sub-group `n` of `this` EReg.
This method should only be called after `this.match` or
`this.matchSub`, and then operates on the String of that operation.
The index `n` corresponds to the n-th set of parentheses in the pattern
of `this` EReg. If no such sub-group exists, the result is unspecified.
If `n` equals 0, the whole matched substring is returned.Returns the part to the left of the last matched substring.
If the most recent call to `this.match` or `this.matchSub` did not
match anything, the result is unspecified.
If the global g modifier was in place for the matching, only the
substring to the left of the leftmost match is returned.
The result does not include the matched part.Returns the part to the right of the last matched substring.
If the most recent call to `this.match` or `this.matchSub` did not
match anything, the result is unspecified.
If the global g modifier was in place for the matching, only the
substring to the right of the leftmost match is returned.
The result does not include the matched part.Returns the position and length of the last matched substring, within
the String which was last used as argument to `this.match` or
`this.matchSub`.
If the most recent call to `this.match` or `this.matchSub` did not
match anything, the result is unspecified.
If the global g modifier was in place for the matching, the position and
length of the leftmost substring is returned.{ len : -1 }Tells if `this` regular expression matches a substring of String `s`.
This function expects `pos` and `len` to describe a valid substring of
`s`, or else the result is unspecified. To get more robust behavior,
`this.match(s.substr(pos,len))` can be used instead.
This method modifies the internal state.
If `s` is null, the result is unspecified.Splits String `s` at all substrings `this` EReg matches.
If a match is found at the start of `s`, the result contains a leading
empty String "" entry.
If a match is found at the end of `s`, the result contains a trailing
empty String "" entry.
If two matching substrings appear next to each other, the result
contains the empty String `""` between them.
By default, this method splits `s` into two parts at the first matched
substring. If the global g modifier is in place, `s` is split at each
matched substring.
If `s` is null, the result is unspecified.Replaces the first substring of `s` which `this` EReg matches with `by`.
If `this` EReg does not match any substring, the result is `s`.
By default, this method replaces only the first matched substring. If
the global g modifier is in place, all matched substrings are replaced.
If `by` contains `$1` to `$9`, the digit corresponds to number of a
matched sub-group and its value is used instead. If no such sub-group
exists, the replacement is unspecified. The string `$$` becomes `$`.
If `s` or `by` are null, the result is unspecified.Creates a new regular expression with pattern `r` and modifiers `opt`.
This is equivalent to the shorthand syntax `~/r/opt`
If `r` or `opt` are null, the result is unspecified.]]>"]]>An abstract type that represents an Enum type.
The corresponding enum instance type is `EnumValue`.
See `Type` for the Haxe Reflection API.
@see https://haxe.org/manual/types-enum-instance.htmlAn abstract type that represents any enum value.
See `Type` for the Haxe Reflection API.
@see https://haxe.org/manual/types-enum-instance.htmlMatches enum instance `e` against pattern `pattern`, returning `true` if
matching succeeded and `false` otherwise.
Example usage:
```haxe
if (e.match(pattern)) {
// codeIfTrue
} else {
// codeIfFalse
}
```
This is equivalent to the following code:
```haxe
switch (e) {
case pattern:
// codeIfTrue
case _:
// codeIfFalse
}
```
This method is implemented in the compiler. This definition exists only
for documentation.Matches enum instance `e` against pattern `pattern`, returning `true` if
matching succeeded and `false` otherwise.
Example usage:
```haxe
if (e.match(pattern)) {
// codeIfTrue
} else {
// codeIfFalse
}
```
This is equivalent to the following code:
```haxe
switch (e) {
case pattern:
// codeIfTrue
case _:
// codeIfFalse
}
```
This method is implemented in the compiler. This definition exists only
for documentation.Returns true if the iterator has other items, false otherwise.Moves to the next item of the iterator.
If this is called while hasNext() is false, the result is unspecified.IntIterator is used for implementing interval iterations.
It is usually not used explicitly, but through its special syntax:
`min...max`
While it is possible to assign an instance of IntIterator to a variable or
field, it is worth noting that IntIterator does not reset after being used
in a for-loop. Subsequent uses of the same instance will then have no
effect.
@see https://haxe.org/manual/lf-iterators.htmlCreates an Array from Iterable `it`.
If `it` is an Array, this function returns a copy of it.Creates a List form Iterable `it`.
If `it` is a List, this function returns a copy of it.Similar to map, but also passes the index of each element to `f`.
The order of elements is preserved.
If `f` is null, the result is unspecified.Concatenate a list of iterables.
The order of elements is preserved.A composition of map and flatten.
The order of elements is preserved.
If `f` is null, the result is unspecified.Tells if `it` contains `elt`.
This function returns true as soon as an element is found which is equal
to `elt` according to the `==` operator.
If no such element is found, the result is false.Tells if `it` contains an element for which `f` is true.
This function returns true as soon as an element is found for which a
call to `f` returns true.
If no such element is found, the result is false.
If `f` is null, the result is unspecified.Tells if `f` is true for all elements of `it`.
This function returns false as soon as an element is found for which a
call to `f` returns false.
If no such element is found, the result is true.
In particular, this function always returns true if `it` is empty.
If `f` is null, the result is unspecified.Calls `f` on all elements of `it`, in order.
If `f` is null, the result is unspecified.Returns a Array containing those elements of `it` for which `f` returned
true.
If `it` is empty, the result is the empty Array even if `f` is null.
Otherwise if `f` is null, the result is unspecified.Functional fold on Iterable `it`, using function `f` with start argument
`first`.
If `it` has no elements, the result is `first`.
Otherwise the first element of `it` is passed to `f` alongside `first`.
The result of that call is then passed to `f` with the next element of
`it`, and so on until `it` has no more elements.
If `it` or `f` are null, the result is unspecified.Similar to fold, but also passes the index of each element to `f`.
If `it` or `f` are null, the result is unspecified.Returns the number of elements in `it` for which `pred` is true, or the
total number of elements in `it` if `pred` is null.
This function traverses all elements.Tells if Iterable `it` does not contain any element.Returns the index of the first element `v` within Iterable `it`.
This function uses operator `==` to check for equality.
If `v` does not exist in `it`, the result is -1.Returns the first element of `it` for which `f` is true.
This function returns as soon as an element is found for which a call to
`f` returns true.
If no such element is found, the result is null.
If `f` is null, the result is unspecified.Returns the index of the first element of `it` for which `f` is true.
This function returns as soon as an element is found for which a call to
`f` returns true.
If no such element is found, the result is -1.
If `f` is null, the result is unspecified.Returns a new Array containing all elements of Iterable `a` followed by
all elements of Iterable `b`.
If `a` or `b` are null, the result is unspecified.The `Lambda` class is a collection of methods to support functional
programming. It is ideally used with `using Lambda` and then acts as an
extension to Iterable types.
On static platforms, working with the Iterable structure might be slower
than performing the operations directly on known types, such as Array and
List.
If the first argument to any of the methods is null, the result is
unspecified.
@see https://haxe.org/manual/std-Lambda.htmllime.utils.AssetshideConverts a Base64-encoded `String` into an `Image`, or returns `null` if this is not possible
@param base64 A Base64-encoded `String`
@param type A mime-type to describe the image data (such as "image/png")
@return A new `Image`, or `null` if conversion was not possibleCreates a new `Image` from a Flash `BitmapData` instance
@param bitmapData A source `bitmapData` to use
@return A new `Image` instanceConverts a `Bytes` object to an `Image` instance
Some platforms (such as Flash and HTML5) cannot convert `Bytes` to an
`Image` synchronously, and may not work properly.
`Image.loadFromBytes` works asynchronously, and should work
consistently on all platforms.
@param bytes A `Bytes` holding encoded image data
@return A new `Image` instanceConverts an `js.html.CanvasElement` instance to an `Image`
@param canvas A `CanvasElement`
@return A new `Image` instanceLoads an `Image` from a path synchronously.
Some platforms, such as Flash and HTML5, cannot load
images synchronously.
`Image.loadFromFile` works asynchronously, and should
behave consistently on all platforms.
@param path The source file path or URL of an encoded image file
@return A new `Image` instanceConverts a `js.html.Image` instance to an `Image`
@param image An `ImageElement` instance
@return A new `Image` instanceCreates a new `Image` instance from a Base64-encoded `String`, asynchronously
@param base64 A Base64-encoded string representing encoded image data
@param type The mime type of the encoded data (such as "image/png")
@return A `Future` to return a new `Image` instanceCreates a new `Image` instance from image-encoded `Bytes`, loaded asynchronously
@param bytes A `Bytes` instance
@return A `Future` to return a new `Image` instanceCreates a new `Image` instance from a file path or URL, loaded asynchronously
@param path A file path or URL containing an encoded image
@return A `Future` to return a new `Image` instance
<__isGIF set="method" line="1711" static="1">
<__isJPG set="method" line="1719" static="1">
<__isPNG set="method" line="1729" static="1">
<__isWebP set="method" line="1737" static="1">The `ImageBuffer` store that backs the `Image`Retrieves `UInt8Array` data from the `ImageBuffer`. If the `ImageBuffer`
is not in a data format, it will be converted.Whether the `Image` is dirty. This is set to `true` when pixel operations
have been performed on the underlying `buffer`, and can be set to `false`
again by your own renderer.Get or set the `PixelFormat` for the underlying `ImageBuffer`. This can be
used to convert the `ImageBuffer` to a new format.The logical height of the `Image`. This can be smaller than the `height`
of the underlying `buffer`.The offset X position of the `Image`, from the source `buffer`,
when the `Image` is smaller than the full size of the source `buffer`The offset Y position of the `Image`, from the source `buffer`,
when the `Image` is smaller than the full size of the source `buffer`Get or set whether the `ImageBuffer` dimensions are both a power-of-two
(such as 2, 4, 8, 16, so on). Setting this value may resize the underlying
`buffer`Get or set whether this `Image` has premultiplied alpha. Setting this value
may multiply or unmultiply data if the underlying `ImageBuffer` uses a
different format.The offset, width and height of this image as a `Rectangle`A higher-level representation of the source `ImageBuffer`. This might be an
HTML5 Image, CanvasElement or a Flash BitmapData instance.Get or set whether the underlying `ImageBuffer` is transparent.The current `ImageType`, representing what is being used to store the `Image`'s graphicsThe `version` of the `Image` increases each time it is modified, helpful to determining
whether a cache is out-of-date.The logical width of the `Image`. This can be smaller than the `width`
of the underlying `buffer`.A convenience property, unused internally, which may be helpful for different renderer
implementationsA convenience property, unused internally, which may be helpful for different renderer
implementationsCreates a duplicate copy of this `Image` and `ImageBuffer`
@return A new `Image` instanceApplies a color transform to the underlying `ImageBuffer` data
@param rect The target rectangle to transform
@param colorMatrix A `ColorMatrix` for color offset and/or multiplicationCopy a color channel from one `Image` to another. This can also be within the same `Image` instance.
@param sourceImage The `Image` to copy from
@param sourceRect The source rectangle to copy from in the `sourceImage`
@param destPoint The destination point to apply the channel in the current `Image`
@param sourceChannel The source color channel to copy the data from
@param destChannel The destination color channel to apply the data into{ mergeAlpha : false, alphaPoint : null, alphaImage : null }Copies pixels from one `Image` to another. The source `Image` can also be this `Image`
@param sourceImage The source `Image` to copy from
@param sourceRect The source rectangle to use when copying
@param destPoint The destination point to use when copying
@param alphaImage (Optional) A different `Image` to use as the alpha channel while copying
@param alphaPoint (Optional) A point in the alpha image to use when copying
@param mergeAlpha (Optional) Whether to blend the source and destination alpha (`true`), or to replace the destination alpha (`false`){ quality : 90, format : null }Encodes this `Image` into an image file format, such as PNG or JPEG.
@param format (Optional) An `ImageFileFormat` to encode into (default is `PNG`)
@param quality (Optional) A quality value to use when encoding as JPEG (from 0 to 100)
@return `Bytes` for the encoded `Image`, or `null` if encoding was not successful{ format : null }Fill a rectangle in the `Image` with a solid color
@param rect A destination rectangle in this `Image` to fill
@param color The color to use when filling this `Image`
@param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`){ format : null }Applies a flood fill to this `Image`, starting with the point specified.
A flood fill behaves similarly to the "paint can" tool in many image editors,
the fill will apply the chosen color to neighboring pixels of the same color.
@param x The target x coordinate within the `Image` to use with the fill
@param y The target y coordinate within the `Image` to use with the fill
@param color The color to use when performing the fill
@param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`){ format : null, findColor : true }Finds a region in the `Image` that includes pixels all of a certain color (when `findColor` is `true`) or
excludes a certain color (`findColor` is `false`)
@param mask A hexadecimal mask to use when comparing colors. You can use this to compare all of a color, or only certain color channels
@param color The color value to use in comparisons
@param findColor (Optional) Whether to find a region that does match the color (`true`) or excludes it (`false`)
@param format (Optional) The `PixelFormat` that the `color` and `mask` are encoded in (default is `RGBA`)
@return The matching bounds `Rectangle`, or `null` if no matching region is found{ format : null }Gets a 24-bit pixel from the `Image` (red, green and blue, but no alpha)
@param x The `x` location to fetch
@param y The `y` location to fetch
@param format (Optional) The `PixelFormat` to encode the return value in (default is `RGBA`)
@return The specified pixel, or `0` if it is out-of-bounds{ format : null }Gets a 32-bit pixel from the `Image`, including alpha
@param x The `x` location to fetch
@param y The `y` location to fetch
@param format (Optional) The `PixelFormat` to encode the return value in (default is `RGBA`)
@return The specified pixel, or `0` if it is out-of-bounds{ format : null }Gets a region of pixels from the `Image`, as `Bytes`
@param rect The source `Rectangle` to read from
@param format (Optional) The `PixelFormat` to use when writing to the `Bytes` object (default is `RGBA`)
@return A `Bytes` object representing the region, or `null` if it is not possible to readBlits a second `Image` onto this one, using optional color multipliers
@param sourceImage An `Image` instance to copy from
@param sourceRect The source rectangle to use when copying
@param destPoint The destination point in this `Image` to copy into
@param redMultiplier A red multiplier to use when blitting
@param greenMultiplier A green multiplier to use when blitting
@param blueMultiplier A blue multiplier to use when blitting
@param alphaMultiplier An alpha multiplier to use when blittingResizes the current `Image`, reallocating the `ImageBuffer` to a new size.
The resize algorithm for most platforms is bilinear.
@param newWidth A new width for the `Image`
@param newHeight A new height for the `Image`Scrolls the content of this `Image`.
Pixels on the edges of the scroll will remain repeated, while others
within the scroll area will be shifted
@param x The amount of horizontal scroll to apply
@param y The amount of vertical scroll to apply{ format : null }Sets a pixel in the current `Image` in 24-bit color format (red, green, blue, no alpha)
@param x The x coordinate of the pixel
@param y The y coordinate of the pixel
@param color The color to use
@param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`){ format : null }Sets a pixel in the current `Image` in 32-bit color format (includes alpha)
@param x The x coordinate of the pixel
@param y The y coordinate of the pixel
@param color The color to use
@param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`){ endian : null, format : null }Sets a region of pixels at once using a `BytePointer`
@param rect The region of pixels in this `Image` to replace with the incoming bytes
@param bytePointer A `BytePointer` object referencing the `Bytes` and position to read from
@param format (Optional) The `PixelFormat` that the pixels are encoded in (default is `RGBA`)
@param endian (Optional) The endianness of the incoming bytes (default is the system endianness){ format : null, copySource : false, mask : 0xFFFFFFFF, color : 0x00000000 }", ">=", "==", "!="
@param threshold The value that each pixel is tested against to see if it meets or exceeds the threshhold.
@param color The color value that a pixel is set to if the threshold test succeeds. The default value is 0x00000000.
@param mask The mask to use to isolate a color component.
@param copySource If the value is `true`, pixel values from the source image are copied to the destination when the threshold test fails. If the value is `false`, the source image is not copied when the threshold test fails.
@return The number of pixels that were changed.]]>
<__clipRect set="method" line="1402">
<__fromBase64 set="method" line="1439">
{ onload : null }
<__fromBytes set="method" line="1474">
{ onload : null }
<__fromFile set="method" line="1531">
{ onerror : null, onload : null }
<__fromImageBuffer set="method" line="1693">
{ type : null, color : null, height : -1, width : -1, offsetY : 0, offsetX : 0, buffer : null }Creates a new `Image` instance.
If `buffer` is null, but `width` and `height` are set, a new `ImageBuffer` is allocated matching the `color` requested.
@param buffer (Optional) The `ImageBuffer` this `Image` represents
@param offsetX (Optional) A logical offset value within the `ImageBuffer` dimensions
@param offsetY (Optional) A logical offset value within the `ImageBuffer` dimensions
@param width (Optional) A logical width value within the `ImageBuffer` dimensions
@param height (Optional) A logical height value within the `ImageBuffer` dimensions
@param color (Optional) A fill color to use if the `buffer` property is `null`
@param type (Optional) An `ImageType` to use for this `Image``Image` is a convenience class for working with bitmap images in Lime.
Although `ImageBuffer` holds the actual bitmap data, `Image` includes convenience methods for
loading from files, loading from bytes, and performing many pixel operations over an
`ImageBuffer` instance."tags=\"haxe,release\""lime._internal.macros.AssetsMacro.embedImage()lime._internal.backend.native.NativeCFFIlime._internal.graphics.ImageCanvasUtillime._internal.graphics.ImageDataUtillime.app.Applicationlime.math.ColorMatrixlime.math.Rectanglelime.math.Vector2"__ASSET__:image___ASSET__flxanimate_images_pivot_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flxanimate/git/assets/images/pivot.png"Returns bytes representation of the given String, using specific encoding (UTF-8 by default)Convert hexadecimal string to Bytes.
Support only straight hex string ( Example: "0FDA14058916052309" )Read the most efficiently possible the n-th byte of the data.
Behavior when reading outside of the available data is unspecified.Returns the IEEE double precision value at given position (in low endian encoding).
Result is unspecified if reading outside of the boundsReturns the IEEE single precision value at given position (in low endian encoding).
Result is unspecified if reading outside of the boundsStore the IEEE double precision value at given position in low endian encoding.
Result is unspecified if writing outside of the bounds.Store the IEEE single precision value at given position in low endian encoding.
Result is unspecified if writing outside of the bounds.Returns the 16 bit unsigned integer at given position (in low endian encoding).Store the 16 bit unsigned integer at given position (in low endian encoding).Returns the 32 bit integer at given position (in low endian encoding).Returns the 64 bit integer at given position (in low endian encoding).Store the 32 bit integer at given position (in low endian encoding).Store the 64 bit integer at given position (in low endian encoding)."readString is deprecated, use getString instead"Returns string representation of the bytes as UTF8lime._internal.macros.AssetsMacro.embedBytes()"tags=\"haxe,release\"""__ASSET__:file___ASSET__flixel_sounds_beep_ogg"lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/sounds/beep.ogg""__ASSET__:file___ASSET__flixel_sounds_flixel_ogg"lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/sounds/flixel.ogg""__ASSET__:file___ASSET__flixel_sounds_type_ogg"lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/sounds/type.ogg"
<__fontID>
<__fontPath>
<__fontPathWithoutDirectory>
<__init>
|:;_-+=?,. " }]]>
<__copyFrom set="method" line="418">
<__fromBytes set="method" line="443">
<__fromFile set="method" line="456">
<__initializeSource set="method" line="469">
<__loadFromName set="method" line="496">
<__setSize set="method" line="591">
{ name : null }"tags=\"haxe,release\""lime._internal.macros.AssetsMacro.embedFont()lime._internal.backend.native.NativeCFFIlime.text.Glyph"LIME_font___ASSET__flixel_fonts_nokiafc22_ttf"lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/fonts/nokiafc22.ttf""LIME_font___ASSET__flixel_fonts_monsterrat_ttf"lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/fonts/monsterrat.ttf""__ASSET__:image___ASSET__flixel_images_ui_button_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/images/ui/button.png""__ASSET__:image___ASSET__flixel_images_logo_default_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/images/logo/default.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_box_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/box.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_button_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_down_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_down.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_left_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_left.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_right_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_right.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_up_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_up.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_button_thin_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_thin.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_button_toggle_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_toggle.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_check_box_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/check_box.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_check_mark_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/check_mark.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_flat_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome_flat.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_inset_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome_inset.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_light_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome_light.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_dropdown_mark_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/dropdown_mark.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_big_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/finger_big.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_small_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/finger_small.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_hilight_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/hilight.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_invis_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/invis.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_minus_mark_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/minus_mark.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_plus_mark_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/plus_mark.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/radio.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_dot_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/radio_dot.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_swatch_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/swatch.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/tab.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_back_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/tab_back.png""__ASSET__:image___ASSET__flixel_flixel_ui_img_tooltip_arrow_png"lime._internal.macros.AssetsMacro.embedImage()lime._internal.macros.AssetsMacro.embedImage()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/tooltip_arrow.png""__ASSET__:file___ASSET__flixel_flixel_ui_xml_defaults_xml"lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/xml/defaults.xml""__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_loading_screen_xml"lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/xml/default_loading_screen.xml""__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_popup_xml"lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/xml/default_popup.xml""__ASSET__:file___ASSET__manifest_assets_json"lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"export/release/windows/obj/tmp/manifest/assets.json"lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()
<__fontByName expr="new Map()" line="42" static="1">
new Map()
<__registeredFonts expr="new Array()" line="43" static="1">
new Array(){ enumerateDeviceFonts : false }Specifies whether to provide a list of the currently available embedded
fonts.
@param enumerateDeviceFonts Indicates whether you want to limit the list
to only the currently available embedded
fonts. If this is set to `true`
then a list of all fonts, both device fonts
and embedded fonts, is returned. If this is
set to `false` then only a list of
embedded fonts is returned.
@return A list of available fonts as an array of Font objects.Creates a new Font from bytes (a haxe.io.Bytes or openfl.utils.ByteArray)
synchronously. This means that the Font will be returned immediately (if
supported).
@param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance
@returns A new Font if successful, or `null` if unsuccessfulCreates a new Font from a file path synchronously. This means that the
Font will be returned immediately (if supported).
@param path A local file path containing a font
@returns A new Font if successful, or `null` if unsuccessfulCreates a new Font from haxe.io.Bytes or openfl.utils.ByteArray data
asynchronously. The font decoding will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance
@returns A Future FontCreates a new Font from a file path or web address asynchronously. The file
load and font decoding will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param path A local file path or web address containing a font
@returns A Future FontCreates a new Font from a font name asynchronously. This feature should work
for embedded CSS fonts on the HTML5 target, but is not implemented for
registered OS fonts on native targets currently. The file
load and font decoding will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param path A font name
@returns A Future FontRegisters a font in the global font list.The name of an embedded font.The style of the font. This value can be any of the values defined in the
FontStyle class.The type of the font. This value can be any of the constants defined in
the FontType class.
<__initialized>
<__fromLimeFont set="method" line="273">
<__initialize set="method" line="279">
{ name : null }The Font class is used to manage embedded fonts in SWF files. Embedded
fonts are represented as a subclass of the Font class. The Font class is
currently useful only to find out information about embedded fonts; you
cannot alter a font by using this class. You cannot use the Font class to
load external fonts, or to create an instance of a Font object by itself.
Use the Font class as an abstract base class.lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()"tags=\"haxe,release\""lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()"__ASSET__OPENFL__assets_fonts_pixel_otf"lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()"__ASSET__OPENFL__assets_fonts_vcr_ttf"lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()"__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"lime._internal.macros.AssetsMacro.embedFont()lime._internal.macros.AssetsMacro.embedFont()"__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"hideParse the given [lines] of markdown to a series of AST nodes.this is a markdown`.]]>Maintains the context needed to parse a markdown document.Represents the ratio of the circumference of a circle to its diameter,
specified by the constant, π. `PI` is approximately `3.141592653589793`.A special `Float` constant which denotes negative infinity.
For example, this is the result of `-1.0 / 0.0`.
Operations with `NEGATIVE_INFINITY` as an operand may result in
`NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`.
If this constant is converted to an `Int`, e.g. through `Std.int()`, the
result is unspecified.A special `Float` constant which denotes positive infinity.
For example, this is the result of `1.0 / 0.0`.
Operations with `POSITIVE_INFINITY` as an operand may result in
`NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`.
If this constant is converted to an `Int`, e.g. through `Std.int()`, the
result is unspecified.A special `Float` constant which denotes an invalid number.
`NaN` stands for "Not a Number". It occurs when a mathematically incorrect
operation is executed, such as taking the square root of a negative
number: `Math.sqrt(-1)`.
All further operations with `NaN` as an operand will result in `NaN`.
If this constant is converted to an `Int`, e.g. through `Std.int()`, the
result is unspecified.
In order to test if a value is `NaN`, you should use `Math.isNaN()` function.Returns the absolute value of `v`.
- If `v` is positive or `0`, the result is unchanged. Otherwise the result is `-v`.
- If `v` is `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `NaN`, the result is `NaN`.Returns the smaller of values `a` and `b`.
- If `a` or `b` are `NaN`, the result is `NaN`.
- If `a` or `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`.
- If `a` and `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.Returns the greater of values `a` and `b`.
- If `a` or `b` are `NaN`, the result is `NaN`.
- If `a` or `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `a` and `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`.Returns the trigonometric sine of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.Returns the trigonometric cosine of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.Returns the trigonometric tangent of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.Returns the trigonometric arc of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.Returns the trigonometric arc cosine of the specified angle `v`,
in radians.
If `v` is `NaN` or infinite, the result is `NaN`.Returns the trigonometric arc tangent of the specified angle `v`,
in radians.
If `v` is `NaN` or infinite, the result is `NaN`.Returns the trigonometric arc tangent whose tangent is the quotient of
two specified numbers, in radians.
If parameter `x` or `y` is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is `NaN`.Returns Euler's number, raised to the power of `v`.
`exp(1.0)` is approximately `2.718281828459`.
- If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `NEGATIVE_INFINITY`, the result is `0.0`.
- If `v` is `NaN`, the result is `NaN`.Returns the natural logarithm of `v`.
This is the mathematical inverse operation of exp,
i.e. `log(exp(v)) == v` always holds.
- If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`.
- If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `0.0`, the result is `NEGATIVE_INFINITY`.Returns a specified base `v` raised to the specified power `exp`.Returns the square root of `v`.
- If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`.
- If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `0.0`, the result is `0.0`.Rounds `v` to the nearest integer value.
Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`.
If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY`
or `POSITIVE_INFINITY`, the result is unspecified.Returns the largest integer value that is not greater than `v`.
If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY`
or `POSITIVE_INFINITY`, the result is unspecified.Returns the smallest integer value that is not less than `v`.
If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY`
or `POSITIVE_INFINITY`, the result is unspecified.Returns a pseudo-random number which is greater than or equal to `0.0`,
and less than `1.0`.Returns the largest integer value that is not greater than `v`, as a `Float`.
If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is unspecified.Returns the smallest integer value that is not less than `v`, as a `Float`.
If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is unspecified.Rounds `v` to the nearest integer value, as a Float.
Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`.
If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is unspecified.Tells if `f` is a finite number.
If `f` is `POSITIVE_INFINITY`, `NEGATIVE_INFINITY` or `NaN`, the result
is `false`, otherwise the result is `true`.Tells if `f` is not a valid number.
If `f` is `NaN`, the result is `true`, otherwise the result is `false`.
In particular, both `POSITIVE_INFINITY` and `NEGATIVE_INFINITY` are
not considered `NaN`.This class defines mathematical functions and constants.
@see https://haxe.org/manual/std-math.html"hxMath.h"Tells if structure `o` has a field named `field`.
This is only guaranteed to work for anonymous structures. Refer to
`Type.getInstanceFields` for a function supporting class instances.
If `o` or `field` are null, the result is unspecified.Returns the value of the field named `field` on object `o`.
If `o` is not an object or has no field named `field`, the result is
null.
If the field is defined as a property, its accessors are ignored. Refer
to `Reflect.getProperty` for a function supporting property accessors.
If `field` is null, the result is unspecified.Sets the field named `field` of object `o` to value `value`.
If `o` has no field named `field`, this function is only guaranteed to
work for anonymous structures.
If `o` or `field` are null, the result is unspecified.Returns the value of the field named `field` on object `o`, taking
property getter functions into account.
If the field is not a property, this function behaves like
`Reflect.field`, but might be slower.
If `o` or `field` are null, the result is unspecified.Sets the field named `field` of object `o` to value `value`, taking
property setter functions into account.
If the field is not a property, this function behaves like
`Reflect.setField`, but might be slower.
If `field` is null, the result is unspecified.Call a method `func` with the given arguments `args`.
The object `o` is ignored in most cases. It serves as the `this`-context in the following
situations:
* (neko) Allows switching the context to `o` in all cases.
* (macro) Same as neko for Haxe 3. No context switching in Haxe 4.
* (js, lua) Require the `o` argument if `func` does not, but should have a context.
This can occur by accessing a function field natively, e.g. through `Reflect.field`
or by using `(object : Dynamic).field`. However, if `func` has a context, `o` is
ignored like on other targets.Returns the fields of structure `o`.
This method is only guaranteed to work on anonymous structures. Refer to
`Type.getInstanceFields` for a function supporting class instances.
If `o` is null, the result is unspecified.Returns true if `f` is a function, false otherwise.
If `f` is null, the result is false.Compares `a` and `b`.
If `a` is less than `b`, the result is negative. If `b` is less than
`a`, the result is positive. If `a` and `b` are equal, the result is 0.
This function is only defined if `a` and `b` are of the same type.
If that type is a function, the result is unspecified and
`Reflect.compareMethods` should be used instead.
For all other types, the result is 0 if `a` and `b` are equal. If they
are not equal, the result depends on the type and is negative if:
- Numeric types: a is less than b
- String: a is lexicographically less than b
- Other: unspecified
If `a` and `b` are null, the result is 0. If only one of them is null,
the result is unspecified.Compares the functions `f1` and `f2`.
If `f1` or `f2` are null, the result is false.
If `f1` or `f2` are not functions, the result is unspecified.
Otherwise the result is true if `f1` and the `f2` are physically equal,
false otherwise.
If `f1` or `f2` are member method closures, the result is true if they
are closures of the same method on the same object value, false otherwise.`
- `Enum`
Otherwise, including if `v` is null, the result is false.]]>Tells if `v` is an enum value.
The result is true if `v` is of type EnumValue, i.e. an enum
constructor.
Otherwise, including if `v` is null, the result is false.Removes the field named `field` from structure `o`.
This method is only guaranteed to work on anonymous structures.
If `o` or `field` are null, the result is unspecified.Copies the fields of structure `o`.
This is only guaranteed to work on anonymous structures.
If `o` is null, the result is `null`.Transform a function taking an array of arguments into a function that can
be called with any number of arguments.The Reflect API is a way to manipulate values dynamically through an
abstract interface in an untyped manner. Use with care.
@see https://haxe.org/manual/std-reflection.htmlignoreDEPRECATED. Use `Std.isOfType(v, t)` instead.
Tells if a value `v` is of the type `t`. Returns `false` if `v` or `t` are null.
If `t` is a class or interface with `@:generic` meta, the result is `false`.Tells if a value `v` is of the type `t`. Returns `false` if `v` or `t` are null.
If `t` is a class or interface with `@:generic` meta, the result is `false`.Checks if object `value` is an instance of class or interface `c`.
Compiles only if the type specified by `c` can be assigned to the type
of `value`.
This method checks if a downcast is possible. That is, if the runtime
type of `value` is assignable to the type specified by `c`, `value` is
returned. Otherwise null is returned.
This method is not guaranteed to work with core types such as `String`,
`Array` and `Date`.
If `value` is null, the result is null. If `c` is null, the result is
unspecified."Std.instance() is deprecated. Use Std.downcast() instead."Converts any value to a String.
If `s` is of `String`, `Int`, `Float` or `Bool`, its value is returned.
If `s` is an instance of a class and that class or one of its parent classes has
a `toString` method, that method is called. If no such method is present, the result
is unspecified.
If `s` is an enum constructor without argument, the constructor's name is returned. If
arguments exists, the constructor's name followed by the String representations of
the arguments is returned.
If `s` is a structure, the field names along with their values are returned. The field order
and the operator separating field names and values are unspecified.
If s is null, "null" is returned.Converts a `Float` to an `Int`, rounded towards 0.
If `x` is outside of the signed Int32 range, or is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified.Converts a `String` to an `Int`.
Leading whitespaces are ignored.
If `x` starts with 0x or 0X, hexadecimal notation is recognized where the following digits may
contain 0-9 and A-F.
Otherwise `x` is read as decimal number with 0-9 being allowed characters. `x` may also start with
a - to denote a negative value.
In decimal mode, parsing continues until an invalid character is detected, in which case the
result up to that point is returned. For hexadecimal notation, the effect of invalid characters
is unspecified.
Leading 0s that are not part of the 0x/0X hexadecimal notation are ignored, which means octal
notation is not supported.
If `x` is null, the result is unspecified.
If `x` cannot be parsed as integer, the result is `null`.Converts a `String` to a `Float`.
The parsing rules for `parseInt` apply here as well, with the exception of invalid input
resulting in a `NaN` value instead of null.
Additionally, decimal notation may contain a single `.` to denote the start of the fractions.The Std class provides standard methods for manipulating basic types.funkin.macros.StdDeprecationsRemover.build()The standard `Void` type. Only `null` values can be of the type `Void`.
@see https://haxe.org/manual/types-void.html` can be used instead.
`Std.int` converts a `Float` to an `Int`, rounded towards 0.
`Std.parseFloat` converts a `String` to a `Float`.
@see https://haxe.org/manual/types-basic-types.html
@see https://haxe.org/manual/types-nullability.html]]>` can be used instead.
`Std.int` converts a `Float` to an `Int`, rounded towards 0.
`Std.parseInt` converts a `String` to an `Int`.
@see https://haxe.org/manual/types-basic-types.html
@see https://haxe.org/manual/std-math-integer-math.html
@see https://haxe.org/manual/types-nullability.html]]>Single-precision IEEE 32bit float (4-byte).` is a wrapper that can be used to make the basic types `Int`,
`Float` and `Bool` nullable on static targets.
If null safety is enabled, only types wrapped in `Null` are nullable.
Otherwise, it has no effect on non-basic-types, but it can be useful as a way to document
that `null` is an acceptable value for a method argument, return value or variable.
@see https://haxe.org/manual/types-nullability.html]]>` can be used instead.
@see https://haxe.org/manual/types-bool.html
@see https://haxe.org/manual/types-nullability.html]]>`Dynamic` is a special type which is compatible with all other types.
Use of `Dynamic` should be minimized as it prevents several compiler
checks and optimizations. See `Any` type for a safer alternative for
representing values of any type.
@see https://haxe.org/manual/types-dynamic.htmlReturns the current item of the `Iterator` and advances to the next one.
This method is not required to check `hasNext()` first. A call to this
method while `hasNext()` is `false` yields unspecified behavior.
On the other hand, iterators should not require a call to `hasNext()`
before the first call to `next()` if an element is available.Returns `false` if the iteration is complete, `true` otherwise.
Usually iteration is considered to be complete if all elements of the
underlying data structure were handled through calls to `next()`. However,
in custom iterators any logic may be used to determine the completion
state.An `Iterator` is a structure that permits iteration over elements of type `T`.
Any class with matching `hasNext()` and `next()` fields is considered an `Iterator`
and can then be used e.g. in `for`-loops. This makes it easy to implement
custom iterators.
@see https://haxe.org/manual/lf-iterators.htmlAn `Iterable` is a data structure which has an `iterator()` method.
See `Lambda` for generic functions on iterable structures.
@see https://haxe.org/manual/lf-iterators.htmlA `KeyValueIterator` is an `Iterator` that has a key and a value.A `KeyValueIterable` is a data structure which has a `keyValueIterator()`
method to iterate over key-value-pairs.`ArrayAccess` is used to indicate a class that can be accessed using brackets.
The type parameter represents the type of the elements stored.
This interface should be used for externs only. Haxe does not support custom
array access on classes. However, array access can be implemented for
abstract types.
@see https://haxe.org/manual/types-abstract-array-access.htmlReturns the String corresponding to the character code `code`.
If `code` is negative or has another invalid value, the result is
unspecified.The number of characters in `this` String.Returns a String where all characters of `this` String are upper case.Returns a String where all characters of `this` String are lower case.Returns the character at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, the empty String `""`
is returned.Returns the character code at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, `null` is returned.
To obtain the character code of a single character, `"x".code` can be
used instead to inline the character code at compile time. Note that
this only works on String literals of length 1.Returns the position of the leftmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String starting from `startIndex`.
If `startIndex` exceeds `this.length`, -1 is returned.
If `startIndex` is negative, the result is unspecifed.
Otherwise the search is performed within `this` String. In either case,
the returned position is relative to the beginning of `this` String.
If `str` cannot be found, -1 is returned.Returns the position of the rightmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String from 0 to `startIndex + str.length`. Otherwise the search
is performed within `this` String. In either case, the returned position
is relative to the beginning of `this` String.
If `startIndex` is negative, the result is unspecifed.
If `str` cannot be found, -1 is returned.Splits `this` String at each occurrence of `delimiter`.
If `this` String is the empty String `""`, the result is not consistent
across targets and may either be `[]` (on Js, Cpp) or `[""]`.
If `delimiter` is the empty String `""`, `this` String is split into an
Array of `this.length` elements, where the elements correspond to the
characters of `this` String.
If `delimiter` is not found within `this` String, the result is an Array
with one element, which equals `this` String.
If `delimiter` is null, the result is unspecified.
Otherwise, `this` String is split into parts at each occurrence of
`delimiter`. If `this` String starts (or ends) with `delimiter`, the
result `Array` contains a leading (or trailing) empty String `""` element.
Two subsequent delimiters also result in an empty String `""` element.Returns `len` characters of `this` String, starting at position `pos`.
If `len` is omitted, all characters from position `pos` to the end of
`this` String are included.
If `pos` is negative, its value is calculated from the end of `this`
String by `this.length + pos`. If this yields a negative value, 0 is
used instead.
If the calculated position + `len` exceeds `this.length`, the characters
from that position to the end of `this` String are returned.
If `len` is negative, the result is unspecified.Returns the part of `this` String from `startIndex` to but not including `endIndex`.
If `startIndex` or `endIndex` are negative, 0 is used instead.
If `startIndex` exceeds `endIndex`, they are swapped.
If the (possibly swapped) `endIndex` is omitted or exceeds
`this.length`, `this.length` is used instead.
If the (possibly swapped) `startIndex` exceeds `this.length`, the empty
String `""` is returned.Returns the String itself.Creates a copy from a given String.The basic String class.
A Haxe String is immutable, it is not possible to modify individual
characters. No method of this class changes the state of `this` String.
Strings can be constructed using the String literal syntax `"string value"`.
String can be concatenated by using the `+` operator. If an operand is not a
String, it is passed through `Std.string()` first.
@see https://haxe.org/manual/std-String.htmlThe length of `this` StringBuf in characters.Appends the representation of `x` to `this` StringBuf.
The exact representation of `x` may vary per platform. To get more
consistent behavior, this function should be called with
Std.string(x).
If `x` is null, the String "null" is appended.Appends a substring of `s` to `this` StringBuf.
This function expects `pos` and `len` to describe a valid substring of
`s`, or else the result is unspecified. To get more robust behavior,
`this.add(s.substr(pos,len))` can be used instead.
If `s` or `pos` are null, the result is unspecified.
If `len` is omitted or null, the substring ranges from `pos` to the end
of `s`.Appends the character identified by `c` to `this` StringBuf.
If `c` is negative or has another invalid value, the result is
unspecified.Returns the content of `this` StringBuf as String.
The buffer is not emptied by this operation.Creates a new StringBuf instance.
This may involve initialization of the internal buffer.A String buffer is an efficient way to build a big string by appending small
elements together.
Unlike String, an instance of StringBuf is not immutable in the sense that
it can be passed as argument to functions which modify it by appending more
values.".code, "&".code, "|".code, "\n".code, "\r".code, ",".code, ";".code]]]>Character codes of the characters that will be escaped by `quoteWinArg(_, true)`.Returns a String that can be used as a single command line argument
on Unix.
The input will be quoted, or escaped if necessary.Returns a String that can be used as a single command line argument
on Windows.
The input will be quoted, or escaped if necessary, such that the output
will be parsed as a single argument using the rule specified in
http://msdn.microsoft.com/en-us/library/ms880421
Examples:
```haxe
quoteWinArg("abc") == "abc";
quoteWinArg("ab c") == '"ab c"';
```Encode an URL by using the standard format.Decode an URL using the standard format.` becomes `>`;
If `quotes` is true, the following characters are also replaced:
- `"` becomes `"`;
- `'` becomes `'`;]]>`
- `"` becomes `"`
- `'` becomes `'`]]>Returns `true` if `s` contains `value` and `false` otherwise.
When `value` is `null`, the result is unspecified.Tells if the string `s` starts with the string `start`.
If `start` is `null`, the result is unspecified.
If `start` is the empty String `""`, the result is true.Tells if the string `s` ends with the string `end`.
If `end` is `null`, the result is unspecified.
If `end` is the empty String `""`, the result is true.Tells if the character in the string `s` at position `pos` is a space.
A character is considered to be a space character if its character code
is 9,10,11,12,13 or 32.
If `s` is the empty String `""`, or if pos is not a valid position within
`s`, the result is false.Removes leading space characters of `s`.
This function internally calls `isSpace()` to decide which characters to
remove.
If `s` is the empty String `""` or consists only of space characters, the
result is the empty String `""`.Removes trailing space characters of `s`.
This function internally calls `isSpace()` to decide which characters to
remove.
If `s` is the empty String `""` or consists only of space characters, the
result is the empty String `""`.Removes leading and trailing space characters of `s`.
This is a convenience function for `ltrim(rtrim(s))`.Concatenates `c` to `s` until `s.length` is at least `l`.
If `c` is the empty String `""` or if `l` does not exceed `s.length`,
`s` is returned unchanged.
If `c.length` is 1, the resulting String length is exactly `l`.
Otherwise the length may exceed `l`.
If `c` is null, the result is unspecified.Appends `c` to `s` until `s.length` is at least `l`.
If `c` is the empty String `""` or if `l` does not exceed `s.length`,
`s` is returned unchanged.
If `c.length` is 1, the resulting String length is exactly `l`.
Otherwise the length may exceed `l`.
If `c` is null, the result is unspecified.Replace all occurrences of the String `sub` in the String `s` by the
String `by`.
If `sub` is the empty String `""`, `by` is inserted after each character
of `s` except the last one. If `by` is also the empty String `""`, `s`
remains unchanged.
If `sub` or `by` are null, the result is unspecified.Encodes `n` into a hexadecimal representation.
If `digits` is specified, the resulting String is padded with "0" until
its `length` equals `digits`.Returns the character code at position `index` of String `s`, or an
end-of-file indicator at if `position` equals `s.length`.
This method is faster than `String.charCodeAt()` on some platforms, but
the result is unspecified if `index` is negative or greater than
`s.length`.
End of file status can be checked by calling `StringTools.isEof()` with
the returned value as argument.
This operation is not guaranteed to work if `s` contains the `\0`
character.Returns the character code at position `index` of String `s`, or an
end-of-file indicator at if `position` equals `s.length`.
This method is faster than `String.charCodeAt()` on some platforms, but
the result is unspecified if `index` is negative or greater than
`s.length`.
This operation is not guaranteed to work if `s` contains the `\0`
character.Returns an iterator of the char codes.
Note that char codes may differ across platforms because of different
internal encoding of strings in different runtimes.
For the consistent cross-platform UTF8 char codes see `haxe.iterators.StringIteratorUnicode`.Returns an iterator of the char indexes and codes.
Note that char codes may differ across platforms because of different
internal encoding of strings in different of runtimes.
For the consistent cross-platform UTF8 char codes see `haxe.iterators.StringKeyValueIteratorUnicode`.Tells if `c` represents the end-of-file (EOF) character."StringTools.quoteUnixArg() is deprecated. Use haxe.SysTools.quoteUnixArg() instead."Returns a String that can be used as a single command line argument
on Unix.
The input will be quoted, or escaped if necessary.cast haxe.SysTools.winMetaCharacters"StringTools.winMetaCharacters is deprecated. Use haxe.SysTools.winMetaCharacters instead."Character codes of the characters that will be escaped by `quoteWinArg(_, true)`."StringTools.quoteWinArg() is deprecated. Use haxe.SysTools.quoteWinArg() instead."Returns a String that can be used as a single command line argument
on Windows.
The input will be quoted, or escaped if necessary, such that the output
will be parsed as a single argument using the rule specified in
http://msdn.microsoft.com/en-us/library/ms880421
Examples:
```haxe
quoteWinArg("abc") == "abc";
quoteWinArg("ab c") == '"ab c"';
```65536This class provides advanced methods on Strings. It is ideally used with
`using StringTools` and then acts as an [extension](https://haxe.org/manual/lf-static-extension.html)
to the `String` class.
If the first argument to any of the methods is null, the result is
unspecified.Prints any value to the standard output.Prints any value to the standard output, followed by a newline.
On Windows, this function outputs a CRLF newline.
LF newlines are printed on all other platforms.sys.io.FileInputReturns the standard input of the process, from which user input can be read.
Usually it will block until the user sends a full input line.
See `getChar` for an alternative.sys.io.FileOutputReturns the standard output of the process, to which program output can be written.sys.io.FileOutputReturns the standard error of the process, to which program errors can be written.Reads a single input character from the standard input and returns it.
Setting `echo` to `true` will also display the character on the output.Returns all the arguments that were passed in the command line.
This does not include the interpreter or the name of the program file.
(java)(eval) On Windows, non-ASCII Unicode arguments will not work correctly.
(cs) Non-ASCII Unicode arguments will not work correctly.Returns the value of the given environment variable, or `null` if it
doesn't exist.Sets the value of the given environment variable.
(java) This functionality is not available on Java; calling this function will throw.Suspends execution for the given length of time (in seconds).Changes the current time locale, which will affect `DateTools.format` date formating.
Returns `true` if the locale was successfully changed.Gets the current working directory (usually the one in which the program was started).Changes the current working directory.
(java) This functionality is not available on Java; calling this function will throw.Returns the type of the current system. Possible values are:
- `"Windows"`
- `"Linux"`
- `"BSD"`
- `"Mac"`Runs the given command. The command output will be printed to the same output as the current process.
The current process will block until the command terminates.
The return value is the exit code of the command (usually `0` indicates no error).
Command arguments can be passed in two ways:
1. Using `args` to pass command arguments. Each argument will be automatically quoted and shell meta-characters will be escaped if needed.
`cmd` should be an executable name that can be located in the `PATH` environment variable, or a full path to an executable.
2. When `args` is not given or is `null`, command arguments can be appended to `cmd`. No automatic quoting/escaping will be performed. `cmd` should be formatted exactly as it would be when typed at the command line.
It can run executables, as well as shell commands that are not executables (e.g. on Windows: `dir`, `cd`, `echo` etc).
Use the `sys.io.Process` API for more complex tasks, such as background processes, or providing input to the command.Exits the current process with the given exit code.
(macro)(eval) Being invoked in a macro or eval context (e.g. with `-x` or `--run`) immediately terminates
the compilation process, which also prevents the execution of any `--next` sections of compilation arguments.Gives the most precise timestamp value available (in seconds),
but only accounts for the actual time spent running on the CPU for the current thread/process."Use programPath instead"Returns the path to the current executable that we are running.Returns the absolute path to the current program file that we are running.
Concretely, for an executable binary, it returns the path to the binary.
For a script (e.g. a PHP file), it returns the path to the script.Returns all environment variables.This class provides access to various base functions of system platforms.
Look in the `sys` package for more system APIs.Returns the class of `o`, if `o` is a class instance.
If `o` is null or of a different type, null is returned.
In general, type parameter information cannot be obtained at runtime.`.
If `o` is null, null is returned.
In general, type parameter information cannot be obtained at runtime.]]>Returns the super-class of class `c`.
If `c` has no super class, null is returned.
If `c` is null, the result is unspecified.
In general, type parameter information cannot be obtained at runtime.Returns the name of class `c`, including its path.
If `c` is inside a package, the package structure is returned dot-
separated, with another dot separating the class name:
`pack1.pack2.(...).packN.ClassName`
If `c` is a sub-type of a Haxe module, that module is not part of the
package structure.
If `c` has no package, the class name is returned.
If `c` is null, the result is unspecified.
The class name does not include any type parameters.Returns the name of enum `e`, including its path.
If `e` is inside a package, the package structure is returned dot-
separated, with another dot separating the enum name:
`pack1.pack2.(...).packN.EnumName`
If `e` is a sub-type of a Haxe module, that module is not part of the
package structure.
If `e` has no package, the enum name is returned.
If `e` is null, the result is unspecified.
The enum name does not include any type parameters.Resolves a class by name.
If `name` is the path of an existing class, that class is returned.
Otherwise null is returned.
If `name` is null or the path to a different type, the result is
unspecified.
The class name must not include any type parameters.Resolves an enum by name.
If `name` is the path of an existing enum, that enum is returned.
Otherwise null is returned.
If `name` is null the result is unspecified.
If `name` is the path to a different type, null is returned.
The enum name must not include any type parameters.Creates an instance of class `cl`, using `args` as arguments to the
class constructor.
This function guarantees that the class constructor is called.
Default values of constructors arguments are not guaranteed to be
taken into account.
If `cl` or `args` are null, or if the number of elements in `args` does
not match the expected number of constructor arguments, or if any
argument has an invalid type, or if `cl` has no own constructor, the
result is unspecified.
In particular, default values of constructor arguments are not
guaranteed to be taken into account.Creates an instance of class `cl`.
This function guarantees that the class constructor is not called.
If `cl` is null, the result is unspecified.Creates an instance of enum `e` by calling its constructor `constr` with
arguments `params`.
If `e` or `constr` is null, or if enum `e` has no constructor named
`constr`, or if the number of elements in `params` does not match the
expected number of constructor arguments, or if any argument has an
invalid type, the result is unspecified.Creates an instance of enum `e` by calling its constructor number
`index` with arguments `params`.
The constructor indices are preserved from Haxe syntax, so the first
declared is index 0, the next index 1 etc.
If `e` or `constr` is null, or if enum `e` has no constructor named
`constr`, or if the number of elements in `params` does not match the
expected number of constructor arguments, or if any argument has an
invalid type, the result is unspecified.Returns a list of the instance fields of class `c`, including
inherited fields.
This only includes fields which are known at compile-time. In
particular, using `getInstanceFields(getClass(obj))` will not include
any fields which were added to `obj` at runtime.
The order of the fields in the returned Array is unspecified.
If `c` is null, the result is unspecified.Returns a list of static fields of class `c`.
This does not include static fields of parent classes.
The order of the fields in the returned Array is unspecified.
If `c` is null, the result is unspecified.Returns a list of the names of all constructors of enum `e`.
The order of the constructor names in the returned Array is preserved
from the original syntax.
If `e` is null, the result is unspecified.Returns the runtime type of value `v`.
The result corresponds to the type `v` has at runtime, which may vary
per platform. Assumptions regarding this should be minimized to avoid
surprises.Recursively compares two enum instances `a` and `b` by value.
Unlike `a == b`, this function performs a deep equality check on the
arguments of the constructors, if exists.
If `a` or `b` are null, the result is unspecified.Returns the constructor name of enum instance `e`.
The result String does not contain any constructor arguments.
If `e` is null, the result is unspecified.Returns a list of the constructor arguments of enum instance `e`.
If `e` has no arguments, the result is [].
Otherwise the result are the values that were used as arguments to `e`,
in the order of their declaration.
If `e` is null, the result is unspecified.Returns the index of enum instance `e`.
This corresponds to the original syntactic position of `e`. The index of
the first declared constructor is 0, the next one is 1 etc.
If `e` is null, the result is unspecified.Returns a list of all constructors of enum `e` that require no
arguments.
This may return the empty Array `[]` if all constructors of `e` require
arguments.
Otherwise an instance of `e` constructed through each of its non-
argument constructors is returned, in the order of the constructor
declaration.
If `e` is null, the result is unspecified.The Haxe Reflection API allows retrieval of type information at runtime.
This class complements the more lightweight Reflect class, with a focus on
class and enum instances.
@see https://haxe.org/manual/types.html
@see https://haxe.org/manual/std-reflection.htmlThe unsigned `Int` type is only defined for Flash and C#.
Simulate it for other platforms.
@see https://haxe.org/manual/types-basic-types.htmlA + B
A / B
A * BA - B B]]>= B]]>A | BA ^ B> B]]>>> B]]>A % BA + BA * BA / BA / BA - BA - B B]]>A == BA != BA == BA != B= B]]> B]]>= B]]>A % BA % B~A++AA++--AA--A + B
A / B
A * BA - B B]]>= B]]>A | BA ^ B> B]]>>> B]]>A % BA + BA * BA / BA / BA - BA - B B]]>A == BA != BA == BA != B= B]]> B]]>= B]]>A % BA % B~A++AA++--AA--This abstract provides consistent cross-target unicode support.
@see https://haxe.org/manual/std-UnicodeString.htmlStringToolsTells if `b` is a correctly encoded UTF8 byte sequence.
<_new public="1" get="inline" set="null" line="114" static="1">
Creates an instance of UnicodeString.Returns an iterator of the unicode code points.Returns an iterator of the code point indices and unicode code points.The number of characters in `this` String.Returns the character at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, the empty String `""`
is returned.Returns the character code at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, `null` is returned.Returns the position of the leftmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String starting from `startIndex` (if `startIndex` is posivite
or 0) or `max(this.length + startIndex, 0)` (if `startIndex` is negative).
If `startIndex` exceeds `this.length`, -1 is returned.
Otherwise the search is performed within `this` String. In either case,
the returned position is relative to the beginning of `this` String.
If `str` cannot be found, -1 is returned.Returns the position of the rightmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String from 0 to `startIndex + str.length`. Otherwise the search
is performed within `this` String. In either case, the returned position
is relative to the beginning of `this` String.
If `str` cannot be found, -1 is returned.Returns `len` characters of `this` String, starting at position `pos`.
If `len` is omitted, all characters from position `pos` to the end of
`this` String are included.
If `pos` is negative, its value is calculated from the end of `this`
String by `this.length + pos`. If this yields a negative value, 0 is
used instead.
If the calculated position + `len` exceeds `this.length`, the characters
from that position to the end of `this` String are returned.
If `len` is negative, the result is unspecified.Returns the part of `this` String from `startIndex` to but not including `endIndex`.
If `startIndex` or `endIndex` are negative, 0 is used instead.
If `startIndex` exceeds `endIndex`, they are swapped.
If the (possibly swapped) `endIndex` is omitted or exceeds
`this.length`, `this.length` is used instead.
If the (possibly swapped) `startIndex` exceeds `this.length`, the empty
String `""` is returned.StringToolsTells if `b` is a correctly encoded UTF8 byte sequence.
<_new public="1" get="inline" set="null" line="114" static="1">
Creates an instance of UnicodeString.Returns an iterator of the unicode code points.Returns an iterator of the code point indices and unicode code points.The number of characters in `this` String.Returns the character at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, the empty String `""`
is returned.Returns the character code at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, `null` is returned.Returns the position of the leftmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String starting from `startIndex` (if `startIndex` is posivite
or 0) or `max(this.length + startIndex, 0)` (if `startIndex` is negative).
If `startIndex` exceeds `this.length`, -1 is returned.
Otherwise the search is performed within `this` String. In either case,
the returned position is relative to the beginning of `this` String.
If `str` cannot be found, -1 is returned.Returns the position of the rightmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String from 0 to `startIndex + str.length`. Otherwise the search
is performed within `this` String. In either case, the returned position
is relative to the beginning of `this` String.
If `str` cannot be found, -1 is returned.Returns `len` characters of `this` String, starting at position `pos`.
If `len` is omitted, all characters from position `pos` to the end of
`this` String are included.
If `pos` is negative, its value is calculated from the end of `this`
String by `this.length + pos`. If this yields a negative value, 0 is
used instead.
If the calculated position + `len` exceeds `this.length`, the characters
from that position to the end of `this` String are returned.
If `len` is negative, the result is unspecified.Returns the part of `this` String from `startIndex` to but not including `endIndex`.
If `startIndex` or `endIndex` are negative, 0 is used instead.
If `startIndex` exceeds `endIndex`, they are swapped.
If the (possibly swapped) `endIndex` is omitted or exceeds
`this.length`, `this.length` is used instead.
If the (possibly swapped) `startIndex` exceeds `this.length`, the empty
String `""` is returned.StringToolsXml node types.
@see https://haxe.org/manual/std-Xml.htmlcast 0Represents an XML element type.cast 1Represents XML parsed character data type.cast 2Represents XML character data type.cast 3Represents an XML comment type.cast 4Represents an XML doctype element type.cast 5Represents an XML processing instruction type.cast 6Represents an XML document type.cast 0Represents an XML element type.cast 1Represents XML parsed character data type.cast 2Represents XML character data type.cast 3Represents an XML comment type.cast 4Represents an XML doctype element type.cast 5Represents an XML processing instruction type.cast 6Represents an XML document type.XmlType.ElementXML element type.XmlType.PCDataXML parsed character data type.XmlType.CDataXML character data type.XmlType.CommentXML comment type.XmlType.DocTypeXML doctype element type.XmlType.ProcessingInstructionXML processing instruction type.XmlType.DocumentXML document type.Parses the String into an Xml document.Creates a node of the given type.Creates a node of the given type.Creates a node of the given type.Creates a node of the given type.Creates a node of the given type.Creates a node of the given type.Creates a node of the given type.Returns the type of the Xml Node. This should be used before
accessing other functions since some might raise an exception
if the node type is not correct.Returns the node name of an Element.Returns the node value. Only works if the Xml node is not an Element or a Document.Returns the parent object in the Xml hierarchy.
The parent can be `null`, an Element or a Document.Get the given attribute of an Element node. Returns `null` if not found.
Attributes are case-sensitive.Set the given attribute value for an Element node.
Attributes are case-sensitive.Removes an attribute for an Element node.
Attributes are case-sensitive.Tells if the Element node has a given attribute.
Attributes are case-sensitive.Returns an `Iterator` on all the attribute names.Returns an iterator of all child nodes.
Only works if the current node is an Element or a Document.Returns an iterator of all child nodes which are Elements.
Only works if the current node is an Element or a Document.Returns an iterator of all child nodes which are Elements with the given nodeName.
Only works if the current node is an Element or a Document.Returns the first child node.Returns the first child node which is an Element.Adds a child node to the Document or Element.
A child node can only be inside one given parent node, which is indicated by the `parent` property.
If the child is already inside this Document or Element, it will be moved to the last position among the Document or Element's children.
If the child node was previously inside a different node, it will be moved to this Document or Element.Removes a child from the Document or Element.
Returns true if the child was successfuly removed.Inserts a child at the given position among the other childs.
A child node can only be inside one given parent node, which is indicated by the [parent] property.
If the child is already inside this Document or Element, it will be moved to the new position among the Document or Element's children.
If the child node was previously inside a different node, it will be moved to this Document or Element.Returns a String representation of the Xml node.Cross-platform Xml API.
@see https://haxe.org/manual/std-Xml.htmlhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Array with all frames of this collection.* Number of frames in this collection.* Hash of frames for this frame collection.
* Used only in `FlxAtlasFrames` and `FlxBitmapFont` (not implemented yet),
* but you can try to use it for other types of collections
* (give names to your frames).* Graphic object this frames belongs to.* Type of this frame collection.
* Used for faster type detection (less casting).* How much space was trimmed around the original frames.
* Use `addBorder()` to add borders.* Finds a frame in `framesHash` by its name.
*
* @param name The name of the frame to find.
* @return Frame with specified name (if there is one).* Finds frame in frames array by its index.
*
* @param index Index of the frame in the frames array.
* @return Frame with specified index in this frames collection (if there is one).* Finds frame index by its name.
*
* @param name Name of the frame.
* @return Index of the frame with specified name.* Finds the index of the specified frame in the frames array.
*
* @param frame Frame to find.
* @return Index of the specified frame.* Adds empty frame into this frame collection.
* An empty frame is doing almost nothing for all the time.
*
* @param size Dimensions of the frame to add.
* @return Newly added empty frame.* Adds new regular (not rotated) `FlxFrame` to this frame collection.
*
* @param region Region of image which new frame will display.
* @return Newly created `FlxFrame` object for specified region of image.{ flipY : false, flipX : false, angle : 0 }* Adds new frame to this frame collection.
* This method runs additional check, and can add rotated frames (from texture atlases).
*
* @param frame Region of image.
* @param sourceSize Original size of packed image
* (if image had been cropped, then original size will be bigger than frame size).
* @param offset How frame region is located on original frame image
* (offset from top left corner of original image).
* @param name Name for this frame (name of packed image file).
* @param angle Rotation of packed image (can be `0`, `90` or `-90`).
* @param flipX If packed image should be horizontally flipped.
* @param flipY If packed image should be vertically flipped.
* @return Newly created and added frame object.* Checks if frame's area fits into atlas image, and trims if it's out of atlas image bounds.
*
* @param frame Frame area to check.
* @param name Optional frame name for debugging info.
* @return Checked and trimmed frame rectangle.* Helper method for a adding frame to the collection.
*
* @param frameObj Frame to add.
* @return Added frame.* Generates new frames collection from this collection but trims frames by specified borders.
*
* @param border How much space trim around the frames.
* @return Generated frames collection.* Base class for all frame collections.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ _excludeArray : null }* Creates Frames from TextureAtlas(very early and broken ok) Originally made for FNF HD by Smokey and Rozebud
*
* @param key The file path.
* @param _excludeArray Use this to only create selected animations. Keep null to create all of them.
*"loop""playonce""singleframe""loop""playonce""singleframe""graphic""movieclip""graphic""movieclip"* All data needed for the json importer + some extra for after parsing.
* Stolen mostly from https://github.com/TomByrne/Starling-Extension-Adobe-Animate-Hx/blob/master/hx/src/starling/extensions/animate/AnimationAtlasData.hx"___atlas_sprite___"{ m00 : 1, m01 : 0, m02 : 0, m03 : 0, m10 : 0, m11 : 1, m12 : 0, m13 : 0, m20 : 0, m21 : 0, m22 : 1, m23 : 0, m30 : 0, m31 : 0, m32 : 0, m33 : 1 }
<_atlas>
<_symbolData>
<_symbolPool>
<_defaultSymbolName>
<_texture>{ symbol : null }{ prefix : "" }animateatlasAtlasFrameMaker* Performance will be REALLY BAD.
* Consider using TileAnimationLibrary whenever possible.
<_framerate expr="null">
null0openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()animateatlas.displayobject.SpriteSymbol
<__identity expr="new Matrix3()" line="56" static="1">
new Matrix3()The matrix a component, used in scaling and skewing (default is 1)The matrix b component, used in rotation and skewing (default is 0)The matrix c component, used in rotation and skewing (default is 0)The matrix d component, used in scaling and skewing (default is 1)The matrix tx component, used in translation (default is 0)The matrix ty component, used in translation (default is 0)Creates a duplicate of the current `Matrix3`
@return A duplicate `Matrix3` instanceConcatenates the values of a second matrix to the current
`Matrix3`, combining the effects of both. This is the same
as matrix multiplication. The second matrix is not modified.
@param m A second `Matrix3` to concatenate to the current instanceCopies the `x` and `y` components from a `Vector4` instance
to the `a`/`c`, `b`/`d` or the `tx`/`ty` column of the current
matrix
@param column The column to copy into (0, 1 or 2)
@param vector4 The `Vector4` instance to copy fromCopies a column of the current matrix into a `Vector4`
instance. The `w` value will not be modified.
@param column The column to copy from (0, 1 or 2)
@param vector4 The `Vector4` instance to copy toCopies the values of another `Matrix3` and
applies it to the current instance
@param sourceMatrix3 The `Matrix3` to copy fromCopies the values of a `Vector4` instance into a row
of the current matrix
@param row The row to copy into (0 or 1)
@param vector4 The `Vector4` instance to copy fromCopies a row of the current matrix into a `Vector4`
instance. The `w` value will not be modified.
@param row The row to copy into (0, 1 or 2)
@param vector4 The `Vector4` instance to copy from{ ty : 0, tx : 0, rotation : 0 }Applies a two-dimensional transformation to the current matrix.
This is the same as calling `identity()`, `rotate()`, `scale()`
then `translate()` with these values.
@param scaleX An x scale transformation value
@param scaleY A y scale transformation value
@param rotation (Optional) A rotation value (default is 0)
@param tx (Optional) A translate x value (default is 0)
@param ty (Optional) A translate y value (default is 0){ ty : 0, tx : 0, rotation : 0 }Creates a matrix to use for a linear gradient fill
@param width The width of the gradient fill
@param height The height of the gradient fill
@param rotation (Optional) A rotation for the gradient fill (default is 0)
@param tx (Optional) An x offset for the gradient fill (default is 0)
@param ty (Optional) A y offset for the gradient fill (default is 0)
@return A new `Matrix` instanceCheck if two matrices have the same values
@return Whether both matrices are equal{ result : null }Transforms a `Vector2` instance by the current matrix,
without considering the `tx` and `ty` values of the matrix
@param result (Optional) An existing `Vector2` instance to fill with the result
@return A new `Vector2` instance representing the transformed valuesResets the matrix to default identity valuesInverts the values of the current matrix
@return The current matrix instanceApplies rotation to the current matrix
@param theta A rotation value in degreesScales the current matrix
@param sx The x scale to apply
@param sy The y scale to apply{ scale : 1 }Sets the values of the current matrix
@param a The new matrix a value
@param b The new matrix b value
@param c The new matrix c value
@param d The new matrix d value
@param tx The new matrix tx value
@param ty The new matrix ty value{ roundPixels : false }hidehide{ result : null }Transforms a `Rectangle` instance by the current matrix
and returns `Rectangle` with the bounds of the transformed
rectangle.
@param transform A `Matrix3` instance to transform by
@param result (Optional) A `Rectangle` instance to use for the result
@return A `Rectangle` represented the transformed bounds{ result : null }Transforms a `Vector2` instance by the current matrix
@param result (Optional) An existing `Vector2` instance to fill with the result
@return A new `Vector2` instance representing the transformed valuesAdjusts the `tx` and `ty` of the current matrix
@param dx The x amount to translate
@param dy The y amount to translate{ ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 }Creates a new `Matrix` instance
@param a (Optional) An initial a component value (default is 1)
@param b (Optional) An initial b component value (default is 0)
@param c (Optional) An initial c component value (default is 0)
@param d (Optional) An initial d component value (default is 1)
@param tx (Optional) An initial tx component value (default is 0)
@param ty (Optional) An initial ty component value (default is 0)`Matrix3` is a 3x3 transformation matrix particularly useful for
two-dimensional transformation. It can be used for rotation, scale
and skewing of a two-dimensional object.
Although a 3x3 matrix is represented, configurable values can be
considered as a 3x2 matrix:
```
[ a, c, tx ]
[ c, d, ty ]
[ 0, 0, 1 ]
```"tags=\"haxe,release\""
<__identity expr="new Matrix()" line="76" static="1">
new Matrix()
<__pool expr="new ObjectPool<Matrix>(function() return new Matrix(), function(m) m.identity())" line="77" static="1">
(function() return new Matrix(), function(m) m.identity())]]>
<__matrix3 expr="new Matrix3()" line="79" static="1">
new Matrix3()The value that affects the positioning of pixels along the _x_ axis
when scaling or rotating an image.The value that affects the positioning of pixels along the _y_ axis
when rotating or skewing an image.The value that affects the positioning of pixels along the _x_ axis
when rotating or skewing an image.The value that affects the positioning of pixels along the _y_ axis
when scaling or rotating an image.The distance by which to translate each point along the _x_ axis.The distance by which to translate each point along the _y_ axis.
<__array>
Returns a new Matrix object that is a clone of this matrix, with an exact
copy of the contained object.
@return A Matrix object.Concatenates a matrix with the current matrix, effectively combining the
geometric effects of the two. In mathematical terms, concatenating two
matrixes is the same as combining them using matrix multiplication.
For example, if matrix `m1` scales an object by a factor of
four, and matrix `m2` rotates an object by 1.5707963267949
radians(`Math.PI/2`), then `m1.concat(m2)`
transforms `m1` into a matrix that scales an object by a factor
of four and rotates the object by `Math.PI/2` radians.
This method replaces the source matrix with the concatenated matrix. If
you want to concatenate two matrixes without altering either of the two
source matrixes, first copy the source matrix by using the
`clone()` method, as shown in the Class Examples section.
@param m The matrix to be concatenated to the source matrix.Copies a Vector3D object into specific column of the calling Matrix3D object.
@param column The column from which to copy the data from.
@param vector3D The Vector3D object from which to copy the data.Copies specific column of the calling Matrix object into the Vector3D object. The
`w` element of the Vector3D object will not be changed.
@param column The column from which to copy the data from.
@param vector3D The Vector3D object from which to copy the data.Copies all of the matrix data from the source Point object into the calling Matrix
object.
@param sourceMatrix The Matrix object from which to copy the data.Copies a Vector3D object into specific row of the calling Matrix object.
@param row The row from which to copy the data from.
@param vector3D The Vector3D object from which to copy the data.Copies specific row of the calling Matrix object into the Vector3D object. The `w`
element of the Vector3D object will not be changed.
@param row The row from which to copy the data from.
@param vector3D The Vector3D object from which to copy the data.{ ty : 0, tx : 0, rotation : 0 }Includes parameters for scaling, rotation, and translation. When
applied to a matrix it sets the matrix's values based on those
parameters.
Using the `createBox()` method lets you obtain the same matrix as you
would if you applied the `identity()`, `rotate()`, `scale()`, and
`translate()` methods in succession. For example,
`mat1.createBox(2,2,Math.PI/4, 100, 100)` has the same effect as the
following:
```haxe
import openfl.geom.Matrix;
var mat1 = new Matrix();
mat1.identity();
mat1.rotate(Math.PI/4);
mat1.scale(2,2);
mat1.translate(10,20);
```
@param scaleX The factor by which to scale horizontally.
@param scaleY The factor by which scale vertically.
@param rotation The amount to rotate, in radians.
@param tx The number of pixels to translate (move) to the right
along the _x_ axis.
@param ty The number of pixels to translate (move) down along
the _y_ axis.{ ty : 0, tx : 0, rotation : 0 }Creates the specific style of matrix expected by the
`beginGradientFill()` and `lineGradientStyle()` methods of the
Graphics class. Width and height are scaled to a `scaleX`/`scaleY`
pair and the `tx`/`ty` values are offset by half the width and height.
For example, consider a gradient with the following characteristics:
* `GradientType.LINEAR`
* Two colors, green and blue, with the ratios array set to `[0, 255]`
* `SpreadMethod.PAD`
* `InterpolationMethod.LINEAR_RGB`
The following illustrations show gradients in which the matrix was
defined using the `createGradientBox()` method with different
parameter settings:
| `createGradientBox()` settings | Resulting gradient |
| --- | --- |
| `width = 25; height = 25; rotation = 0; tx = 0; ty = 0;` |  |
| `width = 25; height = 25; rotation = 0; tx = 25; ty = 0;` |  |
| `width = 50; height = 50; rotation = 0; tx = 0; ty = 0;` |  |
| `width = 50; height = 50; rotation = Math.PI / 4; // 45 degrees tx = 0; ty = 0;` |  |
@param width The width of the gradient box.
@param height The height of the gradient box.
@param rotation The amount to rotate, in radians.
@param tx The distance, in pixels, to translate to the right
along the _x_ axis. This value is offset by half of
the `width` parameter.
@param ty The distance, in pixels, to translate down along the
_y_ axis. This value is offset by half of the `height`
parameter.Given a point in the pretransform coordinate space, returns the
coordinates of that point after the transformation occurs. Unlike the
standard transformation applied using the `transformPoint()`
method, the `deltaTransformPoint()` method's transformation
does not consider the translation parameters `tx` and
`ty`.
@param point The point for which you want to get the result of the matrix
transformation.
@return The point resulting from applying the matrix transformation.hide"checkstyle:FieldDocComment"Sets each matrix property to a value that causes a null
transformation. An object transformed by applying an identity matrix
will be identical to the original.
After calling the `identity()` method, the resulting matrix has the
following properties: `a`=1, `b`=0, `c`=0, `d`=1, `tx`=0, `ty`=0.
In matrix notation, the identity matrix looks like this:
Performs the opposite transformation of the original matrix. You can apply
an inverted matrix to an object to undo the transformation performed when
applying the original matrix.Applies a rotation transformation to the Matrix object.
The `rotate()` method alters the `a`, `b`, `c`, and `d` properties of
the Matrix object. In matrix notation, this is the same as
concatenating the current matrix with the following:

@param angle The rotation angle in radians.Applies a scaling transformation to the matrix. The _x_ axis is
multiplied by `sx`, and the _y_ axis it is multiplied by `sy`.
The `scale()` method alters the `a` and `d` properties of the Matrix
object. In matrix notation, this is the same as concatenating the
current matrix with the following matrix:

@param sx A multiplier used to scale the object along the _x_ axis.
@param sy A multiplier used to scale the object along the _y_ axis.{ scale : 1 }Sets the members of Matrix to the specified values
@param aa the values to set the matrix to.
@param ba
@param ca
@param da
@param txa
@param tya{ roundPixels : false }"checkstyle:FieldDocComment"hide"checkstyle:FieldDocComment"hideReturns a text value listing the properties of the Matrix object.
@return A string containing the values of the properties of the Matrix
object: `a`, `b`, `c`,
`d`, `tx`, and `ty`.Returns the result of applying the geometric transformation represented by
the Matrix object to the specified point.
@param point The point for which you want to get the result of the Matrix
transformation.
@return The point resulting from applying the Matrix transformation.Translates the matrix along the _x_ and _y_ axes, as specified
by the `dx` and `dy` parameters.
@param dx The amount of movement along the _x_ axis to the right, in
pixels.
@param dy The amount of movement down along the _y_ axis, in pixels.{ transpose : false }
<__cleanValues get="inline" set="null" line="740">
<__toMatrix3 set="method" line="751">
<__transformInversePoint get="inline" set="null" line="758">
<__transformInverseX get="inline" set="null" line="775">
<__transformInverseY get="inline" set="null" line="789">
<__transformPoint get="inline" set="null" line="803">
<__transformX get="inline" set="null" line="812">
<__transformY get="inline" set="null" line="817">
<__translateTransformed get="inline" set="null" line="822">
{ ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 }Creates a new Matrix object with the specified parameters. In matrix
notation, the properties are organized like this:

If you do not provide any parameters to the `new Matrix()`
constructor, it creates an _identity matrix_ with the following
values:
| `a = 1` | `b = 0` |
| `c = 0` | `d = 1` |
| `tx = 0` | `ty = 0` |
In matrix notation, the identity matrix looks like this:

@param a The value that affects the positioning of pixels along the
_x_ axis when scaling or rotating an image.
@param b The value that affects the positioning of pixels along the
_y_ axis when rotating or skewing an image.
@param c The value that affects the positioning of pixels along the
_x_ axis when rotating or skewing an image.
@param d The value that affects the positioning of pixels along the
_y_ axis when scaling or rotating an image..
@param tx The distance by which to translate each point along the _x_
axis.
@param ty The distance by which to translate each point along the _y_
axis.The Matrix class represents a transformation matrix that determines how to
map points from one coordinate space to another. You can perform various
graphical transformations on a display object by setting the properties of
a Matrix object, applying that Matrix object to the `matrix` property of a
Transform object, and then applying that Transform object as the
`transform` property of the display object. These transformation functions
include translation (_x_ and _y_ repositioning), rotation, scaling, and
skewing.
Together these types of transformations are known as _affine
transformations_. Affine transformations preserve the straightness of
lines while transforming, so that parallel lines stay parallel.
To apply a transformation matrix to a display object, you create a
Transform object, set its `matrix` property to the transformation matrix,
and then set the `transform` property of the display object to the
Transform object. Matrix objects are also used as parameters of some
methods, such as the following:
* The `draw()` method of a BitmapData object
* The `beginBitmapFill()` method, `beginGradientFill()` method, or
`lineGradientStyle()` method of a Graphics object
A transformation matrix object is a 3 x 3 matrix with the following
contents:

In traditional transformation matrixes, the `u`, `v`, and `w` properties
provide extra capabilities. The Matrix class can only operate in
two-dimensional space, so it always assumes that the property values `u`
and `v` are 0.0, and that the property value `w` is 1.0. The effective
values of the matrix are as follows:

You can get and set the values of all six of the other properties in a
Matrix object: `a`, `b`, `c`, `d`, `tx`, and `ty`.
The Matrix class supports the four major types of transformations:
translation, scaling, rotation, and skewing. You can set three of these
transformations by using specialized methods, as described in the
following table:
| Transformation | Method | Matrix values | Display result | Description |
| --- | --- | --- | --- | --- |
| Translation (displacement) | `translate(tx, ty)` |  |  | Moves the image `tx` pixels to the right and `ty` pixels down. |
| Scaling | `scale(sx, sy)` |  |  | Resizes the image, multiplying the location of each pixel by `sx` on the _x_ axis and `sy` on the _y_ axis. |
| Rotation | `rotate(q)` |  |  | Rotates the image by an angle `q`, which is measured in radians. |
| Skewing or shearing | None; must set the properties `b` and `c` |  |  | Progressively slides the image in a direction parallel to the _x_ or _y_ axis. The `b` property of the Matrix object represents the tangent of the skew angle along the _y_ axis; the `c` property of the Matrix object represents the tangent of the skew angle along the _x_ axis. |
Each transformation function alters the current matrix properties so that
you can effectively combine multiple transformations. To do this, you call
more than one transformation function before applying the matrix to its
display object target (by using the `transform` property of that display
object).
Use the `new Matrix()` constructor to create a Matrix object before you
can call the methods of the Matrix object."tags=\"haxe,release\""new Matrix()
<_data>
<_library>
<_symbolName>
<_type>
<_loopMode>
<_currentFrame>
<_composedFrame>
<_bitmap>
<_numFrames>
<_numLayers>
<_frameLabels>
<_colorTransform>
<_layers>
<_texture>
<_tempRect expr="new Rectangle()">
new Rectangle()
<_zeroPoint expr="new Point(0, 0)">
new Point(0, 0)true{ direction : 1 }Moves all movie clips n frames, recursively.animateatlasanimateatlasanimateatlas
<_getFrameLabels set="method" line="379">{ afterLabel : null }openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()"http://www.away3d.com"416* Helper class to track a few important library constants."default"
<_originalName>
<_namespace>
<_name>
<_id>
<_full_path>name, which may
* have changed due to of a name conflict.]]>{ overrideOriginal : true, ns : null }{ name : null }* The name of the asset.* The id of the asset.* The namespace of the asset. This allows several assets with the same name to coexist in different contexts.* The type of the asset.* The full path of the asset.{ overrideOriginal : true, ns : null }* Cleans up resources used by this asset.
<_usesCPU>
<_animations expr="new Vector<AnimationNodeBase>()">
()]]>
<_animationNames expr="new Vector<String>()">
()]]>
<_animationDictionary expr="new Map<String,AnimationNodeBase>()">
()]]>{ excludeAnother : null }* Retrieves a temporary GPU register that's still free.
*
* @param exclude An array of non-free temporary registers.
* @param excludeAnother An additional register that's not free.
* @return A temporary register that can be used.* Indicates whether the properties of the animation data contained within the set combined with
* the vertex registers aslready in use on shading materials allows the animation data to utilise
* GPU calls.away3d* Called by the material to reset the GPU indicator before testing whether register space in the shader
* is available for running GPU-based animation code.
*
* @private* @inheritDoc* Returns a vector of animation state objects that make up the contents of the animation data set.* Returns a vector of animation state objects that make up the contents of the animation data set.* Check to determine whether a state is registered in the animation set under the given name.
*
* @param stateName The name of the animation state object to be checked.* Retrieves the animation state object registered in the animation data set under the given name.
*
* @param stateName The name of the animation state object to be retrieved.* Adds an animation state object to the aniamtion data set under the given name.
*
* @param stateName The name under which the animation state object will be stored.
* @param animationState The animation state object to be staored in the set.* Cleans up any resources used by the current object.* Provides an abstract base class for data set classes that hold animation data for use in animator classes.
*
* @see away3d.animators.AnimatorBase
<_broadcaster expr="new Sprite()">
new Sprite()
<_isPlaying>
<_autoUpdate expr="true">
true
<_startEvent>
<_stopEvent>
<_cycleEvent>
<_time expr="0">
0
<_playbackSpeed expr="1">
1
<_animationSet>
<_owners expr="new Vector<Mesh>()">
()]]>
<_activeNode>
<_activeState>
<_activeAnimationName>
<_absoluteTime expr="0">
0
<_animationStates expr="new Map()">
new Map()true* Enables translation of the animated mesh from data returned per frame via the positionDelta property of the active animation node. Defaults to true.
*
* @see away3d.animators.states.IAnimationState#positionDelta* Returns the internal absolute time of the animator, calculated by the current time and the playback speed.
*
* @see #time
* @see #playbackSpeed* Returns the animation data set in use by the animator.* Returns the current active animation state.* Returns the current active animation node.* Returns the current active animation node.time property or update() method.
* Defaults to true.
*
* @see #time
* @see #update()]]>* Gets and sets the internal time clock of the animator.* Sets the animation phase of the current active state's animation clip(s).
*
* @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end.* The amount by which passed time should be scaled. Used to slow down or speed up animations. Defaults to 1.* Resumes the automatic playback clock controling the active state of the animator.time property or update() method.
*
* @see #time
* @see #update()]]>* Provides a way to manually update the active state of the animator when automatic
* updates are disabled.
*
* @see #stop()
* @see #autoUpdate{ offset : 0 }away3d* Used by the mesh object to which the animator is applied, registers the owner for internal use.
*
* @privateaway3d* Used by the mesh object from which the animator is removed, unregisters the owner for internal use.
*
* @privateaway3d* Internal abstract method called when the time delta property of the animator's contents requires updating.
*
* @private{ event : null }* Enter frame event handler for automatically updating the active state of the animator.away3d* for internal use.
*
* @private* @inheritDoc* @inheritDocAnimatorBase object.
*
* @param animationSet The animation data set to be used by the animator object.]]>* Check to determine whether a state is registered in the animation set under the given name.
*
* @param stateName The name of the animation state object to be checked.* Retrieves the animation state object registered in the animation data set under the given name.
*
* @param stateName The name of the animation state object to be retrieved.* Indicates whether the properties of the animation data contained within the set combined with
* the vertex registers aslready in use on shading materials allows the animation data to utilise
* GPU calls.away3d* Called by the material to reset the GPU indicator before testing whether register space in the shader
* is available for running GPU-based animation code.
*
* @privateaway3d* Called by the animator to void the GPU indicator when register space in the shader
* is no longer available for running GPU-based animation code.
*
* @privateaway3d* Generates the AGAL Vertex code for the animation, tailored to the material pass's requirements.
*
* @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended.
* @sourceRegisters The animatable attribute registers of the material pass.
* @targetRegisters The animatable target registers of the material pass.
* @return The AGAL Vertex code that animates the vertex data.
*
* @privateaway3d* Generates the AGAL Fragment code for the animation, tailored to the material pass's requirements.
*
* @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended.
* @return The AGAL Vertex code that animates the vertex data.
*
* @privateaway3d* Generates the extra AGAL Fragment code for the animation when UVs are required, tailored to the material pass's requirements.
*
* @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended.
* @param UVSource String representing the UV source register.
* @param UVTarget String representing the UV target register.
* @return The AGAL UV code that animates the UV data.
*
* @privateaway3d* Resets any constants used in the creation of AGAL for the vertex and fragment shaders.
*
* @param pass The material pass currently being used to render the geometry.
*
* @privateaway3d* Sets the GPU render state required by the animation that is independent of the rendered mesh.
*
* @param stage3DProxy The proxy currently performing the rendering.
* @param pass The material pass currently being used to render the geometry.
*
* @privateaway3d* Clears the GPU render state that has been set by the current animation.
*
* @param stage3DProxy The proxy currently performing the rendering.
* @param pass The material pass currently being used to render the geometry.
*
* @private* Provides an interface for data set classes that hold animation data for use in animator classes.
*
* @see away3d.animators.IAnimator* Returns the animation data set in use by the animator.* Sets the GPU render state required by the animation that is dependent of the rendered object.
*
* @param stage3DProxy The Stage3DProxy object which is currently being used for rendering.
* @param renderable The object currently being rendered.
* @param vertexConstantOffset The first available vertex register to write data to if running on the gpu.
* @param vertexStreamOffset The first available vertex stream to write vertex data to if running on the gpu.* Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu.
* Needs to be called if gpu code is potentially required.away3d* Used by the mesh object to which the animator is applied, registers the owner for internal use.
*
* @privateaway3d* Used by the mesh object from which the animator is removed, unregisters the owner for internal use.
*
* @private* Returns a shallow clone (re-using the same IAnimationSet) of this IAnimator.AnimationSetBase.
*
* @see away3d.animators.IAnimationSet]]>9* Property used by particle nodes that require compilation at the end of the shader18* Property used by particle nodes that require color compilation
<_animationRegisterCache>
away3d@private
<_timeNode>
<_animationSubGeometries expr="new Map()">
new Map()
<_particleNodes expr="new Vector<ParticleNodeBase>()">
()]]>
<_localDynamicNodes expr="new Vector<ParticleNodeBase>()">
()]]>
<_localStaticNodes expr="new Vector<ParticleNodeBase>()">
()]]>
<_totalLenOfOneVertex expr="0">
0
* function initParticleFunc(prop:ParticleProperties):void
* {
* //code for settings local properties
* }
*
*
* Aside from setting any properties required in particle animation nodes using local static properties, the initParticleFunc function
* is required to time node requirements as they may be needed. These properties on the ParticleProperties object can include
* startTime, duration and delay. The use of these properties is determined by the setting
* arguments passed in the constructor of the particle animation set. By default, only the startTime property is required.]]>* Returns a vector of the particle animation nodes contained within the set.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDocaway3d@private{ usesDelay : false, usesLooping : false, usesDuration : false }ParticleAnimationSet
*
* @param [optional] usesDuration Defines whether the animation set uses the duration data in its static properties function to determine how long a particle is visible for. Defaults to false.
* @param [optional] usesLooping Defines whether the animation set uses a looping timeframe for each particle determined by the startTime, duration and delay data in its static properties function. Defaults to false. Requires usesDuration to be true.
* @param [optional] usesDelay Defines whether the animation set uses the delay data in its static properties function to determine how long a particle is hidden for. Defaults to false. Requires usesLooping to be true.]]>* The animation data set used by particle-based animators, containing particle animation data.
*
* @see away3d.animators.ParticleAnimator
<_particleAnimationSet public="1">
<_animationParticleStates expr="new Vector<ParticleStateBase>()">
()]]>
<_animatorParticleStates expr="new Vector<ParticleStateBase>()">
()]]>
<_timeParticleStates expr="new Vector<ParticleStateBase>()">
()]]>
<_totalLenOfOneVertex expr="0">
0
<_animatorSubGeometries expr="new Map()">
new Map()* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ offset : 0 }* @inheritDocParticleAnimator object.
*
* @param particleAnimationSet The animation data set containing the particle animations used by the animator.]]>* Provides an interface for assigning paricle-based animation data sets to mesh-based entity objects
* and controlling the various available states of animation through an interative playhead that can be
* automatically updated or manually triggered.
*
* Requires that the containing geometry of the parent mesh is particle geometry
*
* @see away3d.core.base.ParticleGeometry
<_path>
<_time>
<_index expr="0">
0
<_rotations>
<_alignToPath>
<_target>
<_lookAtTarget>
<_offset>
<_tmpOffset>
<_position expr="new Vector3D()">
new Vector3D()
<_lastTime>
<_from>
<_to>
<_bRange>
<_bSegment>
<_bCycle>
<_lastSegment expr="0">
0
<_rot>
<_upAxis expr="new Vector3D(0, 1, 0)">
new Vector3D(0, 1, 0)
<_basePosition expr="new Vector3D(0, 0, 0)">
new Vector3D(0, 0, 0){ z : 0, y : 0, x : 0 }Path object for parallel animations]]>* Calculates the new position and set the object on the path accordingly
*
* @param t A Number from 0 to 1 (less than one to allow alignToPath)* Updates a position Vector3D on the path at a given time. Do not use this handler to animate, it's in there to add dummy's or place camera before or after
* the animated object. Use the update() or the automatic tweened animateOnPath() handlers instead.
*
* @param t Number. A Number from 0 to 1
* @param out Vector3D. The Vector3D to update according to the "t" time parameter.* Returns a position on the path according to duration/elapsed time. Duration variable must be set.
*
* @param ms Number. A number representing milliseconds.
* @param duration Number. The total duration in milliseconds.
* @param out [optional] Vector3D. A Vector3D that will be used to return the position. If none provided, method returns a new Vector3D with this data.
*
* An example of use of this handler would be cases where a given "lap" must be done in a given amount of time and you would want to retrieve the "ideal" time
* based on elapsed time since start of the race. By comparing actual progress to ideal time, you could extract their classement, calculate distance/time between competitors,
* abort the race if goal is impossible to be reached in time etc...
*
*@ returns Vector3D The position at a given elapsed time, compared to total duration.* defines if the object animated along the path must be aligned to the path.* returns the current interpolated position on the path with no optional offset applied* defines the path to follow
* @see Path* Represents the progress of the animation playhead from the start (0) to the end (1) of the animation.{ t : null }* returns the segment index that is used at a given time;
* @param t [Number]. A Number between 0 and 1. If no params, actual pathanimator time segment index is returned.* returns the actual interpolated rotation along the path.* sets the object to be animated along the path.* sets the object that the animated object will be looking at along the path* Set the pointer to a given segment along the path* Default method for adding a cycle event listener. Event fired when the time reaches 1.
*
* @param listener The listener function* Default method for removing a cycle event listener
*
* @param listener The listener function{ to : 0, from : 0 }* Default method for removing a range event listener
*
* @param listener The listener function* Default method for adding a segmentchange event listener. Event fired when the time pointer enters another PathSegment.
*
* @param listener The listener function* Default method for removing a range event listener
*
* @param listener The listener function{ rotate : false }{ rotations : null, lookAtTarget : null, alignToPath : true, offset : null, target : null, path : null }PathAnimator
*
* @param [optional] path The QuadraticPath to animate onto.
* @param [optional] target An Object3D, the object to animate along the path. It can be Mesh, Camera, ObjectContainer3D...
* @param [optional] offset A Vector3D to define the target offset to its location on the path.
* @param [optional] alignToPath Defines if the object animated along the path is orientated to the path. Default is true.
* @param [optional] lookAtTarget An Object3D that the target will constantly look at during animation.
* @param [optional] rotations A Vector.<Vector3D> to define rotations per pathsegments. If PathExtrude is used to simulate the "road", use the very same rotations vector.]]>
<_jointsPerVertex>* Returns the amount of skeleton joints that can be linked to a single vertex via skinned weight values. For GPU-base animation, the
* maximum allowed value is 4.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ jointsPerVertex : 4 }SkeletonAnimationSet object.
*
* @param jointsPerVertex Sets the amount of skeleton joints that can be linked to a single vertex via skinned weight values. For GPU-base animation, the maximum allowed value is 4. Defaults to 4.]]>* The animation data set used by skeleton-based animators, containing skeleton animation data.
*
* @see away3d.animators.SkeletonAnimator
<_globalMatrices>
<_globalPose expr="new SkeletonPose()">
new SkeletonPose()
<_globalPropertiesDirty>
<_numJoints>
<_skeletonAnimationStates expr="new Map()">
new Map()
<_condensedMatrices>
<_skeleton>
<_forceCPU>
<_useCondensedIndices>
<_jointsPerVertex>
<_activeSkeletonState>* returns the calculated global matrices of the current skeleton pose.
*
* @see #globalPose* returns the current skeleton pose output from the animator.
*
* @see away3d.animators.data.SkeletonPose* Returns the skeleton object in use by the animator - this defines the number and heirarchy of joints used by the
* skinned geoemtry to which skeleon animator is applied.* Indicates whether the skeleton animator is disabled by default for GPU rendering, something that allows the animator to perform calculation on the GPU.
* Defaults to false.* Offers the option of enabling GPU accelerated animation on skeletons larger than 32 joints
* by condensing the number of joint index values required per mesh. Only applicable to
* skeleton animations that utilise more than one mesh object. Defaults to false.* @inheritDoc{ offset : null, transition : null }* Plays an animation state registered with the given name in the animation data set.
*
* @param name The data set name of the animation state to be played.
* @param transition An optional transition object that determines how the animator will transition from the currently active animation state.
* @param offset An option offset time (in milliseconds) that resets the state's internal clock to the absolute time of the animator plus the offset value. Required for non-looping animation states.* @inheritDoc* @inheritDoc* Applies the calculated time delta to the active animation state node or state transition object.* If the animation can't be performed on GPU, transform vertices manually
* @param subGeom The subgeometry containing the weights and joint index data per vertex.
* @param pass The material pass for which we need to transform the vertices* Converts a local hierarchical skeleton pose to a global pose
* @param targetPose The SkeletonPose object that will contain the global pose.
* @param skeleton The skeleton containing the joints, and as such, the hierarchical data to transform to global poses.{ forceCPU : false }SkeletonAnimator object.
*
* @param skeletonAnimationSet The animation data set containing the skeleton animations used by the animator.
* @param skeleton The skeleton object used for calculating the resulting global matrices for transforming skinned mesh data.
* @param forceCPU Optional value that only allows the animator to perform calculation on the CPU. Defaults to false.]]>* Provides an interface for assigning skeleton-based animation data sets to mesh-based entity objects
* and controlling the various available states of animation through an interative playhead that can be
* automatically updated or manually triggered.true
<_agalCode>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* The animation data set containing the Spritesheet animation state data.
*
* @see away3d.animators.SpriteSheetAnimator
* @see away3d.animators.SpriteSheetAnimationState
<_activeSpriteSheetState>
<_spriteSheetAnimationSet>
<_frame expr="new SpriteSheetAnimationFrame()">
new SpriteSheetAnimationFrame()
<_vectorFrame>
<_fps expr="10">
10
<_ms expr="100">
100
<_lastTime expr="0">
0
<_reverse>
<_backAndForth>
<_specsDirty>
<_mapDirty>* @inheritDoc{ offset : null, transition : null }* @inheritDoc* Applies the calculated time delta to the active animation state node.SpriteSheetAnimator object.
* @param spriteSheetAnimationSet The animation data set containing the sprite sheet animation states used by the animator.]]>* Provides an interface for assigning uv-based sprite sheet animation data sets to mesh-based entity objects
* and controlling the various available states of animation through an interative playhead that can be
* automatically updated or manually triggered.
<_agalCode>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* The animation data set used by uv-based animators, containing uv animation state data.
*
* @see away3d.animators.UVAnimator
* @see away3d.animators.UVAnimationState
<_uvAnimationSet>
<_deltaFrame expr="new UVAnimationFrame()">
new UVAnimationFrame()
<_activeUVState>
<_uvTransform>
<_matrix2d>
<_translate>
<_autoRotation>
<_rotationIncrease expr="1">
1
<_autoTranslate>
<_translateIncrease>* Defines if a rotation is performed automatically each update. The rotationIncrease value is added each iteration.* if autoRotation = true, the rotation is increased by the rotationIncrease value. Default is 1;* Defines if the animation is translated automatically each update. Ideal to scroll maps. Use setTranslateIncrease to define the offsets.* if autoTranslate = true, animation is translated automatically each update with the u and v values.
* Note if value are integers, no visible update will be performed. Values are expected to be in 0-1 range.* @inheritDoc{ offset : null, transition : null }* @inheritDoc* Applies the calculated time delta to the active animation state node.* Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu.
* Needs to be called if gpu code is potentially required.* @inheritDocUVAnimator object.
*
* @param uvAnimationSet The animation data set containing the uv animations used by the animator.]]>* Provides an interface for assigning uv-based animation data sets to mesh-based entity objects
* and controlling the various available states of animation through an interative playhead that can be
* automatically updated or manually triggered.
<_numPoses>
<_blendMode>
<_streamIndices expr="new Map()">
new Map()
<_useNormals expr="new Map()">
new Map()
<_useTangents expr="new Map()">
new Map()
<_uploadNormals>
<_uploadTangents>* Returns the number of poses made available at once to the GPU animation code.* Returns the active blend mode of the vertex animator object.* Returns whether or not normal data is used in last set GPU pass of the vertex shader.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Generates the vertex AGAL code for absolute blending.* Generates the vertex AGAL code for additive blending.{ blendMode : "absolute", numPoses : 2 }VertexAnimationSet object.
*
* @param numPoses The number of poses made available at once to the GPU animation code.
* @param blendMode Optional value for setting the animation mode of the vertex animator object.
*
* @see away3d.animators.data.VertexAnimationMode]]>* The animation data set used by vertex-based animators, containing vertex animation state data.
*
* @see away3d.animators.VertexAnimator
<_vertexAnimationSet>
<_poses expr="new Vector<Geometry>()">
()]]>
<_weights expr="Vector.ofArray([1, 0, 0, 0.0])">
Vector.ofArray([1, 0, 0, 0.0])
<_numPoses>
<_blendMode>
<_activeVertexState>* @inheritDoc{ offset : null, transition : null }* Plays a sequence with a given name. If the sequence is not found, it may not be loaded yet, and it will retry every frame.
* @param sequenceName The name of the clip to be played.* @inheritDoc* @inheritDoc* Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu.
* Needs to be called if gpu code is potentially required.VertexAnimator object.
*
* @param vertexAnimationSet The animation data set containing the vertex animations used by the animator.]]>* Provides an interface for assigning vertex-based animation data sets to mesh-based entity objects
* and controlling the various available states of animation through an interative playhead that can be
* automatically updated or manually triggered.
<_fragmentTempCache>
<_vertexTempCache>
<_varyingCache>
<_fragmentConstantsCache>
<_vertexConstantsCache>
<_textureCache>
<_vertexAttributesCache>
<_vertexConstantOffset>
<_vertexAttributesOffset>
<_varyingsOffset>
<_fragmentConstantOffset>
<_fragmentOutputRegister>
<_vertexOutputRegister>
<_numUsedVertexConstants>
<_numUsedFragmentConstants>
<_numUsedStreams>
<_numUsedTextures>
<_numUsedVaryings>
<_profile>* Resets all registers.* Disposes all resources used.* Marks a fragment temporary register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage
* has been called usageCount times again.
* @param register The register to mark as used.
* @param usageCount The amount of usages to add.* Removes a usage from a fragment temporary register. When usages reach 0, the register is freed again.
* @param register The register for which to remove a usage.* Marks a vertex temporary register as used, so it cannot be retrieved. The register won't be able to be used
* until removeUsage has been called usageCount times again.
* @param register The register to mark as used.
* @param usageCount The amount of usages to add.* Removes a usage from a vertex temporary register. When usages reach 0, the register is freed again.
* @param register The register for which to remove a usage.* Retrieve an entire fragment temporary register that's still available. The register won't be able to be used until removeUsage
* has been called usageCount times again.* Retrieve a single component from a fragment temporary register that's still available.* Retrieve an available varying register* Retrieve an available fragment constant register* Retrieve an available vertex constant register* Retrieve an entire vertex temporary register that's still available.* Retrieve a single component from a vertex temporary register that's still available.* Retrieve an available vertex attribute register* Retrieve an available texture register* Indicates the start index from which to retrieve vertex constants.* Indicates the start index from which to retrieve vertex attributes.* Indicates the start index from which to retrieve varying registers.* Indicates the start index from which to retrieve fragment constants.* The fragment output register.* The amount of used vertex constant registers.* The amount of used fragment constant registers.* The amount of used vertex streams.* The amount of used texture slots.* The amount of used varying registers.* Create a new ShaderRegisterCache object.
*
* @param profile The compatibility profile used by the renderer.* ShaderRegister Cache provides the usage management system for all registers during shading compilation.new Map()()]]>()]]>
<_numVertexConstant>
<_numFragmentConstant>{ w : 0, z : 0, y : 0, x : 0 }{ w : 0, z : 0, y : 0, x : 0 }* ...
<_vertexData>
<_vertexBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_bufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_bufferDirty expr="new Vector<Bool>(8)">
(8)]]>
<_numVertices>
<_totalLenOfOneVertex>0Math.NEGATIVE_INFINITY()]]>* ...
<_color>
<_life>* The name of the joint to which the pose is associatednew Quaternion()* The rotation of the pose stored as a quaternionnew Vector3D()* The translation of the pose{ target : null }* Converts the transformation to a Matrix3D representation.
*
* @param target An optional target matrix to store the transformation. If not provided, it will create a new instance.
* @return The transformation matrix of the pose.* Copies the transformation data from a source pose object into the existing pose object.
*
* @param pose The source pose to copy from.* Contains transformation data for a skeleton joint, used for skeleton animation.
*
* @see away3d.animation.data.Skeleton
* @see away3d.animation.data.SkeletonJoint
*
* todo: support (uniform) scale* ...* The index of the current particle being set.* The total number of particles being processed by the particle animation set.* The start time of the particle.useDuration are enabled in the constructor.
*
* @see away3d.animators.ParticleAnimationSet]]>useLooping and useDelay are enabled in the constructor.
*
* @see away3d.animators.ParticleAnimationSet]]>new Map()* Dynamic class for holding the local properties of a particle, used for processing the static properties
* of particles in the particle animation set before beginning upload to the GPU.0* Mode that defines the particle node as acting on global properties (ie. the properties set in the node constructor or the corresponding animation state).1* Mode that defines the particle node as acting on local static properties (ie. the properties of particles set in the initialising function on the animation set).2* Mode that defines the particle node as acting on local dynamic properties (ie. the properties of the particles set in the corresponding animation state).* Options for setting the properties mode of a particle animation node.* A flat list of joint objects that comprise the skeleton. Every joint except for the root has a parentIndex
* property that is an index into this list.
* A child joint should always have a higher index than its parent.* The total number of joints in the skeleton.* Returns the joint object in the skeleton with the given name, otherwise returns a null object.
*
* @param jointName The name of the joint object to be found.
* @return The joint object with the given name.
*
* @see #joints* Returns the joint index, given the joint name. -1 is returned if the joint name is not found.
*
* @param jointName The name of the joint object to be found.
* @return The index of the joint object in the joints vector.
*
* @see #joints* @inheritDoc* @inheritDocSkeleton object]]>* A Skeleton object is a hierarchical grouping of joint objects that can be used for skeletal animation.
*
* @see away3d.animators.data.SkeletonJoint-1* The index of the parent joint in the skeleton's joints vector.
*
* @see away3d.animators.data.Skeleton#joints* The name of the joint* The inverse bind pose matrix, as raw data, used to transform vertices to bind joint space in preparation for transformation using the joint matrix.SkeletonJoint object]]>* A value obect representing a single joint in a skeleton object.
*
* @see away3d.animators.data.Skeleton* A flat list of pose objects that comprise the skeleton pose. The pose indices correspond to the target skeleton's joint indices.
*
* @see away3d.animators.data.Skeleton#joints* The total number of joint poses in the skeleton pose.* @inheritDoc* Returns the joint pose object with the given joint name, otherwise returns a null object.
*
* @param jointName The name of the joint object whose pose is to be found.
* @return The pose object with the given joint name.* Returns the pose index, given the joint name. -1 is returned if the joint name is not found in the pose.
*
* @param The name of the joint object whose pose is to be found.
* @return The index of the pose object in the jointPoses vector.
*
* @see #jointPosesSkeletonPose object, with a dulpicate of its component joint poses.
*
* @return SkeletonPose]]>* @inheritDocSkeletonPose object.]]>jointPoses vector object corresponds to a skeleton's joints vector object, however, there is no
* reference to a skeleton's instance, since several skeletons can be influenced by the same pose (eg: animation
* clips are added to any animator with a valid skeleton)
*
* @see away3d.animators.data.Skeleton
* @see away3d.animators.data.JointPose]]>* The u-component offset of the spritesheet frame.* The v-component offset of the spritesheet frame.* The u-component scale of the spritesheet frame.* The v-component scale of the spritesheet frame.* The mapID, zero based, if the animation is spreaded over more bitmapData's{ mapID : 0, scaleV : 1, scaleU : 1, offsetV : 0, offsetU : 0 }SpriteSheetAnimationFrame object.
*
* @param offsetU The u-component offset of the spritesheet frame.
* @param offsetV The v-component offset of the spritesheet frame.
* @param scaleU The u-component scale of the spritesheet frame.
* @param scaleV The v-component scale of the spritesheet frame.
* @param mapID The v-component scale of the spritesheet frame.]]>SpriteSheetClipNode object.
*
* @see away3d.animators.nodes.SpriteSheetClipNode]]>* The u-component offset of the UV animation frame.* The v-component offset of the UV animation frame.* The u-component scale of the UV animation frame.* The v-component scale of the UV animation frame.* The rotation value (in degrees) of the UV animation frame.{ rotation : 0, scaleV : 1, scaleU : 1, offsetV : 0, offsetU : 0 }UVAnimationFrame object.
*
* @param offsetU The u-component offset of the UV animation frame.
* @param offsetV The v-component offset of the UV animation frame.
* @param scaleU The u-component scale of the UV animation frame.
* @param scaleV The v-component scale of the UV animation frame.
* @param rotation The rotation value (in degrees) of the UV animation frame.]]>UVClipNode object.
*
* @see away3d.animators.nodes.UVClipNode]]>"additive"* Animation mode that adds all outputs from active vertex animation state to form the current vertex animation pose."absolute"* Animation mode that picks the output from a single vertex animation state to form the current vertex animation pose.* Options for setting the animation mode of a vertex animator object.
*
* @see away3d.animators.VertexAnimator
<_stateConstructor>* @inheritDoc* @inheritDocAnimationNodeBase object.]]>* Provides an abstract base class for nodes in an animation blend tree.
<_looping expr="true">
true
<_totalDuration expr="0">
0
<_lastFrame>
<_stitchDirty expr="true">
true
<_stitchFinalFrame expr="false">
false
<_numFrames expr="0">
0
<_durations expr="new Vector<UInt>()">
()]]>
<_totalDelta expr="new Vector3D()">
new Vector3D()true* Determines whether the contents of the animation node have looping characteristics enabled.* Defines if looping content blends the final frame of animation data with the first (true) or works on the
* assumption that both first and last frames are identical (false). Defaults to false.* Returns a vector of time values representing the duration (in milliseconds) of each animation frame in the clip.* Updates the node's final frame stitch state.
*
* @see #stitchFinalFrameAnimationClipNodeBase object.]]>* Provides an abstract base class for nodes with time-based animation data in an animation blend tree.* Returns the current SpriteSheetAnimationFrame of animation in the clip based on the internal playhead position.* Returns the current frame number.* Provides an interface for animation node classes that hold animation data for use in the SpriteSheetAnimator class.
*
* @see away3d.animators.SpriteSheetAnimator"Global""LocalStatic""LocalDynamic"[GLOBAL, LOCAL_STATIC, LOCAL_DYNAMIC]*
* @param particleNodeClass - class of ParticleNodeBase child e.g ParticleBillboardNode, ParticleFollowNode...
* @param particleNodeMode - mode of particle node ParticlePropertiesMode.GLOBAL, ParticlePropertiesMode.LOCAL_DYNAMIC or ParticlePropertiesMode.LOCAL_STATIC
* @return particle node name
<_mode>
<_priority>
<_dataLength expr="3">
3
<_oneData>away3d* Returns the property mode of the particle animation node. Typically set in the node constructor
*
* @see away3d.animators.data.ParticlePropertiesMode* Returns the priority of the particle animation node, used to order the agal generated in a particle animation set. Set automatically on instantiation.
*
* @see away3d.animators.ParticleAnimationSet
* @see #getAGALVertexCodeLOCAL_STATIC mode. Used to generate the local static data of the particle animation set.
*
* @see away3d.animators.ParticleAnimationSet
* @see #getAGALVertexCode]]>* Returns the generated data vector of the node after one particle pass during the generation of all local static data of the particle animation set.
*
* @see away3d.animators.ParticleAnimationSet
* @see #generatePropertyOfOneParticle* Returns the AGAL code of the particle animation node for use in the vertex shader.* Returns the AGAL code of the particle animation node for use in the fragment shader.* Returns the AGAL code of the particle animation node for use in the fragment shader when UV coordinates are required.away3d* Called internally by the particle animation set when assigning the set of static properties originally defined by the initParticleFunc of the set.
*
* @see away3d.animators.ParticleAnimationSet#initParticleFuncaway3d* Called internally by the particle animation set when determining the requirements of the particle animation node AGAL.{ priority : 1 }ParticleNodeBase object.
*
* @param name Defines the generic name of the particle animation node.
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param dataLength Defines the length of the data used by the node when in LOCAL_STATIC mode.
* @param [optional] priority the priority of the particle animation node, used to order the agal generated in a particle animation set. Defaults to 1.]]>* Provides an abstract base class for particle animation nodes.0away3d@private"AccelerationVector3D"Vector3D object representing the direction of acceleration on the particle.]]>
<_acceleration>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ acceleration : null }ParticleAccelerationNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] acceleration Defines the default acceleration vector of the node, used when in global mode.]]>* A particle animation node used to apply a constant acceleration vector to the motion of a particle.0away3d@private1away3d@private"BezierControlVector3D"Vector3D object representing the control point position (0, 1, 2) of the curve.]]>"BezierEndVector3D"Vector3D object representing the end point position (0, 1, 2) of the curve.]]>
<_controlPoint>
away3d@private
<_endPoint>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ endPoint : null, controlPoint : null }ParticleBezierCurveNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] controlPoint Defines the default control point of the node, used when in global mode.
* @param [optional] endPoint Defines the default end point of the node, used when in global mode.]]>* A particle animation node used to control the position of a particle over time along a bezier curve.0away3d@private
<_billboardAxis>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ billboardAxis : null }ParticleBillboardNode]]>* A particle animation node that controls the rotation of a particle to always face the camera.0away3d@private1away3d@private2away3d@private3away3d@private4away3d@private"ColorStartColorTransform"ColorTransform object representing the start color transform applied to the particle.]]>"ColorEndColorTransform"ColorTransform object representing the end color transform applied to the particle.]]>
<_usesMultiplier>
away3d@private
<_usesOffset>
away3d@private
<_usesCycle>
away3d@private
<_usesPhase>
away3d@private
<_startColor>
away3d@private
<_endColor>
away3d@private
<_cycleDuration>
away3d@private
<_cyclePhase>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ cyclePhase : 0, cycleDuration : 1, endColor : null, startColor : null, usesPhase : false, usesCycle : false, usesOffset : true, usesMultiplier : true }ParticleColorNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] usesMultiplier Defines whether the node uses multiplier data in the shader for its color transformations. Defaults to true.
* @param [optional] usesOffset Defines whether the node uses offset data in the shader for its color transformations. Defaults to true.
* @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of the animation independent of particle duration. Defaults to false.
* @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the cycle rotation of the particle. Defaults to false.
* @param [optional] startColor Defines the default start color transform of the node, when in global mode.
* @param [optional] endColor Defines the default end color transform of the node, when in global mode.
* @param [optional] cycleDuration Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
* @param [optional] cyclePhase Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.]]>* A particle animation node used to control the color variation of a particle over time.0away3d@private1away3d@private
<_usesPosition>
away3d@private
<_usesRotation>
away3d@private
<_smooth>
away3d@private* @inheritDoc* @inheritDoc{ smooth : false, usesRotation : true, usesPosition : true }ParticleFollowNode
*
* @param [optional] usesPosition Defines wehether the individual particle reacts to the position of the target.
* @param [optional] usesRotation Defines wehether the individual particle reacts to the rotation of the target.
* @param [optional] smooth Defines wehether the state calculate the interpolated value.]]>* A particle animation node used to create a follow behaviour on a particle system.0away3d@private1away3d@private"ColorInitialColorTransform"ColorTransform object representing the color transform applied to the particle.]]>
<_usesMultiplier>
away3d@private
<_usesOffset>
away3d@private
<_initialColor>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ initialColor : null, usesOffset : false, usesMultiplier : true }0away3d@private1away3d@private"OrbitVector3D"Vector3D object representing the radius (x), cycle speed (y) and cycle phase (z) of the motion on the particle.]]>
<_usesEulers>
away3d@private
<_usesCycle>
away3d@private
<_usesPhase>
away3d@private
<_radius>
away3d@private
<_cycleDuration>
away3d@private
<_cyclePhase>
away3d@private
<_eulers>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ eulers : null, cyclePhase : 0, cycleDuration : 1, radius : 100, usesPhase : false, usesCycle : false, usesEulers : true }ParticleOrbitNode object.
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] usesEulers Defines whether the node uses the eulers property in the shader to calculate a rotation on the orbit. Defaults to true.
* @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of the orbit independent of particle duration. Defaults to false.
* @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the cycle rotation of the particle. Defaults to false.
* @param [optional] radius Defines the radius of the orbit when in global mode. Defaults to 100.
* @param [optional] cycleDuration Defines the duration of the orbit in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
* @param [optional] cyclePhase Defines the phase of the orbit in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.
* @param [optional] eulers Defines the euler rotation in degrees, applied to the orientation of the orbit when in global mode.]]>* A particle animation node used to control the position of a particle over time around a circular orbit.0away3d@private"OscillatorVector3D"Vector3D object representing the axis (x,y,z) and cycle speed (w) of the motion on the particle.]]>
<_oscillator>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ oscillator : null }ParticleOscillatorNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] oscillator Defines the default oscillator axis (x, y, z) and cycleDuration (w) of the node, used when in global mode.]]>* A particle animation node used to control the position of a particle over time using simple harmonic motion.0away3d@private"PositionVector3D"Vector3D object representing position of the particle.]]>
<_position>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ position : null }ParticlePositionNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] position Defines the default position of the particle when in global mode. Defaults to 0,0,0.]]>* A particle animation node used to set the starting position of a particle.0away3d@private* @inheritDoc* @inheritDoc* @inheritDocParticleBillboardNode]]>* A particle animation node used to control the rotation of a particle to match its heading vector.0away3d@private1away3d@private"RotateToPositionVector3D"Vector3D object representing the position that the particle must face.]]>
<_position>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ position : null }ParticleRotateToPositionNode]]>* A particle animation node used to control the rotation of a particle to face to a position0away3d@private"RotationalVelocityVector3D"Vector3D object representing the rotational velocity around an axis of the particle.]]>
<_rotationalVelocity>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ rotationalVelocity : null }ParticleRotationalVelocityNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.]]>* A particle animation node used to set the starting rotational velocity of a particle.0away3d@private"ScaleVector3D"Vector3D representing the min scale (x), max scale(y), optional cycle speed (z) and phase offset (w) applied to the particle.]]>
<_usesCycle>
away3d@private
<_usesPhase>
away3d@private
<_minScale>
away3d@private
<_maxScale>
away3d@private
<_cycleDuration>
away3d@private
<_cyclePhase>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ cyclePhase : 0, cycleDuration : 1, maxScale : 1, minScale : 1 }ParticleScaleNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of animation independent of particle duration. Defaults to false.
* @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the animation cycle. Defaults to false.
* @param [optional] minScale Defines the default min scale transform of the node, when in global mode. Defaults to 1.
* @param [optional] maxScale Defines the default max color transform of the node, when in global mode. Defaults to 1.
* @param [optional] cycleDuration Defines the default duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.
* @param [optional] cyclePhase Defines the default phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.]]>* A particle animation node used to control the scale variation of a particle over time.0away3d@private1away3d@private2away3d@private
<_usesMultiplier>
away3d@private
<_usesOffset>
away3d@private
<_startColor>
away3d@private
<_endColor>
away3d@private
<_numSegmentPoint>
away3d@private
<_segmentPoints>
away3d@private* @inheritDoc* @inheritDoc0away3d@private
<_startScale>
away3d@private
<_endScale>
away3d@private
<_numSegmentPoint>
away3d@private
<_segmentScales>
away3d@private* @inheritDoc. the x,y,z present the scaleX,scaleY,scaleX, and w present the life]]>0away3d@private1away3d@private"UVVector3D"Vector3D representing the cycleDuration (x), optional phaseTime (y).]]>
<_usesCycle>
away3d@private
<_usesPhase>
away3d@private
<_totalFrames>
away3d@private
<_numColumns>
away3d@private
<_numRows>
away3d@private
<_cycleDuration>
away3d@private
<_cyclePhase>
away3d@private* Defines the number of columns in the spritesheet, when in global mode. Defaults to 1. Read only.* Defines the number of rows in the spritesheet, when in global mode. Defaults to 1. Read only.* Defines the total number of frames used by the spritesheet, when in global mode. Defaults to the number defined by numColumns and numRows. Read only.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ totalFrames : -1, cyclePhase : 0, cycleDuration : 1, numRows : 1, numColumns : 1 }ParticleSpriteSheetNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] numColumns Defines the number of columns in the spritesheet, when in global mode. Defaults to 1.
* @param [optional] numRows Defines the number of rows in the spritesheet, when in global mode. Defaults to 1.
* @param [optional] cycleDuration Defines the default cycle duration in seconds, when in global mode. Defaults to 1.
* @param [optional] cyclePhase Defines the default cycle phase, when in global mode. Defaults to 0.
* @param [optional] totalFrames Defines the total number of frames used by the spritesheet, when in global mode. Defaults to the number defined by numColumns and numRows.
* @param [optional] looping Defines whether the spritesheet animation is set to loop indefinitely. Defaults to true.]]>repeat property on the material has to be set to true.]]>0away3d@private1away3d@private
<_usesDuration>
away3d@private
<_usesDelay>
away3d@private
<_usesLooping>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ usesDelay : false, usesLooping : false, usesDuration : false }ParticleTimeNode
*
* @param [optional] usesDuration Defines whether the node uses the duration data in the static properties function to determine how long a particle is visible for. Defaults to false.
* @param [optional] usesDelay Defines whether the node uses the delay data in the static properties function to determine how long a particle is hidden for. Defaults to false. Requires usesDuration to be true.
* @param [optional] usesLooping Defines whether the node creates a looping timeframe for each particle determined by the startTime, duration and delay data in the static properties function. Defaults to false. Requires usesLooping to be true.]]>* A particle animation node used as the base node for timekeeping inside a particle. Automatically added to a particle animation set on instatiation.0away3d@private1* Used to set the time node into global property mode."x"*"y"*
<_uvData>
away3d@private
<_cycle>
<_scale>
<_axis>**** @inheritDoc* @inheritDoc* @inheritDoc{ axis : "x", scale : 1, cycle : 1 }ParticleTimeNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] cycle Defines whether the time track is in loop mode. Defaults to false.
* @param [optional] scale Defines whether the time track is in loop mode. Defaults to false.
* @param [optional] axis Defines whether the time track is in loop mode. Defaults to false.]]>* A particle animation node used to control the UV offset and scale of a particle over time.0away3d@private"VelocityVector3D"Vector3D object representing the direction of movement on the particle.]]>
<_velocity>
away3d@private* @inheritDoc* @inheritDoc* @inheritDoc{ velocity : null }ParticleVelocityNode
*
* @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.
* @param [optional] velocity Defines the default velocity vector of the node, used when in global mode.]]>* A particle animation node used to set the starting velocity of a particle.* Defines input node A to use for the blended output.* Defines input node B to use for the blended output.* @inheritDocSkeletonBinaryLERPNode object.]]>* A skeleton animation node that uses two animation node inputs to blend a lineraly interpolated output of a skeleton pose.
<_frames expr="new Vector<SkeletonPose>()">
()]]>false* Determines whether to use SLERP equations (true) or LERP equations (false) in the calculation
* of the output skeleton pose. Defaults to false.* Returns a vector of skeleton poses representing the pose of each animation frame in the clip.* Adds a skeleton pose frame to the internal timeline of the animation node.
*
* @param skeletonPose The skeleton pose object to add to the timeline of the node.
* @param duration The specified duration of the frame in milliseconds.* @inheritDoc* @inheritDocSkeletonClipNode object.]]>* A skeleton animation node containing time-based animation data as individual skeleton poses.* Defines a base input node to use for the blended output.* Defines a difference input node to use for the blended output.* @inheritDocSkeletonAdditiveNode object.]]>* A skeleton animation node that uses a difference input pose with a base input pose to blend a linearly interpolated output of a skeleton pose.* Defines the forward configured input node to use for the blended output.* Defines the backwards configured input node to use for the blended output.* Defines the left configured input node to use for the blended output.* Defines the right configured input node to use for the blended output.* @inheritDoc* A skeleton animation node that uses four directional input poses with an input direction to blend a linearly interpolated output of a skeleton pose.
<_inputs public="1" expr="new Vector<AnimationNodeBase>()">
()]]>
<_numInputs>* Returns an integer representing the input index of the given skeleton animation node.
*
* @param input The skeleton animation node for with the input index is requested.* Returns the skeleton animation node object that resides at the given input index.
*
* @param index The input index for which the skeleton animation node is requested.* Adds a new skeleton animation node input to the animation node.* @inheritDocSkeletonNaryLERPNode object.]]>* A skeleton animation node that uses an n-dimensional array of animation node inputs to blend a lineraly interpolated output of a skeleton pose.
<_frames expr="new Vector<SpriteSheetAnimationFrame>()">
()]]>* Returns a vector of SpriteSheetAnimationFrame representing the uv values of each animation frame in the clip.* Adds a SpriteSheetAnimationFrame object to the internal timeline of the animation node.
*
* @param spriteSheetAnimationFrame The frame object to add to the timeline of the node.
* @param duration The specified duration of the frame in milliseconds.SpriteSheetClipNode object.]]>* A SpriteSheetClipNode containing time-based animation data as individual sprite sheet animation frames.
<_frames expr="new Vector<UVAnimationFrame>()">
()]]>* Returns a vector of UV frames representing the uv values of each animation frame in the clip.* Adds a UV frame object to the internal timeline of the animation node.
*
* @param uvFrame The uv frame object to add to the timeline of the node.
* @param duration The specified duration of the frame in milliseconds.* @inheritDocUVClipNode object.]]>* A uv animation node containing time-based animation data as individual uv animation frames.
<_frames expr="new Vector<Geometry>()">
()]]>
<_translations expr="new Vector<Vector3D>()">
()]]>* Returns a vector of geometry frames representing the vertex values of each animation frame in the clip.{ translation : null }* Adds a geometry object to the internal timeline of the animation node.
*
* @param geometry The geometry object to add to the timeline of the node.
* @param duration The specified duration of the frame in milliseconds.
* @param translation The absolute translation of the frame, used in root delta calculations for mesh movement.* @inheritDocVertexClipNode object.]]>* A vertex animation node containing time-based animation data as individual geometry obejcts.* Sets the animation phase of the node.
*
* @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end.
<_animationNode>
<_rootDelta expr="new Vector3D()">
new Vector3D()
<_positionDeltaDirty expr="true">
true
<_time expr="0">
0
<_startTime expr="0">
0
<_animator>* Returns a 3d vector representing the translation delta of the animating entity for the current timestep of animation* Resets the start time of the node to a new value.
*
* @param startTime The absolute start time (in milliseconds) of the node's starting time.* Updates the configuration of the node to its current state.
*
* @param time The absolute time (in milliseconds) of the animator's play head position.
*
* @see away3d.animators.AnimatorBase#update()* Sets the animation phase of the node.
*
* @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end.* Updates the node's internal playhead position.
*
* @param time The local time (in milliseconds) of the node's playhead position.* Updates the node's root delta position
<_animationClipNode>
<_animationStatePlaybackComplete>
<_blendWeight expr="0">
0
<_currentFrame>
<_nextFrame>
<_oldFrame>
<_timeDir>
<_framesDirty expr="true">
true* Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position
* between the current frame (0) and next frame (1) of the animation.
*
* @see #currentFrame
* @see #nextFrame* Returns the current frame of animation in the clip based on the internal playhead position.* Returns the next frame of animation in the clip based on the internal playhead position.* @inheritDoc* @inheritDoc* @inheritDoc* Updates the nodes internal playhead to determine the current and next animation frame, and the blendWeight between the two.
*
* @see #currentFrame
* @see #nextFrame
* @see #blendWeight** Returns the output skeleton pose of the animation node.* Returns the current SpriteSheetAnimationFrame of animation in the clip based on the internal playhead position.* Returns the current frame number.* Returns the current UV frame of animation in the clip based on the internal playhead position.* Returns the next UV frame of animation in the clip based on the internal playhead position.* Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position
* between the current uv frame (0) and next uv frame (1) of the animation.* Provides an interface for animation node classes that hold animation data for use in the UV animator class.
*
* @see away3d.animators.UVAnimator* Returns the current geometry frame of animation in the clip based on the internal playhead position.* Returns the current geometry frame of animation in the clip based on the internal playhead position.* Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position
* between the current geometry frame (0) and next geometry frame (1) of the animation.* Provides an interface for animation node classes that hold animation data for use in the Vertex animator class.
*
* @see away3d.animators.VertexAnimator
<_particleNode>
<_dynamicProperties expr="new Vector<Vector3D>()">
()]]>
<_dynamicPropertiesDirty expr="new Map()">
new Map()
<_needUpdateTime>{ needUpdateTime : false }* ...
<_particleAccelerationNode>
<_acceleration>
<_halfAcceleration>* Defines the acceleration vector of the state, used when in global mode.* @inheritDoc* ...
<_particleBezierCurveNode>
<_controlPoint>
<_endPoint>* Defines the default control point of the node, used when in global mode.* Defines the default end point of the node, used when in global mode.* ...
<_matrix expr="new Matrix3D()">
new Matrix3D()
<_billboardAxis>* Defines the billboard axis.** ...
<_particleColorNode>
<_usesMultiplier>
<_usesOffset>
<_usesCycle>
<_usesPhase>
<_startColor>
<_endColor>
<_cycleDuration>
<_cyclePhase>
<_cycleData>
<_startMultiplierData>
<_deltaMultiplierData>
<_startOffsetData>
<_deltaOffsetData>* Defines the start color transform of the state, when in global mode.* Defines the end color transform of the state, when in global mode.* Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.* Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.* ...
* @author ...
<_particleFollowNode>
<_followTarget>
<_targetPos expr="new Vector3D()">
new Vector3D()
<_targetEuler expr="new Vector3D()">
new Vector3D()
<_prePos>
<_preEuler>
<_smooth>new Vector3D()* @inheritDoc* ...
<_particleInitialColorNode>
<_usesMultiplier>
<_usesOffset>
<_initialColor>
<_multiplierData>
<_offsetData>* Defines the initial color transform of the state, when in global mode.* @inheritDoc
<_particleOrbitNode>
<_usesEulers>
<_usesCycle>
<_usesPhase>
<_radius>
<_cycleDuration>
<_cyclePhase>
<_eulers>
<_orbitData>
<_eulersMatrix>* Defines the radius of the orbit when in global mode. Defaults to 100.* Defines the duration of the orbit in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.* Defines the phase of the orbit in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.* Defines the euler rotation in degrees, applied to the orientation of the orbit when in global mode.* ...
<_particleOscillatorNode>
<_oscillator>
<_oscillatorData>* Defines the default oscillator axis (x, y, z) and cycleDuration (w) of the state, used when in global mode.* @inheritDoc* ...
<_particlePositionNode>
<_position>* Defines the position of the particle when in global mode. Defaults to 0,0,0.** @inheritDoc* ...
* @author ...
<_matrix expr="new Matrix3D()">
new Matrix3D()* ...
<_particleRotateToPositionNode>
<_position>
<_matrix expr="new Matrix3D()">
new Matrix3D()
<_offset>* Defines the position of the point the particle will rotate to face when in global mode. Defaults to 0,0,0.* ...
<_particleRotationalVelocityNode>
<_rotationalVelocityData>
<_rotationalVelocity>* Defines the default rotationalVelocity of the state, used when in global mode.** @inheritDoc* ...
<_particleScaleNode>
<_usesCycle>
<_usesPhase>
<_minScale>
<_maxScale>
<_cycleDuration>
<_cyclePhase>
<_scaleData>* Defines the end scale of the state, when in global mode. Defaults to 1.* Defines the end scale of the state, when in global mode. Defaults to 1.* Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1.* Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.* ...
<_usesMultiplier>
<_usesOffset>
<_startColor>
<_endColor>
<_segmentPoints>
<_numSegmentPoint>
<_timeLifeData>
<_multiplierData>
<_offsetData>* Defines the start color transform of the state, when in global mode.* Defines the end color transform of the state, when in global mode.* Defines the number of segments.* Defines the key points of color
<_startScale>
<_endScale>
<_segmentPoints>
<_numSegmentPoint>
<_scaleData>* Defines the start scale of the state, when in global mode.* Defines the end scale of the state, when in global mode.* Defines the number of segments.* Defines the key points of Scale
<_particleSpriteSheetNode>
<_usesCycle>
<_usesPhase>
<_totalFrames>
<_numColumns>
<_numRows>
<_cycleDuration>
<_cyclePhase>
<_spriteSheetData>* Defines the cycle phase, when in global mode. Defaults to zero.* Defines the cycle duration in seconds, when in global mode. Defaults to 1.* ...
<_particleTimeNode>* ...
<_particleUVNode>* ...
<_particleVelocityNode>
<_velocity>* Defines the default velocity vector of the state, used when in global mode.** ...
<_blendWeight expr="0">
0
<_skeletonAnimationNode>
<_skeletonPose expr="new SkeletonPose()">
new SkeletonPose()
<_skeletonPoseDirty expr="true">
true
<_inputA>
<_inputB>* Defines a fractional value between 0 and 1 representing the blending ratio between inputA (0) and inputB (1),
* used to produce the skeleton pose output.
*
* @see inputA
* @see inputB* @inheritDoc* @inheritDoc* Returns the current skeleton pose of the animation in the clip based on the internal playhead position.* @inheritDoc* Updates the output skeleton pose of the node based on the blendWeight value between input nodes.
*
* @param skeleton The skeleton used by the animator requesting the ouput pose.*
<_rootPos expr="new Vector3D()">
new Vector3D()
<_frames>
<_skeletonClipNode>
<_skeletonPose expr="new SkeletonPose()">
new SkeletonPose()
<_skeletonPoseDirty expr="true">
true
<_currentPose>
<_nextPose>* Returns the current skeleton pose frame of animation in the clip based on the internal playhead position.* Returns the next skeleton pose frame of animation in the clip based on the internal playhead position.* Returns the current skeleton pose of the animation in the clip based on the internal playhead position.* @inheritDoc* @inheritDoc* Updates the output skeleton pose of the node based on the internal playhead position.
*
* @param skeleton The skeleton used by the animator requesting the ouput pose.* @inheritDoc** The x value of the quaternion.* The y value of the quaternion.* The z value of the quaternion.* The w value of the quaternion.* Returns the magnitude of the quaternion object.* Fills the quaternion object with the result from a multiplication of two quaternion objects.
*
* @param qa The first quaternion in the multiplication.
* @param qb The second quaternion in the multiplication.{ target : null }* Fills the quaternion object with values representing the given rotation around a vector.
*
* @param axis The axis around which to rotate
* @param angle The angle in radians of the rotation.* Spherically interpolates between two quaternions, providing an interpolation between rotations with constant angle change rate.
* @param qa The first quaternion to interpolate.
* @param qb The second quaternion to interpolate.
* @param t The interpolation weight, a value between 0 and 1.* Linearly interpolates between two quaternions.
* @param qa The first quaternion to interpolate.
* @param qb The second quaternion to interpolate.
* @param t The interpolation weight, a value between 0 and 1.* Fills the quaternion object with values representing the given euler rotation.
*
* @param ax The angle in radians of the rotation around the ax axis.
* @param ay The angle in radians of the rotation around the ay axis.
* @param az The angle in radians of the rotation around the az axis.{ target : null }* Fills a target Vector3D object with the Euler angles that form the rotation represented by this quaternion.
* @param target An optional Vector3D object to contain the Euler angles. If not provided, a new object is created.
* @return The Vector3D containing the Euler angles.{ val : 1 }* Normalises the quaternion object.* Used to trace the values of a quaternion.
*
* @return A string representation of the quaternion object.{ target : null }* Converts the quaternion to a Matrix3D object representing an equivalent rotation.
* @param target An optional Matrix3D container to store the transformation in. If not provided, a new object is created.
* @return A Matrix3D object representing an equivalent rotation.* Extracts a quaternion rotation matrix out of a given Matrix3D object.
* @param matrix The Matrix3D out of which the rotation will be extracted.{ exclude4thRow : false }* Clones the quaternion.
* @return An exact duplicate of the current Quaternion.{ target : null }* Rotates a point.
* @param vector The Vector3D object to be rotated.
* @param target An optional Vector3D object that will contain the rotated coordinates. If not provided, a new object will be created.
* @return A Vector3D object containing the rotated point.* Copies the data from a quaternion into this instance.
* @param q The quaternion to copy from.{ w : 1, z : 0, y : 0, x : 0 }* Creates a new Quaternion object.
* @param x The x value of the quaternion.
* @param y The y value of the quaternion.
* @param z The z value of the quaternion.
* @param w The w value of the quaternion.* A Quaternion object which can be used to represent rotations.
<_tempQuat expr="new Quaternion()" line="19" static="1">
new Quaternion()
<_blendWeight expr="0">
0
<_skeletonAnimationNode>
<_skeletonPose expr="new SkeletonPose()">
new SkeletonPose()
<_skeletonPoseDirty expr="true">
true
<_baseInput>
<_differenceInput>* Defines a fractional value between 0 and 1 representing the blending ratio between the base input (0) and difference input (1),
* used to produce the skeleton pose output.
*
* @see #baseInput
* @see #differenceInput* @inheritDoc* @inheritDoc* Returns the current skeleton pose of the animation in the clip based on the internal playhead position.* @inheritDoc* Updates the output skeleton pose of the node based on the blendWeight value between base input and difference input nodes.
*
* @param skeleton The skeleton used by the animator requesting the ouput pose.*
<_skeletonAnimationNode>
<_skeletonPose expr="new SkeletonPose()">
new SkeletonPose()
<_skeletonPoseDirty expr="true">
true
<_inputA>
<_inputB>
<_blendWeight expr="0">
0
<_direction expr="0">
0
<_blendDirty expr="true">
true
<_forward>
<_backward>
<_left>
<_right>* Defines the direction in degrees of the aniamtion between the forwards (0), right(90) backwards (180) and left(270) input nodes,
* used to produce the skeleton pose output.* @inheritDoc* @inheritDoc* Returns the current skeleton pose of the animation in the clip based on the internal playhead position.* @inheritDoc* Updates the output skeleton pose of the node based on the direction value between forward, backwards, left and right input nodes.
*
* @param skeleton The skeleton used by the animator requesting the ouput pose.away3d* Updates the blend value for the animation output based on the direction value between forward, backwards, left and right input nodes.
*
* @private*
<_skeletonAnimationNode>
<_skeletonPose expr="new SkeletonPose()">
new SkeletonPose()
<_skeletonPoseDirty expr="true">
true
<_blendWeights expr="new Vector<Float>()">
()]]>
<_inputs expr="new Vector<ISkeletonAnimationState>()">
()]]>* @inheritDoc* @inheritDoc* Returns the current skeleton pose of the animation in the clip based on the internal playhead position.* Returns the blend weight of the skeleton aniamtion node that resides at the given input index.
*
* @param index The input index for which the skeleton animation node blend weight is requested.* Sets the blend weight of the skeleton aniamtion node that resides at the given input index.
*
* @param index The input index on which the skeleton animation node blend weight is to be set.
* @param blendWeight The blend weight value to use for the given skeleton animation node index.* @inheritDoc* Updates the output skeleton pose of the node based on the blend weight values given to the input nodes.
*
* @param skeleton The skeleton used by the animator requesting the ouput pose.*
<_frames>
<_clipNode>
<_currentFrameID expr="0">
0
<_reverse>
<_back>
<_backAndForth>
<_forcedFrame>* @inheritDoc* returns current frame index of the animation.
* The index is zero based and counts from first frame of the defined animation.away3d* returns the total frames for the current animation.* @inheritDoc
<_frames>
<_uvClipNode>
<_currentUVFrame>
<_nextUVFrame>* @inheritDoc* @inheritDoc* @inheritDoc
<_frames>
<_vertexClipNode>
<_currentGeometry>
<_nextGeometry>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc*0.5CrossfadeTransitionNode object.]]>* A skeleton animation node that uses two animation node inputs to blend a lineraly interpolated output of a skeleton pose.
<_crossfadeAnimationNode>
<_animationStateTransitionComplete>* @inheritDoc*
<_controller>
away3d@private
<_smallestNumber expr="0.0000000000000000000001">
0.0000000000000000000001
<_transformDirty expr="true">
true
<_positionDirty>
<_rotationDirty>
<_scaleDirty>
<_positionChanged>
<_rotationChanged>
<_scaleChanged>
<_rotationX expr="0">
0
<_rotationY expr="0">
0
<_rotationZ expr="0">
0
<_eulers expr="new Vector3D()">
new Vector3D()
<_flipY expr="new Matrix3D()">
new Matrix3D()
<_listenToPositionChanged>
<_listenToRotationChanged>
<_listenToScaleChanged>
<_zOffset expr="0">
0{ useWeakReference : false, priority : 0, useCapture : false }{ useCapture : false }
<_transform expr="new Matrix3D()">
new Matrix3D()
<_scaleX expr="1">
1
<_scaleY expr="1">
1
<_scaleZ expr="1">
1
<_x expr="0">
0
<_y expr="0">
0
<_z expr="0">
0
<_pivotPoint expr="new Vector3D()">
new Vector3D()
<_pivotZero expr="true">
true
<_pos expr="new Vector3D()">
new Vector3D()
<_rot expr="new Vector3D()">
new Vector3D()
<_sca expr="new Vector3D()">
new Vector3D()
<_transformComponents>* An object that can contain any extra data.ObjectContainer3D.]]>ObjectContainer3D.]]>ObjectContainer3D.]]>ObjectContainer3D.]]>ObjectContainer3D.]]>ObjectContainer3D.]]>* Defines the scale of the 3d object along the x-axis, relative to local coordinates.* Defines the scale of the 3d object along the y-axis, relative to local coordinates.* Defines the scale of the 3d object along the z-axis, relative to local coordinates.Vector3D object containing euler angles for rotation around x, y and z axis.]]>ObjectContainer3D.]]>* Defines the local point around which the object rotates.ObjectContainer3D.]]>{ v : null }ObjectContainer3D.
* @param v the destination Vector3D
* @return]]>******* Appends a uniform scale to the current transformation.
* @param value The amount by which to scale.* Moves the 3d object forwards along it's local z axis
*
* @param distance The length of the movement* Moves the 3d object backwards along it's local z axis
*
* @param distance The length of the movement* Moves the 3d object backwards along it's local x axis
*
* @param distance The length of the movement* Moves the 3d object forwards along it's local x axis
*
* @param distance The length of the movement* Moves the 3d object forwards along it's local y axis
*
* @param distance The length of the movement* Moves the 3d object backwards along it's local y axis
*
* @param distance The length of the movement* Moves the 3d object directly to a point in space
*
* @param dx The amount of movement along the local x axis.
* @param dy The amount of movement along the local y axis.
* @param dz The amount of movement along the local z axis.* Moves the local point around which the object rotates.
*
* @param dx The amount of movement along the local x axis.
* @param dy The amount of movement along the local y axis.
* @param dz The amount of movement along the local z axis.* Moves the 3d object along a vector by a defined length
*
* @param axis The vector defining the axis of movement
* @param distance The length of the movement* Moves the 3d object along a vector by a defined length
*
* @param axis The vector defining the axis of movement
* @param distance The length of the movement* Rotates the 3d object around it's local x-axis
*
* @param angle The amount of rotation in degrees* Rotates the 3d object around it's local y-axis
*
* @param angle The amount of rotation in degrees* Rotates the 3d object around it's local z-axis
*
* @param angle The amount of rotation in degrees* Rotates the 3d object directly to a euler angle
*
* @param ax The angle in degrees of the rotation around the x axis.
* @param ay The angle in degrees of the rotation around the y axis.
* @param az The angle in degrees of the rotation around the z axis.* Rotates the 3d object around an axis by a defined angle
*
* @param axis The vector defining the axis of rotation
* @param angle The amount of rotation in degrees{ upAxis : null }ObjectContainer3D.
*
* @param target The vector defining the point to be looked at
* @param upAxis An optional vector used to define the desired up orientation of the 3d object after rotation has occurred]]>* Cleans up any resources used by the current object.* @inheritDocaway3d* Invalidates the transformation matrix, causing it to be updated upon the next request* Creates an Object3D object.
*
* Standard Transform:
*
*
The standard order for transformation is [parent transform] * (Translate+Pivot) * (Rotate) * (-Pivot) * (Scale) * [child transform]
*
This is the order of matrix multiplications, left-to-right.
*
The order of transformation is right-to-left, however!
* (Scale) happens before (-Pivot) happens before (Rotate) happens before (Translate+Pivot)
* with no pivot, the above transform works out to [parent transform] * Translate * Rotate * Scale * [child transform]
* (Scale) happens before (Rotate) happens before (Translate)
*
This is based on code in updateTransform and ObjectContainer3D.updateSceneTransform().
*
Matrix3D prepend = operator on rhs - e.g. transform' = transform * rhs;
*
Matrix3D append = operator on lhr - e.g. transform' = lhs * transform;
*
*
* To affect Scale:
*
*
set scaleX/Y/Z directly, or call scale(delta)
*
*
* To affect Pivot:
*
*
set pivotPoint directly, or call movePivot()
*
*
* To affect Rotate:
*
*
set rotationX/Y/Z individually (using degrees), set eulers [all 3 angles] (using radians), or call rotateTo()
*
call pitch()/yaw()/roll()/rotate() to add an additional rotation *before* the current transform.
* rotationX/Y/Z will be reset based on these operations.
*
*
* To affect Translate (post-rotate translate):
*
*
*
set x/y/z/position or call moveTo().
*
call translate(), which modifies x/y/z based on a delta vector.
*
call moveForward()/moveBackward()/moveLeft()/moveRight()/moveUp()/moveDown()/translateLocal() to add an
* additional translate *before* the current transform. x/y/z will be reset based on these operations.
*
]]>away3daway3d
<_ancestorsAllowMouseEnabled>
away3d@private
<_isRoot>
away3d
<_scene>
<_parent>
<_sceneTransform expr="new Matrix3D()">
new Matrix3D()
<_sceneTransformDirty expr="true">
true
<_explicitPartition>
<_implicitPartition>
<_mouseEnabled>
<_sceneTransformChanged>
<_scenechanged>
<_children expr="new Vector<ObjectContainer3D>()">
()]]>
<_mouseChildren expr="true">
true
<_oldScene>
<_inverseSceneTransform expr="new Matrix3D()">
new Matrix3D()
<_inverseSceneTransformDirty expr="true">
true
<_scenePosition expr="new Vector3D()">
new Vector3D()
<_scenePositionDirty expr="true">
true
<_explicitVisibility expr="true">
true
<_implicitVisibility expr="true">
true
<_listenToSceneTransformChanged>
<_listenToSceneChanged>
<_ignoreTransform expr="false">
false* Does not apply any transformations to this object. Allows static objects to be described in world coordinates without any matrix calculations.* @private
* The space partition used for this object, possibly inherited from its parent.away3d@privateaway3d@private* Indicates whether the IRenderable should trigger mouse events, and hence should be rendered for hit testing.* @inheritDoc* Invalidates the scene transformation matrix, causing it to be updated the next time it's requested.* Updates the scene transformation matrix.*** The global position of the ObjectContainer3D in the scene. The value of the return object should not be changed.* The minimum extremum of the object along the X-axis.* The minimum extremum of the object along the Y-axis.* The minimum extremum of the object along the Z-axis.* The maximum extremum of the object along the X-axis.* The maximum extremum of the object along the Y-axis.* The maximum extremum of the object along the Z-axis.* The space partition to be used by the object container and all its recursive children, unless it has its own
* space partition assigned.* The transformation matrix that transforms from model to world space.* A reference to the Scene3D object to which this object belongs.* The inverse scene transform object that transforms from world to model space.* The parent ObjectContainer3D to which this object's transformation is relative.* Adds a child ObjectContainer3D to the current object. The child's transformation will become relative to the
* current object's transformation.
* @param child The object to be added as a child.
* @return A reference to the added child object.* Adds an array of 3d objects to the scene as children of the container
*
* @param ...childarray An array of 3d objects to be added* Removes a 3d object from the child array of the container
*
* @param child The 3d object to be removed
* @throws Error ObjectContainer3D.removeChild(null)* Removes a 3d object from the child array of the container
*
* @param index Index of 3d object to be removed* Retrieves the child object at the given index.
* @param index The index of the object to be retrieved.
* @return The child object at the given index.* The amount of child objects of the ObjectContainer3D.{ upAxis : null }* @inheritDoc* @inheritDoc* Disposes the current ObjectContainer3D including all of its children. This is a merely a convenience method.* Clones this ObjectContainer3D instance along with all it's children, and
* returns the result (which will be a copy of this container, containing copies
* of all it's children.)* @inheritDoc{ useWeakReference : false, priority : 0, useCapture : false }{ useCapture : false }* Creates a new ObjectContainer3D object.* ObjectContainer3D is the most basic scene graph node. It can contain other ObjectContainer3Ds.
*
* ObjectContainer3D can have its own scene partition assigned. However, when assigned to a different scene,
* it will loose any partition information, since partitions are tied to a scene.
<_refv>
<_driver>
<_reference>
<_sound>
<_paused>
<_playing>* Defines the overall (master) volume of the 3D sound, after any
* positional adjustments to volume have been applied. This value can
* equally well be cotrolled by modifying the volume property on the
* driver used by this Sound3D instance.
*
* @see ISound3DDriver.volume* Defines a scale value used by the driver when adjusting sound
* intensity to simulate distance. The default number of 1000 means
* that sound volume will near the hearing threshold as the distance
* between listener and sound source approaches 1000 Away3D units.
*
* @see ISound3DDriver.scale* Returns a boolean indicating whether or not the sound is currently
* playing.* Returns a boolean indicating whether or not playback is currently
* paused.* Start (or resume, if paused) playback.* Pause playback. Resume using play().* Stop and rewind sound file. Replay (from the beginning) using play().
* To temporarily pause playback, allowing you to resume from the same point,
* use pause() instead.
*
* @see pause()* Alternate between pausing and resuming playback of this sound. If called
* while sound is paused (or stopped), this will resume playback. When
* called during playback, it will pause it.* @internal
* When scene changes, mute if object was removed from scene.* @internal
* When scene transform changes, calculate the relative vector between the listener/reference object
* and the position of this sound source, and update the driver to use
* this as the reference vector.{ scale : 1000, volume : 1, driver : null }mono (single-channel, non-stereo) sound stream.
* @param reference The reference, or "listener" object, typically a camera.
* @param driver Sound3D driver to use when applying simulation effects. Defaults to SimplePanVolumeDriver.
* @param init [optional] An initialisation object for specifying default instance properties.]]>A sound source/emitter object that can be positioned in 3D space, and from which all audio
* playback will be transformed to simulate orientation.
*
*
The Sound3D object works much in the same fashion as primitives, lights and cameras, in that
* it can be added to a scene and positioned therein. It is the main object, in the 3D sound API,
* which the programmer will interact with.
*
*
Actual sound transformation is performed by a driver object, which is defined at the time of
* creation by the driver ini variable, the default being a simple pan/volume driver.
*
* @see SimplePanVolumeDriver]]>
<_scale>
<_volume>
<_soundTransform>
<_emitter>
<_listener>
<_refv>
<_inv_ref_mtx>
<_r>
<_r2>
<_azimuth>* updates the SoundTransform based on the emitter and listener.* udpates the SoundTransform based on the vector representing the distance and
* angle between the emitter and listener.
*
* @param v Vector3D
*{ scale : 1000, volume : 1, listener : null, emitter : null }* Creates a new SoundTransform3D.
* @param emitter the ObjectContainer3D from which the sound originates.
* @param listener the ObjectContainer3D considered to be to position of the listener (usually, the camera)
* @param volume the maximum volume used.
* @param scale the distance that the sound covers.
** SoundTransform3D is a convenience class that helps adjust a Soundtransform's volume and pan according
* position and distance of a listener and emitter object. See SimplePanVolumeDriver for the limitations
* of this method.
<_ref_v>
<_src>
<_volume>
<_scale>
<_mute>
<_paused>
<_playing>* The sound object (flash.media.Sound) to play at the point of the sound
* source. The output of this sound is modified by the driver before actual
* sound output.* Arbitrary value by which all distances are divided. The default value of
* 1000 is usually suitable for scenes with a scale that roughly matches the
* standard Away3D scale, i.e. that look good from the default camera position.* Master volume/gain after 3D modifications to pan/volume have been applied.
* Modify this to raise or lower the overall volume regardless of where the
* sound source is located.* Mutes/unmutes the driver completely, which is typically only done (internally
* by Sound3D) whenever the sound source is removed from the scene. When true,
* any values set to the volume property will be ignored.* Start playing (or resume if paused) the audio. This is NOT The same thing
* as invoking play() on the flash.media.Sound object used as the source sound
* for the driver.* Temporarily pause playback. Resume using play().* Stop playback and reset playhead. Subsequent play() calls will restart the
* playback from the beginning of the sound file.* Change the position of the sound source relative to the listener, known as
* the reference vector. This is invoked by the Sound3D object when it's position
* changes, and should typically not be called by any other code.
*
* @param v Sound source position vector relative to the listener.
<_sound_chan>
<_pause_position>
<_st3D>
<_updateSoundTransform set="method" line="88">* The Simple pan/volume Sound3D driver will alter the pan and volume properties on the
* sound transform object of a regular openfl.media.Sound3D representation of the sound. This
* is very efficient, but has the drawback that it can only reflect azimuth and distance,
* and will disregard elevation. You'll be able to hear whether a
<_min>
<_max>
<_aabbPoints expr="new Vector<Float>()">
()]]>
<_aabbPointsDirty expr="true">
true
<_boundingRenderable>* The maximum extreme of the bounds* The minimum extreme of the bounds* Returns a vector of values representing the concatenated cartesian triplet of the 8 axial extremities of the bounding volume.* Returns the bounding renderable object for the bounding volume, in cases where the showBounds
* property of the entity is set to true.
*
* @see away3d.entities.Entity#showBounds* Sets the bounds to zero size.* Disposes of the bounds renderable object. Used to clear memory after a bounds rendeable is no longer required.* Updates the bounds to fit a Geometry object.
*
* @param geometry The Geometry object to be bounded.* Sets the bound to fit a given sphere.
*
* @param center The center of the sphere to be bounded
* @param radius The radius of the sphere to be bounded* Sets the bounds to the given extrema.
*
* @param minX The minimum x value of the bounds
* @param minY The minimum y value of the bounds
* @param minZ The minimum z value of the bounds
* @param maxX The maximum x value of the bounds
* @param maxY The maximum y value of the bounds
* @param maxZ The maximum z value of the bounds* Tests if the bounds are in the camera frustum.
*
* @param mvpMatrix The model view projection matrix for the object to which this bounding box belongs.
* @return True if the bounding box is at least partially inside the frustum* Tests if the bounds overlap other bounds, treating both bounds as AABBs.* Clones the current BoundingVolume object
* @return An exact duplicate of this object* Method for calculating whether an intersection of the given ray occurs with the bounding volume.
*
* @param position The starting position of the casting ray in local coordinates.
* @param direction A unit vector representing the direction of the casting ray in local coordinates.
* @param targetNormal The vector to store the bounds' normal at the point of collision
* @return A Boolean value representing the detection of an intersection.* Method for calculating whether the given position is contained within the bounding volume.
*
* @param position The position in local coordinates to be checked.
* @return A Boolean value representing the detection of a contained position.BoundingVolumeBase object]]>* An abstract base class for all bounding volume classes. It should not be instantiated directly.
<_centerX expr="0">
0
<_centerY expr="0">
0
<_centerZ expr="0">
0
<_halfExtentsX expr="0">
0
<_halfExtentsY expr="0">
0
<_halfExtentsZ expr="0">
0* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ target : null }* Finds the closest point on the bounding volume to another given point. This can be used for maximum error calculations for content within a given bound.
* @param point The point for which to find the closest point on the bounding volume
* @param target An optional Vector3D to store the result to prevent creating a new object.
* @returnAxisAlignedBoundingBox object.]]>* AxisAlignedBoundingBox represents a bounding box volume that has its planes aligned to the local coordinate axes of the bounded object.
* This is useful for most meshes.
<_radius expr="0">
0
<_centerX expr="0">
0
<_centerY expr="0">
0
<_centerZ expr="0">
0* The radius of the bounding sphere, calculated from the contents of the entity.* @inheritDoc* todo: pass planes?
* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDocBoundingSphere object]]>* BoundingSphere represents a spherical bounding volume defined by a center point and a radius.
* This bounding volume is useful for point lights.
<_alwaysIn>
<_renderable>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ renderable : null, alwaysIn : true }* NullBounds represents a debug bounding "volume" that is either considered always in, or always out of the frustum.
* NullBounds is useful for entities that are always considered in the frustum, such as directional lights or skyboxes.
<_showBounds>
<_partitionNode>
<_boundsIsShown expr="false">
false
<_shaderPickingDetails>
<_pickingCollisionVO>
away3d
<_pickingCollider>
away3d
<_staticNode>
away3d
<_bounds>
<_boundsInvalid expr="true">
true
<_worldBounds>
<_worldBoundsInvalid expr="true">
true* Used by the shader-based picking system to determine whether a separate render pass is made in order
* to offer more details for the picking collision object, including local position, normal vector and uv value.
* Defaults to false.
*
* @see away3d.core.pick.ShaderPicker* Defines whether or not the object will be moved or animated at runtime. This property is used by some partitioning systems to improve performance.
* Warning: if set to true, they may not be processed by certain partition systems using static visibility lists, unless they're specifically assigned to the visibility list.* Returns a unique picking collision value object for the entity.away3d* Tests if a collision occurs before shortestCollisionDistance, using the data stored in PickingCollisionVO.
* @param shortestCollisionDistance
* @return** @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* The bounding volume approximating the volume occupied by the Entity.* @inheritDoc* @inheritDoc* Used by the raycast-based picking system to determine how the geometric contents of an entity are processed
* in order to offer more details for the picking collision object, including local position, normal vector and uv value.
* Defaults to null.
*
* @see away3d.core.pick.RaycastPicker* Gets a concrete EntityPartition3DNode subclass that is associated with this Entity instance* Factory method that returns the current partition node. Needs to be overridden by concrete subclasses
* such as Mesh to return the correct concrete subtype of EntityPartition3DNode (for Mesh = MeshPartition3DNode,
* most IRenderables (particles fe) would return RenderablePartition3DNode, I suppose)* Creates the default bounding box to be used by this type of Entity.
* @return* Updates the bounding volume for the object. Overriding methods need to set invalid flag to false!* @inheritDoc* Invalidates the bounding volume, causing to be updated when requested.* Notify the scene that the global scene bounds have changed, so it can be repartitioned.* Notify the scene that a new partition was assigned.* Notify the scene that a partition was unassigned.* Creates a new Entity object.* The Entity class provides an abstract base class for all scene graph objects that are considered having a
* "presence" in the scene, in the sense that it can be considered an actual object with a position and a size (even
* if infinite or idealised), rather than a grouping.
* Entities can be partitioned in a space partitioning system and in turn collected by an EntityCollector.
*
* @see away3d.partition.Partition3D
* @see away3d.core.traverse.EntityCollector
<_viewProjection expr="new Matrix3D()">
new Matrix3D()
<_viewProjectionDirty expr="true">
true
<_lens>
<_frustumPlanes>
<_frustumPlanesDirty expr="true">
true** @inheritDoc* @inheritDoc* @inheritDoc* The lens used by the camera to perform the projection;* The view projection matrix of the camera.{ v : null }* Calculates the scene position of the given normalized coordinates in screen space.
*
* @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
* @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
* @param sZ The z coordinate in screen space, representing the distance into the screen.
* @param v The destination Vector3D object
* @return The scene position of the given screen coordinates.{ v : null }* Calculates the ray in scene space from the camera to the given normalized coordinates in screen space.
*
* @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
* @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
* @param sZ The z coordinate in screen space, representing the distance into the screen.
* @param v The destination Vector3D object
* @return The ray from the camera to the scene space position of the given screen coordinates.{ v : null }* Calculates the normalised position in screen space of the given scene position.
*
* @param point3d the position vector of the scene coordinates to be projected.
* @param v The destination Vector3D object
* @return The normalised screen position of the given scene coordinates.{ lens : null }* Creates a new Camera3D object
* @param lens An optional lens object that will perform the projection. Defaults to PerspectiveLens.
*
* @see away3d.cameras.lenses.PerspectiveLens* A Camera3D object represents a virtual camera through which we view the scene.0* Default option, projects to a left-handed coordinate system1* Projects to a right-handed coordinate systemcoordinateSystem property
*
* @see away3d.cameras.lenses.PerspectiveLens#coordinateSystem]]>away3d
<_matrix>
<_scissorRect expr="new Rectangle()">
new Rectangle()
<_viewPort expr="new Rectangle()">
new Rectangle()
<_near expr="20">
20
<_far expr="3000">
3000
<_aspectRatio expr="1">
1
<_matrixInvalid expr="true">
true
<_frustumCorners expr="new Vector<Float>(8 * 3, true)">
(8 * 3, true)]]>
<_unprojection>
<_unprojectionInvalid expr="true">
true* Retrieves the corner points of the lens frustum.* The projection matrix that transforms 3D geometry to normalized homogeneous coordinates.* The distance to the near plane of the frustum. Anything behind near plane will not be rendered.* The distance to the far plane of the frustum. Anything beyond the far plane will not be rendered.{ v : null }* Calculates the normalised position in screen space of the given scene position relative to the camera.
*
* @param point3d the position vector of the scene coordinates to be projected.
* @param v The destination Vector3D object
* @return The normalised screen position of the given scene coordinates relative to the camera.{ v : null }* Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
*
* @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
* @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
* @param sZ The z coordinate in screen space, representing the distance into the screen.
* @param v The destination Vector3D object
* @return The scene position relative to the camera of the given screen coordinates.* Creates an exact duplicate of the lens* The aspect ratio (width/height) of the view. Set by the renderer.
* @private* Invalidates the projection matrix, which will cause it to be updated on the next request.* Updates the matrixaway3daway3d* Creates a new LensBase object.* An abstract base class for all lens classes. Lens objects provides a projection matrix that transforms 3D geometry to normalized homogeneous coordinates.* Creates a new FreeMatrixLens object.* FreeMatrixLens provides a projection lens that exposes a full projection matrix, rather than provide one through
* more user-friendly settings. Whenever the matrix is updated, it needs to be reset in order to trigger an update.The x axis defined as a Vector3D object with coordinates (1,0,0).The y axis defined as a Vector3D object with coordinates (0,1,0).The z axis defined as a Vector3D object with coordinates (0,0,1).Returns the angle in radians between two vectors. The returned angle is the
smallest radian the first Vector3D object rotates until it aligns with the
second Vector3D object.
The `angleBetween()` method is a static method. You can use it directly as a method
of the Vector3D class.
To convert a degree to a radian, you can use the following formula:
```haxe
radian = Math.PI/180 * degree
```
@param a The first Vector3D object.
@param b The second Vector3D object.
@returns The angle between two Vector3D objects.Returns the distance between two Vector3D objects. The `distance()` method is a
static method. You can use it directly as a method of the Vector3D class to get
the Euclidean distance between two three-dimensional points.
@param pt1 A Vector3D object as the first three-dimensional point.
@param pt2 A Vector3D object as the second three-dimensional point.
@returns The distance between two Vector3D objects.The length, magnitude, of the current Vector3D object from the origin (0,0,0) to
the object's x, y, and z coordinates. The `w` property is ignored. A unit vector has
a length or magnitude of one.The square of the length of the current Vector3D object, calculated using the `x`,
`y`, and `z` properties. The `w` property is ignored. Use the `lengthSquared()`
method whenever possible instead of the slower `Math.sqrt()` method call of the
`Vector3D.length()` method.The fourth element of a Vector3D object (in addition to the `x`, `y`, and `z`
properties) can hold data such as the angle of rotation. The default value is 0.
Quaternion notation employs an angle as the fourth element in its calculation of
three-dimensional rotation. The w property can be used to define the angle of
rotation about the Vector3D object. The combination of the rotation angle and the
coordinates (x,y,z) determines the display object's orientation.
In addition, the w property can be used as a perspective warp factor for a
projected three-dimensional position or as a projection transform value in
representing a three-dimensional coordinate projected into the two-dimensional
space. For example, you can create a projection matrix using the `Matrix3D.rawData`
property, that, when applied to a Vector3D object, produces a transform value in
the Vector3D object's fourth element (the `w` property). Dividing the Vector3D
object's other elements by the transform value then produces a projected Vector3D
object. You can use the `Vector3D.project()` method to divide the first three
elements of a Vector3D object by its fourth element.The first element of a Vector3D object, such as the x coordinate of a point in
the three-dimensional space. The default value is 0.The second element of a Vector3D object, such as the y coordinate of a point in
the three-dimensional space. The default value is 0.The third element of a Vector3D object, such as the z coordinate of a point in
three-dimensional space. The default value is 0.Adds the value of the x, y, and z elements of the current Vector3D object to the
values of the x, y, and z elements of another Vector3D object. The `add()` method
does not change the current Vector3D object. Instead, it returns a new Vector3D
object with the new values.
The result of adding two vectors together is a resultant vector. One way to
visualize the result is by drawing a vector from the origin or tail of the first
vector to the end or head of the second vector. The resultant vector is the
distance between the origin point of the first vector and the end point of the
second vector.

@param a A Vector3D object to be added to the current Vector3D object.
@returns A Vector3D object that is the result of adding the current Vector3D
object to another Vector3D object.Returns a new Vector3D object that is an exact copy of the current Vector3D object.
@returns A new Vector3D object that is a copy of the current Vector3D object.Copies all of vector data from the source Vector3D object into the calling Vector3D
object.
@param sourceVector3D The Vector3D object from which to copy the data.Returns a new Vector3D object that is perpendicular (at a right angle) to the
current Vector3D and another Vector3D object. If the returned Vector3D object's
coordinates are (0,0,0), then the two Vector3D objects are parallel to each other.

You can use the normalized cross product of two vertices of a polygon surface with
the normalized vector of the camera or eye viewpoint to get a dot product. The
value of the dot product can identify whether a surface of a three-dimensional
object is hidden from the viewpoint.
@param a A second Vector3D object.
@returns A new Vector3D object that is perpendicular to the current Vector3D
object and the Vector3D object specified as the parameter.Decrements the value of the x, y, and z elements of the current Vector3D object by
the values of the x, y, and z elements of specified Vector3D object. Unlike the
`Vector3D.subtract()` method, the `decrementBy()` method changes the current
Vector3D object and does not return a new Vector3D object.
@param a The Vector3D object containing the values to subtract from the current
Vector3D object.If the current Vector3D object and the one specified as the parameter are unit
vertices, this method returns the cosine of the angle between the two vertices.
Unit vertices are vertices that point to the same direction but their length is
one. They remove the length of the vector as a factor in the result. You can use
the `normalize()` method to convert a vector to a unit vector.
The `dotProduct()` method finds the angle between two vertices. It is also used in
backface culling or lighting calculations. Backface culling is a procedure for
determining which surfaces are hidden from the viewpoint. You can use the
normalized vertices from the camera, or eye, viewpoint and the cross product of
the vertices of a polygon surface to get the dot product. If the dot product is less
than zero, then the surface is facing the camera or the viewer. If the two unit
vertices are perpendicular to each other, they are orthogonal and the dot product
is zero. If the two vertices are parallel to each other, the dot product is one.
@param a The second Vector3D object.
@returns A scalar which is the dot product of the current Vector3D object and
the specified Vector3D object.{ allFour : false }Determines whether two Vector3D objects are equal by comparing the x, y, and z
elements of the current Vector3D object with a specified Vector3D object. If the
values of these elements are the same, the two Vector3D objects are equal. If the
second optional parameter is set to `true`, all four elements of the Vector3D
objects, including the `w` property, are compared.
@param toCompare The Vector3D object to be compared with the current Vector3D
object.
@param allFour An optional parameter that specifies whether the `w` property of
the Vector3D objects is used in the comparison.
@returns A value of `true` if the specified Vector3D object is equal to the current Vector3D object; `false` if it is not equal.Increments the value of the x, y, and z elements of the current Vector3D object by
the values of the x, y, and z elements of a specified Vector3D object. Unlike the
`Vector3D.add()` method, the `incrementBy()` method changes the current Vector3D
object and does not return a new Vector3D object.
@param a The Vector3D object to be added to the current Vector3D object.{ allFour : false }Compares the elements of the current Vector3D object with the elements of a
specified Vector3D object to determine whether they are nearly equal. The two
Vector3D objects are nearly equal if the value of all the elements of the two
vertices are equal, or the result of the comparison is within the tolerance range.
The difference between two elements must be less than the number specified as the
tolerance parameter. If the third optional parameter is set to true, all four
elements of the Vector3D objects, including the w property, are compared.
Otherwise, only the x, y, and z elements are included in the comparison.
@param toCompare The Vector3D object to be compared with the current Vector3D
object.
@param tolerance A number determining the tolerance factor. If the difference
between the values of the Vector3D element specified in the toCompare parameter
and the current Vector3D element is less than the tolerance number, the two values
are considered nearly equal.
@param allFour An optional parameter that specifies whether the `w` property of
the Vector3D objects is used in the comparison.
@returns A value of `true` if the specified Vector3D object is nearly equal to the current Vector3D object; `false` if it is not equal.Sets the current Vector3D object to its inverse. The inverse object is also
considered the opposite of the original object. The value of the `x`, `y`, and `z`
properties of the current Vector3D object is changed to -x, -y, and -z.Converts a Vector3D object to a unit vector by dividing the first three elements
(x, y, z) by the length of the vector. Unit vertices are vertices that have a
direction but their `length` is one. They simplify vector calculations by removing `length` as a factor.
@returns The length of the current Vector3D object.Divides the value of the `x`, `y`, and `z` properties of the current Vector3D
object by the value of its `w` property.
If the current Vector3D object is the result of multiplying a Vector3D object by a
projection Matrix3D object, the `w` property can hold the transform value. The
`project()` method then can complete the projection by dividing the elements by the
`w` property. Use the Matrix3D.rawData property to create a projection Matrix3D
object.Scales the current Vector3D object by a scalar, a magnitude. The Vector3D object's
x, y, and z elements are multiplied by the scalar number specified in the
parameter. For example, if the vector is scaled by ten, the result is a vector
that is ten times longer. The scalar can also change the direction of the vector.
Multiplying the vector by a negative number reverses its direction.
@param s A multiplier (scalar) used to scale a Vector3D object.Sets the members of Vector3D to the specified values
@param xa the values to set the vector to.
@param ya
@param zaSubtracts the value of the x, y, and z elements of the current Vector3D object
from the values of the x, y, and z elements of another Vector3D object. The
`subtract()` method does not change the current Vector3D object. Instead, this
method returns a new Vector3D object with the new values.
@param a The Vector3D object to be subtracted from the current Vector3D object.
@returns A new Vector3D object that is the difference between the current
Vector3D and the specified Vector3D object.Returns a string representation of the current Vector3D object. The string contains
the values of the x, y, and z properties.
@returns A string containing the values of the x, y, and z properties.{ w : 0, z : 0, y : 0, x : 0 }Creates an instance of a Vector3D object. If you do not specify a parameter for
the constructor, a Vector3D object is created with the elements (0,0,0,0).
@param x The first element, such as the x coordinate.
@param y The second element, such as the y coordinate.
@param z The third element, such as the z coordinate.
@param w An optional element for additional data such as the angle of rotation.The Vector3D class represents a point or a location in the three-dimensional space using
the Cartesian coordinates x, y, and z. As in a two-dimensional space, the `x` property
represents the horizontal axis and the `y` property represents the vertical axis. In
three-dimensional space, the `z` property represents depth. The value of the `x` property increases as the object moves to the right. The value of the `y` property
increases as the object moves down. The `z` property increases as the object moves
farther from the point of view. Using perspective projection and scaling, the object is
seen to be bigger when near and smaller when farther away from the screen. As in a
right-handed three-dimensional coordinate system, the positive z-axis points away from
the viewer and the value of the `z` property increases as the object moves away from the
viewer's eye. The origin point (0,0,0) of the global space is the upper-left corner of
the stage.

The Vector3D class can also represent a direction, an arrow pointing from the origin of
the coordinates, such as (0,0,0), to an endpoint; or a floating-point component of an
RGB (Red, Green, Blue) color model.
Quaternion notation introduces a fourth element, the `w` property, which provides
additional orientation information. For example, the `w` property can define an angle
of rotation of a Vector3D object. The combination of the angle of rotation and the
coordinates `x`, `y`, and `z` can determine the display object's orientation. Here is
a representation of Vector3D elements in matrix notation:
"tags=\"haxe,release\""new Vector3D()
<_baseLens>
<_plane>
<_projectionHeight>
<_xMax>
<_yMax>* The vertical field of view of the projection.{ v : null }* Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
*
* @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
* @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
* @param sZ The z coordinate in screen space, representing the distance into the screen.
* @param v The destination Vector3D object
* @return The scene position relative to the camera of the given screen coordinates.* @inheritDoc{ projectionHeight : 500 }* Creates a new OrthogonalLens object.* The PerspectiveLens object provides a projection matrix that projects 3D geometry isometrically. This entails
* there is no perspective distortion, and lines that are parallel in the scene will remain parallel on the screen.
<_minX>
<_maxX>
<_minY>
<_maxY>{ v : null }* Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
*
* @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
* @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
* @param sZ The z coordinate in screen space, representing the distance into the screen.
* @param v The destination Vector3D object
* @return The scene position relative to the camera of the given screen coordinates.* @inheritDoc* Creates a new OrthogonalLens object.
* @param fieldOfView The vertical field of view of the projection.* The PerspectiveLens object provides a projection matrix that projects 3D geometry isometrically. This entails
* there is no perspective distortion, and lines that are parallel in the scene will remain parallel on the screen.
<_fieldOfView>
<_focalLength>
<_focalLengthInv>
<_yMax>
<_xMax>
<_coordinateSystem>* The vertical field of view of the projection in degrees.* The focal length of the projection in units of viewport height.{ v : null }* Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
*
* @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
* @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
* @param sZ The z coordinate in screen space, representing the distance into the screen.
* @param v The destination Vector3D object
* @return The scene position relative to the camera of the given screen coordinates.* The handedness of the coordinate system projection. The default is LEFT_HANDED.* @inheritDoc{ coordinateSystem : 0, fieldOfView : 60 }* Creates a new PerspectiveLens object.
*
* @param fieldOfView The vertical field of view of the projection.* The PerspectiveLens object provides a projection matrix that projects 3D geometry with perspective distortion.
<_minAngleX>
<_minLengthX>
<_tanMinX>
<_maxAngleX>
<_maxLengthX>
<_tanMaxX>
<_minAngleY>
<_minLengthY>
<_tanMinY>
<_maxAngleY>
<_maxLengthY>
<_tanMaxY>{ v : null }* Calculates the scene position relative to the camera of the given normalized coordinates in screen space.
*
* @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right.
* @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom.
* @param sZ The z coordinate in screen space, representing the distance into the screen.
* @param v The destination Vector3D object
* @return The scene position relative to the camera of the given screen coordinates.* @inheritDoc{ maxAngleY : 40, minAngleY : -40, maxAngleX : 40, minAngleX : -40 }* Creates a new PerspectiveLens object.
*
* @param fieldOfView The vertical field of view of the projection.* The PerspectiveLens object provides a projection matrix that projects 3D geometry with perspective distortion.
<_sceneGraphRoot public="1">
<_partitions>* Sends a PartitionTraverser object down the scene partitions
* @param traverser The traverser which will pass through the partitions.
*
* @see away3d.core.traverse.PartitionTraverser
* @see away3d.core.traverse.EntityCollector* The root partition to be used by the Scene3D.* Adds a child to the scene's root.
* @param child The child to be added to the scene
* @return A reference to the added child.* Removes a child from the scene's root.
* @param child The child to be removed from the scene.* Removes a child from the scene's root.
* @param index Index of child to be removed from the scene.* Retrieves the child with the given index
* @param index The index for the child to be retrieved.
* @return The child with the given index* The amount of children directly contained by the scene.away3d* When an entity is added to the scene, or to one of its children, add it to the partition tree.
* @privateaway3d* When an entity is removed from the scene, or from one of its children, remove it from its former partition tree.
* @private* When an entity has moved or changed size, update its position in its partition tree.* When a partition is assigned to an object somewhere in the scene graph, add the partition to the list if it isn't in there yet* When a partition is removed from an object somewhere in the scene graph, remove the partition from the list* Add a partition if it's not in the list* Creates a new Scene3D object.* The Scene3D class represents an independent 3D scene in which 3D objects can be created and manipulated.
* Multiple Scene3D instances can be created in the same SWF file.
*
* Scene management happens through the scene graph, which is exposed using addChild and removeChild methods.
* Internally, the Scene3D object also manages any space partition objects that have been assigned to objects in
* the scene graph, of which there is at least 1.
<_width expr="0">
0
<_height expr="0">
0
<_localTLPos expr="new Point()">
new Point()
<_localBRPos expr="new Point()">
new Point()
<_globalPos expr="new Point()">
new Point()
<_globalWidth expr="0">
0
<_globalHeight expr="0">
0
<_globalPosDirty>
<_scene>
<_camera>
<_entityCollector>
<_aspectRatio>
<_time expr="0">
0
<_deltaTime>
<_backgroundColor expr="0x000000">
0x000000
<_backgroundAlpha expr="1">
1
<_mouse3DManager>
<_touch3DManager>
<_renderer>
<_depthRenderer>
<_addedToStage>
<_forceSoftware>
<_filter3DRenderer>
<_requireDepthRender>
<_depthRender>
<_depthTextureInvalid expr="true">
true
<_hitField>
<_parentIsStage>
<_background>
<_stage3DProxy>
<_backBufferInvalid expr="true">
true
<_antiAlias>
<_rttBufferManager>
<_rightClickMenuEnabled expr="true">
true
<_sourceURL>
<_shareContext expr="false">
false
<_scissorRect>
<_scissorRectDirty expr="true">
true
<_viewportDirty expr="true">
true
<_depthPrepass>
<_profile>
<_layeredView expr="false">
false
<_contextIndex expr="-1">
-1* Forces mouse-move related events even when the mouse hasn't moved. This allows mouseOver and mouseOut events
* etc to be triggered due to changes in the scene graph. Defaults to false.* Used in a sharedContext. When true, clears the depth buffer prior to rendering this particular
* view to avoid depth sorting with lower layers. When false, the depth buffer is not cleared
* from the previous (lower) view's render so objects in this view may be occluded by the lower
* layer. Defaults to false.* The renderer used to draw the scene.* The background color of the screen. This value is only used when clearAll is set to true.* The camera that's used to render the scene for this viewport* Set camera that's used to render the scene for this viewport* The scene that's used to render for this viewport* Set the scene that's used to render for this viewport* The amount of milliseconds the last render call tookfilters* Not supported. Use filters3d instead.filters* Not supported. Use filters3d instead.width* The width of the viewport. When software rendering is used, this is limited by the
* platform to 2048 pixels.widthheight* The height of the viewport. When software rendering is used, this is limited by the
* platform to 2048 pixels.heightxyvisible* The amount of anti-aliasing to be used.* The amount of faces that were pushed through the render pipeline on the last frame render.* Defers control of Context3D clear() and present() calls to Stage3DProxy, enabling multiple Stage3D frameworks
* to share the same Context3D object.* Updates the backbuffer dimensions.* Defines a source url string that can be accessed though a View Source option in the right-click menu.
*
* Requires the stats panel to be enabled.
*
* @param url The url to the source files.* Disposes all memory occupied by the view. This will also dispose the renderer.* Calculates the projected position in screen space of the given scene position.
*
* @param point3d the position vector of the point to be projected.
* @return The absolute screen position of the given scene coordinates.{ v : null }* Calculates the scene position of the given screen coordinates.
*
* eg. unproject(view.mouseX, view.mouseY, 500) returns the scene position of the mouse 500 units into the screen.
*
* @param sX The absolute x coordinate in 2D relative to View3D, representing the screenX coordinate.
* @param sY The absolute y coordinate in 2D relative to View3D, representing the screenY coordinate.
* @param sZ The distance into the screen, representing the screenZ coordinate.
* @param v the destination Vector3D object
* @return The scene position of the given screen coordinates.* Calculates the ray in scene space from the camera to the given screen coordinates.
*
* eg. getRay(view.mouseX, view.mouseY, 500) returns the ray from the camera to a position under the mouse, 500 units into the screen.
*
* @param sX The absolute x coordinate in 2D relative to View3D, representing the screenX coordinate.
* @param sY The absolute y coordinate in 2D relative to View3D, representing the screenY coordinate.
* @param sZ The distance into the screen, representing the screenZ coordinate.
* @return The ray from the camera to the scene space position of the given screen coordinates.away3d* The EntityCollector object that will collect all potentially visible entities in the partition tree.
*
* @see away3d.core.traverse.EntityCollector
* @private* When added to the stage, retrieve a Stage3D instance{ contextIndex : -1, profile : "baseline", forceSoftware : false, renderer : null, camera : null, scene : null }openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()
<_autoUpdate>
<_targetObject>* Target object on which the controller acts. Defaults to null.* Determines whether the controller applies updates automatically. Defaults to true{ interpolate : true }* Manually applies updates to the target 3D object.{ targetObject : null }* Base controller class for dynamically adjusting the propeties of a 3D object.
*
* @param targetObject The 3D object on which to act.
<_currentPanAngle expr="0">
0
<_currentTiltAngle expr="90">
90
<_panAngle expr="0">
0
<_tiltAngle expr="90">
90
<_minTiltAngle expr="-90">
-90
<_maxTiltAngle expr="90">
90
<_steps expr="0">
0
<_walkIncrement expr="0">
0
<_strafeIncrement expr="0">
0
<_wrapPanAngle expr="false">
falsehover() method is called. Defaults to 8.
*
* Affects the speed at which the tiltAngle and panAngle resolve to their targets.
*
* @see #tiltAngle
* @see #panAngle]]>* Rotation of the camera in degrees around the y axis. Defaults to 0.* Elevation angle of the camera in degrees. Defaults to 90.tiltAngle. Defaults to -90.
*
* @see #tiltAngle]]>tiltAngle. Defaults to 90.
*
* @see #tiltAngle]]>* Defines whether the value of the pan angle wraps when over 360 degrees or under 0 degrees. Defaults to false.{ interpolate : true }tiltAngle, panAngle and steps variables.
*
* @param interpolate If the update to a target pan- or tiltAngle is interpolated. Default is true.
*
* @see #tiltAngle
* @see #panAngle
* @see #steps]]>{ wrapPanAngle : false, steps : 8, maxTiltAngle : 90, minTiltAngle : -90, tiltAngle : 90, panAngle : 0, targetObject : null }HoverController object.]]>* Extended camera used to hover round a specified target object.
*
* @see away3d.containers.View3D* The vector representing the up direction of the target object.* The Vector3D object that the target looks at.
<_lookAtPosition>
<_lookAtObject>
<_origin expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_upAxis expr="Vector3D.Y_AXIS">
Vector3D.Y_AXIS
<_pos expr="new Vector3D()">
new Vector3D()* The 3d object that the target looks at.{ interpolate : true }* @inheritDoc{ lookAtObject : null, targetObject : null }LookAtController object.]]>* Extended camera used to automatically look at a specified target object.
*
* @see away3d.containers.View3D
<_currentPanAngle expr="0">
0away3d
<_currentTiltAngle expr="90">
90away3d
<_panAngle expr="0">
0
<_tiltAngle expr="90">
90
<_distance expr="1000">
1000
<_minPanAngle expr="Math.NEGATIVE_INFINITY">
Math.NEGATIVE_INFINITY
<_maxPanAngle expr="Math.POSITIVE_INFINITY">
Math.POSITIVE_INFINITY
<_minTiltAngle expr="-90">
-90
<_maxTiltAngle expr="90">
90
<_steps expr="8">
8
<_yFactor expr="2">
2
<_wrapPanAngle expr="false">
falsehover() method is called. Defaults to 8.
*
* Affects the speed at which the tiltAngle and panAngle resolve to their targets.
*
* @see #tiltAngle
* @see #panAngle]]>* Rotation of the camera in degrees around the y axis. Defaults to 0.* Elevation angle of the camera in degrees. Defaults to 90.* Distance between the camera and the specified target. Defaults to 1000.panAngle. Defaults to -Infinity.
*
* @see #panAngle]]>panAngle. Defaults to Infinity.
*
* @see #panAngle]]>tiltAngle. Defaults to -90.
*
* @see #tiltAngle]]>tiltAngle. Defaults to 90.
*
* @see #tiltAngle]]>* Fractional difference in distance between the horizontal camera orientation and vertical camera orientation. Defaults to 2.
*
* @see #distance* Defines whether the value of the pan angle wraps when over 360 degrees or under 0 degrees. Defaults to false.{ interpolate : true }tiltAngle, panAngle and steps variables.
*
* @param interpolate If the update to a target pan- or tiltAngle is interpolated. Default is true.
*
* @see #tiltAngle
* @see #panAngle
* @see #steps]]>{ wrapPanAngle : false, yFactor : 2, steps : 8, maxPanAngle : null, minPanAngle : null, maxTiltAngle : 90, minTiltAngle : -90, distance : 1000, tiltAngle : 90, panAngle : 0, lookAtObject : null, targetObject : null }HoverController object.]]>* Extended camera used to hover round a specified target object.
*
* @see away3d.containers.View3D{ interpolate : true }{ distance : 700, tiltAngle : 45, lookAtObject : null, targetObject : null }* Controller used to follow behind an object on the XZ plane, with an optional
* elevation (tiltAngle).
*
* @see away3d.containers.View3D
<_velocity>
<_dv>
<_stretch>
<_force>
<_acceleration>
<_desiredPosition>* Stiffness of the spring, how hard is it to extend. The higher it is, the more "fixed" the cam will be.
* A number between 1 and 20 is recommended.* Damping is the spring internal friction, or how much it resists the "boinggggg" effect. Too high and you'll lose it!
* A number between 1 and 20 is recommended.* Mass of the camera, if over 120 and it'll be very heavy to move.new Vector3D(0, 500, -1000)* Offset of spring center from target in target object space, ie: Where the camera should ideally be in the target object space.{ interpolate : true }{ damping : 4, mass : 40, stiffness : 1, lookAtObject : null, targetObject : null }* Uses spring physics to animate the target object towards a position that is
* defined as the lookAtTarget object's position plus the vector defined by the
* positionOffset property.away3daway3daway3d
<_parentGeometry>
<_vertexData>
<_faceNormalsDirty expr="true">
true
<_faceTangentsDirty expr="true">
true
<_faceTangents>
<_indices>
<_indexBuffer expr="new Vector<IndexBuffer3D>(8)">
(8)]]>
<_numIndices>
<_indexBufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_indicesInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_numTriangles>
<_autoDeriveVertexNormals expr="true">
true
<_autoDeriveVertexTangents expr="true">
true
<_autoGenerateUVs expr="false">
false
<_useFaceWeights expr="false">
false
<_vertexNormalsDirty expr="true">
true
<_vertexTangentsDirty expr="true">
true
<_faceNormals>
<_faceWeights>
<_scaleU expr="1">
1
<_scaleV expr="1">
1
<_uvsDirty expr="true">
true* Defines whether a UV buffer should be automatically generated to contain dummy UV coordinates.
* Set to true if a geometry lacks UV data but uses a material that requires it, or leave as false
* in cases where UV data is explicitly defined or the material does not require UV data.* True if the vertex normals should be derived from the geometry, false if the vertex normals are set
* explicitly.* Indicates whether or not to take the size of faces into account when auto-deriving vertex normals and tangents.* The total amount of triangles in the SubGeometry.* Retrieves the VertexBuffer3D object that contains triangle indices.
* @param context The Context3D for which we request the buffer
* @return The VertexBuffer3D object that contains triangle indices.* Updates the tangents for each face.* Updates the normals for each face.* Updates the vertex normals based on the geometry.* Updates the vertex tangents based on the geometry.* The raw index data that define the faces.
*
* @private* Updates the face indices of the SubGeometry.
* @param indices The face indices to upload.* Disposes all buffers in a given vector.
* @param buffers The vector of buffers to dispose.* Disposes all buffers in a given vector.
* @param buffers The vector of buffers to dispose.* True if the vertex tangents should be derived from the geometry, false if the vertex normals are set
* explicitly.* The raw data of the face normals, in the same order as the faces are listed in the index list.
*
* @private* Invalidates all buffers in a vector, causing them the update when they are first requested.
* @param buffers The vector of buffers to invalidate.* The Geometry object that 'owns' this SubGeometry object.
*
* @private* Scales the uv coordinates
* @param scaleU The amount by which to scale on the u axis. Default is 1;
* @param scaleV The amount by which to scale on the v axis. Default is 1;{ scaleV : 1, scaleU : 1 }* Scales the geometry.
* @param scale The amount by which to scale.* The total amount of vertices in the SubGeometry.* The amount of triangles that comprise the IRenderable geometry.* The distance between two consecutive vertex, normal or tangent elements
* This always applies to vertices, normals and tangents.* The distance between two consecutive normal elements
* This always applies to vertices, normals and tangents.* The distance between two consecutive tangent elements
* This always applies to vertices, normals and tangents.* The distance between two consecutive UV elements* The distance between two secondary UV elements* Assigns the attribute stream for vertex positions.
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for UV coordinates
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for a secondary set of UV coordinates
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for vertex normals
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for vertex tangents
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Retrieves the IndexBuffer3D object that contains triangle indices.
* @param context The Context3D for which we request the buffer
* @return The VertexBuffer3D object that contains triangle indices.* Retrieves the object's vertices as a Number array.* Retrieves the object's normals as a Number array.* Retrieves the object's tangents as a Number array.* The offset into vertexData where the vertices are placed* The offset into vertexNormalData where the normals are placed* The offset into vertexTangentData where the tangents are placed* The offset into UVData vector where the UVs are placed* The offset into SecondaryUVData vector where the UVs are placedaway3d* Retrieves the object's indices as a uint array.* Retrieves the object's uvs as a Number array.{ scaleV : 1, scaleU : 1 }away3daway3d
<_vertexDataInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_vertexBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_bufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_numVertices>
<_contextIndex>
<_activeBuffer>
<_activeContext>
<_activeDataInvalid>
<_isolatedVertexPositionData>
<_isolatedVertexPositionDataDirty>* Updates the vertex data. All vertex properties are contained in a single Vector, and the order is as follows:
* 0 - 2: vertex position X, Y, Z
* 3 - 5: normal X, Y, Z
* 6 - 8: tangent X, Y, Z
* 9 - 10: U V
* 11 - 12: Secondary U V{ scaleV : 1, scaleU : 1 }* Isolate and returns a Vector.Number of a specific buffer type
*
* - stripBuffer(0, 3), return only the vertices
* - stripBuffer(3, 3): return only the normals
* - stripBuffer(6, 3): return only the tangents
* - stripBuffer(9, 2): return only the uv's
* - stripBuffer(11, 2): return only the secondary uv's
<_subGeometries>* A collection of SubGeometry objects, each of which contain geometrical data such as vertices, normals, etc.* Adds a new SubGeometry object to the list.
* @param subGeometry The SubGeometry object to be added.* Removes a new SubGeometry object from the list.
* @param subGeometry The SubGeometry object to be removed.* Clones the geometry.
* @return An exact duplicate of the current Geometry object.* Scales the geometry.
* @param scale The amount by which to scale.* Clears all resources used by the Geometry object, including SubGeometries.{ scaleV : 1, scaleU : 1 }* Scales the uv coordinates (tiling)
* @param scaleU The amount by which to scale on the u axis. Default is 1;
* @param scaleV The amount by which to scale on the v axis. Default is 1;* Updates the SubGeometries so all vertex data is represented in different buffers.
* Use this for compatibility with Pixel Bender and PBPickingCollideraway3daway3d* Creates a new Geometry object.* Geometry is a collection of SubGeometries, each of which contain the actual geometrical data such as vertices,
* normals, uvs, etc. It also contains a reference to an animation class, which defines how the geometry moves.
* A Geometry object is assigned to a Mesh, a scene graph occurence of the geometry, which in turn assigns
* the SubGeometries to its respective SubMesh objects.
*
*
*
* @see away3d.core.base.SubGeometry
* @see away3d.scenegraph.Mesh* The material with which to render the object.* The animation used by the material to assemble the vertex code.* IMaterialOwner provides an interface for objects that can use materials.* The transformation matrix that transforms from model to world space.* The transformation matrix that transforms from model to world space, adapted with any special operations needed to render.
* For example, assuring certain alignedness which is not inherent in the scene transform. By default, this would
* return the scene transform.* The inverse scene transform object that transforms from world to model space.* Indicates whether the IRenderable should trigger mouse events, and hence should be rendered for hit testing.* The entity that that initially provided the IRenderable to the render pipeline.* Indicates whether the renderable can cast shadows* Provides a Matrix object to transform the uv coordinates, if the material supports it.
* For TextureMaterial and TextureMultiPassMaterial, the animateUVs property should be set to true.* The total amount of vertices in the SubGeometry.* The amount of triangles that comprise the IRenderable geometry.* The number of data elements in the buffers per vertex.
* This always applies to vertices, normals and tangents.* Assigns the attribute stream for vertex positions.
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for UV coordinates
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for a secondary set of UV coordinates
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for vertex normals
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for vertex tangents
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Retrieves the IndexBuffer3D object that contains triangle indices.
* @param context The Context3D for which we request the buffer
* @return The VertexBuffer3D object that contains triangle indices.* Retrieves the object's vertices as a Number array.* Retrieves the object's normals as a Number array.* Retrieves the object's tangents as a Number array.* Retrieves the object's indices as a UInt array.* Retrieves the object's uvs as a Number array.* IRenderable provides an interface for objects that can be rendered in the rendering pipeline.* ...away3daway3d
<_bufferFormat>
<_jointWeightsData>
<_jointIndexData>
<_animatedData>
<_jointWeightsBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_jointIndexBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_jointWeightsInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_jointIndicesInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_jointWeightContext expr="new Vector<Context3D>(8)">
(8)]]>
<_jointIndexContext expr="new Vector<Context3D>(8)">
(8)]]>
<_jointsPerVertex>
<_condensedJointIndexData>
<_condensedIndexLookUp>
<_numCondensedJoints>* If indices have been condensed, this will contain the original index for each condensed index.* The amount of joints used when joint indices have been condensed.* The animated vertex positions when set explicitly if the skinning transformations couldn't be performed on GPU.* Assigns the attribute stream for joint weights
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Assigns the attribute stream for joint indices
* @param index The attribute stream index for the vertex shader
* @param stage3DProxy The Stage3DProxy to assign the stream to* Clones the current object.
* @return An exact duplicate of the current object.* Cleans up any resources used by this object.away3d* The raw joint weights data.away3d* The raw joint index data.away3d* Creates a new SkinnedSubGeometry object.
* @param jointsPerVertex The amount of joints that can be assigned per vertex.* SkinnedSubGeometry provides a SubGeometry extension that contains data needed to skin vertices. In particular,
* it provides joint indices and weights.
* Important! Joint indices need to be pre-multiplied by 3, since they index the matrix array (and each matrix has 3 float4 elements)
<_uvs>
<_secondaryUvs>
<_vertexNormals>
<_vertexTangents>
<_verticesInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_uvsInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_secondaryUvsInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_normalsInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_tangentsInvalid expr="new Vector<Bool>(8, true)">
(8, true)]]>
<_vertexBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_uvBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_secondaryUvBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_vertexNormalBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_vertexTangentBuffer expr="new Vector<VertexBuffer3D>(8)">
(8)]]>
<_vertexBufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_uvBufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_secondaryUvBufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_vertexNormalBufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_vertexTangentBufferContext expr="new Vector<Context3D>(8)">
(8)]]>
<_numVertices>* The total amount of vertices in the SubGeometry.* @inheritDoc* @inheritDoc* @inheritDoc* Retrieves the VertexBuffer3D object that contains vertex normals.
* @param context The Context3D for which we request the buffer
* @return The VertexBuffer3D object that contains vertex normals.* Retrieves the VertexBuffer3D object that contains vertex tangents.
* @param context The Context3D for which we request the buffer
* @return The VertexBuffer3D object that contains vertex tangents.* Clones the current object
* @return An exact duplicate of the current object.* @inheritDoc{ scaleV : 1, scaleU : 1 }* @inheritDoc* Clears all resources used by the SubGeometry object.* The raw vertex position data.* Updates the vertex data of the SubGeometry.
* @param vertices The new vertex data to upload.* The raw texture coordinate data.* Updates the uv coordinates of the SubGeometry.
* @param uvs The uv coordinates to upload.* The raw vertex normal data.* Updates the vertex normals of the SubGeometry. When updating the vertex normals like this,
* autoDeriveVertexNormals will be set to false and vertex normals will no longer be calculated automatically.
* @param vertexNormals The vertex normals to upload.* The raw vertex tangent data.
*
* @private* Updates the vertex tangents of the SubGeometry. When updating the vertex tangents like this,
* autoDeriveVertexTangents will be set to false and vertex tangents will no longer be calculated automatically.
* @param vertexTangents The vertex tangents to upload.* Creates a new SubGeometry object.* The SubGeometry class is a collections of geometric data that describes a triangle mesh. It is owned by a
* Geometry instance, and wrapped by a SubMesh in the scene graph.
* Several SubGeometries are grouped so they can be rendered with different materials, but still represent a single
* object.
*
* @see away3d.core.base.Geometry
* @see away3d.core.base.SubMeshaway3d
<_material>
away3d
<_parentMesh>
<_subGeometry>
<_index>
away3d
<_uvTransform>
<_uvTransformDirty>
<_uvRotation expr="0">
0
<_scaleU expr="1">
1
<_scaleV expr="1">
1
<_offsetU expr="0">
0
<_offsetV expr="0">
0
<_uvTransform2>
<_uvTransformDirty2>
<_uvRotation2 expr="0">
0
<_scaleU2 expr="1">
1
<_scaleV2 expr="1">
1
<_offsetU2 expr="0">
0
<_offsetV2 expr="0">
0* The entity that that initially provided the IRenderable to the render pipeline (ie: the owning Mesh object).* The SubGeometry object which provides the geometry data for this SubMesh.* The material used to render the current SubMesh. If set to null, its parent Mesh's material will be used instead.* The scene transform object that transforms from model to world space.* The inverse scene transform object that transforms from world to model space.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* The amount of triangles that make up this SubMesh.* The animator object that provides the state for the SubMesh's animation.* Indicates whether the SubMesh should trigger mouse events, and hence should be rendered for hit testing.* A reference to the owning Mesh object
*
* @private{ material : null }* Creates a new SubMesh object
* @param subGeometry The SubGeometry object which provides the geometry data for this SubMesh.
* @param parentMesh The Mesh object to which this SubMesh belongs.
* @param material An optional material used to render this SubMesh.* SubMesh wraps a SubGeometry as a scene graph instantiation. A SubMesh is owned by a Mesh object.
*
* @see away3d.core.base.SubGeometry
* @see away3d.scenegraph.Mesh
<_calcPoint static="1">
<_vertices>
<_uvs>
<_faceIndex>
<_v0Index>
<_v1Index>
<_v2Index>
<_uv0Index>
<_uv1Index>
<_uv2Index>* To set uv values for either uv0, uv1 or uv2.
* @param index The id of the uv (0, 1 or 2)
* @param u The horizontal coordinate of the texture value.
* @param v The vertical coordinate of the texture value.* To store a temp index of a face during a loop
* @param ind The index* @return Returns the tmp index set for this Face object* the index set for uv0 in this Face value object
* @param ind The index* @return return the index set for uv0 in this Face value object* uv0 u and v values
* @param u The u value
* @param v The v value* @return return the u value of the uv0 of this Face value object* @return return the v value of the uv0 of this Face value object* the index set for uv1 in this Face value object
* @param ind The index* @return Returns the index set for uv1 in this Face value object* uv1 u and v values
* @param u The u value
* @param v The v value* @return Returns the u value of the uv1 of this Face value object* @return Returns the v value of the uv1 of this Face value object* the index set for uv2 in this Face value object
* @param ind The index* @return return the index set for uv2 in this Face value object* uv2 u and v values
* @param u The u value
* @param v The v value* @return return the u value of the uv2 of this Face value object* @return return the v value of the uv2 of this Face value object* To set uv values for either v0, v1 or v2.
* @param index The id of the uv (0, 1 or 2)
* @param x The x value of the vertex.
* @param y The y value of the vertex.
* @param z The z value of the vertex.* set the index value for v0
* @param ind The index value to store* @return Returns the index value of the v0 stored in the Face value object representing the v0 stored in the Face value object]]>* @return Returns the x value of the v0 stored in the Face value object* @return Returns the y value of the v0 stored in the Face value object* @return Returns the z value of the v0 stored in the Face value object* set the index value for v1
* @param ind The index value to store* @return Returns the index value of the v1 stored in the Face value object representing the v1 stored in the Face value object]]>* @return Returns the x value of the v1 stored in the Face value object* @return Returns the y value of the v1 stored in the Face value object* @return Returns the z value of the v1 stored in the Face value object* set the index value for v2
* @param ind The index value to store* @return return the index value of the v2 stored in the Face value object representing the v2 stored in the Face value object]]>* @return Returns the x value of the v2 stored in the Face value object* @return Returns the y value of the v2 stored in the Face value object* @return Returns the z value of the v2 stored in the Face value object* returns a new Face value Object{ target : null }* Returns the first two barycentric coordinates for a point on (or outside) the triangle. The third coordinate is 1 - x - y
* @param point The point for which to calculate the new target
* @param target An optional Point object to store the calculation in order to prevent creation of a new object{ maxDistanceToPlane : .007 }* Tests whether a given point is inside the triangle
* @param point The point to test against
* @param maxDistanceToPlane The minimum distance to the plane for the point to be considered on the triangle. This is usually used to allow for rounding error, but can also be used to perform a volumetric test.{ epsilon : .007 }{ target : null }* Returns the target coordinates for a point on a triangle
* @param v0 The triangle's first vertex
* @param v1 The triangle's second vertex
* @param v2 The triangle's third vertex
* @param uv0 The UV coord associated with the triangle's first vertex
* @param uv1 The UV coord associated with the triangle's second vertex
* @param uv2 The UV coord associated with the triangle's third vertex
* @param point The point for which to calculate the new target
* @param target An optional UV object to store the calculation in order to prevent creation of a new object{ uvs : null, vertices : null }Face value object.
*
* @param vertices [optional] 9 entries long Vector.<Number> representing the x, y and z of v0, v1, and v2 of a face
* @param uvs [optional] 6 entries long Vector.<Number> representing the u and v of uv0, uv1, and uv2 of a face]]>* Face value object.
<_u>
<_v>* Defines the vertical coordinate of the texture value.* Defines the horizontal coordinate of the texture value.* returns a new UV value Object* returns the value object as a string for trace/debug purpose{ v : 0, u : 0 }UV object.
*
* @param u [optional] The horizontal coordinate of the texture value. Defaults to 0.
* @param v [optional] The vertical coordinate of the texture value. Defaults to 0.]]>* Texture coordinates value object.
<_x>
<_y>
<_z>
<_index>* To define/store the index of value object
* @param ind The index* To define/store the x value of the value object
* @param value The x value* To define/store the y value of the value object
* @param value The y value* To define/store the z value of the value object
* @param value The z value* returns a new Vertex value Object* returns the value object as a string for trace/debug purpose{ index : 0, z : 0, y : 0, x : 0 }Vertex value object.
*
* @param x [optional] The x value. Defaults to 0.
* @param y [optional] The y value. Defaults to 0.
* @param z [optional] The z value. Defaults to 0.
* @param index [optional] The index value. Defaults is NaN.]]>* Vertex value object.
<_pool>
<_index>
<_poolSize>
<_pool>
<_index>
<_poolSize>
<_instances static="1">
<_currentId expr="0" line="25" static="1">
0
<_stage3DProxy>
<_program3Ds>
<_ids>
<_usages>
<_keys>{ agalVersion : 1 }"activate"The `ACTIVATE` constant defines the value of the `type` property of an
`activate` event object.
**Note:** This event has neither a "capture phase" nor a "bubble
phase", which means that event listeners must be added directly to any
potential targets, whether the target is on the display list or not.
AIR for TV devices never automatically dispatch this event. You can,
however, dispatch it manually.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any DisplayObject instance with a listener registered for the `activate` event. |"added"The `Event.ADDED` constant defines the value of the `type` property of
an `added` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The DisplayObject instance being added to the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"addedToStage"The `Event.ADDED_TO_STAGE` constant defines the value of the `type`
property of an `addedToStage` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The DisplayObject instance being added to the on stage display list, either directly or through the addition of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly added, the `added` event occurs before this event. |"cancel"The `Event.CANCEL` constant defines the value of the `type` property
of a `cancel` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | A reference to the object on which the operation is canceled. |"change"The `Event.CHANGE` constant defines the value of the `type` property
of a `change` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The object that has had its value modified. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"clear"The `Event.CLEAR` constant defines the value of the `type` property of
a `clear` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any InteractiveObject instance with a listener registered for the `clear` event. |
**Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. TextField objects always include Cut,
Copy, Paste, Clear, and Select All commands in the context menu. You
cannot remove these commands from the context menu for TextField
objects. For TextField objects, selecting these commands (or their
keyboard equivalents) does not generate `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. However, other classes that extend the
InteractiveObject class, including components built using the Flash
Text Engine (FTE), will dispatch these events in response to user
actions such as keyboard shortcuts and context menus."close"The `Event.CLOSE` constant defines the value of the `type` property of
a `close` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The object whose connection has been closed. |"complete"The `Event.COMPLETE` constant defines the value of the `type` property
of a `complete` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The network object that has completed loading. |"connect"The `Event.CONNECT` constant defines the value of the `type` property
of a `connect` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Socket or XMLSocket object that has established a network connection. |"context3DCreate"The `Event.CONTEXT3D_CREATE` constant defines the value of the type property of a
`context3Dcreate` event object. This event is raised only by Stage3D objects in
response to either a call to `Stage3D.requestContext3D` or in response to an OS
triggered reset of the Context3D bound to the Stage3D object. Inspect the
`Stage3D.context3D` property to get the newly created Context3D object."copy"Defines the value of the `type` property of a `copy` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any InteractiveObject instance with a listener registered for the `copy` event. |
**Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. TextField objects always include Cut,
Copy, Paste, Clear, and Select All commands in the context menu. You
cannot remove these commands from the context menu for TextField
objects. For TextField objects, selecting these commands (or their
keyboard equivalents) does not generate `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. However, other classes that extend the
InteractiveObject class, including components built using the Flash
Text Engine (FTE), will dispatch these events in response to user
actions such as keyboard shortcuts and context menus."cut"Defines the value of the `type` property of a `cut` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any InteractiveObject instance with a listener registered for the `cut` event. |
**Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. TextField objects always include Cut,
Copy, Paste, Clear, and Select All commands in the context menu. You
cannot remove these commands from the context menu for TextField
objects. For TextField objects, selecting these commands (or their
keyboard equivalents) does not generate `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. However, other classes that extend the
InteractiveObject class, including components built using the Flash
Text Engine (FTE), will dispatch these events in response to user
actions such as keyboard shortcuts and context menus."deactivate"The `Event.DEACTIVATE` constant defines the value of the `type`
property of a `deactivate` event object.
**Note:** This event has neither a "capture phase" nor a "bubble
phase", which means that event listeners must be added directly to any
potential targets, whether the target is on the display list or not.
AIR for TV devices never automatically dispatch this event. You can,
however, dispatch it manually.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any DisplayObject instance with a listener registered for the `deactivate` event. |"enterFrame"The `Event.ENTER_FRAME` constant defines the value of the `type`
property of an `enterFrame` event object.
**Note:** This event has neither a "capture phase" nor a "bubble
phase", which means that event listeners must be added directly to any
potential targets, whether the target is on the display list or not.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. |"exitFrame"The `Event.EXIT_FRAME` constant defines the value of the `type`
property of an `exitFrame` event object.
**Note:** This event has neither a "capture phase" nor a "bubble
phase", which means that event listeners must be added directly to any
potential targets, whether the target is on the display list or not.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. |"frameConstructed"The `Event.FRAME_CONSTRUCTED` constant defines the value of the `type`
property of an `frameConstructed` event object.
**Note:** This event has neither a "capture phase" nor a "bubble
phase", which means that event listeners must be added directly to any
potential targets, whether the target is on the display list or not.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any DisplayObject instance with a listener registered for the `frameConstructed` event. |"frameLabel"The `Event.FRAME_LABEL` constant defines the value of the type property of a
`frameLabel` event object.
**Note:** This event has neither a "capture phase" nor a "bubble phase", which
means that event listeners must be added directly to FrameLabel objects.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The FrameLabel object that is actively processing the Event object with an event listener. |
| `target` | Any FrameLabel instance with a listener registered for the frameLabel event. |"fullScreen"The `Event.FULL_SCREEN` constant defines the value of the `type`
property of a `fullScreen` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Stage object. |"id3"The `Event.ID3` constant defines the value of the `type` property of
an `id3` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Sound object loading the MP3 for which ID3 data is now available. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"init"The `Event.INIT` constant defines the value of the `type` property of
an `init` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The LoaderInfo object associated with the SWF file being loaded. |"mouseLeave"The `Event.MOUSE_LEAVE` constant defines the value of the `type`
property of a `mouseLeave` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Stage object. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"open"The `Event.OPEN` constant defines the value of the `type` property of
an `open` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The network object that has opened a connection. |"paste"The `Event.PASTE` constant defines the value of the `type` property of
a `paste` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any InteractiveObject instance with a listener registered for the `paste` event. |
**Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. TextField objects always include Cut,
Copy, Paste, Clear, and Select All commands in the context menu. You
cannot remove these commands from the context menu for TextField
objects. For TextField objects, selecting these commands (or their
keyboard equivalents) does not generate `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. However, other classes that extend the
InteractiveObject class, including components built using the Flash
Text Engine (FTE), will dispatch these events in response to user
actions such as keyboard shortcuts and context menus."removed"The `Event.REMOVED` constant defines the value of the `type` property
of a `removed` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The DisplayObject instance to be removed from the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"removedFromStage"The `Event.REMOVED_FROM_STAGE` constant defines the value of the
`type` property of a `removedFromStage` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The DisplayObject instance being removed from the on stage display list, either directly or through the removal of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly removed, the `removed` event occurs before this event. |"render"The `Event.RENDER` constant defines the value of the `type` property
of a `render` event object.
**Note:** This event has neither a "capture phase" nor a "bubble
phase", which means that event listeners must be added directly to any
potential targets, whether the target is on the display list or not.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any DisplayObject instance with a listener registered for the `render` event. |"resize"The `Event.RESIZE` constant defines the value of the `type` property
of a `resize` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Stage object. |"scroll"The `Event.SCROLL` constant defines the value of the `type` property
of a `scroll` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The TextField object that has been scrolled. The `target` property is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"selectAll"The `Event.SELECT_ALL` constant defines the value of the `type`
property of a `selectAll` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | Any InteractiveObject instance with a listener registered for the `selectAll` event. |
**Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. TextField objects always include Cut,
Copy, Paste, Clear, and Select All commands in the context menu. You
cannot remove these commands from the context menu for TextField
objects. For TextField objects, selecting these commands (or their
keyboard equivalents) does not generate `clear`, `copy`, `cut`,
`paste`, or `selectAll` events. However, other classes that extend the
InteractiveObject class, including components built using the Flash
Text Engine (FTE), will dispatch these events in response to user
actions such as keyboard shortcuts and context menus."soundComplete"The `Event.SOUND_COMPLETE` constant defines the value of the `type`
property of a `soundComplete` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The SoundChannel object in which a sound has finished playing. |"tabChildrenChange"The `Event.TAB_CHILDREN_CHANGE` constant defines the value of the
`type` property of a `tabChildrenChange` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The object whose tabChildren flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"tabEnabledChange"The `Event.TAB_ENABLED_CHANGE` constant defines the value of the
`type` property of a `tabEnabledChange` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The InteractiveObject whose tabEnabled flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"tabIndexChange"The `Event.TAB_INDEX_CHANGE` constant defines the value of the `type`
property of a `tabIndexChange` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The object whose tabIndex has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"textureReady"The `Event.TEXTURE_READY` constant defines the value of the type property of a
`textureReady` event object. This event is dispatched by Texture and CubeTexture
objects to signal the completion of an asynchronous upload. Request an asynchronous
upload by using the `uploadCompressedTextureFromByteArray()` method on Texture or
CubeTexture. This event neither bubbles nor is cancelable."unload"The `Event.UNLOAD` constant defines the value of the `type` property
of an `unload` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The LoaderInfo object associated with the SWF file being unloaded or replaced. |Indicates whether an event is a bubbling event. If the event can bubble,
this value is `true`; otherwise it is `false`.
When an event occurs, it moves through the three phases of the event
flow: the capture phase, which flows from the top of the display list
hierarchy to the node just before the target node; the target phase, which
comprises the target node; and the bubbling phase, which flows from the
node subsequent to the target node back up the display list hierarchy.
Some events, such as the `activate` and `unload`
events, do not have a bubbling phase. The `bubbles` property
has a value of `false` for events that do not have a bubbling
phase.Indicates whether the behavior associated with the event can be prevented.
If the behavior can be canceled, this value is `true`;
otherwise it is `false`.The object that is actively processing the Event object with an event
listener. For example, if a user clicks an OK button, the current target
could be the node containing that button or one of its ancestors that has
registered an event listener for that event.The current phase in the event flow. This property can contain the
following numeric values:
* The capture phase(`EventPhase.CAPTURING_PHASE`).
* The target phase(`EventPhase.AT_TARGET`).
* The bubbling phase(`EventPhase.BUBBLING_PHASE`).The event target. This property contains the target node. For example, if
a user clicks an OK button, the target node is the display list node
containing that button.The type of event. The type is case-sensitive.
<__isCanceled>
<__isCanceledNow>
<__preventDefault>
Duplicates an instance of an Event subclass.
Returns a new Event object that is a copy of the original instance of
the Event object. You do not normally call `clone()`; the
EventDispatcher class calls it automatically when you redispatch an
event - that is, when you call `dispatchEvent(event)` from a
handler that is handling `event`.
The new Event object includes all the properties of the original.
When creating your own custom Event class, you must override the
inherited `Event.clone()` method in order for it to duplicate
the properties of your custom class. If you do not set all the properties
that you add in your event subclass, those properties will not have the
correct values when listeners handle the redispatched event.
In this example, `PingEvent` is a subclass of
`Event` and therefore implements its own version of
`clone()`.
@return A new Event object that is identical to the original.{ p5 : null, p4 : null, p3 : null, p2 : null, p1 : null }A utility function for implementing the `toString()` method in custom
ActionScript 3.0 Event classes. Overriding the `toString()` method is
recommended, but not required.
```haxe
class PingEvent extends Event {
var URL:String;
public function new() {
super();
}
public override function toString():String {
return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL");
}
}
```
@param className The name of your custom Event class. In the previous
example, the `className` parameter is `PingEvent`.
@return The name of your custom Event class and the String value of
your `...arguments` parameter.Checks whether the `preventDefault()` method has been called on
the event. If the `preventDefault()` method has been called,
returns `true`; otherwise, returns `false`.
@return If `preventDefault()` has been called, returns
`true`; otherwise, returns `false`.Cancels an event's default behavior if that behavior can be canceled.
Many events have associated behaviors that are carried out by default. For example, if a user types a character into a text field, the default behavior is that the character is displayed in the text field. Because the `TextEvent.TEXT_INPUT` event's default behavior can be canceled, you can use the `preventDefault()` method to prevent the character from appearing.
An example of a behavior that is not cancelable is the default behavior associated with the Event.REMOVED event, which is generated whenever Flash Player is about to remove a display object from the display list. The default behavior (removing the element) cannot be canceled, so the `preventDefault()` method has no effect on this default behavior.
You can use the `Event.cancelable` property to check whether you can prevent the default behavior associated with a particular event. If the value of `Event.cancelable` is true, then `preventDefault()` can be used to cancel the event; otherwise, `preventDefault()` has no effect.Prevents processing of any event listeners in the current node and any
subsequent nodes in the event flow. This method takes effect immediately,
and it affects event listeners in the current node. In contrast, the
`stopPropagation()` method doesn't take effect until all the
event listeners in the current node finish processing.
**Note: ** This method does not cancel the behavior associated with
this event; see `preventDefault()` for that functionality.Prevents processing of any event listeners in nodes subsequent to the
current node in the event flow. This method does not affect any event
listeners in the current node(`currentTarget`). In contrast,
the `stopImmediatePropagation()` method prevents processing of
event listeners in both the current node and subsequent nodes. Additional
calls to this method have no effect. This method can be called in any
phase of the event flow.
**Note: ** This method does not cancel the behavior associated with
this event; see `preventDefault()` for that functionality.Returns a string containing all the properties of the Event object. The
string is in the following format:
`[Event type=_value_ bubbles=_value_
cancelable=_value_]`
@return A string containing all the properties of the Event object.
<__formatToString set="method" line="887">
<__init set="method" line="912">
{ cancelable : false, bubbles : false }Creates an Event object to pass as a parameter to event listeners.
@param type The type of the event, accessible as
`Event.type`.
@param bubbles Determines whether the Event object participates in the
bubbling stage of the event flow. The default value is
`false`.
@param cancelable Determines whether the Event object can be canceled. The
default values is `false`."tags=\"haxe,release\"""mouseOver3d"* Defines the value of the type property of a mouseOver3d event object."mouseOut3d"* Defines the value of the type property of a mouseOut3d event object."mouseUp3d"* Defines the value of the type property of a mouseUp3d event object."mouseDown3d"* Defines the value of the type property of a mouseDown3d event object."mouseMove3d"* Defines the value of the type property of a mouseMove3d event object."click3d"* Defines the value of the type property of a rollOver3d event object."doubleClick3d"* Defines the value of the type property of a doubleClick3d event object."mouseWheel3d"* Defines the value of the type property of a mouseWheel3d event object.
<_allowedToPropagate expr="true">
trueaway3d
<_parentEvent>
away3d* The horizontal coordinate at which the event occurred in view coordinates.* The vertical coordinate at which the event occurred in view coordinates.* The view object inside which the event took place.* The renderable inside which the event took place.* The material of the 3d element inside which the event took place.* The uv coordinate inside the draw primitive where the event took place.* The index of the face where the event took place.* The index of the subGeometry where the event took place.* The position in object space where the event took place* The normal in object space where the event took place* Indicates whether the Control key is active (true) or inactive (false).* Indicates whether the Alt key is active (true) or inactive (false).* Indicates whether the Shift key is active (true) or inactive (false).* Indicates how many lines should be scrolled for each unit the user rotates the mouse wheel.* @inheritDoc* @inheritDoc* Creates a copy of the MouseEvent3D object and sets the value of each property to match that of the original.* The position in scene space where the event took place{ v : null }* The position in scene space where the event took place
* @param v destination Vector3D
* @return* The normal in scene space where the event took place{ v : null }* The normal in scene space where the event took place
* @param v destination Vector3D
* @return* Create a new MouseEvent3D object.
* @param type The type of the MouseEvent3D.* A MouseEvent3D is dispatched when a mouse event occurs over a mouseEnabled object in View3D.
* todo: we don't have screenZ data, tho this should be easy to implement
<_view3Ds static="1">
<_view3DLookup static="1">
<_viewCount expr="0" line="29" static="1">
0
<_collidingObject static="1">
<_previousCollidingObject static="1">
<_collidingViewObjects static="1">
<_queuedEvents expr="new Vector<MouseEvent3D>()" line="37" static="1">
()]]>
<_mouseUp expr="new MouseEvent3D(MouseEvent3D.MOUSE_UP)" line="41" static="1">
new MouseEvent3D(MouseEvent3D.MOUSE_UP)
<_mouseClick expr="new MouseEvent3D(MouseEvent3D.CLICK)" line="42" static="1">
new MouseEvent3D(MouseEvent3D.CLICK)
<_mouseOut expr="new MouseEvent3D(MouseEvent3D.MOUSE_OUT)" line="43" static="1">
new MouseEvent3D(MouseEvent3D.MOUSE_OUT)
<_mouseDown expr="new MouseEvent3D(MouseEvent3D.MOUSE_DOWN)" line="44" static="1">
new MouseEvent3D(MouseEvent3D.MOUSE_DOWN)
<_mouseMove expr="new MouseEvent3D(MouseEvent3D.MOUSE_MOVE)" line="45" static="1">
new MouseEvent3D(MouseEvent3D.MOUSE_MOVE)
<_mouseOver expr="new MouseEvent3D(MouseEvent3D.MOUSE_OVER)" line="46" static="1">
new MouseEvent3D(MouseEvent3D.MOUSE_OVER)
<_mouseWheel expr="new MouseEvent3D(MouseEvent3D.MOUSE_WHEEL)" line="47" static="1">
new MouseEvent3D(MouseEvent3D.MOUSE_WHEEL)
<_mouseDoubleClick expr="new MouseEvent3D(MouseEvent3D.DOUBLE_CLICK)" line="48" static="1">
new MouseEvent3D(MouseEvent3D.DOUBLE_CLICK)
<_previousCollidingView expr="-1" line="52" static="1">
-1
<_collidingView expr="-1" line="53" static="1">
-1
<_activeView>
<_updateDirty expr="true">
true
<_nullVector expr="new Vector3D()">
new Vector3D()
<_mouseMoveEvent expr="new MouseEvent(MouseEvent.MOUSE_MOVE)">
new MouseEvent(MouseEvent.MOUSE_MOVE)
<_forceMouseMove>
<_mousePicker expr="PickingType.RAYCAST_FIRST_ENCOUNTERED">
PickingType.RAYCAST_FIRST_ENCOUNTERED
<_childDepth expr="0">
0
<_collidingDownObject>
<_collidingUpObject>{ collider : null }Mouse3DManager object.]]>* Mouse3DManager enforces a singleton pattern and is not intended to be instanced.
* it provides a manager class for detecting 3D mouse hits on View3D objects and sending out 3D mouse events.
<_instances static="1">
<_renderToTextureVertexBuffer>
<_renderToScreenVertexBuffer>
<_indexBuffer>
<_stage3DProxy>
<_viewWidth expr="-1">
-1
<_viewHeight expr="-1">
-1
<_textureWidth expr="-1">
-1
<_textureHeight expr="-1">
-1
<_renderToTextureRect>
<_buffersInvalid expr="true">
true
<_textureRatioX>
<_textureRatioY>
<_instances static="1">
<_stageProxies static="1">
<_numStageProxies expr="0" line="22" static="1">
0* Gets a Stage3DManager instance for the given Stage object.
* @param stage The Stage object that contains the Stage3D objects to be managed.
* @return The Stage3DManager instance for the given Stage object.
<_stage>{ profile : "baseline", forceSoftware : false }* Requests the Stage3DProxy for the given index.
* @param index The index of the requested Stage3D.
* @param forceSoftware Whether to force software mode even if hardware acceleration is available.
* @param profile The compatibility profile, an enumeration of Context3DProfile
* @return The Stage3DProxy for the given index.away3d* Removes a Stage3DProxy from the manager.
* @param stage3DProxy
* @private{ profile : "baseline", forceSoftware : false }* Get the next available stage3DProxy. An error is thrown if there are no Stage3DProxies available
* @param forceSoftware Whether to force software mode even if hardware acceleration is available.
* @param profile The compatibility profile, an enumeration of Context3DProfile
* @return The allocated stage3DProxy* Checks if a new stage3DProxy can be created and managed by the class.
* @return true if there is one slot free for a new stage3DProxy* Returns the amount of stage3DProxy objects that can be created and managed by the class
* @return the amount of free slots* Returns the amount of Stage3DProxy objects currently managed by the class.
* @return the amount of slots used* Returns the maximum amount of Stage3DProxy objects that can be managed by the class
* @return the maximum amount of Stage3DProxy objects that can be managed by the classaway3d* Creates a new Stage3DManager class.
* @param stage The Stage object that contains the Stage3D objects to be managed.
* @private* The Stage3DManager class provides a multiton object that handles management for Stage3D objects. Stage3D objects
* should not be requested directly, but are exposed by a Stage3DProxy.
*
* @see away3d.core.managers.Stage3DProxySpecifies the Graphics object belonging to this Shape object, where vector
drawing commands can occur.Creates a new Shape object.This class is used to create lightweight shapes using the ActionScript
drawing application program interface(API). The Shape class includes a
`graphics` property, which lets you access methods from the
Graphics class.
The Sprite class also includes a `graphics`property, and it
includes other features not available to the Shape class. For example, a
Sprite object is a display object container, whereas a Shape object is not
(and cannot contain child display objects). For this reason, Shape objects
consume less memory than Sprite objects that contain the same graphics.
However, a Sprite object supports user input events, while a Shape object
does not."tags=\"haxe,release\""openfl.display.Graphics
<__limeColorMatrix static="1">
<__pool expr="new ObjectPool<ColorTransform>(function() return new ColorTransform(), function(ct) ct.__identity())" line="59" static="1">
(function() return new ColorTransform(), function(ct) ct.__identity())]]>A decimal value that is multiplied with the alpha transparency channel
value.
If you set the alpha transparency value of a display object directly by
using the `alpha` property of the DisplayObject instance, it
affects the value of the `alphaMultiplier` property of that
display object's `transform.colorTransform` property.A number from -255 to 255 that is added to the alpha transparency channel
value after it has been multiplied by the `alphaMultiplier`
value.A decimal value that is multiplied with the blue channel value.A number from -255 to 255 that is added to the blue channel value after it
has been multiplied by the `blueMultiplier` value.The RGB color value for a ColorTransform object.
When you set this property, it changes the three color offset values
(`redOffset`, `greenOffset`, and
`blueOffset`) accordingly, and it sets the three color
multiplier values(`redMultiplier`,
`greenMultiplier`, and `blueMultiplier`) to 0. The
alpha transparency multiplier and offset values do not change.
When you pass a value for this property, use the format
0x_RRGGBB_. _RR_, _GG_, and _BB_ each consist of two
hexadecimal digits that specify the offset of each color component. The 0x
tells the ActionScript compiler that the number is a hexadecimal
value.A decimal value that is multiplied with the green channel value.A number from -255 to 255 that is added to the green channel value after
it has been multiplied by the `greenMultiplier` value.A decimal value that is multiplied with the red channel value.A number from -255 to 255 that is added to the red channel value after it
has been multiplied by the `redMultiplier` value.Concatenates the ColorTranform object specified by the `second`
parameter with the current ColorTransform object and sets the current
object as the result, which is an additive combination of the two color
transformations. When you apply the concatenated ColorTransform object,
the effect is the same as applying the `second` color
transformation after the _original_ color transformation.
@param second The ColorTransform object to be combined with the current
ColorTransform object.Formats and returns a string that describes all of the properties of
the ColorTransform object.
@return A string that lists all of the properties of the
ColorTransform object.
<__clone set="method" line="213">
<__copyFrom set="method" line="218">
<__combine set="method" line="231">
<__identity set="method" line="244">
<__invert set="method" line="256">
<__equals set="method" line="268">
<__isDefault set="method" line="281">
<__setArrays set="method" line="300">
<__toLimeColorMatrix set="method" line="332">
{ alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1, blueMultiplier : 1, greenMultiplier : 1, redMultiplier : 1 }Creates a ColorTransform object for a display object with the specified
color channel values and alpha values.
@param redMultiplier The value for the red multiplier, in the range from
0 to 1.
@param greenMultiplier The value for the green multiplier, in the range
from 0 to 1.
@param blueMultiplier The value for the blue multiplier, in the range
from 0 to 1.
@param alphaMultiplier The value for the alpha transparency multiplier, in
the range from 0 to 1.
@param redOffset The offset value for the red color channel, in the
range from -255 to 255.
@param greenOffset The offset value for the green color channel, in
the range from -255 to 255.
@param blueOffset The offset for the blue color channel value, in the
range from -255 to 255.
@param alphaOffset The offset for alpha transparency channel value, in
the range from -255 to 255.The ColorTransform class lets you adjust the color values in a display
object. The color adjustment or _color transformation_ can be applied
to all four channels: red, green, blue, and alpha transparency.
When a ColorTransform object is applied to a display object, a new value
for each color channel is calculated like this:
* New red value = (old red value * `redMultiplier`) +
`redOffset`
* New green value = (old green value * `greenMultiplier`) +
`greenOffset`
* New blue value = (old blue value * `blueMultiplier`) +
`blueOffset`
* New alpha value = (old alpha value * `alphaMultiplier`) +
`alphaOffset`
If any of the color channel values is greater than 255 after the
calculation, it is set to 255. If it is less than 0, it is set to 0.
You can use ColorTransform objects in the following ways:
* In the `colorTransform` parameter of the
`colorTransform()` method of the BitmapData class
* As the `colorTransform` property of a Transform object
(which can be used as the `transform` property of a display
object)
You must use the `new ColorTransform()` constructor to create
a ColorTransform object before you can call the methods of the
ColorTransform object.
Color transformations do not apply to the background color of a movie
clip(such as a loaded SWF object). They apply only to graphics and symbols
that are attached to the movie clip."tags=\"haxe,release\""
<_frameEventDriver expr="new Shape()" line="55" static="1">
new Shape()
<_vbUploadCount expr="0" line="667" static="1">
0
<_ibUploadCount expr="0" line="668" static="1">
0
<_bmpUploadCount expr="0" line="670" static="1">
0
<_atfUploadCount expr="0" line="671" static="1">
0
<_context3D>
away3d
<_stage3DIndex expr="-1">
-1away3d
<_usesSoftwareRendering>
<_profile>
<_stage3D>
<_activeProgram3D>
<_stage3DManager>
<_backBufferWidth>
<_backBufferHeight>
<_antiAlias>
<_enableDepthAndStencil>
<_backBufferEnableDepthAndStencil expr="true">
true
<_contextRequested>
<_renderTarget>
<_renderSurfaceSelector>
<_scissorRect>
<_color>
<_backBufferDirty>
<_viewPort>
<_enterFrame>
<_exitFrame>
<_viewportUpdated>
<_viewportDirty>
<_bufferClear>
<_mouse3DManager>
<_touch3DManager>* Disposes the Stage3DProxy object, freeing the Context3D attached to the Stage3D.* Configures the back buffer associated with the Stage3D object.
* @param backBufferWidth The width of the backbuffer.
* @param backBufferHeight The height of the backbuffer.
* @param antiAlias The amount of anti-aliasing to use.
* @param enableDepthAndStencil Indicates whether the back buffer contains a depth and stencil buffer.{ surfaceSelector : 0, enableDepthAndStencil : false }{ useWeakReference : false, priority : 0, useCapture : false }* Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. Special case for enterframe and exitframe events - will switch Stage3DProxy into automatic render mode.
* You can register event listeners on all nodes in the display list for a specific type of event, phase, and priority.
*
* @param type The type of event.
* @param listener The listener function that processes the event.
* @param useCapture Determines whether the listener works in the capture phase or the target and bubbling phases. If useCapture is set to true, the listener processes the event only during the capture phase and not in the target or bubbling phase. If useCapture is false, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call addEventListener twice, once with useCapture set to true, then again with useCapture set to false.
* @param priority The priority level of the event listener. The priority is designated by a signed 32-bit integer. The higher the number, the higher the priority. All listeners with priority n are processed before listeners of priority n-1. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0.
* @param useWeakReference Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not.{ useCapture : false }* Removes a listener from the EventDispatcher object. Special case for enterframe and exitframe events - will switch Stage3DProxy out of automatic render mode.
* If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect.
*
* @param type The type of event.
* @param listener The listener object to remove.
* @param useCapture Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to removeEventListener() are required to remove both, one call with useCapture() set to true, and another call with useCapture() set to false.* The index of the Stage3D which is managed by this instance of Stage3DProxy.* The base Stage3D object associated with this proxy.* The Context3D object associated with the given Stage3D object.* The driver information as reported by the Context3D object (if any)* Indicates whether the Stage3D managed by this proxy is running in software mode.
* Remember to wait for the CONTEXT3D_CREATED event before checking this property,
* as only then will it be guaranteed to be accurate.* The x position of the Stage3D.* The y position of the Stage3D.* The width of the Stage3D.* The height of the Stage3D.* The antiAliasing of the Stage3D.* A viewPort rectangle equivalent of the Stage3D size and position.* The background color of the Stage3D.* The visibility of the Stage3D.* The freshly cleared state of the backbuffer before any rendering* Frees the Context3D associated with this Stage3DProxy.{ profile : "baseline", forceSoftware : false }* Requests a Context3D object to attach to the managed Stage3D.* The Enter_Frame handler for processing the proxy.ENTER_FRAME and proxy.EXIT_FRAME event handlers.
* Typically the proxy.ENTER_FRAME listener would render the layers for this Stage3D instance.{ numTriangles : -1, firstIndex : 0 }{ profile : "baseline", forceSoftware : false }* Creates a Stage3DProxy object. This method should not be called directly. Creation of Stage3DProxy objects should
* be handled by Stage3DManager.
* @param stage3DIndex The index of the Stage3D to be proxied.
* @param stage3D The Stage3D to be proxied.
* @param stage3DManager
* @param forceSoftware Whether to force software mode even if hardware acceleration is available.* Stage3DProxy provides a proxy class to manage a single Stage3D instance as well as handling the creation and
* attachment of the Context3D (and in turn the back buffer) is uses. Stage3DProxy should never be created directly,
* but requested through Stage3DManager.
*
* @see away3d.core.managers.Stage3DProxy
*
* todo: consider moving all creation methods (createVertexBuffer etc) in here, so that disposal can occur here
* along with the context, instead of scattered throughout the framework
<_collidingObjectFromTouchId static="1">
<_previousCollidingObjectFromTouchId static="1">
<_queuedEvents expr="new Vector<TouchEvent3D>()" line="28" static="1">
()]]>
<_updateDirty expr="true">
true
<_nullVector expr="new Vector3D()">
new Vector3D()
<_numTouchPoints>
<_touchPoint>
<_collidingObject>
<_previousCollidingObject>
<_touchPoints>
<_touchPointFromId>
<_touchMoveEvent expr="new TouchEvent(TouchEvent.TOUCH_MOVE)">
new TouchEvent(TouchEvent.TOUCH_MOVE)
<_forceTouchMove>
<_touchPicker expr="PickingType.RAYCAST_FIRST_ENCOUNTERED">
PickingType.RAYCAST_FIRST_ENCOUNTERED
<_view>180 / Math.PI* The amount to multiply with when converting radians to degrees.Math.PI / 180* The amount to multiply with when converting degrees to radians.* MathConsts provides some commonly used mathematical constants{ rotation : 0, scale : 1 }"checkstyle:FieldDocComment"hide"checkstyle:FieldDocComment"hide"checkstyle:FieldDocComment"hideInterpolates the translation, rotation, and scale transformation of one matrix
toward those of the target matrix.
The `interpolate()` method avoids some of the unwanted results that can occur
when using methods such as the display object's axis rotation properties. The
`interpolate()` method invalidates the cached value of the rotation property of
the display object and converts the orientation elements of the display object's
matrix to a quaternion before interpolation. This method guarantees the shortest,
most efficient path for the rotation. It also produces a smooth, gimbal-lock-free
rotation. A gimbal lock can occur when using Euler Angles, where each axis is
handled independently. During the rotation around two or more axes, the axes can
become aligned, leading to unexpected results. Quaternion rotation avoids the
gimbal lock.
Consecutive calls to the `interpolate()` method can produce the effect of a
display object starting quickly and then slowly approaching another display
object. For example, if you set the `thisMat` parameter to the returned Matrix3D
object, the `toMat` parameter to the target display object's associated Matrix3D
object, and the `percent` parameter to 0.1, the display object moves ten percent
toward the target object. On subsequent calls or in subsequent frames, the object
moves ten percent of the remaining 90 percent, then ten percent of the remaining
distance, and continues until it reaches the target.
@param thisMat The Matrix3D object that is to be interpolated.
@param toMat The target Matrix3D object.
@param percent A value between 0 and 1 that determines the percent the
`thisMat` Matrix3D object is interpolated toward the target Matrix3D object.
@returns A Matrix3D object with elements that place the values of the matrix
between the original matrix and the target matrix. When the returned matrix is
applied to the this display object, the object moves the specified percent closer
to the target object.
<__getAxisRotation set="method" line="1622" static="1">
A Number that determines whether a matrix is invertible.
A Matrix3D object must be invertible. You can use the `determinant` property to make
sure that a Matrix3D object is invertible. If determinant is zero, an inverse of
the matrix does not exist. For example, if an entire row or column of a matrix is
zero or if two rows or columns are equal, the determinant is zero. Determinant is
also used to solve a series of equations.
Only a square matrix, like the Matrix3D class, has a determinant.A Vector3D object that holds the position, the 3D coordinate (x,y,z) of a display
object within the transformation's frame of reference. The `position` property
provides immediate access to the translation vector of the display object's
matrix without needing to decompose and recompose the matrix.
With the `position` property, you can get and set the translation elements of the
transformation matrix.A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix.
An exception is thrown if the `rawData` property is set to a matrix that is not
invertible. The Matrix3D object must be invertible. If a non-invertible matrix is
needed, create a subclass of the Matrix3D object.A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix.
An exception is thrown if the `rawData` property is set to a matrix that is not
invertible. The Matrix3D object must be invertible. If a non-invertible matrix is
needed, create a subclass of the Matrix3D object.{ pivotPoint : null }Appends an incremental rotation to a Matrix3D object. When the Matrix3D object is
applied to a display object, the matrix performs the rotation after other
transformations in the Matrix3D object.
The display object's rotation is defined by an axis, an incremental degree of
rotation around the axis, and an optional pivot point for the center of the
object's rotation. The axis can be any general direction. The common axes are the
`X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
`Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y axis
is called yaw. The rotation about the x axis is called pitch. The rotation about
the z axis is called roll.
The order of transformation matters. A rotation followed by a translation
transformation produces a different effect than a translation followed by a
rotation transformation.
The rotation effect is not absolute. It is relative to the current position and
orientation. To make an absolute change to the transformation matrix, use the
`recompose()` method. The `appendRotation()` method is also different from the
axis rotation property of the display object, such as `rotationX` property. The
`rotation` property is always performed before any translation, whereas the
`appendRotation()` method is performed relative to what is already in the matrix.
To make sure that you get a similar effect as the display object's axis rotation
property, use the `prependRotation()` method, which performs the rotation before
other transformations in the matrix.
When the `appendRotation()` method's transformation is applied to a Matrix3D object
of a display object, the cached rotation property values of the display object
are invalidated.
One way to have a display object rotate around a specific point relative to its
location is to set the translation of the object to the specified point, rotate
the object using the `appendRotation()` method, and translate the object back to
the original position. In the following example, the myObject 3D display object
makes a y-axis rotation around the coordinate (10,10,0).
```haxe
myObject.z = 1;
myObject.transform.matrix3D.appendTranslation(10,10,0);
myObject.transform.matrix3D.appendRotation(1, Vector3D.Y_AXIS);
myObject.transform.matrix3D.appendTranslation(-10,-10,0);
```
@param degrees The degree of the rotation.
@param axis The axis or direction of rotation. The usual axes are the
`X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
`Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one.
@param pivotPoint A point that determines the center of an object's rotation.
The default pivot point for an object is its registration point.Appends an incremental scale change along the x, y, and z axes to a Matrix3D
object. When the Matrix3D object is applied to a display object, the matrix
performs the scale changes after other transformations in the Matrix3D object.
The default scale factor is (1.0, 1.0, 1.0).
The scale is defined as a set of three incremental changes along the three axes
(x,y,z). You can multiply each axis with a different number. When the scale
changes are applied to a display object, the object's size increases or decreases.
For example, setting the x, y, and z axes to two doubles the size of the object,
while setting the axes to 0.5 halves the size. To make sure that the scale
transformation only affects a specific axis, set the other parameters to one. A
parameter of one means no scale change along the specific axis.
The `appendScale()` method can be used for resizing as well as for managing
distortions, such as stretch or contract of a display object, or for zooming in
and out on a location. Scale transformations are automatically performed during a
display object's rotation and translation.
The order of transformation matters. A resizing followed by a translation
transformation produces a different effect than a translation followed by a
resizing transformation.
@param xScale A multiplier used to scale the object along the x axis.
@param yScale A multiplier used to scale the object along the y axis.
@param zScale A multiplier used to scale the object along the z axis.Appends an incremental translation, a repositioning along the x, y, and z axes,
to a Matrix3D object. When the Matrix3D object is applied to a display object,
the matrix performs the translation changes after other transformations in the
Matrix3D object.
The translation is defined as a set of three incremental changes along the
three axes (x,y,z). When the transformation is applied to a display object, the
display object moves from it current location along the x, y, and z axes as
specified by the parameters. To make sure that the translation only affects a
specific axis, set the other parameters to zero. A zero parameter means no change
along the specific axis.
The translation changes are not absolute. They are relative to the current
position and orientation of the matrix. To make an absolute change to the
transformation matrix, use the recompose() method. The order of transformation
also matters. A translation followed by a rotation transformation produces a
different effect than a rotation followed by a translation.
@param x An incremental translation along the x axis.
@param y An incremental translation along the y axis.
@param z An incremental translation along the z axis.Returns a new Matrix3D object that is an exact copy of the current Matrix3D object.
@returns A new Matrix3D object that is an exact copy of the current Matrix3D
object.Copies a Vector3D object into specific column of the calling Matrix3D object.
@param column The destination column of the copy.
@param vector3D The Vector3D object from which to copy the data.Copies specific column of the calling Matrix3D object into the Vector3D object.
@param column The column from which to copy the data.
@param vector3D The destination Vector3D object of the copy.Copies all of the matrix data from the source Matrix3D object into the calling
Matrix3D object.
@param sourceMatrix3D The Matrix3D object from which to copy the data.{ transpose : false, index : 0 }Copies all of the vector data from the source vector object into the calling
Matrix3D object. The optional `index` parameter allows you to select any starting
slot in the vector.
@param vector The vector object from which to copy the data.
@param index
@param transpose{ transpose : false, index : 0 }Copies all of the matrix data from the calling Matrix3D object into the
provided vector. The optional index parameter allows you to select any target
starting slot in the vector.
@param vector The vector object to which to copy the data.
@param index
@param transposeCopies a Vector3D object into specific row of the calling Matrix3D object.
@param row The row from which to copy the data to.
@param vector3D The Vector3D object from which to copy the data.Copies specific row of the calling Matrix3D object into the Vector3D object.
@param row The row from which to copy the data from.
@param vector3D The Vector3D object to copy the data into.@param other{ orientationStyle : EULER_ANGLES }Returns the transformation matrix's translation, rotation, and scale settings as
a Vector of three Vector3D objects. The first Vector3D object holds the
translation elements. The second Vector3D object holds the rotation elements.
The third Vector3D object holds the scale elements.
Some Matrix3D methods, such as the `interpolateTo()` method, automatically
decompose and recompose the matrix to perform their transformation.
To modify the matrix's transformation with an absolute parent frame of reference,
retrieve the settings with the `decompose()` method and make the appropriate
changes. You can then set the Matrix3D object to the modified transformation
using the `recompose()` method.
The `decompose()` method's parameter specifies the orientation style that is
meant to be used for the transformation. The default orientation is `eulerAngles`,
which defines the orientation with three separate angles of rotation for each
axis. The rotations occur consecutively and do not change the axis of each other.
The display object's axis rotation properties perform Euler Angles orientation
style transformation. The other orientation style options are `axisAngle` and
`quaternion`. The Axis Angle orientation uses a combination of an axis and an
angle to determine the orientation. The axis around which the object is rotated
is a unit vector that represents a direction. The angle represents the magnitude
of the rotation about the vector. The direction also determines where a display
object is facing and the angle determines which way is up. The `appendRotation()`
and `prependRotation()` methods use the Axis Angle orientation. The `quaternion`
orientation uses complex numbers and the fourth element of a vector. The three
axes of rotation (x,y,z) and an angle of rotation (w) represent the orientation.
The `interpolate()` method uses quaternion.
@param orientationStyle An optional parameter that determines the orientation
style used for the matrix transformation. The three types of orientation style
are `eulerAngles` (constant `EULER_ANGLES`), `axisAngle` (constant `AXIS_ANGLE`),
and `quaternion` (constant `QUATERNION`). For additional information on the
different orientation style, see the geom.Orientation3D class.
@returns A Vector of three Vector3D objects, each holding the translation,
rotation, and scale settings, respectively.Uses the transformation matrix without its translation elements to transform a
Vector3D object from one space coordinate to another. The returned Vector3D
object holds the new coordinates after the rotation and scaling transformations
have been applied. If the `deltaTransformVector()` method applies a matrix that
only contains a translation transformation, the returned Vector3D is the same as
the original Vector3D object.
You can use the `deltaTransformVector()` method to have a display object in one
coordinate space respond to the rotation transformation of a second display
object. The object does not copy the rotation; it only changes its position to
reflect the changes in the rotation. For example, to use the display.Graphics
API for drawing a rotating 3D display object, you must map the object's rotating
coordinates to a 2D point. First, retrieve the object's 3D coordinates after each
rotation, using the `deltaTransformVector()` method. Next, apply the display
object's `local3DToGlobal()` method to translate the 3D coordinates to 2D points.
You can then use the 2D points to draw the rotating 3D object.
**Note:** This method automatically sets the `w` component of the passed Vector3D
to 0.0.
@param v A Vector3D object holding the coordinates that are going to be
transformed.
@returns Vector3D A Vector3D object with the transformed coordinates.Converts the current matrix to an identity or unit matrix. An identity matrix has
a value of one for the elements on the main diagonal and a value of zero for all
other elements. The result is a matrix where the rawData value is
1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 and the rotation setting is set to
`Vector3D(0,0,0)`, the position or translation setting is set to `Vector3D(0,0,0)`,
and the scale is set to `Vector3D(1,1,1)`. Here is a representation of an
identity matrix.

An object transformed by applying an identity matrix performs no transformation.
In other words, if a matrix is multiplied by an identity matrix, the result is a
matrix that is the same as (identical to) the original matrix.Interpolates this matrix towards the translation, rotation, and scale
transformations of the target matrix.
The `interpolateTo()` method avoids the unwanted results that can occur when
using methods such as the display object's axis rotation properties. The
`interpolateTo()` method invalidates the cached value of the rotation property of
the display object and converts the orientation elements of the display object's
matrix to a quaternion before interpolation. This method guarantees the shortest,
most efficient path for the rotation. It also produces a smooth, gimbal-lock-free
rotation. A gimbal lock can occur when using Euler Angles, where each axis is
handled independently. During the rotation around two or more axes, the axes can
become aligned, leading to unexpected results. Quaternion rotation avoids the
gimbal lock.
**Note:** In case of interpolation, the scaling value of the matrix will reset and
the matrix will be normalized.
Consecutive calls to the `interpolateTo()` method can produce the effect of a
display object starting quickly and then slowly approaching another display
object. For example, if the percent parameter is set to 0.1, the display object
moves ten percent toward the target object specified by the `toMat` parameter.
On subsequent calls or in subsequent frames, the object moves ten percent of the
remaining 90 percent, then ten percent of the remaining distance, and continues
until it reaches the target.
@param toMat The target Matrix3D object.
@param percent A value between 0 and 1 that determines the location of the
display object relative to the target. The closer the value is to 1.0, the closer
the display object is to its current position. The closer the value is to 0, the
closer the display object is to the target.Inverts the current matrix. An inverted matrix is the same size as the original
but performs the opposite transformation of the original matrix. For example, if
the original matrix has an object rotate around the x axis in one direction, the
inverse of the matrix will have the object rotate around the axis in the opposite
direction. Applying an inverted matrix to an object undoes the transformation
performed by the original matrix. If a matrix is multiplied by its inverse
matrix, the result is an identity matrix.
An inverse of a matrix can be used to divide one matrix by another. The way to
divide matrix A by matrix B is to multiply matrix A by the inverse of matrix B.
The inverse matrix can also be used with a camera space. When the camera moves in
the world space, the object in the world needs to move in the opposite direction
to transform from the world view to the camera or view space. For example, if the
camera moves closer, the objects becomes bigger. In other words, if the camera
moves down the world z axis, the object moves up world z axis.
The `invert()` method replaces the current matrix with an inverted matrix. If you
want to invert a matrix without altering the current matrix, first copy the
current matrix by using the clone() method and then apply the `invert()` method
to the copy.
The Matrix3D object must be invertible.
@returns Returns `true` if the matrix was successfully inverted.{ up : null, at : null }Rotates the display object so that it faces a specified position. This method
allows for an in-place modification to the orientation. The forward direction
vector of the display object (the at Vector3D object) points at the specified
world-relative position. The display object's up direction is specified with the
up Vector3D object.
The `pointAt()` method invalidates the cached rotation property value of the
display object. The method decomposes the display object's matrix and modifies the
rotation elements to have the object turn to the specified position. It then
recomposes (updates) the display object's matrix, which performs the
transformation. If the object is pointing at a moving target, such as a moving
object's position, then with each subsequent call, the method has the object
rotate toward the moving target.
**Note:** If you use the `Matrix3D.pointAt()` method without setting the
optional parameters, a target object does not face the specified world-relative
position by default. You need to set the values for at to the -y-axis (0,-1,0)
and up to the -z axis (0,0,-1).
@param pos The world-relative position of the target object. World-relative
defines the object's transformation relative to the world space and coordinates,
where all objects are positioned.
@param at The object-relative vector that defines where the display object is
pointing. Object-relative defines the object's transformation relative to the
object space, the object's own frame of reference and coordinate system. Default
value is the +y axis (0,1,0).
@param up The object-relative vector that defines "up" for the display object.
If the object is drawn looking down from above, the +z axis is its "up" vector.
Object-relative defines the object's transformation relative to the object space,
the object's own frame of reference and coordinate system. Default value is the
+z-axis (0,0,1).Prepends a matrix by multiplying the current Matrix3D object by another Matrix3D
object. The result combines both matrix transformations.
Matrix multiplication is different from matrix addition. Matrix multiplication is
not commutative. In other words, A times B is not equal to B times A. With the
`prepend()` method, the multiplication happens from the right side, meaning the `rhs`
Matrix3D object is on the right side of the multiplication operator.
```haxe
thisMatrix = thisMatrix * rhs
```
The modifications made by `prepend()` method are object-space-relative. In other
words, they are always relative to the object's initial frame of reference.
The `prepend()` method replaces the current matrix with the prepended matrix. If
you want to prepend two matrixes without altering the current matrix, first copy
the current matrix by using the `clone()` method and then apply the `prepend()`
method to the copy.
@param rhs A right-hand-side of the matrix by which the current Matrix3D is
multiplied.{ pivotPoint : null }Prepends an incremental rotation to a Matrix3D object. When the Matrix3D object is
applied to a display object, the matrix performs the rotation before other
transformations in the Matrix3D object.
The display object's rotation is defined by an axis, an incremental degree of
rotation around the axis, and an optional pivot point for the center of the
object's rotation. The axis can be any general direction. The common axes are the
`X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
`Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y
axis is called yaw. The rotation about the x axis is called pitch. The rotation
about the z axis is called roll.
The order of transformation matters. A rotation followed by a translation
transformation produces a different effect than a translation followed by a
rotation.
The rotation effect is not absolute. The effect is object-relative, relative to
the frame of reference of the original position and orientation. To make an
absolute change to the transformation, use the `recompose()` method.
When the `prependRotation()` method's transformation is applied to a Matrix3D
object of a display object, the cached rotation property values of the display
object are invalidated.
One way to have a display object rotate around a specific point relative to its
location is to set the translation of the object to the specified point, rotate
the object using the `prependRotation()` method, and translate the object back to
the original position. In the following example, the `myObject` 3D display object
makes a y-axis rotation around the coordinate (10,10,0).
```haxe
myObject.z = 1;
myObject.transform.matrix3D.prependTranslation(10,10,0);
myObject.transform.matrix3D.prependRotation(1, Vector3D.Y_AXIS);
myObject.transform.matrix3D.prependTranslation(-10,-10,0);
```
@param degrees The degree of rotation.
@param axis The axis or direction of rotation. The usual axes are the
`X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and
`Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one.
@param pivotPoint A point that determines the center of rotation. The default
pivot point for an object is its registration point.Prepends an incremental scale change along the x, y, and z axes to a Matrix3D
object. When the Matrix3D object is applied to a display object, the matrix
performs the scale changes before other transformations in the Matrix3D
object. The changes are object-relative, relative to the frame of reference of
the original position and orientation. The default scale factor is (1.0, 1.0, 1.0).
The scale is defined as a set of three incremental changes along the three
axes (x,y,z). You can multiply each axis with a different number. When the
scale changes are applied to a display object, the object's size increases or
decreases. For example, setting the x, y, and z axes to two doubles the size of
the object, while setting the axes to 0.5 halves the size. To make sure that the
scale transformation only affects a specific axis, set the other parameters to
one. A parameter of one means no scale change along the specific axis.
The `prependScale()` method can be used for resizing as well as for managing
distortions, such as stretch or contract of a display object. It can also be used
for zooming in and out on a location. Scale transformations are automatically
performed during a display object's rotation and translation.
The order of transformation matters. A resizing followed by a translation
transformation produces a different effect than a translation followed by a
resizing transformation.
@param xScale A multiplier used to scale the object along the x axis.
@param yScale A multiplier used to scale the object along the y axis.
@param zScale A multiplier used to scale the object along the z axis.Prepends an incremental translation, a repositioning along the x, y, and z axes,
to a Matrix3D object. When the Matrix3D object is applied to a display object,
the matrix performs the translation changes before other transformations in the
Matrix3D object.
Translation specifies the distance the display object moves from its current
location along the x, y, and z axes. The `prependTranslation()` method sets the
translation as a set of three incremental changes along the three axes (x,y,z).
To have a translation change only a specific axis, set the other parameters to
zero. A zero parameter means no change along the specific axis.
The translation changes are not absolute. The effect is object-relative,
relative to the frame of reference of the original position and orientation.
To make an absolute change to the transformation matrix, use the `recompose()`
method. The order of transformation also matters. A translation followed by a
rotation transformation produces a different effect than a rotation followed by
a translation transformation. When prependTranslation() is used, the display
object continues to move in the direction it is facing, regardless of the other
transformations. For example, if a display object was facing toward a positive x
axis, it continues to move in the direction specified by the
`prependTranslation()` method, regardless of how the object has been rotated. To
make translation changes occur after other transformations, use the
`appendTranslation()` method.
@param x An incremental translation along the x axis.
@param y An incremental translation along the y axis.
@param z An incremental translation along the z axis.{ orientationStyle : EULER_ANGLES }Sets the transformation matrix's translation, rotation, and scale settings. Unlike
the incremental changes made by the display object's rotation properties or
Matrix3D object's rotation methods, the changes made by `recompose()` method are
absolute changes. The `recompose()` method overwrites the matrix's transformation.
To modify the matrix's transformation with an absolute parent frame of reference,
retrieve the settings with the decompose() method and make the appropriate
changes. You can then set the Matrix3D object to the modified transformation
using the `recompose()` method.
The `recompose()` method's parameter specifies the orientation style that was
used for the transformation. The default orientation is eulerAngles, which defines
the orientation with three separate angles of rotation for each axis. The
rotations occur consecutively and do not change the axis of each other. The
display object's axis rotation properties perform Euler Angles orientation style
transformation. The other orientation style options are axisAngle and quaternion.
The Axis Angle orientation uses the combination of an axis and an angle to
determine the orientation. The axis around which the object is rotated is a unit
vector that represents a direction. The angle represents the magnitude of the
rotation about the vector. The direction also determines where a display object
is facing and the angle determines which way is up. The `appendRotation()` and
`prependRotation()` methods use the Axis Angle orientation. The quaternion
orientation uses complex numbers and the fourth element of a vector. An
orientation is represented by the three axes of rotation (x,y,z) and an angle of
rotation (w). The interpolate() method uses quaternion.
@param components A Vector of three Vector3D objects that replace the Matrix3D
object's translation, rotation, and scale elements.
@param orientationStyle An optional parameter that determines the orientation
style used for the matrix transformation. The three types of orientation styles
are eulerAngles (constant `EULER_ANGLES`), axisAngle (constant `AXIS_ANGLE`), and
quaternion (constant `QUATERNION`). For additional information on the different
orientation style, see the geom.Orientation3D class.
@returns Returns `false` if any of the Vector3D elements of the components
Vector do not exist or are `null`.Uses the transformation matrix to transform a Vector3D object from one space
coordinate to another. The returned Vector3D object holds the new coordinates
after the transformation. All the matrix transformations including translation
are applied to the Vector3D object.
If the result of the `transformVector()` method was applied to the position of a
display object, only the display object's position changes. The display object's
rotation and scale elements remain the same.
**Note:** This method automatically sets the w component of the passed Vector3D
to 1.0.
@param v A Vector3D object holding the coordinates that are going to be
transformed.
@returns A Vector3D object with the transformed coordinates.Uses the transformation matrix to transform a Vector of Numbers from one
coordinate space to another. The `tranformVectors()` method reads every three
Numbers in the `vin` Vector object as a 3D coordinate (x,y,z) and places a
transformed 3D coordinate in the `vout` Vector object. All the matrix
transformations including translation are applied to the `vin` Vector object.
You can use the `transformVectors()` method to render and transform a 3D object
as a mesh. A mesh is a collection of vertices that defines the shape of the object.
@param vin A Vector of Floats, where every three Numbers are a 3D coordinate
(x,y,z) that is going to be transformed.
@param vout A Vector of Floats, where every three Numbers are a 3D
transformed coordinate (x,y,z).Converts the current Matrix3D object to a matrix where the rows and columns are
swapped. For example, if the current Matrix3D object's rawData contains the
following 16 numbers, `1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34`, the
`transpose()` method reads every four elements as a row and turns the rows into
columns. The result is a matrix with the rawData of:
`1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34`.
The `transpose()` method replaces the current matrix with a transposed matrix.
If you want to transpose a matrix without altering the current matrix, first copy
the current matrix by using the `clone()` method and then apply the `transpose()`
method to the copy.
An orthogonal matrix is a square matrix whose transpose is equal to its inverse.{ v : null }The Matrix3D class represents a transformation matrix that determines the position and
orientation of a three-dimensional (3D) display object. The matrix can perform
transformation functions including translation (repositioning along the x, y, and z
axes), rotation, and scaling (resizing). The Matrix3D class can also perform
perspective projection, which maps points from the 3D coordinate space to a
two-dimensional (2D) view.
A single matrix can combine multiple transformations and apply them at once to a 3D
display object. For example, a matrix can be applied to 3D coordinates to perform a
rotation followed by a translation.
When you explicitly set the `z` property or any of the rotation or scaling properties
of a display object, a corresponding Matrix3D object is automatically created.
You can access a 3D display object's Matrix3D object through the `transform.matrix3d`
property. 2D objects do not have a Matrix3D object.
The value of the `z` property of a 2D object is zero and the value of its `matrix3D`
property is `null`.
**Note:** If the same Matrix3D object is assigned to two different display objects, a
runtime error is thrown.
The Matrix3D class uses a 4x4 square matrix: a table of four rows and columns of
numbers that hold the data for the transformation. The first three rows of the matrix
hold data for each 3D axis (x,y,z). The translation information is in the last column.
The orientation and scaling data are in the first three columns. The scaling factors
are the diagonal numbers in the first three columns. Here is a representation of
Matrix3D elements:

You don't need to understand matrix mathematics to use the Matrix3D class. It offers
specific methods that simplify the task of transformation and projection, such as the
`appendTranslation()`, `appendRotation()`, or `interpolateTo()` methods. You also can
use the `decompose()` and `recompose()` methods or the `rawData` property to access
the underlying matrix elements.
Display objects cache their axis rotation properties to have separate rotation for
each axis and to manage the different combinations of rotations. When a method of a
Matrix3D object is called to transform a display object, the rotation cache of the
object is invalidated."tags=\"haxe,release\""(16)]]>* A reference to a Vector to be used as a temporary raw data container, to prevent object creation.new Matrix3D()new Vector3D()Vector.ofArray([new Vector3D(), new Vector3D(), new Vector3D()]){ m : null }* Fills the 3d matrix object with values representing the transformation made by the given quaternion.
*
* @param quarternion The quarterion object to convert.{ v : null }Vector3D object representing the forward vector of the given matrix.
* @param m The Matrix3D object to use to get the forward vector
* @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null.
* @return The forward vector]]>{ v : null }Vector3D object representing the up vector of the given matrix.
* @param m The Matrix3D object to use to get the up vector
* @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null.
* @return The up vector]]>{ v : null }Vector3D object representing the right vector of the given matrix.
* @param m The Matrix3D object to use to get the right vector
* @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null.
* @return The right vector]]>* Returns a boolean value representing whether there is any significant difference between the two given 3d matrices.{ target : null }{ orientationStyle : EULER_ANGLES }{ result : null }{ result : null }{ result : null }* Matrix3DUtils provides additional Matrix3D math functions.0123* The A coefficient of this plane. (Also the x dimension of the plane normal)* The B coefficient of this plane. (Also the y dimension of the plane normal)* The C coefficient of this plane. (Also the z dimension of the plane normal)* The D coefficient of this plane. (Also the inverse dot product between normal and point)
<_alignment>
away3d* Fills this Plane3D with the coefficients from 3 points in 3d space.
* @param p0 Vector3D
* @param p1 Vector3D
* @param p2 Vector3D* Fills this Plane3D with the coefficients from the plane's normal and a point in 3d space.
* @param normal Vector3D
* @param point Vector3D* Normalize this Plane3D
* @return Plane3D This Plane3D.* Returns the signed distance between this Plane3D and the point p.
* @param p Vector3D
* @returns Number{ epsilon : 0.01 }* Classify a point against this Plane3D. (in front, back or intersecting)
* @param p Vector3D
* @return int Plane3.FRONT or Plane3D.BACK or Plane3D.INTERSECT{ d : 0, c : 0, b : 0, a : 0 }* Create a Plane3D with ABCD coefficients01012
<_distributions static="1">Math.PIVector3D object.
*
* @param w The first 3d number object to use in the calculation.
* @param q The first 3d number object to use in the calculation.
* @return An angle in radians representing the angle between the two Vector3D objects.]]>Vector3D object with the euler angles represented by the 3x3 matrix rotation of the given Matrix3D object.
*
* @param m1 The 3d matrix object to use in the calculation.
* @return A 3d vector representing the euler angles extracted from the 3d matrix.]]>Vector3D object containing the euler angles represented by the given Quaternion object.
*
* @param quaternion The quaternion object to use in the calculation.
* @return A 3d vector representing the euler angles extracted from the quaternion.]]>Vector3D object containing the scale values represented by the given Matrix3D object.
*
* @param m The 3d matrix object to use in the calculation.
* @return A 3d vector representing the axis scale values extracted from the 3d matrix.]]>* Vector3DUtils provides additional Vector3D math functions.
<_parent>
away3d
<_childNodes>
<_numChildNodes>
<_debugPrimitive>
<_numEntities>
away3d
<_collectionMark>
away3d* The parent node. Null if this node is the root.away3d* Adds a node to the tree. By default, this is used for both static as dynamic nodes, but for some data
* structures such as BSP trees, it can be more efficient to only use this for dynamic nodes, and add the
* static child nodes using custom links.
*
* @param node The node to be added as a child of the current node.away3d* Removes a child node from the tree.
* @param node The child node to be removed.* Tests if the current node is at least partly inside the frustum.
* @param viewProjectionRaw The raw data of the view projection matrix
*
* @return Whether or not the node is at least partly inside the view frustum.* Tests if the current node is intersecting with a ray.
* @param rayPosition The starting position of the ray
* @param rayDirection The direction vector of the ray
*
* @return Whether or not the node is at least partly intersecting the ray.* Finds the partition that contains (or should contain) the given entity.* Allows the traverser to visit the current node. If the traverser's enterNode method returns true, the
* traverser will be sent down the child nodes of the tree.
* This method should be overridden if the order of traversal is important (such as for BSP trees) - or if static
* child nodes are not added using addNode, but are linked to separately.
*
* @param traverser The traverser visiting the node.
*
* @see away3d.core.traverse.PartitionTraverser* Creates a new NodeBase object.* The NodeBase class is an abstract base class for any type of space partition tree node. The concrete
* subtype will control the creation of its child nodes, which are necessarily of the same type. The exception is
* the creation of leaf entity nodes, which is handled by the Partition3D class.
*
* @see away3d.partition.EntityNode
* @see away3d.partition.Partition3D
* @see away3d.containers.Scene3D
<_entity>
<_updateQueueNext>
away3d* The link to the next object in the list to be updated
* @private* The entity contained in this leaf node.* @inheritDoc* Detaches the node from its parent.* @inheritDoc* Creates a new EntityNode object.
* @param entity The Entity to be contained in this leaf node.* The EntityNode class provides an abstract base class for leaf nodes in a partition tree, containing
* entities to be fed to the EntityCollector traverser.
* The concrete subtype of Entity is responsible for creating a matching subtype of EntityNode.
*
* @see away3d.scenegraph.Entity
* @see away3d.core.traverse.EntityCollector* @inheritDoc* Creates a new CameraNode object.
* @param camera The camera to be contained in the node.* CameraNode is a space partitioning leaf node that contains a Camera3D object.
<_light>* The light object contained in this node.* @inheritDoc* Creates a new LightNode object.
* @param light The light to be contained in the node.* LightNode is a space partitioning leaf node that contains a LightBase object.
<_minX>
<_minY>
<_minZ>
<_leaves>
<_numCellsX>
<_numCellsY>
<_numCellsZ>
<_cellWidth>
<_cellHeight>
<_cellDepth>
<_showDebugBounds>* DynamicGrid is used by certain partitioning systems that require vislists for regions of dynamic data.
<_minX>
<_minY>
<_minZ>
<_maxX>
<_maxY>
<_maxZ>
<_centerX>
<_centerY>
<_centerZ>
<_halfExtentX>
<_halfExtentY>
<_halfExtentZ>away3d* InvertedOctreeNode is an octree data structure not used hierarchically for culling, but for fast dynamic insertion.
* The data structure is essentially a grid, but "overarching" parent container nodes for entities striding across nodes.
* If this is visible, so is the parent.
* Traversal happens invertedly too.
<_light>* The light object contained in this node.* @inheritDoc* Creates a new LightNode object.
* @param light The light to be contained in the node.* LightNode is a space partitioning leaf node that contains a LightBase object. Used for lights that are not of default supported type.
<_light>* The light object contained in this node.* @inheritDoc* Creates a new LightNode object.
* @param light The light to be contained in the node.* LightNode is a space partitioning leaf node that contains a LightBase object.
<_mesh>* The mesh object contained in the partition node.* @inheritDoc* Creates a new MeshNode object.
* @param mesh The mesh to be contained in the node.* MeshNode is a space partitioning leaf node that contains a Mesh object.* Creates a new NullNode object.* NullNode is a node that performs no space partitioning, but simply stores all objects in a
* list of leaf nodes. This partitioning system is most useful for simple content, or content that is always in the
* screen, such as a 3d user interface.
<_rootNode>
<_updatesMade>
<_updateQueue>* Sends a traverser through the partition tree.
* @param traverser
*
* @see away3d.core.traverse.PartitionTraverseraway3d* Mark a scene graph entity for updating. This will trigger a reassignment within the tree, based on the
* object's bounding box, upon the next traversal.
* @param entity The entity to be updated in the tree.away3d* Removes an entity from the partition tree.
* @param entity The entity to be removed.* Updates all entities that were marked for update.* Creates a new Partition3D object.
* @param rootNode The root node of the space partition system. This will indicate which type of data structure will be used.* Partition3D is the core of a space partition system. The space partition system typically subdivides the 3D scene
* hierarchically into a number of non-overlapping subspaces, forming a tree data structure. This is used to more
* efficiently perform frustum culling, potential visibility determination and collision detection.
<_centerX>
<_centerY>
<_centerZ>
<_minX>
<_minY>
<_minZ>
<_maxX>
<_maxY>
<_maxZ>
<_quadSize>
<_depth>
<_leaf>
<_rightTopFar>
<_leftTopFar>
<_rightBottomFar>
<_leftBottomFar>
<_rightTopNear>
<_leftTopNear>
<_rightBottomNear>
<_leftBottomNear>
<_halfExtent>{ depth : 0, centerZ : 0, centerY : 0, centerX : 0, size : 10000, maxDepth : 5 }
<_light>* The light object contained in this node.* @inheritDoc* Creates a new LightNode object.
* @param light The light to be contained in the node.* LightNode is a space partitioning leaf node that contains a LightBase object.{ height : 1000000 }
<_centerX>
<_centerZ>
<_depth>
<_leaf>
<_height>
<_rightFar>
<_leftFar>
<_rightNear>
<_leftNear>
<_halfExtentXZ>
<_halfExtentY>{ depth : 0, centerZ : 0, centerX : 0, height : 1000000, size : 10000, maxDepth : 5 }
<_renderable>* @inheritDoc* Creates a new RenderableNode object.
* @param mesh The mesh to be contained in the node.* RenderableNode is a space partitioning leaf node that contains any Entity that is itself a IRenderable
* object. This excludes Mesh (since the renderable objects are its SubMesh children).
<_skyBox>* @inheritDoc* Creates a new SkyBoxNode object.
* @param skyBox The SkyBox to be contained in the node.* SkyBoxNode is a space partitioning leaf node that contains a SkyBox object.
<_entityWorldBounds static="1">
<_width>
<_height>
<_depth>
<_cellSize>
<_numCellsX>
<_numCellsY>
<_numCellsZ>
<_cells>
<_minX>
<_minY>
<_minZ>
<_maxX>
<_maxY>
<_maxZ>
<_active>
away3d{ indexZ : 0, indexY : 0, indexX : 0 }{ indexZ : 0, indexY : 0, indexX : 0 }{ indexZ : 0, indexY : 0, indexX : 0 }{ indexZ : 0, indexY : 0, indexX : 0 }* Enable the use of a cell. Do this if the camera or casting light can potentially be in this cell.
* If the ViewVolume was constructed with gridSize -1, it does not need to be called
* @param indexX The x-index of the cell
* @param indexY The y-index of the cell
* @param indexZ The z-index of the cell* Disables the use of a cell. Do this only if the camera or casting light can never be in this cell.
* @param indexX The x-index of the cell
* @param indexY The y-index of the cell
* @param indexZ The z-index of the cell{ indexZ : 0, indexY : 0, indexX : 0, dynamicGrid : null }* Adds all static geometry in a scene that intersects a given region, as well as the dynamic grid if provided.
* @param minBounds The minimum bounds of the region to be considered visible
* @param maxBounds The maximum bounds of the region to be considered visible
* @param scene The Scene3D object containing the static objects to be added.
* @param dynamicGrid The DynamicGrid belonging to the partition this will be used with
* @param indexX An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided.
* @param indexY An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided.
* @param indexZ An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided.{ dynamicGrid : null }* A shortcut method for addVisibleRegion, that adds static geometry in a scene that intersects a given viewvolume, as well as the dynamic grid if provided.
* @param viewVolume The viewVolume providing the region
* @param scene The Scene3D object containing the static objects to be added.
* @param dynamicGrid The DynamicGrid belonging to the partition this will be used with{ cellSize : -1 }* Creates a new ViewVolume with given dimensions. A ViewVolume is a region where the camera or a shadow casting light could reside in.
*
* @param minBound The minimum boundaries of the view volume (the bottom-left-near corner)
* @param maxBound The maximum boundaries of the view volume (the top-right-far corner)
* @param cellSize The size of cell subdivisions for the view volume. The default value is -1, meaning the view volume will not be subdivided. This is the value that should usually be used when setting visibility info manually.()]]>()]]>* Adds a view volume to provide visibility info for a given region.* A dynamic grid to be able to determine visibility of dynamic objects. If none is provided, dynamic objects are only frustum-culled.
* If provided, ViewVolumes need to have visible grid cells assigned from the same DynamicGrid instance.
<_viewVolumes>
<_activeVolume>
<_dynamicGrid>* Sets the position and direction of a picking ray in local coordinates to the entity.
*
* @param localDirection The position vector in local coordinates
* @param localPosition The direction vector in local coordinatesSubMesh object for a collision with the picking ray.
*
* @param subMesh The SubMesh instance to be tested.
* @param pickingCollisionVO The collision object used to store the collision results
* @param shortestCollisionDistance The current value of the shortest distance to a detected collision along the ray.]]>RaycastPicker picking object.
*
* @see away3d.entities.Entity#pickingCollider
* @see away3d.core.pick.RaycastPicker]]>
<_pbPickingCollider>
<_haxePickingCollider>
<_activePickingCollider>1024SubMesh object over which PixelBender is used.]]>* @inheritDoc* @inheritDoc{ findClosestCollision : false }AutoPickingCollider object.
*
* @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]>RaycastPicker picking object.
* Chooses between pure AS3 picking and PixelBender picking based on a threshold property representing
* the number of triangles encountered in a SubMesh object over which PixelBender is used.
*
* @see away3d.entities.Entity#pickingCollider
* @see away3d.core.pick.RaycastPicker]]>{ normal : null }{ uv : null }* @inheritDoc* An abstract base class for all picking collider classes. It should not be instantiated directly.
<_findClosestCollision>* @inheritDoc{ findClosestCollision : false }HaxePickingCollider object.
*
* @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]>RaycastPicker picking object.
*
* @see away3d.entities.Entity#pickingCollider
* @see away3d.core.pick.RaycastPicker]]>* Gets the collision object from the screen coordinates of the picking ray.
*
* @param x The x coordinate of the picking ray in screen-space.
* @param y The y coordinate of the picking ray in screen-space.
* @param view The view on which the picking object acts.* Gets the collision object from the scene position and direction of the picking ray.
*
* @param position The position of the picking ray in scene-space.
* @param direction The direction of the picking ray in scene-space.
* @param scene The scene on which the picking object acts.* Determines whether the picker takes account of the mouseEnabled properties of entities. Defaults to true.* Disposes memory used by the IPicker object* Provides an interface for picking objects that can pick 3d objects from a view or scene.
<_findClosestCollision>
<_rayTriangleKernel>
<_lastSubMeshUploaded>
<_kernelOutputBuffer>* @inheritDoc* @inheritDoc{ findClosestCollision : false }PBPickingCollider object.
*
* @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]>RaycastPicker picking object.
*
* @see away3d.entities.Entity#pickingCollider
* @see away3d.core.pick.RaycastPicker]]>null* Default null collider that forces picker to only use entity bounds for hit calculations on an Entitynew HaxePickingCollider(false)* Pure Haxe picking collider that returns the first encountered hit on an Entity. Useful for low poly meshes and applying to many mesh instances.
*
* @see away3d.core.pick.HaxePickingCollidernew HaxePickingCollider(true)* Pure Haxe picking collider that returns the best (closest) hit on an Entity. Useful for low poly meshes and applying to many mesh instances.
*
* @see away3d.core.pick.HaxePickingCollidernew PBPickingCollider(false)* PixelBender-based picking collider that returns the first encountered hit on an Entity. Useful for fast picking high poly meshes on desktop devices.
* To use this, the SubGeometry must have its vertex data in separate buffers: use Geometry::convertToSeparateBuffers() to ensure this.
*
* @see away3d.core.pick.PBPickingCollidernew PBPickingCollider(true)* PixelBender-based picking collider that returns the best (closest) hit on an Entity. Useful for fast picking high poly meshes on desktop devices.
* To use this, the SubGeometry must have its vertex data in separate buffers: use Geometry::convertToSeparateBuffers() to ensure this.
*
* @see away3d.core.pick.PBPickingCollidernew AutoPickingCollider(false)SubMesh object over which PixelBender is used.
* Useful for picking meshes with a mixture of polycounts.
*
* @see away3d.core.pick.AutoPickingCollider
* @see away3d.core.pick.AutoPickingCollider#triangleThreshold]]>new AutoPickingCollider(true)SubMesh object over which PixelBender is used.
* Useful for picking meshes with a mixture of polycounts.
*
* @see away3d.core.pick.AutoPickingCollider
* @see away3d.core.pick.AutoPickingCollider#triangleThreshold]]>RaycastPicker picking object.
*
* @see away3d.entities.Entity#pickingCollider
* @see away3d.core.pick.RaycastPicker]]>* The entity to which this collision object belongs.* The local position of the collision on the entity's surface.* The local normal vector at the position of the collision.* The uv coordinate at the position of the collision.* The index of the face where the event took pl ace.* The index of the subGeometry where the event took place.* The starting position of the colliding ray in local coordinates.* The direction of the colliding ray in local coordinates.* The starting position of the colliding ray in scene coordinates.* The direction of the colliding ray in scene coordinates.* Determines if the ray position is contained within the entity bounds.
*
* @see away3d.entities.Entity#bounds* The distance along the ray from the starting position to the calculated intersection entry point with the entity.* The IRenderable associated with a collision.PickingCollisionVO object.
*
* @param entity The entity to which this collision object belongs.]]>* Value object for a picking collision returned by a picking collider. Created as unique objects on entities
*
* @see away3d.entities.Entity#pickingCollisionVO
* @see away3d.core.pick.IPickingCollidernew Vector3D()new Vector3D()
<_findClosestCollision>
<_raycastCollector expr="new RaycastCollector()">
new RaycastCollector()
<_ignoredEntities expr="new Array<Entity>()">
()]]>
<_onlyMouseEnabled expr="true">
true
<_entities>
<_numEntities>
<_hasCollisions>* @inheritDoc* @inheritDoc* @inheritDocRaycastPicker object.
*
* @param findClosestCollision Determines whether the picker searches for the closest bounds collision along the ray,
* or simply returns the first collision encountered Defaults to false.]]>* Picks a 3d object from a view or scene by 3D raycast calculations.
* Performs an initial coarse boundary calculation to return a subset of entities whose bounding volumes intersect with the specified ray,
* then triggers an optional picking collider on individual entity objects to further determine the precise values of the picking ray collision.
<__limeRectangle static="1">
<__pool expr="new ObjectPool<Rectangle>(function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))" line="62" static="1">
(function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))]]>The sum of the `y` and `height` properties.
The location of the Rectangle object's bottom-right corner, determined
by the values of the `right` and `bottom` properties.
The height of the rectangle, in pixels. Changing the `height` value of
a Rectangle object has no effect on the `x`, `y`, and `width`
properties.
The _x_ coordinate of the top-left corner of the rectangle. Changing
the `left` property of a Rectangle object has no effect on the `y` and
`height` properties. However it does affect the `width` property,
whereas changing the `x` value does _not_ affect the `width` property.
The value of the `left` property is equal to the value of the `x`
property.
The sum of the `x` and `width` properties.
The size of the Rectangle object, expressed as a Point object with the
values of the `width` and `height` properties.The _y_ coordinate of the top-left corner of the rectangle. Changing
the `top` property of a Rectangle object has no effect on the `x` and
`width` properties. However it does affect the `height` property,
whereas changing the `y` value does _not_ affect the `height`
property.
The value of the `top` property is equal to the value of the `y`
property.
The location of the Rectangle object's top-left corner, determined by
the _x_ and _y_ coordinates of the point.
The width of the rectangle, in pixels. Changing the `width` value of a
Rectangle object has no effect on the `x`, `y`, and `height`
properties.
The _x_ coordinate of the top-left corner of the rectangle. Changing
the value of the `x` property of a Rectangle object has no
effect on the `y`, `width`, and `height`
properties.
The value of the `x` property is equal to the value of the
`left` property.The _y_ coordinate of the top-left corner of the rectangle. Changing
the value of the `y` property of a Rectangle object has no
effect on the `x`, `width`, and `height`
properties.
The value of the `y` property is equal to the value of the
`top` property.Returns a new Rectangle object with the same values for the
`x`, `y`, `width`, and
`height` properties as the original Rectangle object.
@return A new Rectangle object with the same values for the
`x`, `y`, `width`, and
`height` properties as the original Rectangle object.Determines whether the specified point is contained within the rectangular
region defined by this Rectangle object.
@param x The _x_ coordinate(horizontal position) of the point.
@param y The _y_ coordinate(vertical position) of the point.
@return A value of `true` if the Rectangle object contains the
specified point; otherwise `false`.Determines whether the specified point is contained within the rectangular
region defined by this Rectangle object. This method is similar to the
`Rectangle.contains()` method, except that it takes a Point
object as a parameter.
@param point The point, as represented by its _x_ and _y_
coordinates.
@return A value of `true` if the Rectangle object contains the
specified point; otherwise `false`.Determines whether the Rectangle object specified by the `rect`
parameter is contained within this Rectangle object. A Rectangle object is
said to contain another if the second Rectangle object falls entirely
within the boundaries of the first.
@param rect The Rectangle object being checked.
@return A value of `true` if the Rectangle object that you
specify is contained by this Rectangle object; otherwise
`false`.Copies all of rectangle data from the source Rectangle object into the calling
Rectangle object.
@param sourceRect The Rectangle object from which to copy the data.Determines whether the object specified in the `toCompare`
parameter is equal to this Rectangle object. This method compares the
`x`, `y`, `width`, and
`height` properties of an object against the same properties of
this Rectangle object.
@param toCompare The rectangle to compare to this Rectangle object.
@return A value of `true` if the object has exactly the same
values for the `x`, `y`, `width`,
and `height` properties as this Rectangle object;
otherwise `false`.Increases the size of the Rectangle object by the specified amounts,
in pixels. The center point of the Rectangle object stays the same,
and its size increases to the left and right by the `dx` value, and to
the top and the bottom by the `dy` value.
@param dx The value to be added to the left and the right of the
Rectangle object. The following equation is used to
calculate the new width and position of the rectangle:
```as3
x -= dx;
width += 2 * dx;
```
@param dy The value to be added to the top and the bottom of the
Rectangle. The following equation is used to calculate the
new height and position of the rectangle:
```
y -= dy;
height += 2 * dy;
```Increases the size of the Rectangle object. This method is similar to
the `Rectangle.inflate()` method except it takes a Point object as a
parameter.
The following two code examples give the same result:
```haxe
var rect1 = new Rectangle(0,0,2,5);
rect1.inflate(2,2);
```
```haxe
var rect1 = new Rectangle(0,0,2,5);
var pt1 = new Point(2,2);
rect1.inflatePoint(pt1);
```
@param point The `x` property of this Point object is used to increase
the horizontal dimension of the Rectangle object. The `y`
property is used to increase the vertical dimension of
the Rectangle object.If the Rectangle object specified in the `toIntersect` parameter
intersects with this Rectangle object, returns the area of
intersection as a Rectangle object. If the rectangles do not
intersect, this method returns an empty Rectangle object with its
properties set to 0.

@param toIntersect The Rectangle object to compare against to see if
it intersects with this Rectangle object.
@return A Rectangle object that equals the area of intersection. If
the rectangles do not intersect, this method returns an empty
Rectangle object; that is, a rectangle with its `x`, `y`,
`width`, and `height` properties set to 0.Determines whether the object specified in the `toIntersect`
parameter intersects with this Rectangle object. This method checks the
`x`, `y`, `width`, and
`height` properties of the specified Rectangle object to see if
it intersects with this Rectangle object.
@param toIntersect The Rectangle object to compare against this Rectangle
object.
@return A value of `true` if the specified object intersects
with this Rectangle object; otherwise `false`.Determines whether or not this Rectangle object is empty.
@return A value of `true` if the Rectangle object's width or
height is less than or equal to 0; otherwise `false`.Adjusts the location of the Rectangle object, as determined by its
top-left corner, by the specified amounts.
@param dx Moves the _x_ value of the Rectangle object by this amount.
@param dy Moves the _y_ value of the Rectangle object by this amount.Adjusts the location of the Rectangle object using a Point object as a
parameter. This method is similar to the `Rectangle.offset()`
method, except that it takes a Point object as a parameter.
@param point A Point object to use to offset this Rectangle object.Sets all of the Rectangle object's properties to 0. A Rectangle object is
empty if its width or height is less than or equal to 0.
This method sets the values of the `x`, `y`,
`width`, and `height` properties to 0.Sets the members of Rectangle to the specified values
@param xa the values to set the rectangle to.
@param ya
@param widtha
@param heightaAdds two rectangles together to create a new Rectangle object, by
filling in the horizontal and vertical space between the two
rectangles.

**Note:** The `union()` method ignores rectangles with `0` as the
height or width value, such as: `var rect2:Rectangle = new Rectangle(300,300,50,0);`
@param toUnion A Rectangle object to add to this Rectangle object.
@return A new Rectangle object that is the union of the two
rectangles.
<__contract set="method" line="554">
<__expand set="method" line="577">
<__toLimeRectangle set="method" line="606">
<__transform set="method" line="618">
{ height : 0, width : 0, y : 0, x : 0 }Creates a new Rectangle object with the top-left corner specified by the
`x` and `y` parameters and with the specified
`width` and `height` parameters. If you call this
function without parameters, a rectangle with `x`,
`y`, `width`, and `height` properties set
to 0 is created.
@param x The _x_ coordinate of the top-left corner of the
rectangle.
@param y The _y_ coordinate of the top-left corner of the
rectangle.
@param width The width of the rectangle, in pixels.
@param height The height of the rectangle, in pixels.A Rectangle object is an area defined by its position, as indicated by its
top-left corner point(_x_, _y_) and by its width and its height.
The `x`, `y`, `width`, and
`height` properties of the Rectangle class are independent of
each other; changing the value of one property has no effect on the others.
However, the `right` and `bottom` properties are
integrally related to those four properties. For example, if you change the
value of the `right` property, the value of the
`width` property changes; if you change the `bottom`
property, the value of the `height` property changes.
The following methods and properties use Rectangle objects:
* The `applyFilter()`, `colorTransform()`,
`copyChannel()`, `copyPixels()`, `draw()`,
`fillRect()`, `generateFilterRect()`,
`getColorBoundsRect()`, `getPixels()`,
`merge()`, `paletteMap()`,
`pixelDisolve()`, `setPixels()`, and
`threshold()` methods, and the `rect` property of the
BitmapData class
* The `getBounds()` and `getRect()` methods, and
the `scrollRect` and `scale9Grid` properties of the
DisplayObject class
* The `getCharBoundaries()` method of the TextField
class
* The `pixelBounds` property of the Transform class
* The `bounds` parameter for the `startDrag()`
method of the Sprite class
* The `printArea` parameter of the `addPage()`
method of the PrintJob class
You can use the `new Rectangle()` constructor to create a
Rectangle object.
**Note:** The Rectangle class does not define a rectangular Shape
display object. To draw a rectangular Shape object onscreen, use the
`drawRect()` method of the Graphics class."tags=\"haxe,release\""new Rectangle(0, 0, 1, 1)
<_stage3DProxy>
<_context>
<_onlyMouseEnabled expr="true">
true
<_objectProgram3D>
<_triangleProgram3D>
<_bitmapData>
<_viewportData>
<_boundOffsetScale>
<_id>
<_interactives expr="new Vector<IRenderable>()">
()]]>
<_interactiveId>
<_hitColor>
<_projX>
<_projY>
<_hitRenderable>
<_hitEntity>
<_localHitPosition expr="new Vector3D()">
new Vector3D()
<_hitUV expr="new Point()">
new Point()
<_faceIndex>
<_subGeometryIndex>
<_localHitNormal expr="new Vector3D()">
new Vector3D()
<_rayPos expr="new Vector3D()">
new Vector3D()
<_rayDir expr="new Vector3D()">
new Vector3D()
<_potentialFound>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Draw a list of renderables.
* @param renderables The renderables to draw.
* @param camera The camera for which to render.* Creates the Program3D that color-codes objects.* Creates the Program3D that renders positions.* Gets more detailed information about the hir position, if required.
* @param camera The camera used to view the hit object.* Finds a first-guess approximate position about the hit position.
* @param camera The camera used to view the hit object.* Use the approximate position info to find the face under the mouse position from which we can derive the precise
* ray-face intersection point, then use barycentric coordinates to figure out the uv coordinates, etc.
* @param camera The camera used to view the hit object.* Finds the precise hit position by unprojecting the screen coordinate back unto the hit face's plane and
* calculating the intersection point.
* @param camera The camera used to render the object.
* @param invSceneTransform The inverse scene transformation of the hit object.
* @param nx The x-coordinate of the face's plane normal.
* @param ny The y-coordinate of the face plane normal.
* @param nz The z-coordinate of the face plane normal.
* @param px The x-coordinate of a point on the face's plane (ie a face vertex)
* @param py The y-coordinate of a point on the face's plane (ie a face vertex)
* @param pz The z-coordinate of a point on the face's plane (ie a face vertex)ShaderPicker object.]]>* Picks a 3d object from a view or scene by performing a separate render pass on the scene around the area being picked using key color values,
* then reading back the color value of the pixel in the render representing the picking ray. Requires multiple passes and readbacks for retriving details
* on an entity that has its shaderPickingDetails property set to true.
*
* A read-back operation from any GPU is not a very efficient process, and the amount of processing used can vary significantly between different hardware.
*
* @see away3d.entities.Entity#shaderPickingDetailsnew ShaderPicker()* Uses a render pass to pick objects based on a key color that is read back into the engine.
* Performance can be variable on some GPUs.new RaycastPicker(false)* Uses AS3 and Pixel Bender to pick objects based on ray intersection. Returns the hit on the first encountered Entity.new RaycastPicker(true)* Uses AS3 and Pixel Bender to pick objects based on ray intersection. Returns the best (closest) hit on an Entity.* Options for the different 3D object picking approaches available in Away3D. Can be used for automatic mouse picking on the view.
*
* @see away3d.containers.View3D#mousePicker
<_program3d>
<_texture>
<_indexBuffer>
<_vertexBuffer>
<_stage3DProxy>
<_context>away3daway3daway3daway3daway3daway3daway3daway3daway3daway3daway3daway3daway3d
<_context>
<_stage3DProxy>
<_backgroundR expr="0">
0
<_backgroundG expr="0">
0
<_backgroundB expr="0">
0
<_backgroundAlpha expr="1">
1
<_shareContext expr="false">
false
<_renderTarget>
<_renderTargetSurface>
<_viewWidth>
<_viewHeight>
<_renderableSorter>
<_backgroundImageRenderer>
<_background>
<_renderToTexture>
<_antiAlias>
<_textureRatioX expr="1">
1
<_textureRatioY expr="1">
1
<_snapshotBitmapData>
<_snapshotRequired>
<_clearOnRender expr="true">
true
<_rttViewProjectionMatrix expr="new Matrix3D()">
new Matrix3D()away3d* The background color's red component, used when clearing.
*
* @private* The background color's green component, used when clearing.
*
* @private* The background color's blue component, used when clearing.
*
* @private* The Stage3DProxy that will provide the Context3D used for rendering.
*
* @private* Defers control of Context3D clear() and present() calls to Stage3DProxy, enabling multiple Stage3D frameworks
* to share the same Context3D object.
*
* @privateaway3d* Disposes the resources used by the RendererBase.
*
* @private{ surfaceSelector : 0, scissorRect : null, target : null }* Renders the potentially visible geometry to the back buffer or texture.
* @param entityCollector The EntityCollector object containing the potentially visible geometry.
* @param target An option target texture to render to.
* @param surfaceSelector The index of a CubeTexture's face to render to.
* @param additionalClearMask Additional clear mask information, in case extra clear channels are to be omitted.{ surfaceSelector : 0, scissorRect : null, target : null }* Renders the potentially visible geometry to the back buffer or texture. Only executed if everything is set up.
* @param entityCollector The EntityCollector object containing the potentially visible geometry.
* @param target An option target texture to render to.
* @param surfaceSelector The index of a CubeTexture's face to render to.
* @param additionalClearMask Additional clear mask information, in case extra clear channels are to be omitted.* Performs the actual drawing of geometry to the target.
* @param entityCollector The EntityCollector object containing the potentially visible geometry.* Assign the context once retrieved{ renderToTexture : false }* Creates a new RendererBase object.* RendererBase forms an abstract base class for classes that are used in the rendering pipeline to render geometry
* to the back buffer or a texture.123
<_activeMaterial>
<_distanceRenderer>
<_depthRenderer>
<_skyboxProjection expr="new Matrix3D()">
new Matrix3D()
<_tempSkyboxMatrix expr="new Matrix3D()">
new Matrix3D()
<_skyboxTempVector expr="new Vector3D()">
new Vector3D(){ surfaceSelector : 0, scissorRect : null, target : null }* @inheritDoc* Draw the skybox if present.
* @param entityCollector The EntityCollector containing all potentially visible information.* Draw a list of renderables.
* @param renderables The renderables to draw.
* @param entityCollector The EntityCollector containing all potentially visible information.* Creates a new DefaultRenderer object.
* @param antiAlias The amount of anti-aliasing to use.
* @param renderMode The render mode to use.* The DefaultRenderer class provides the default rendering method. It renders the scene graph objects using the
* materials assigned to them.
<_activeMaterial>
<_renderBlended>
<_distanceBased>
<_disableColor>away3d* @inheritDoc* Draw a list of renderables.
* @param renderables The renderables to draw.
* @param entityCollector The EntityCollector containing all potentially visible information.{ distanceBased : false, renderBlended : false }* Creates a new DepthRenderer object.
* @param renderBlended Indicates whether semi-transparent objects should be rendered.
* @param distanceBased Indicates whether the written depth value is distance-based or projected depth-based* The DepthRenderer class renders 32-bit depth information encoded as RGBA
<_filters>
<_tasks>
<_filterTasksInvalid>
<_mainInputTexture>
<_requireDepthRender>
<_rttManager>
<_stage3DProxy>
<_filterSizesInvalid expr="true">
true
<_program3D>
<_renderBlended>* @inheritDoc* Creates the depth rendering Program3D.
* @param context The Context3D object for which the Program3D needs to be created.{ renderBlended : false }* Creates a PositionRenderer object.
* @param renderBlended Indicates whether semi-transparent objects should be rendered.
* @param antiAlias The amount of anti-aliasing to be used
* @param renderMode The render mode to be used.* The PositionRenderer renders normalized position coordinates.* Sort the potentially visible data in an EntityCollector for rendering.
* @param collector The EntityCollector object containing the potentially visible data.* EntitySorterBase provides an abstract base class to sort geometry information in an EntityCollector object for
* rendering.* @inheritDoc* Creates a RenderableSorter objects* RenderableSorter sorts the potentially visible IRenderable objects collected by EntityCollector for optimal
* rendering performance. Objects are sorted first by material, then by distance to the camera. Opaque objects
* are sorted front to back, while objects that require blending are sorted back to front, to ensure correct
* blending.
<_collectionMark expr="0" line="34" static="1">
0away3d* A property that can be used to avoid processing a partition more than once.away3d* The scene being traversed.
<_entryPoint>
away3d* Called when the traversers enters a node. At minimum, it notifies the currently visited Partition3DNode whether or not further recursion is necessary.
* @param node The currently entered node.
* @return true if further recursion down children is necessary, false if not.* Passes a skybox to be processed by the traverser.* Passes an IRenderable object to be processed by the traverser.* Passes a light to be processed by the traverser.* Registers an entity for use.* The entry point for scene graph traversal, ie the point that will be used for traversing the graph
* position-dependently. For example: BSP visibility determination or collision detection.
* For the EntityCollector, this is the camera's scene position for example.* IPartitionTraverser is a hierarchical visitor pattern that traverses through a Partition3D data structure.
*
* @see away3d.partition.Partition3D
<_skyBox>
<_opaqueRenderableHead>
<_blendedRenderableHead>
<_entityHead>
<_renderableListItemPool>
<_entityListItemPool>
<_lights>
<_directionalLights>
<_pointLights>
<_lightProbes>
<_numEntities>
<_numLights>
<_numTriangles>
<_numMouseEnableds>
<_camera>
<_numDirectionalLights>
<_numPointLights>
<_numLightProbes>
<_cameraForward>
<_customCullPlanes>
<_cullPlanes>
<_numCullPlanes>* The camera that provides the visible frustum.* The amount of IRenderable objects that are mouse-enabled.* The sky box object if encountered.* The list of opaque IRenderable objects that are considered potentially visible.
* @param value* The list of IRenderable objects that require blending and are considered potentially visible.
* @param value* The lights of which the affecting area intersects the camera's frustum.* Clears all objects in the entity collector.* Returns true if the current node is at least partly in the frustum. If so, the partition node knows to pass on the traverser to its children.
*
* @param node The Partition3DNode object to frustum-test.* Adds a skybox to the potentially visible objects.
* @param renderable The skybox to add.* Adds an IRenderable object to the potentially visible objects.
* @param renderable The IRenderable object to add.* @inheritDoc* Adds a light to the potentially visible objects.
* @param light The light to add.* The total number of triangles collected, and which will be pushed to the render engine.* Cleans up any data at the end of a frame.* Creates a new EntityCollector object.* The EntityCollector class is a traverser for scene partitions that collects all scene graph entities that are
* considered potientially visible.
*
* @see away3d.partition.Partition3D
* @see away3d.partition.Entity
<_rayPosition expr="new Vector3D()">
new Vector3D()
<_rayDirection expr="new Vector3D()">
new Vector3D()* Provides the starting position of the ray.* Provides the direction vector of the ray.* Returns true if the current node is at least partly in the frustum. If so, the partition node knows to pass on the traverser to its children.
*
* @param node The Partition3DNode object to frustum-test.* @inheritDoc* Adds an IRenderable object to the potentially visible objects.
* @param renderable The IRenderable object to add.* @inheritDoc* Creates a new RaycastCollector object.* The RaycastCollector class is a traverser for scene partitions that collects all scene graph entities that are
* considered intersecting with the defined ray.
*
* @see away3d.partition.Partition3D
* @see away3d.partition.Entity
0
12
<_childIndex>
<_scene>
<_node>
<_traverseState>
<_childIndexStack>
<_stackPos>* Adds an IRenderable object to the potentially visible objects.
* @param renderable The IRenderable object to add.* Creates a new EntityCollector object.* The EntityCollector class is a traverser for scene partitions that collects all scene graph entities that are
* considered potientially visible.
*
* @see away3d.partition.Partition3D
* @see away3d.partition.Entity
<_fps>
<_ply>
<_view>{ scale : 4, color : 0x000000, yOff : 10, xOff : 10, view : null }openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()
<_WIDTH get="inline" set="null" expr="125" line="122" static="1">
125
<_MAX_HEIGHT get="inline" set="null" expr="85" line="123" static="1">
85
<_MIN_HEIGHT get="inline" set="null" expr="51" line="124" static="1">
51
<_UPPER_Y get="inline" set="null" expr="-1" line="125" static="1">
-1
<_MID_Y get="inline" set="null" expr="9" line="126" static="1">
9
<_LOWER_Y get="inline" set="null" expr="19" line="127" static="1">
19
<_DIAG_HEIGHT get="inline" set="null" expr="_MAX_HEIGHT - 50" line="128" static="1">
_MAX_HEIGHT - 50
<_BOTTOM_BAR_HEIGHT get="inline" set="null" expr="31" line="129" static="1">
31
<_POLY_COL get="inline" set="null" expr="0xffcc00" line="131" static="1">
0xffcc00
<_MEM_COL get="inline" set="null" expr="0xff00cc" line="132" static="1">
0xff00cc
<_INSTANCE static="1">* Holds a reference to the stats widget (or if several have been created
* during session, the one that was last instantiated.) Allows you to set
* properties and register views from anywhere in your code.
<_views>
<_timer>
<_last_frame_timestamp>
<_fps>
<_ram>
<_max_ram>
<_min_fps>
<_avg_fps>
<_max_fps>
<_tfaces>
<_rfaces>
<_num_frames>
<_fps_sum>
<_top_bar>
<_btm_bar>
<_btm_bar_hit>
<_data_format>
<_label_format>
<_fps_bar>
<_afps_bar>
<_lfps_bar>
<_hfps_bar>
<_diagram>
<_dia_bmp>
<_mem_points>
<_mem_graph>
<_updates>
<_min_max_btn>
<_fps_tf>
<_afps_tf>
<_ram_tf>
<_poly_tf>
<_swhw_tf>
<_drag_dx>
<_drag_dy>
<_dragging>
<_mean_data>
<_mean_data_length>
<_enable_reset>
<_enable_mod_fr>
<_transparent>
<_minimized>
<_showing_driv_info>
<_init set="method" line="228">* Add a view to the list of those that are taken into account when
* calculating on-screen and total poly counts. Use this method when the
* stats widget is not instantiated in the same place as where you create
* your view, or when using several views, or when views are created and
* destroyed dynamically at runtime.* Remove a view from the list of those that are taken into account when
* calculating on-screen and total poly counts. If the supplied view is
* the only one known to the stats widget, calling this will leave the
* list empty, disabling poly count statistics altogether.
<_initMisc set="method" line="281">
<_initTopBar set="method" line="300">
away3d* @private
* Draw logo and create title textfield.
<_initBottomBar set="method" line="400">
<_initDiagrams set="method" line="488">
<_initInteraction set="method" line="540">
<_redrawWindow set="method" line="557">
<_redrawStats set="method" line="590">
<_redrawMemGraph set="method" line="649">
<_getRamString set="method" line="678">
<_endDrag set="method" line="719">
<_onAddedToStage set="method" line="742">
<_onRemovedFromStage set="method" line="748">
<_onTimer set="method" line="754">
<_onEnterFrame set="method" line="781">
<_onDiagramClick set="method" line="817">
<_onAverageFpsClick_reset set="method" line="826">
away3d* @private
* Reset just the average FPS counter.
<_onCountersClick_reset set="method" line="838">
<_onMinMaxBtnClick set="method" line="843">
<_onTopBarMouseDown set="method" line="849">
<_onMouseMove set="method" line="859">
<_onMouseUpOrLeave set="method" line="866">{ enableModifyFrameRate : true, enableClickToReset : true, meanDataLength : 0, transparent : false, minimized : false, view3d : null }Create an Away3D stats widget. The widget can be added to the stage
* and positioned like any other display object. Once on the stage, you
* can drag the widget to re-position it at runtime.
*
*
If you pass a View3D instance, the widget will be able to display
* the total number of faces in your scene, and the amount of faces that
* were rendered during the last render() call. Views can also be registered
* after construction using the registerView() method. Omit the view
* constructor parameter to disable this feature altogether.
*
* @param view A reference to your Away3D view. This is required if you
* want the stats widget to display polycounts.
*
* @param minimized Defines whether the widget should start up in minimized
* mode. By default, it is shown in full-size mode on launch.
*
* @param transparent Defines whether to omit the background plate and print
* statistics directly on top of the underlying stage.
*
* @param meanDataLength The number of frames on which to base the average
* frame rate calculation. The default value of zero indicates that all
* frames since the last reset will be used.
*
* @param enableClickToReset Enables interaction allowing you to reset all
* counters by clicking the bottom bar of the widget. When activated, you
* can also click the average frame rate trace-out to reset just that one
* value.
*
* @param enableModifyFramerate When enabled, allows you to click the upper
* and lower parts of the graph area to increase and decrease SWF frame rate
* respectively.]]>Stats monitor for Away3D or general use in any project. The widget was designed to
* display all the necessary data in ways that are easily readable, while maintaining a
* tiny size.
*
*
The following data is displayed by the widget, either graphically, through
* text, or both.
*
*
Current frame rate in FPS (white in graph/bar)
*
SWF frame rate (Stage.frameRate)
*
Average FPS (blue in graph/bar)
*
Min/Max FPS (only on frame rate bar in minimized mode)
*
Current RAM usage (pink in graph)
*
Maximum RAM usage
*
Number of polygons in scene
*
Number of polygons last rendered (yellow in graph)
*
*
*
There are two display modes; standard and minimized, which are alternated by clicking
* the button in the upper right corner, at runtime. The widget can also be configured to
* start in minimized mode by setting the relevant constructor parameter.
*
*
All data can be reset at any time, by clicking the lower part of the widget (where
* the RAM and POLY counters are located. The average FPS can be reset separately by
* clicking it's ²displayed value. Furthermore, the stage frame rate can be increased or
* decreased by clicking the upper and lower parts of the graph, respectively. Clicking close
* to the center will increment in small values, and further away will increase the steps.
* The graph itself is only visible in standard (as opposed to minimized) display mode.
*
*
The average FPS is calculated using one of two methods, configurable via constructor
* parameters. By setting the meanDataLength to a non-zero value, the number of recorded
* frame rate values on which the average is based can be configured. This has a tiny
* impact on CPU usage, which is the reason why the default number is zero, denoting that
* the average is calculated from a running sum since the widget was last reset.
]]>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()falsefalse* Class for emmiting debuging messages, warnings and errors
<_subMeshes>
<_geometry>
<_material>
<_animator>
<_castsShadows expr="true">
true
<_shareAnimationGeometry expr="true">
truetrue.]]>null.]]>* The geometry used by the mesh that provides it with its shape.* The material with which to render the Mesh.* The SubMeshes out of which the Mesh consists. Every SubMesh can be assigned a material to override the Mesh's
* material.* Indicates whether or not the mesh share the same animation geometry.* Clears the animation geometry of this mesh. It will cause animation to generate a new animation geometry. Work only when shareAnimationGeometry is false.* @inheritDoc* Disposes mesh including the animator and children. This is a merely a convenience method.
* @return
* var clone : Mesh = new Mesh(original.geometry, original.material);
* ]]>* @inheritDoc* @inheritDoc* Called when a SubGeometry was added to the Geometry.* Called when a SubGeometry was removed from the Geometry.* Adds a SubMesh wrapping a SubGeometry.{ material : null }* Create a new Mesh object.
*
* @param geometry The geometry used by the mesh that provides it with its shape.
* @param material [optional] The material with which to render the Mesh.* Mesh is an instance of a Geometry, augmenting it with a presence in the scene graph, a material, and an animation
* state. It consists out of SubMeshes, which in turn correspond to SubGeometries. SubMeshes allow different parts
* of the geometry to be assigned different materials.{ showLetters : true, length : 1000 }Trident object.
*
* @param length The length of the trident axes. Default is 1000.
* @param showLetters If the Trident should display the letters X, Y and Z at each axis arrows. Default is true.]]>3 * 0xFFFFaway3daway3d
<_activeSubSet>
<_subSets>
<_subSetCount expr="0">
0
<_numIndices expr="0">
0
<_material>
<_animator>
<_hasData>
<_segments>
<_indexSegments expr="0">
0* Adds a new segment to the SegmentSet.
*
* @param segment the segment to add{ dispose : false }* Removes a segment from the SegmentSet by its index in the set.
*
* @param index The index of the segment to remove
* @param dispose If the segment must be disposed as well. Default is false;
*
* Removing a Segment by an index when segment is unknown
* index of the segment is relative to the order it was added to the segmentSet.
* If a segment was removed from or added to the segmentSet, a segment index may have changed.
* The index of each Segment is updated when one is added or removed.
* If 2 segments are added, segment #1 has index 0, segment #2 has index 1
* if segment #1 is removed, segment#2 will get index 0 instead of 1.{ dispose : false }* Removes a segment from the SegmentSet.
*
* @param segment The segment to remove
* @param dispose If the segment must be disposed as well. Default is false;* Empties the segmentSet from all its segments data* @returns a segment object from a given index.* @returns howmany segments are in the SegmentSetaway3d* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new SegmentSet object."zy""xy""xz"{ colorXZ : 0x00FF00, colorZY : 0xFF0000, colorXY : 0x0000FF, thickness : 1, gridSize : 100, subDivision : 10 }WireframeAxesGrid
* @param subDivision [optional] uint . Default is 10;
* @param gridSize [optional] uint . Default is 100;
* @param thickness [optional] Number . Default is 1;
* @param colorXY [optional] uint. Default is 0x0000FF.
* @param colorZY [optional] uint. Default is 0xFF0000.
* @param colorXZ [optional] uint. Default is 0x00FF00.]]>
<_geometry static="1">
<_material>
<_spriteMatrix>
<_animator>
<_pickingSubMesh>
<_pickingTransform>
<_camera>
<_width>
<_height>
<_shadowCaster expr="false">
false* Defines the animator of the mesh. Act on the mesh's geometry. Defaults to nullaway3d* Sprite3D is a 3D billboard, a renderable rectangular area that is always aligned with the projection plane.
* As a result, no perspective transformation occurs on a Sprite3D object.
*
* todo: mvp generation or vertex shader code can be optimized
<_lens>
<_viewProjectionInvalid expr="true">
true
<_viewProjection expr="new Matrix3D()">
new Matrix3D()
<_texture>* The aspect ratio of the texture or projection. By default this is the same aspect ratio of the texture (width/height)* The vertical field of view of the projection, or the angle of the cone.* The texture to be projected on the geometry.
* IMPORTANT: Since any point that is projected out of the range of the projector's cone is clamped to the texture's edges,
* the edges should be entirely neutral. Depending on the blend mode, the neutral color is:
* White for MULTIPLY,
* Black for ADD,
* Transparent for MIX* The matrix that projects a point in scene space into the texture coordinates.* @inheritDoc* Creates a new TextureProjector object.
* @param texture The texture to be projected on the geometry. Since any point that is projected out of the range
* of the projector's cone is clamped to the texture's edges, the edges should be entirely neutral.* TextureProjector is an object in the scene that can be used to project textures onto geometry. To do so,
* the object's material must have a ProjectiveTextureMethod method added to it with a TextureProjector object
* passed in the constructor.
* This can be used for various effects apart from acting like a normal projector, such as projecting fake shadows
* unto a surface, the impact of light coming through a stained glass window, ...
*
* @see away3d.materials.methods.ProjectiveTextureMethodException message.The call stack at the moment of the exception creation.Contains an exception, which was passed to `previous` constructor argument.Native exception, which caused this exception.
<__exceptionMessage>
<__exceptionStack>
<__nativeStack>
<__skipStack expr="0">
0"haxe.Exception.get_stack"
<__nativeException>
<__previousException>
Returns exception message.Detailed exception description.
Includes message, stack and the chain of previous exceptions (if set).
<__shiftStack get="inline" set="null" line="62">
"haxe.Exception.get_stack"Create a new Exception instance.
The `previous` argument could be used for exception chaining.
The `native` argument is for internal usage only.
There is no need to provide `native` argument manually and no need to keep it
upon extending `haxe.Exception` unless you know what you're doing. = null;
a.push(1); // generates target-specific null-pointer exception
} catch(e:haxe.Exception) {
throw e; // rethrows native exception instead of haxe.Exception
}
```]]>"Error"Contains the reference number associated with the specific error message. For a
custom Error object, this number is the value from the id parameter supplied in the
constructor.Contains the message associated with the Error object. By default, the value of
this property is "Error". You can specify a message property when you create an
Error object by passing the error string to the Error constructor function.Returns the call stack for an error at the time of the error's construction as a
string. As shown in the following example, the first line of the return value is
the string representation of the exception object, followed by the stack trace
elements:
```
TypeError: Error #1009: Cannot access a property or method of a null object reference
at com.xyz::OrderEntry/retrieveData()[/src/com/xyz/OrderEntry.as:995]
at com.xyz::OrderEntry/init()[/src/com/xyz/OrderEntry.as:200]
at com.xyz::OrderEntry()[/src/com/xyz/OrderEntry.as:148]
```
The preceding listing shows the value of this method when called in a debugger
version of Flash Player or code running in the AIR Debug Launcher (ADL). When code
runs in a release version of Flash Player or AIR, the stack trace is provided
without the file path and line number information, as in the following example:
```
TypeError: Error #1009: Cannot access a property or method of a null object reference
at com.xyz::OrderEntry/retrieveData()
at com.xyz::OrderEntry/init()
at com.xyz::OrderEntry()
```
For Flash Player 11.4 and earlier and AIR 3.4 and earlier, stack traces are only
available when code is running in the debugger version of Flash Player or the AIR
Debug Launcher (ADL). In non-debugger versions of those runtimes, calling this
method returns `null`.
@returns A string representation of the call stack.Returns the string "Error" by default or the value contained in the `Error.message`
property, if defined.
@returns The error message.{ id : 0, message : "" }Creates a new Error object. If message is specified, its value is assigned to the
object's Error.message property.
@param message A string associated with the Error object; this parameter is optional.
@param id A reference number to associate with the specific error message.The Error class contains information about an error that occurred in a script. In
developing ActionScript 3.0 applications, when you run your compiled code in the
debugger version of a Flash runtime, a dialog box displays exceptions of type Error,
or of a subclass, to help you troubleshoot the code. You create an Error object by
using the Error constructor function. Typically, you throw a new Error object from
within a `try` code block that is caught by a `catch` code block.
You can also create a subclass of the Error class and throw instances of that subclass."tags=\"haxe,release\""{ id : 0, message : null }* Create a new AbstractMethodError.
* @param message An optional message to override the default error message.
* @param id The id of the error.* AbstractMethodError is thrown when an abstract method is called. The method in question should be overridden
* by a concrete subclass.
<_since>
<_source>
<_info>{ id : 0, message : null }* Create a new TextureError.
* @param message An optional message to override the default error message.
* @param id The id of the error.* TextureError is thrown when an invalid texture is used regarding Stage3D limitations."playbackComplete"* Dispatched when a non-looping clip node inside an animation state reaches the end of its timeline."transitionComplete"
<_animator>
<_animationState>
<_animationNode>* The animator object that is the subject of this event.* The animation state object that is the subject of this event.* The animation node inside the animation state from which the event originated.* Clones the event.
*
* @return An exact duplicate of the current object.AnimatonStateEvent
*
* @param type The event type.
* @param animator The animation state object that is the subject of this event.
* @param animationNode The animation node inside the animation state from which the event originated.]]>* Dispatched to notify changes in an animation state's state."start"* Defines the value of the type property of a start event object."stop"* Defines the value of the type property of a stop event object."cycle_complete"* Defines the value of the type property of a cycle complete event object.
<_animator>* Clones the event.
*
* @return An exact duplicate of the current event object.AnimatorEvent object.
*
* @param type The event type.
* @param animator The animator object that is the subject of this event.]]>* Dispatched to notify changes in an animator's state."assetComplete""entityComplete""skyboxComplete""cameraComplete""meshComplete""geometryComplete""skeletonComplete""skeletonPoseComplete""containerComplete""textureComplete""textureProjectorComplete""materialComplete""animatorComplete""animationSetComplete""animationStateComplete""animationNodeComplete""stateTransitionComplete""segmentSetComplete""lightComplete""lightPickerComplete""effectMethodComplete""shadowMapMethodComplete""assetRename""assetConflictResolved""textureSizeError"
<_asset>
<_prevName>{ prevName : null, asset : null }* Dispatched whenever a ressource (asset) is parsed and created completly."lensChanged"
<_camera>{ cancelable : false, bubbles : false }"SubGeometryAdded"* Dispatched when a SubGeometry was added from the dispatching Geometry."SubGeometryRemoved"* Dispatched when a SubGeometry was removed from the dispatching Geometry."BoundsInvalid"
<_subGeometry>* The SubGeometry object that is the subject of this event, if appropriate.* Clones the event.
* @return An exact duplicate of the current object.{ subGeometry : null }* Create a new GeometryEvent
* @param type The event type.
* @param subGeometry An optional SubGeometry object that is the subject of this event.* Dispatched to notify changes in a geometry object's state.
*
* @see away3d.core.base.Geometry"matrixChanged"
<_lens>{ cancelable : false, bubbles : false }"castsShadowChange""loadError"* Dispatched when loading of a asset failed.
* Such as wrong parser type, unsupported extensions, parsing errors, malformated or unsupported 3d file etc.."resourceComplete"* Dispatched when a resource and all of its dependencies is retrieved."dependencyComplete"* Dispatched when a resource's dependency is retrieved and resolved.
<_url>
<_message>
<_isDependency>* The url of the loaded resource.* The error string on loadError.* Indicates whether the event occurred while loading a dependency, as opposed
* to the base file. Dependencies can be textures or other files that are
* referenced by the base file.* @inheritDoc{ errmsg : null, isDependency : false, url : null }* Create a new LoaderEvent object.
* @param type The event type.
* @param resource The loaded or parsed resource.
* @param url The url of the loaded resource.* LoaderEvent is an Event dispatched to notify changes in loading state."visiblityUpdated"* Defines the value of the type property of a visiblityUpdated event object."scenetransformChanged"* Defines the value of the type property of a scenetransformChanged event object."sceneChanged"* Defines the value of the type property of a sceneChanged event object."positionChanged"* Defines the value of the type property of a positionChanged event object."rotationChanged"* Defines the value of the type property of a rotationChanged event object."scaleChanged"* Defines the value of the type property of a scaleChanged event object.* Creates a copy of the Object3DEvent object and sets the value of each property to match that of the original.MaterialEvent object.
*
* @param type The type of the event. Possible values are: Object3DEvent.TRANSFORM_CHANGED, Object3DEvent.SCENETRANSFORM_CHANGED, Object3DEvent.SCENE_CHANGED, Object3DEvent.RADIUS_CHANGED and Object3DEvent.DIMENSIONS_CHANGED.
* @param object A reference to the 3d object that is relevant to the event.]]>* Passed as a parameter when a 3d object event occurs"parseComplete"* Dispatched when parsing of an asset completed."parseError"* Dispatched when an error occurs while parsing the data (e.g. because it's
* incorrectly formatted.)"readyForDependencies"* Dispatched when a parser is ready to have dependencies retrieved and resolved.
* This is an internal event that should rarely (if ever) be listened for by
* external classes.
<_message>* Additional human-readable message. Usually supplied for PARSE_ERROR events.{ message : "" }"cycle"* Dispatched when the time pointer enter a new cycle at time 0, after last time was greater than 0.99"range"* Dispatched when the time pointer is included a given from/to time region on a path"change_segment"* Dispatched when the time pointer enters a new PathSegment"addedToScene""removedFromScene""partitionChanged""ShaderInvalidated"{ cancelable : false, bubbles : false }"Context3DCreated""Context3DDisposed""Context3DRecreated""ViewportUpdated"{ cancelable : false, bubbles : false }"touchEnd3d""touchBegin3d""touchMove3d""touchOut3d""touchOver3d"
<_allowedToPropagate expr="true">
trueaway3d
<_parentEvent>
away3d* The horizontal coordinate at which the event occurred in view coordinates.* The vertical coordinate at which the event occurred in view coordinates.* The view object inside which the event took place.* The renderable inside which the event took place.* The material of the 3d element inside which the event took place.* The uv coordinate inside the draw primitive where the event took place.* The index of the face where the event took place.* The index of the subGeometry where the event took place.* The position in object space where the event took place* The normal in object space where the event took place* Indicates whether the Control key is active (true) or inactive (false).* Indicates whether the Alt key is active (true) or inactive (false).* Indicates whether the Shift key is active (true) or inactive (false).* @inheritDoc* @inheritDoc* Creates a copy of the TouchEvent3D object and sets the value of each property to match that of the original.* The position in scene space where the event took place* The normal in scene space where the event took place* Create a new TouchEvent3D object.
* @param type The type of the TouchEvent3D."xz""xy""zy"196605.00011.2
<_circle>
<_vectors>
<_subGeometry>
<_sortProp>
<_loopProp>
<_uvs>
<_vertices>
<_indices>
<_normals>
<_geomDirty expr="true">
true
<_centerMesh>
<_plane>
<_flip>
<_smoothSurface>
<_axis0Min>
<_axis0Max>
<_axis1Min>
<_axis1Max>
<_tmpNormal>
<_normal0>
<_normal1>
<_normal2>* The "cloud" of vector3d's to compose the mesh* Defines if the surface of the mesh must be smoothed or not. Default value is true.* Defines the projection plane for the class. Default is xz.* Defines if the face orientation needs to be inverted* Defines whether the mesh is recentered of not after generation* @inheritDoc* @inheritDoc* @inheritDoc{ smoothSurface : true, flip : false, centerMesh : false, plane : PLANE_XZ }
<_segmentsW>
<_segmentsH>
<_width>
<_height>
<_depth>
<_heightMap>
<_smoothedHeightMap>
<_activeMap>
<_minElevation>
<_maxElevation>
<_geomDirty expr="true">
true
<_uvDirty expr="true">
true
<_subGeometry>* Locks elevation factor beneath this color reading level. Default is 0;* Locks elevation factor above this color reading level. Default is 255;
* Allows to build "canyon" like landscapes with no additional work on heightmap source.* The number of segments that make up the plane along the Y or Z-axis, depending on whether yUp is true or
* false, respectively. Defaults to 1.* The width of the terrain plane.* The depth of the terrain plane.* Reading the terrain height from a given x z position
* for surface tracking purposes
*
* @see away3d.extrusions.Elevation.smoothHeightMap* Generates a smoother representation of the geometry using the original heightmap and subdivision settings.
* Allows smoother readings for surface tracking if original heightmap has noise, causing choppy camera movement.
*
* @see away3d.extrusions.Elevation.getHeightAt* @inheritDoc* Invalidates the primitive's geometry, causing it to be updated when requested.* Invalidates the primitive's uv coordinates, causing them to be updated when requested.{ smoothMap : false, minElevation : 0, maxElevation : 255, segmentsH : 30, segmentsW : 30, depth : 1000, height : 100, width : 1000 }* @param material MaterialBase. The Mesh (Elevation) material
* @param heightMap BitmapData. The heightmap to generate the mesh from
* @param width [optional] Number. The width of the mesh. Default is 1000.
* @param height [optional] Number. The height of the mesh. Default is 100.
* @param depth [optional] Number. The depth of the mesh. Default is 1000.
* @param segmentsW [optional] uint. The subdivision of the mesh along the x axis. Default is 30.
* @param segmentsH [optional] uint. The subdivision of the mesh along the y axis. Default is 30.
* @param maxElevation [optional] uint. The maximum color value to be used. Allows canyon like elevations instead of mountainious. Default is 255.
* @param minElevation [optional] uint. The minimum color value to be used. Default is 0.
* @param smoothMap [optional] Boolean. If surface tracking is used, an internal smoothed version of the map is generated,
* prevents irregular height readings if original map is blowed up or is having noise. Default is false.* Class Elevation generates (and becomes) a mesh from an heightmap..00011966051.2"x""y""z"
<_profile>
<_lastProfile>
<_keepLastProfile>
<_axis>
<_revolutions>
<_subdivision>
<_offsetRadius>
<_prevOffsetRadius expr="0">
0
<_materials>
<_coverAll>
<_flip>
<_centerMesh>
<_thickness>
<_preciseThickness>
<_ignoreSides>
<_smoothSurface>
<_tweek>
<_varr>
<_varr2>
<_uvarr>
<_startRotationOffset expr="0">
0
<_geomDirty expr="true">
true
<_subGeometry>
<_MaterialsSubGeometries expr="new Vector<SubGeometryList>()">
()]]>
<_maxIndProfile>
<_uva>
<_uvb>
<_uvc>
<_uvd>
<_va>
<_vb>
<_vc>
<_vd>
<_uvs>
<_vertices>
<_indices>
<_normals>
<_normalTmp>
<_normal0>
<_normal1>
<_normal2>* Defines the axis used for the lathe rotation. Defaults to "y".* Defines the number of revolutions performed by the lathe extrusion. Defaults to 1.* Defines the subdivisions created in the mesh for the total number of revolutions. Defaults to 2, minimum 2.
*
* @see #revolutions* Defines an offset radius applied to the profile. Defaults to 0.* An optional object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion.* Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true.* Defines if the generated faces should be inversed. Default false.* Defines if the surface of the mesh must be smoothed or not.* Defines if the last transformed profile values are saved or not. Useful in combo with rotations less than 1, to ease combinations with other extrusions classes such as SkinExtrude.* returns the last rotated profile values, if keepLastProfile was true* Defines if thickness is greater than 0 if the thickness is equally distributed along the volume. Default is false.* Defines whether the mesh is recentered of not after generation* Defines the thickness of the resulting lathed geometry. Defaults to 0 (single face).* Defines if the top, bottom, left, right, front or back of the the extrusion is left open.* Allows the building of shapes such as springs. Rotation must be higher than 1 to have significant effect. Properties of the objects are x,y,z,radius and rotation* @inheritDoc* @inheritDoc* @inheritDoc{ id : 0, render : true }{ lines : null, point2 : null }* Invalidates the geometry, causing it to be rebuilded when requested.{ smoothSurface : true, tweek : null, ignoreSides : "", materials : null, offsetRadius : 0, preciseThickness : true, thickness : 0, flip : false, centerMesh : false, coverall : true, subdivision : 10, revolutions : 1, axis : LatheExtrude.Y_AXIS, profile : null, material : null }* Class for generating meshes with axial symmetry such as donuts, pipes, vases etc."x""y""z"196605.0001
<_varr>
<_varr2>
<_uvarr>
<_subdivision>
<_coverAll>
<_flip>
<_closePath>
<_axis>
<_offset>
<_materials>
<_activeMaterial>
<_centerMesh>
<_thickness>
<_thicknessSubdivision>
<_ignoreSides>
<_geomDirty expr="true">
true
<_subGeometry>
<_MaterialsSubGeometries>
<_uva>
<_uvb>
<_uvc>
<_uvd>
<_maxIndProfile>
<_uvs>
<_vertices>
<_indices>
<_aVectors>
<_baseMax>
<_baseMin>* Defines the axis used for the extrusion. Defaults to "y".* An optional MultipleMaterials object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion.* Defines the subdivisions created in the mesh for the total number of revolutions. Defaults to 2, minimum 2.* Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true.* Defines if the generated faces should be inversed. Default false.* Defines whether the mesh is recentered of not after generation* Defines the _thickness of the resulting lathed geometry. Defaults to 0 (single face).* Defines the subdivision for the top, bottom, right and left if thickness is set higher to 0. Defaults to 1.* Defines if the top, bottom, left, right, front or back of the the extrusion is left open.* @inheritDoc* @inheritDoc* @inheritDoc{ invertU : false }{ lines : null, point2 : null }* Invalidates the geometry, causing it to be rebuilded when requested.{ flip : false, ignoreSides : "", closePath : false, centerMesh : false, materials : null, thicknessSubdivision : 3, thickness : 0, coverAll : false, subdivision : 3, offset : 10, axis : LinearExtrude.Y_AXIS, vectors : null, material : null }
<_transform>
<_upAxis expr="new Vector3D(0, 1, 0)">
new Vector3D(0, 1, 0)
<_path>
<_scene>
<_meshes>
<_clones>
<_repeat>
<_alignToPath>
<_randomRotationY>
<_segmentSpread expr="false">
false
<_mIndex>
<_count>
<_container>* The up axis to which duplicated objects' Y axis will be oriented.* If a container is provided, the meshes are addChilded to it instead of directly into the scene. The container is NOT addChilded to the scene.* Defines the resolution between each PathSegments. Default 1, is also minimum.* Defines if the profile point array should be orientated on path or not. Default true.* Defines if a clone gets a random rotationY to break visual repetitions, usefull in case of vegetation for instance.* returns a vector with all meshes cloned since last time build method was called. Returns null if build hasn't be called yet.
* Another option to retreive the generated meshes is to pass an ObjectContainer3D to the class* Sets and defines the Path object. See extrusions.utils package. Required for this class.. One or more meshes to repeat along the path. Required for this class.]]>* defines if the meshes[index] is repeated per segments or duplicated after each others. default = false.* Triggers the generation{ randomRotationY : false, container : null, segmentSpread : true, alignToPath : true, repeat : 1, scene : null, meshes : null, path : null }PathDuplicator
* Class replicates and distribute one or more mesh(es) along a path. The offsets are defined by the position of the object. 0,0,0 would place the center of the mesh exactly on Path.
*
* @param path [optional] A Path object. The _path definition. either Cubic or Quadratic path
* @param meshes [optional] Vector.<Mesh>. One or more meshes to repeat along the path.
* @param scene [optional] Scene3D. The scene where to addchild the meshes if no ObjectContainer3D is provided.
* @param repeat [optional] uint. How many times a mesh is cloned per PathSegment. Default is 1.
* @param alignToPath [optional] Boolean. If the alignment of the clones must follow the path. Default is true.
* @param segmentSpread [optional] Boolean. If more than one Mesh is passed, it defines if the clones alternate themselves per PathSegment or each repeat. Default is false.
* @param container [optional] ObjectContainer3D. If an ObjectContainer3D is provided, the meshes are addChilded to it instead of directly into the scene. The container is NOT addChilded to the scene by default.
* @param randomRotationY [optional] Boolean. If the clones must have a random rotationY added to them.
*]]>1966051.2
<_varr>
<_doubles expr="new Vector<Vertex>()">
()]]>
<_upAxis expr="new Vector3D(0, 1, 0)">
new Vector3D(0, 1, 0)
<_trans expr="new Matrix3D()">
new Matrix3D()
<_path>
<_profile>
<_centerMesh>
<_scales>
<_rotations>
<_materials>
<_activeMaterial>
<_subdivision>
<_coverAll>
<_coverSegment>
<_flip>
<_mapFit>
<_closePath>
<_alignToPath>
<_smoothScale>
<_smoothSurface>
<_isClosedProfile>
<_maxIndProfile>
<_matIndex expr="0">
0
<_segv>
<_geomDirty expr="true">
true
<_subGeometry>
<_MaterialsSubGeometries expr="new Vector<SubGeometryList>()">
()]]>
<_uva>
<_uvb>
<_uvc>
<_uvd>
<_uvs>
<_vertices>
<_indices>
<_normals>
<_normalTmp>
<_normal0>
<_normal1>
<_normal2>
<_keepExtremes>
<_distribute>
<_distributeU>
<_distributedU>
<_startPoints>
<_endPoints>* @inheritDoc* @inheritDoc* @inheritDoc* Defines whether the mesh is recentered of not after generation* Defines the uv's u values are spreaded procentually over the entire surface to prevent the maps to be stretched.* Invalidates the geometry, causing it to be rebuillded when requested.Path object representing path to extrude along. Required.]]>Vector3D objects that defines a series of scales to be set on each PathSegment.]]>Vector3D objects that defines a series of rotations to be set on each PathSegment.]]>* Defines the subdivisions created in the mesh for each PathSegment. Defaults to 2, minimum 2.* Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true.* Defines if the mesh subdivision is spread evenly over the entire geometry. Possibly resulting in uneven subdivision per segments.
* Uv mapping is less distorted on complex shapes once applied. Depending on Path length, extra construct time might be significant.
* Defaults to false.* Defines if the surface of the mesh must be smoothed or not.* Defines if the texture(s) should applied per segment. Default false.* Defines if the texture(s) should be projected on the geometry evenly spreaded over the source bitmapdata or using distance/percent. Default is false.
* The mapping considers first and last profile points are the most distant from each other. Most left and most right on the map.
* Note that it is NOT suitable for most cases. It is helpfull for roads definition, usually seen from above with simple profile. It prevents then distorts and eases map designs.* Defines if the generated faces should be inversed. Default false.* Defines if the last PathSegment should join the first one and close the loop. Defaults to false.* Defines if the array of profile points should be orientated on path or not. Default true. Note that Path object's worldaxis property might need to be changed. default = 0,1,0.
*
* @see #profileVector3D objects should affect the whole PathSegment evenly or be smoothly interpolated from previous PathSegment scale. Defaults to true.]]>* Defines if the first and last transformed vector3d's of the profile are kept.
* For instance to be able to pass these coordinates to DelaunayMesh class, to close the extrude, if it was a tube.
* @see getStartProfile
* @see getEndProfile* returns a vector of vector3d's representing the transformed profile coordinates at the start of the extrude shape
* null if "keepExtremes" is false or if the extrusion has not been builded yet.* returns a vector of vector3d's representing the transformed profile coordinates at the end of the extrude shape
* null if "keepExtremes" is false or if the extrusion has not been builded yet.{ closedata : false, offsetV : 0 }{ keepExtremes : false, distributeU : true, distribute : false, smoothSurface : true, rotations : null, smoothScale : true, scales : null, materials : null, closePath : false, flip : false, mapFit : false, centerMesh : false, alignToPath : true, coverSegment : false, coverAll : true, subdivision : 2, profile : null, path : null, material : null }PathExtrude
*
* @param material [optional] MaterialBase. The PathExtrude (Mesh) material. Optional in constructor, material must be set before PathExtrude object is rendered. Required for the class to work.
* @param path [optional] Path. Defines the Path object representing path to extrude along. Required for the class to work.
* @param profile [optional] Vector.<Vector3D>. Defines an Vector.<Vector3D> of Vector3D objects representing the profile information to be projected along the Path object. Required for the class to work.
* @param subdivision [optional] uint. Howmany steps between each PathSegment. If the path holds curves, the higher this value, the higher the curve fidelity. Default and minimum is 2;
* @param coverall [optional] Boolean. Defines the uv mapping, when true a unique material is stretched along the entire path/shape. Default is true.
* @param coverSegment [optional] Boolean. Defines the uv mapping, when true and coverall is false a unique material is stretched along one PathSegment. Default is false.
* @param alignToPath [optional] Boolean. If the profile must follow the path or keep its original orientation.
* @param centerMesh [optional] Boolean. If the geometry needs to be recentered in its own object space. If the position after generation is set to 0,0,0, the object would be centered in worldspace. Default is false.
* @param mapFit [optional] Boolean. The UV mapping is percentually spreaded over the width of the path, making texture looking nicer and edits for applications such as a race track, road, more easy. Affects the uv's u values and set distributeU to false. Default is false.
* @param flip [optional] Boolean. If the faces must be reversed depending on Vector3D's orientation. Default is false.
* @param closePath [optional] Boolean. If the last PathSegment entered must be welded back to first one. Executed in a straight manner, its recommanded to pass the first entry to the Path again, as last entry if curves are involved.
* @param materials [optional] Vector.<MaterialBase>. An optional Vector.<MaterialBase> of different materials that can be alternated along the path if coverAll is false.
* @param scales [optional] An optional Vector.<Vector3D> of Vector3D objects that defines a series of scales to be set on each PathSegment.
* @param smoothScale [optional] Boolean. Defines if the scale must be interpolated between values or keep their full aspect on each PathSegment.
* @param rotations [optional] An optional Vector.<Vector3D> of Vector3D objects that defines a series of rotations to be set on each PathSegment.
* @param smoothSurface [optional] An optional Boolean. Defines if the surface of the mesh must be smoothed or not. Default is true.
* @param distribute [optional] Boolean. If the mesh subdivision is evenly spreaded over the entire mesh. Depending on path definition, segments are possibly not having the same amount of subdivision.
* @param distributeU [optional] Boolean. If the mesh uv' u value is procentually spreaded over the entire mesh surface. Prevents the source map to be stretched. Default is true.
* @param keepExtremes [optional] Boolean. If the the first and last profile coordinates must be kept accessible, in order to feed classes such as DelaunayMesh. Default is false;]]>196605
<_tmpVectors>
<_subGeometry>
<_indice>
<_uva>
<_uvb>
<_uvc>
<_uvd>
<_va>
<_vb>
<_vc>
<_vd>
<_uvs>
<_vertices>
<_indices>
<_geomDirty expr="true">
true
<_profiles>
<_subdivision>
<_centerMesh>
<_closeShape>
<_coverAll>
<_flip>* Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to false.* Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to false.* Defines if the face orientatio needs to be inverted* Defines whether the mesh is _centerMeshed of not after generation* @inheritDoc* @inheritDoc* @inheritDoc* Invalidates the geometry, causing it to be rebuillded when requested.{ flip : false, coverAll : false, closeShape : false, centerMesh : false, subdivision : 1 }
<_tasks>
<_requireDepthRender>
<_textureWidth>
<_textureHeight>
<_brightPassTask>
<_vBlurTask>
<_hBlurTask>
<_compositeTask>{ quality : 3, exposure : 2, threshold : .75, blurY : 15, blurX : 15 }
<_hBlurTask>
<_vBlurTask>* The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
* Higher values provide better performance at the cost of reduces quality.{ stepSize : -1, blurY : 3, blurX : 3 }* Creates a new BlurFilter3D object
* @param blurX The amount of horizontal blur to apply
* @param blurY The amount of vertical blur to apply
* @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
<_focusTarget>
<_hDofTask>
<_vDofTask>* The amount of pixels between each sample.* An optional target ObjectContainer3D that will be used to auto-focus on.* The distance from the camera to the point that is in focus.* The distance between the focus point and the maximum amount of blur.* The maximum amount of horizontal blur.* The maximum amount of vertical blur.{ stepSize : -1, maxBlurY : 3, maxBlurX : 3 }* Creates a new DepthOfFieldFilter3D object.
* @param blurX The maximum amount of horizontal blur to apply
* @param blurY The maximum amount of vertical blur to apply
* @param stepSize The distance between samples. Set to -1 to auto-detect with acceptable quality.
<_blurTask>* The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
* Higher values provide better performance at the cost of reduces quality.{ stepSize : -1 }* Creates a new HBlurFilter3D object
* @param amount The amount of blur in pixels
* @param stepSize The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
<_dofTask>
<_focusTarget>{ stepSize : -1, maxBlur : 3 }* Creates a new HDepthOfFieldFilter3D object
* @param amount The amount of blur to apply in pixels
* @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
<_hslTask>{ b : 1, g : 1, r : 1, saturation : 1 }
<_compositeTask>
<_copyTask>{ strength : .65 }
<_blurTask>{ cy : 0.5, cx : 0.5, blurWidth : -0.3, blurStart : 1.0, glowGamma : 1.6, intensity : 8.0 }
<_blurTask>* The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
* Higher values provide better performance at the cost of reduces quality.{ stepSize : -1 }* Creates a new VBlurFilter3D object
* @param amount The amount of blur in pixels
* @param stepSize The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value).
<_dofTask>
<_focusTarget>{ stepSize : -1, maxBlur : 3 }* Creates a new VDepthOfFieldFilter3D object
* @param amount The amount of blur to apply in pixels
* @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
<_mainInputTexture>
<_mainInputTextureContext>
<_scaledTextureWidth expr="-1">
-1
<_scaledTextureHeight expr="-1">
-1
<_textureWidth expr="-1">
-1
<_textureHeight expr="-1">
-1
<_textureDimensionsInvalid expr="true">
true
<_program3DInvalid expr="true">
true
<_program3D>
<_program3DContext>
<_target>
<_requireDepthRender>
<_textureScale expr="0">
0* The texture scale for the input of this texture. This will define the output of the previous entry in the chain{ requireDepthRender : false }
<_data>
<_overlayTexture>
<_exposure>
<_brightPassData>
<_threshold>{ threshold : .75 }
<_data>
<_overlayTexture>
<_blendMode>{ exposure : 1 }
<_secondaryInputTexture>15
<_amount>
<_data>
<_stepSize expr="1">
1
<_realStepSize>{ stepSize : -1 }* Creates a new Filter3DHDepthOfFFieldTask
* @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas
* @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.10
<_maxBlur>
<_data>
<_focusDistance>
<_range expr="1000">
1000
<_stepSize>
<_realStepSize>{ stepSize : -1 }* Creates a new Filter3DHDepthOfFFieldTask
* @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas
* @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
<_rgbData>
<_saturation expr="0.6">
0.6
<_r expr="1">
1
<_b expr="1">
1
<_g expr="1">
115
<_data>
<_intensity expr="1.0">
1.0
<_glowGamma expr="1.0">
1.0
<_blurStart expr="1.0">
1.0
<_blurWidth expr="-0.3">
-0.3
<_cx expr="0.5">
0.5
<_cy expr="0.5">
0.5{ cy : 0.5, cx : 0.5, blurWidth : -0.3, blurStart : 1.0, glowGamma : 1.0, intensity : 1.0 }15
<_amount>
<_data>
<_stepSize expr="1">
1
<_realStepSize>{ stepSize : -1 }*
* @param amount
* @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.10
<_maxBlur>
<_data>
<_focusDistance>
<_range expr="1000">
1000
<_stepSize>
<_realStepSize>{ stepSize : -1 }* Creates a new Filter3DHDepthOfFFieldTask
* @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas
* @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality.
<_data>
<_overlayTexture>
<_instances expr="new Map<String,Asset3DLibraryBundle>()" line="21" static="1">
()]]>away3d* Short-hand for conflictStrategy property on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.conflictStrategy* Short-hand for conflictPrecedence property on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.conflictPrecedence{ key : "default" }* Returns an Asset3DLibrary bundle instance. If no key is given, returns the default bundle (which is
* similar to using the Asset3DLibraryBundle as a singleton). To keep several separated library bundles,
* pass a string key to this method to define which bundle should be returned. This is
* referred to as using the Asset3DLibraryBundle as a multiton.
*
* @param key Defines which multiton instance should be returned.
* @return An instance of the asset library**{ filterFunc : null, namespaceFilter : null, Asset3DTypeFilter : null }* Short-hand for createIterator() method on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.createIterator(){ parser : null, ns : null, context : null }* Short-hand for load() method on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.load(){ parser : null, ns : null, context : null }* Short-hand for loadData() method on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.loadData(){ ns : null }* Short-hand for getAsset() method on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.getAsset(){ useWeakReference : false, priority : 0, useCapture : false }* Short-hand for addEventListener() method on default asset library bundle.{ useCapture : false }* Short-hand for removeEventListener() method on default asset library bundle.* Short-hand for hasEventListener() method on default asset library bundle.* Short-hand for addAsset() method on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.addAsset(){ dispose : true }* Short-hand for removeAsset() method on default asset library bundle.
*
* @param asset The asset which should be removed from the library.
* @param dispose Defines whether the assets should also be disposed.
*
* @see away3d.library.Asset3DLibraryBundle.removeAsset(){ dispose : true, ns : null }* Short-hand for removeAssetByName() method on default asset library bundle.
*
* @param name The name of the asset to be removed.
* @param ns The namespace to which the desired asset belongs.
* @param dispose Defines whether the assets should also be disposed.
*
* @see away3d.library.Asset3DLibraryBundle.removeAssetByName(){ dispose : true }* Short-hand for removeAllAssets() method on default asset library bundle.
*
* @param dispose Defines whether the assets should also be disposed.
*
* @see away3d.library.Asset3DLibraryBundle.removeAllAssets(){ dispose : true, ns : null }* Short-hand for removeNamespaceAssets() method on default asset library bundle.
*
* @see away3d.library.Asset3DLibraryBundle.removeNamespaceAssets()Asset3DLibrary object.]]>getBundle() method.]]>{ key : "default" }* Returns an Asset3DLibraryBundle instance. If no key is given, returns the default bundle instance (which is
* similar to using the Asset3DLibraryBundle as a singleton.) To keep several separated library bundles,
* pass a string key to this method to define which bundle should be returned. This is
* referred to as using the Asset3DLibrary as a multiton.
*
* @param key Defines which multiton instance should be returned.
* @return An instance of the asset libraryConflictStrategy.APPEND_NUM_SUFFIX
* is used which means that a numeric suffix is appended to one of the assets. The
* conflictPrecedence property defines which of the two conflicting assets will
* be renamed.
*
* @see a3d.library.naming.ConflictStrategy
* @see a3d.library.Asset3DLibrary.conflictPrecedence]]>ConflictPrecedence.FAVOR_NEW is used, meaning that the newly renamed
* asset will keep it's new name while the older asset gets renamed to not conflict.
*
* This property is ignored for conflict strategies that do not actually rename an
* asset automatically, such as ConflictStrategy.IGNORE and ConflictStrategy.THROW_ERROR.
*
* @see a3d.library.naming.ConflictPrecedence
* @see a3d.library.naming.ConflictStrategy]]>
<_loadingSessions>
<_strategy>
<_strategyPreference>
<_assets>
<_assetDictionary>
<_assetDictDirty>**{ filterFunc : null, namespaceFilter : null, Asset3DTypeFilter : null }* Create an Asset3DLibraryIterator instance that can be used to iterate over the assets
* in this asset library instance. The iterator can filter assets on asset type and/or
* namespace. A "null" filter value means no filter of that type is used.
*
* @param Asset3DTypeFilter Asset type to filter on (from the Asset3DType enum class.) Use
* null to not filter on asset type.
* @param namespaceFilter Namespace to filter on. Use null to not filter on namespace.
* @param filterFunc Callback function to use when deciding whether an asset should be
* included in the iteration or not. This needs to be a function that takes a single
* parameter of type IAsset and returns a Bool where true means it should be included.
*
* @see away3d.library.assets.Asset3DType{ parser : null, ns : null, context : null }* Loads a file and (optionally) all of its dependencies.
*
* @param req The URLRequest object containing the URL of the file to be loaded.
* @param context An optional context object providing additional parameters for loading
* @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
* @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.{ parser : null, ns : null, context : null }* Loads a resource from existing data in memory.
*
* @param data The data object containing all resource information.
* @param context An optional context object providing additional parameters for loading
* @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
* @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.{ ns : null }*conflictStrategy and
* conflictPrecedence properties.]]>{ dispose : true }* Removes an asset from the library, and optionally disposes that asset by calling
* it's disposeAsset() method (which for most assets is implemented as a default
* version of that type's dispose() method.
*
* @param asset The asset which should be removed from this library.
* @param dispose Defines whether the assets should also be disposed.{ dispose : true, ns : null }* Removes an asset which is specified using name and namespace.
*
* @param name The name of the asset to be removed.
* @param ns The namespace to which the desired asset belongs.
* @param dispose Defines whether the assets should also be disposed.
*
* @see away3d.library.Asset3DLibrary.removeAsset(){ dispose : true }* Removes all assets from the asset library, optionally disposing them as they
* are removed.
*
* @param dispose Defines whether the assets should also be disposed.{ dispose : true, ns : null }* Removes all assets belonging to a particular namespace (null for default)
* from the asset library, and optionall disposes them by calling their
* disposeAsset() method.
*
* @param ns The namespace from which all assets should be removed.
* @param dispose Defines whether the assets should also be disposed.
*
* @see away3d.library.Asset3DLibrary.removeAsset(){ autoRemoveEmptyNamespace : true }{ parser : null, ns : null, context : null }* Loads a yet unloaded resource file from the given url.{ parser : null, ns : null, context : null }* Retrieves an unloaded resource parsed from the given data.
* @param data The data to be parsed.
* @param id The id that will be assigned to the resource. This can later also be used by the getResource method.
* @param ignoreDependencies Indicates whether or not dependencies should be ignored or loaded.
* @param parser An optional parser object that will translate the data into a usable resource.
* @return A handle to the retrieved resource.* Called when a dependency was retrieved.* Called when a an error occurs during dependency retrieving.* Called when a an error occurs during parsing.* Called when the resource and all of its dependencies was retrieved.* Called when unespected error occursAsset3DLibraryBundle object.]]>getInstance() method.]]>"entity""skybox""camera""segmentSet""mesh""geometry""skeleton""skeletonPose""container""texture""textureProjector""material""animationSet""animationState""animationNode""animator""stateTransition""light""lightPicker""shadowMapMethod""effectsMethod"
<_bitmapData>* The bitmapData to be treated as a resource.* Cleans up any resources used by the current object.{ bitmapData : null }* Creates a new BitmapDataResource object.
* @param bitmapData An optional BitmapData object to use as the resource data.* BitmapDataResource is a wrapper for loaded BitmapData, allowing it to be used uniformly as a resource when
* loading, parsing, and listing/resolving dependencies."favorOld"* Signals that in a conflict, the previous owner of the conflicting name
* should be favored (and keep it's name) and that the newly renamed asset
* is reverted to a non-conflicting name."favorNew"* Signales that in a conflict, the newly renamed asset is favored (and keeps
* it's newly defined name) and that the previous owner of that name gets
* renamed to a non-conflicting name.* Enumaration class for precedence when resolving naming conflicts in the library.
*
* @see away3d.library.Asset3DLibrary.conflictPrecedence
* @see away3d.library.Asset3DLibrary.conflictStrategy
* @see away3d.library.naming.ConflictStrategy* Resolve a naming conflict between two assets. Must be implemented by concrete strategy
* classes.* Create instance of this conflict strategy. Used internally by the Asset3DLibrary to
* make sure the same strategy instance is not used in all Asset3DLibrary instances, which
* would break any state caching that happens inside the strategy class.* Provided as a convenience method for all conflict strategy classes, as a way to finalize
* the conflict resolution by applying the new names and dispatching the correct events.
*
*
*
* @see away3d.library.Asset3DLibrary.conflictStrategy
* @see away3d.library.naming.ConflictStrategy
* @see away3d.library.naming.IgnoreConflictStrategy
* @see away3d.library.naming.ErrorConflictStrategy
* @see away3d.library.naming.NumSuffixConflictStrategy]]>
<_separator>
<_next_suffix>{ separator : "." }new NumSuffixConflictStrategy()* Specifies that in case of a naming conflict, one of the assets will be renamed and
* a numeric suffix appended to the base name.new IgnoreConflictStrategy()* Specifies that naming conflicts should be ignored. This is not recommended in most
* cases, unless it can be 100% guaranteed that the application does not cause naming
* conflicts in the library (i.e. when an app-level system is in place to prevent this.)new ErrorConflictStrategy()* Specifies that an error should be thrown if a naming conflict is discovered. Use this
* to be 100% sure that naming conflicts never occur unnoticed, and when it's undesirable
* to have the library automatically rename assets to avoid such conflicts.Asset3DLibrary.conflictPrecedence property defines which
* of the conflicting assets will get to keep it's name, and which is renamed (if any.)
*
* @see away3d.library.Asset3DLibrary.conflictStrategy
* @see away3d.library.naming.ConflictStrategyBase]]>
<_assets>
<_filtered>
<_idx>[48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70]away3d* @private
* Char codes for 0123456789ABCDEFThe UID has the form
* "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
* where X is a hexadecimal digit (0-9, A-F).
*
*
This UID will not be truly globally unique; but it is the best
* we can do without player support for UID generation.
*
* @return The newly-generated UID.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3]]>away3d* Returns the decimal representation of a hex digit.
* @private
<_color expr="0xffffff">
0xffffff
<_colorR expr="1">
1
<_colorG expr="1">
1
<_colorB expr="1">
1
<_ambientColor expr="0xffffff">
0xffffff
<_ambient expr="0">
0
<_ambientR expr="0">
0away3d
<_ambientG expr="0">
0away3d
<_ambientB expr="0">
0away3d
<_specular expr="1">
1
<_specularR expr="1">
1away3d
<_specularG expr="1">
1away3d
<_specularB expr="1">
1away3d
<_diffuse expr="1">
1
<_diffuseR expr="1">
1away3d
<_diffuseG expr="1">
1away3d
<_diffuseB expr="1">
1away3d
<_castsShadows public="1">
<_shadowMapper public="1">1.]]>1.]]>0xffffff.]]>0.]]>0xffffff.]]>{ target : null }away3d* Gets the optimal projection matrix to render a light-based depth map for a single object.
*
* @param renderable The IRenderable object to render to a depth map.
* @param target An optional target Matrix3D object. If not provided, an instance will be created.
* @return A Matrix3D object containing the projection transformation.* @inheritDoc* @inheritDoc* Updates the total specular components of the light.* Updates the total diffuse components of the light.* Create a new LightBase object.
* @param positionBased Indicates whether or not the light has a valid position, or is "infinite" such as a DirectionalLight.* LightBase provides an abstract base class for subtypes representing lights.
<_direction>
<_tmpLookAt>
<_sceneDirection>
<_projAABBPoints>* The direction of the light in scene coordinates.* The direction of the light.* @inheritDoc* @inheritDoc* @inheritDoc{ target : null }* @inheritDoc{ zDir : 1, yDir : -1, xDir : 0 }* Creates a new DirectionalLight object.
* @param xDir The x-component of the light's directional vector.
* @param yDir The y-component of the light's directional vector.
* @param zDir The z-component of the light's directional vector.* DirectionalLight represents an idealized light "at infinity", to be used for distant light sources such as the sun.
* In any position in the scene, the light raytracing will always be parallel.
* Although the position of the light does not impact its effect, it can be used along with lookAt to intuitively
* create day cycles by orbiting the position around a center point and using lookAt at that position.
<_diffuseMap>
<_specularMap>* @inheritDoc* @inheritDoc{ target : null }* @inheritDoc{ specularMap : null }* Creates a new LightProbe object.
<_radius public="1" expr="90000">
90000
<_fallOff public="1" expr="100000">
100000
<_fallOffFactor public="1">* The minimum distance of the light's reach.away3d* The maximum distance of the light's reach* @inheritDoc* @inheritDoc{ target : null }* @inheritDoc* Creates a new PointLight object.* PointLight represents an omni-directional light. The light is emitted from a given position in the scene.
<_casterCollector>
<_depthMap>
<_depthMapSize expr="2048">
2048
<_light>
<_explicitDepthMap>
<_autoUpdateShadows expr="true">
true
<_shadowsInvalid>
away3daway3d* This is used by renderers that can support depth maps to be shared across instances
* @param depthMapaway3d* Renders the depth map for this light.
* @param entityCollector The EntityCollector that contains the original scene data.
* @param renderer The DepthRenderer to render the depth map.away3daway3d
<_overallDepthCamera>
<_localFrustum>
<_lightOffset expr="10000">
10000
<_matrix>
<_overallDepthLens>
<_snap expr="64">
64
<_cullPlanes>
<_minZ>
<_maxZ>* Depth projection matrix that projects from scene space to depth map.* Depth projection matrix that projects from scene space to depth map.away3d
<_scissorRects>
<_scissorRectsInvalid expr="true">
true
<_splitRatios>
<_numCascades>
<_depthCameras>
<_depthLenses>
<_texOffsetsX>
<_texOffsetsY>
<_changeDispatcher>
<_nearPlaneDistances>{ useWeakReference : false, priority : 0, useCapture : false }{ useCapture : false }{ numCascades : 3 }
<_depthCameras>
<_lenses>
<_needsRender>
<_coverageRatio>* A value between 0 and 1 to indicate the ratio of the view frustum that needs to be covered by the shadow map.{ coverageRatio : .5 }* Enables a specific parser.
* When no specific parser is set for a loading/parsing opperation,
* loader3d can autoselect the correct parser to use.
* A parser must have been enabled, to be considered when autoselecting the parser.
*
* @param parserClass The parser class to enable.
*
* @see away3d.loaders.parsers.Parsers* Enables a list of parsers.
* When no specific parser is set for a loading/parsing opperation,
* AssetLoader can autoselect the correct parser to use.
* A parser must have been enabled, to be considered when autoselecting the parser.
*
* @param parserClasses A Vector of parser classes to enable.
* @see away3d.loaders.parsers.Parsers
<_context>
<_token>
<_uri>
<_errorHandlers>
<_parseErrorHandlers>
<_stack>
<_baseDependency>
<_loadingDependency>
<_namespace>* Returns the base dependency of the loader{ parser : null, ns : null, context : null }* Loads a file and (optionally) all of its dependencies.
*
* @param req The URLRequest object containing the URL of the file to be loaded.
* @param context An optional context object providing additional parameters for loading
* @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
* @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.{ parser : null, ns : null, context : null }* Loads a resource from already loaded data.
*
* @param data The data object containing all resource information.
* @param context An optional context object providing additional parameters for loading
* @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
* @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.{ parser : null }* Recursively retrieves the next to-be-loaded and parsed dependency on the stack, or pops the list off the
* stack when complete and continues on the top set.
* @param parser The parser that will translate the data into a usable resource.{ parser : null }* Retrieves a single dependency.
* @param parser The parser that will translate the data into a usable resource.* Called when a single dependency loading failed, and pushes further dependencies onto the stack.
* @param eventParserEvent.PARSE_ERROR
* @param event]]>* Called when a single dependency was parsed, and pushes further dependencies onto the stack.
* @param event* Called when an image is too large or it's dimensions are not a power of 2
* @param eventaway3d* @private
* This method is used by other loader classes (e.g. Loader3D and Asset3DLibraryBundle) to
* add error event listeners to the AssetLoader instance. This system is used instead of
* the regular EventDispatcher system so that the Asset3DLibrary error handler can be sure
* that if hasEventListener() returns true, it's client code that's listening for the
* event. Secondly, functions added as error handler through this custom method are
* expected to return a boolean value indicating whether the event was handled (i.e.
* whether they in turn had any client code listening for the event.) If no handlers
* return true, the AssetLoader knows that the event wasn't handled and will throw an RTE.away3d* Create a new ResourceLoadSession object.* AssetLoader can load any file format that Away3D supports (or for which a third-party parser
* has been plugged in) and it's dependencies. Events are dispatched when assets are encountered
* and for when the resource (or it's dependencies) have been loaded.
*
* The AssetLoader will not make assets available in any other way than through the dispatched
* events. To store assets and make them available at any point from any module in an application,
* use the Asset3DLibrary to load and manage assets.
*
* @see away3d.loading.Loader3D
* @see away3d.loading.Asset3DLibrary* Enables a specific parser.
* When no specific parser is set for a loading/parsing opperation,
* loader3d can autoselect the correct parser to use.
* A parser must have been enabled, to be considered when autoselecting the parser.
*
* @param parserClass The parser class to enable.
* @see away3d.loaders.parsers.Parsers* Enables a list of parsers.
* When no specific parser is set for a loading/parsing opperation,
* loader3d can autoselect the correct parser to use.
* A parser must have been enabled, to be considered when autoselecting the parser.
*
* @param parserClasses A Vector of parser classes to enable.
* @see away3d.loaders.parsers.Parsers
<_loadingSessions>
<_useAssetLib>
<_assetLibId>{ parser : null, ns : null, context : null }* Loads a file and (optionally) all of its dependencies.
*
* @param req The URLRequest object containing the URL of the file to be loaded.
* @param context An optional context object providing additional parameters for loading
* @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
* @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.{ parser : null, ns : null, context : null }* Loads a resource from already loaded data.
*
* @param data The data object containing all resource information.
* @param context An optional context object providing additional parameters for loading
* @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets
* @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.* Stop the current loading/parsing process.{ asset3DLibraryId : null, useAsset3DLibrary : true }* Loader3D can load any file format that Away3D supports (or for which a third-party parser
* has been plugged in) and be added directly to the scene. As assets are encountered
* they are added to the Loader3D container. Assets that can not be displayed in the scene
* graph (e.g. unused bitmaps/materials/skeletons etc) will be ignored.
*
* This provides a fast and easy way to load models (no need for event listeners) but is not
* very versatile since many types of assets are ignored.
*
* Loader3D by default uses the Asset3DLibrary to load all assets, which means that they also
* ends up in the library. To circumvent this, Loader3D can be configured to not use the
* Asset3DLibrary in which case it will use the AssetLoader directly.
*
* @see away3d.loaders.AssetLoader
* @see away3d.library.Asset3DLibrary012
<_includeDependencies>
<_dependencyBaseUrl>
<_embeddedDataByUrl>
<_remappedUrls>
<_materialMode>
<_overrideAbsPath>
<_overrideFullUrls>* Defines whether dependencies (all files except the one at the URL given to the load() or
* parseData() operations) should be automatically loaded. Defaults to true.* MaterialMode defines, if the Parser should create SinglePass or MultiPass Materials
* Options:
* 0 (Default / undefined) - All Parsers will create SinglePassMaterials, but the AWD2.1parser will create Materials as they are defined in the file
* 1 (Force SinglePass) - All Parsers create SinglePassMaterials
* 2 (Force MultiPass) - All Parsers will create MultiPassMaterials
** A base URL that will be prepended to all relative dependency URLs found in a loaded resource.
* Absolute paths will not be affected by the value of this property.* Defines whether absolute paths (defined as paths that begin with a "/") should be overridden
* with the dependencyBaseUrl defined in this context. If this is true, and the base path is
* "base", /path/to/asset.jpg will be resolved as base/path/to/asset.jpg.* Defines whether "full" URLs (defined as a URL that includes a scheme, e.g. http://) should be
* overridden with the dependencyBaseUrl defined in this context. If this is true, and the base
* path is "base", http://example.com/path/to/asset.jpg will be resolved as base/path/to/asset.jpg.* Map a URL to another URL, so that files that are referred to by the original URL will instead
* be loaded from the new URL. Use this when your file structure does not match the one that is
* expected by the loaded file.
*
* @param originalUrl The original URL which is referenced in the loaded resource.
* @param newUrl The URL from which Away3D should load the resource instead.
*
* @see mapUrlToData()* Map a URL to embedded data, so that instead of trying to load a dependency from the URL at
* which it's referenced, the dependency data will be retrieved straight from the memory instead.
*
* @param originalUrl The original URL which is referenced in the loaded resource.
* @param data The embedded data. Can be ByteArray or a class which can be used to create a bytearray.away3d* @private
* Defines whether embedded data has been mapped to a particular URL.away3d* @private
* Returns embedded data for a particular URL.away3d* @private
* Defines whether a replacement URL has been mapped to a particular URL.away3d* @private
* Returns new (replacement) URL for a particular original URL.{ dependencyBaseUrl : null, includeDependencies : true }* AssetLoaderContext provides configuration for the AssetLoader load() and parse() operations.
* Use it to configure how (and if) dependencies are loaded, or to map dependency URLs to
* embedded data.
*
* @see away3d.loading.AssetLoader
<_loader>
away3d{ useWeakReference : false, priority : 0, useCapture : false }{ useCapture : false }* Dispatched when any asset finishes parsing. Also see specific events for each
* individual asset type (meshes, materials et c.)
*
* @eventType away3d.events.Asset3DEvent
<_id>
<_req>
<_assets>
<_parentParser>
<_data>
<_retrieveAsRawData>
<_suppressAsset3DEvents>
<_dependencies>away3daway3d* The data containing the dependency to be parsed, if the resource was already loaded.away3d* @private
* Method to set data after having already created the dependency object, e.g. after load.* The parser which is dependent on this ResourceDependency object.* Resolve the dependency when it's loaded with the parent parser. For example, a dependency containing an
* ImageResource would be assigned to a Mesh instance as a BitmapMaterial, a scene graph object would be added
* to its intended parent. The dependency should be a member of the dependencies property.* Resolve a dependency failure. For example, map loading failure from a 3d file* Resolve the dependencies name{ suppressAsset3DEvents : false, retrieveAsRawData : false }* ResourceDependency represents the data required to load, parse and resolve additional files ("dependencies")
* required by a parser, used by ResourceLoadSession.
*trueproceedParsing to indicate no more parsing is needed.]]>falseproceedParsing to indicate more parsing is needed, allowing asynchronous parsing.]]>
<_fileName>
away3d
<_dataFormat>
<_data>
<_frameLimit>
<_lastFrameTime>
<_dependencies>
<_parsingPaused>
<_parsingComplete>
<_parsingFailure>
<_timer>
<_materialMode>* Validates a bitmapData loaded before assigning to a default BitmapMaterial* parsingPaused will be true, if the parser is paused
* (e.g. it is waiting for dependencys to be loadet and parsed before it will continue)* MaterialMode defines, if the Parser should create SinglePass or MultiPass Materials
* Options:
* 0 (Default / undefined) - All Parsers will create SinglePassMaterials, but the AWD2.1parser will create Materials as they are defined in the file
* 1 (Force SinglePass) - All Parsers create SinglePassMaterials
* 2 (Force MultiPass) - All Parsers will create MultiPassMaterials
*ParserDataFormat.BINARY or ParserDataFormat.PLAIN_TEXT.]]>{ frameLimit : 30 }* Parse data (possibly containing bytearry, plain text or BitmapAsset) asynchronously, meaning that
* the parser will periodically stop parsing so that the AVM may proceed to the
* next frame.
*
* @param data The untyped data object in which the loaded data resides.
* @param frameLimit number of milliseconds of parsing allowed per frame. The
* actual time spent on a frame can exceed this number since time-checks can
* only be performed between logical sections of the parsing procedure.* A list of dependencies that need to be loaded and resolved for the object being parsed.away3d* Resolve a dependency when it's loaded. For example, a dependency containing an ImageResource would be assigned
* to a Mesh instance as a BitmapMaterial, a scene graph object would be added to its intended parent. The
* dependency should be a member of the dependencies property.
*
* @param resourceDependency The dependency to be resolved.away3d* Resolve a dependency loading failure. Used by parser to eventually provide a default map
*
* @param resourceDependency The dependency to be resolved.away3d* Resolve a dependency name
*
* @param resourceDependency The dependency to be resolved.away3d* After Dependencys has been loaded and parsed, continue to parse{ name : null }away3dAsset3DEvent.ASSET_COMPLETE and another Asset3DEvent, that depents on the type of asset.
*
* @param asset The asset to finalize
* @param name The name of the asset. The name will be applied to the asset]]>ParserBase.PARSING_DONE or
* ParserBase.MORE_TO_PARSE.]]>{ message : "Unknown parsing error" }ParserEvent.PARSE_ERROR
*
* @param message The message to apply to the ParserEvent.PARSE_ERROR]]>{ suppressErrorEvents : false, data : null, retrieveAsRawData : false }ParserEvent.READY_FOR_DEPENDENCIES]]>* Tests whether or not there is still time left for parsing within the maximum allowed time frame per session.
* @return True if there is still time left, false if the maximum allotted time was exceeded and parsing should be interrupted.{ event : null }* Called when the parsing pause interval has passed and parsing can proceed.* Initializes the parsing of data.
* @param frameLimit The maximum duration of a parsing session.* Finish parsing the data.ParserDataFormat.BINARY or ParserDataFormat.PLAIN_TEXT, and should be provided by the concrete subtype.
*
* @see away3d.loading.parsers.ParserDataFormat]]>ParserBase provides an abstract base class for objects that convert blocks of data to data structures
* supported by Away3D.
*
* If used by AssetLoader to automatically determine the parser type, two public static methods should
* be implemented, with the following signatures:
*
* public static function supportsType(extension : String) : Bool
* Indicates whether or not a given file extension is supported by the parser.
*
* public static function supportsData(data : *) : Bool
* Tests whether a data block can be parsed by the parser.
*
* Furthermore, for any concrete subtype, the method initHandle should be overridden to immediately
* create the object that will contain the parsed data. This allows ResourceManager to return an object
* handle regardless of whether the object was loaded or not.
*
* @see away3d.loading.parsers.AssetLoader
* @see away3d.loading.ResourceManager]]>* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_byteData>
<_startedParsing>
<_doneParsing>
<_loader>* @inheritDoc* Called when "loading" is complete.* Creates a new ImageParser object.
* @param uri The url or id of the data or file to be parsed.
* @param extra The holder for extra contextual data that the parser might need.* ImageParser provides a "parser" for natively supported image types (jpg, png). While it simply loads bytes into
* a loader object, it wraps it in a BitmapDataResource so resource management can happen consistently without
* exception cases.
<_parsers expr="Vector.ofArray(cast [ImageParser])" line="41" static="1">
Vector.ofArray(cast [ImageParser])
<_parser>
<_req>
<_fileExtension>
<_fileName>
<_loadAsRawData>
<_materialMode>
<_data>{ loadAsRawData : false, parser : null }* Load a resource from a file.
*
* @param urlRequest The URLRequest object containing the URL of the object to be loaded.
* @param parser An optional parser object that will translate the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.{ req : null, parser : null }* Loads a resource from already loaded data.
* @param data The data to be parsed. Depending on the parser type, this can be a ByteArray, String or XML.
* @param uri The identifier (url or id) of the object to be loaded, mainly used for resource management.
* @param parser An optional parser object that will translate the data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type.* A reference to the parser that will translate the loaded data into a usable resource.* A list of dependencies that need to be loaded and resolved for the loaded object.* Splits a url string into base and extension.
* @param url The url to be decomposed.* Guesses the parser to be used based on the file extension.
* @return An instance of the guessed parser.* Guesses the parser to be used based on the file contents.
* @param data The data to be parsed.
* @param uri The url or id of the object to be parsed.
* @return An instance of the guessed parser.* Cleanups* Called when loading of a file has failed* Called when loading of a file is complete* Initiates parsing of the loaded data.
* @param data The data to be parsed.* Called when parsing is complete.{ materialMode : 0 }* Creates a new SingleFileLoader object.* The SingleFileLoader is used to load a single file, as part of a resource.
*
* While SingleFileLoader can be used directly, e.g. to create a third-party asset
* management system, it's recommended to use any of the classes Loader3D, AssetLoader
* and Asset3DLibrary instead in most cases.
*
* @see away3d.loading.Loader3D
* @see away3d.loading.AssetLoader
* @see away3d.loading.Asset3DLibrary65535String.fromCharCode(10)* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_textData>
<_startedParsing>
<_activeContainer>
<_meshList>
<_trunk>
<_containersList expr="[]">
[]
<_tmpcontainerpos expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_tmpos expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_kidsCount expr="0">
0
<_activeMesh>
<_vertices>
<_uvs>
<_parsesV>
<_isQuad>
<_quadCount>
<_lastType expr="""">
""
<_charIndex>
<_oldIndex>
<_stringLen>
<_materialList>
<_groupCount>* @inheritDoc* @inheritDoc* Creates a new AC3DParser object.* AC3DParser provides a parser for the AC3D data type.
*
* unsupported tags: "numsurf","crease","texrep","refs lines of","url","data" and "numvert lines of":65535* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_textData>
<_startedParsing>
<_objs>
<_geos>
<_oList>
<_aC>
<_dline>
<_container>
<_meshList>
<_inited>
<_uvs>
<_charIndex>
<_oldIndex>
<_stringLength>
<_state expr="""">
""
<_buffer expr="0">
0
<_isMesh>
<_isMaterial>
<_id>* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new AWD1Parser object.
* @param uri The url or id of the data or file to be parsed.
* @param extra The holder for extra contextual data that the parser might need.* AWD1Parser provides a parser for the AWD data type. The version 1.0 in ascii. Usually generated by Prefab3D 1.x and Away3D engine exporters."lzma"01212345678212223313241424344454647* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_debug expr="false">
false
<_byteData>
<_cur_block_id>
<_blocks>
<_newBlockBytes>
<_version>
<_compression>
<_accuracyOnBlocks>
<_accuracyMatrix>
<_accuracyGeo>
<_accuracyProps>
<_matrixNrType>
<_geoNrType>
<_propsNrType>
<_streaming>
<_texture_users>
<_body>
<_defaultTexture>
<_defaultCubeTexture>
<_defaultBitmapMaterial>
<_cubeTextures>
<_depthSizeDic>* @inheritDoc* @inheritDoc* Resolve a dependency name
*
* @param resourceDependency The dependency to be resolved.* @inheritDoc* @inheritDoc{ poseOnly : false }{ extraTypeInfo : "SingleTexture" }{ precision : false }* Creates a new AWDParser object.
* @param uri The url or id of the data or file to be parsed.
* @param extra The holder for extra contextual data that the parser might need.* AWDParser provides a parser for the AWD data type.124816326412825651210242048409681921638432768* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_parser>* @inheritDoc* @inheritDoc* @inheritDoc* @private
* Delegate to the concrete parser.* @private
* Delegate to the concrete parser.* @private
* Delagate to the concrete parser.* Find the right conrete parser (AWD1Parser or AWD2Parser) and delegate actual
* parsing to it.away3d* @private
* Just bubble events from concrete parser.away3d* @private
* Just bubble events from concrete parser.away3d* @private
* Just bubble events from concrete parser.away3d* @private
* Just bubble events from concrete parser.* The AWDParser class is a wrapper for both AWD1Parser and AWD2Parser, and will
* find the right concrete parser for an AWD file.1CONFIG_USE_GPU1248PARSE_GEOMETRIES | PARSE_IMAGES | PARSE_MATERIALS | PARSE_VISUAL_SCENES
<_numInstances expr="0" line="87" static="1">
0* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_doc>
<_fastDoc>
<_parseState expr="DAEParserState.LOAD_XML">
DAEParserState.LOAD_XML
<_imageList>
<_imageCount>
<_currentImage>
<_dependencyCount expr="0">
0
<_configFlags>
<_parseFlags>
<_libImages>
<_libMaterials>
<_libEffects>
<_libGeometries>
<_libControllers>
<_libAnimations>
<_scene>
<_root>
<_geometries>
<_animationInfo>
<_rootNodes>
<_defaultBitmapMaterial expr="DefaultMaterialManager.getDefaultMaterial()">
DefaultMaterialManager.getDefaultMaterial()
<_defaultColorMaterial expr="new ColorMaterial(0xff0000)">
new ColorMaterial(0xff0000)
<_defaultColorMaterialMulti expr="new ColorMultiPassMaterial(0xff0000)">
new ColorMultiPassMaterial(0xff0000){ clone : false }* @inheritDoc* @inheritDoc* @inheritDoc{ map : null }{ tab : "", parent : null }{ tab : "", parent : -1 }{ autoDeriveVertexTangents : true, autoDeriveVertexNormals : true, reverseTriangles : true }{ configFlags : 0 }* @param configFlags Bitfield to configure the parser.
* @see DAEParser.CONFIG_USE_GPU etc.* DAEParser provides a parser for the DAE data type.true{ name : null }{ defaultValue : 0 }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }000{ numDecimals : 2 }
<_inputs>
<_p>
<_vcount>
<_texcoordSets>{ element : null }{ element : null }""{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }
<_root>{ parent : null, element : null }{ node : null }{ node : null }{ parent : null }{ element : null }{ element : null }{ element : null }{ element : null }{ element : null }
<_inputs>{ element : null }
{ valid : false, dt : 0.0, time : 0.0, frame : 0 }{ element : null }{ element : null }{ element : null }6553517872String.fromCharCode(10)"3DFACE""LINE""VERTEX""POLYLINE"
<_colorTable expr="Vector.ofArray([0x000000, 0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x0000FF, 0xFF00FF, 0xFFFFFF, 0x414141, 0x808080, 0xFF0000, 0xFFAAAA, 0xBD0000, 0xBD7E7E, 0x810000, 0x815656, 0x680000, 0x684545, 0x4F0000, 0x4F3535, 0xFF3F00, 0xFFBFAA, 0xBD2E00, 0xBD8D7E, 0x811F00, 0x816056, 0x681900, 0x684E45, 0x4F1300, 0x4F3B35, 0xFF7F00, 0xFFD4AA, 0xBD5E00, 0xBD9D7E, 0x814000, 0x816B56, 0x683400, 0x685645, 0x4F2700, 0x4F4235, 0xFFBF00, 0xFFEAAA, 0xBD8D00, 0xBDAD7E, 0x816000, 0x817656, 0x684E00, 0x685F45, 0x4F3B00, 0x4F4935, 0xFFFF00, 0xFFFFAA, 0xBDBD00, 0xBDBD7E, 0x818100, 0x818156, 0x686800, 0x686845, 0x4F4F00, 0x4F4F35, 0xBFFF00, 0xEAFFAA, 0x8DBD00, 0xADBD7E, 0x608100, 0x768156, 0x4E6800, 0x5F6845, 0x3B4F00, 0x494F35, 0x7FFF00, 0xD4FFAA, 0x5EBD00, 0x9DBD7E, 0x408100, 0x6B8156, 0x346800, 0x566845, 0x274F00, 0x424F35, 0x3FFF00, 0xBFFFAA, 0x2EBD00, 0x8DBD7E, 0x1F8100, 0x608156, 0x196800, 0x4E6845, 0x134F00, 0x3B4F35, 0x00FF00, 0xAAFFAA, 0x00BD00, 0x7EBD7E, 0x008100, 0x568156, 0x006800, 0x456845, 0x004F00, 0x354F35, 0x00FF3F, 0xAAFFBF, 0x00BD2E, 0x7EBD8D, 0x00811F, 0x568160, 0x006819, 0x45684E, 0x004F13, 0x354F3B, 0x00FF7F, 0xAAFFD4, 0x00BD5E, 0x7EBD9D, 0x008140, 0x56816B, 0x006834, 0x456856, 0x004F27, 0x354F42, 0x00FFBF, 0xAAFFEA, 0x00BD8D, 0x7EBDAD, 0x008160, 0x568176, 0x00684E, 0x45685F, 0x004F3B, 0x354F49, 0x00FFFF, 0xAAFFFF, 0x00BDBD, 0x7EBDBD, 0x008181, 0x568181, 0x006868, 0x456868, 0x004F4F, 0x354F4F, 0x00BFFF, 0xAAEAFF, 0x008DBD, 0x7EADBD, 0x006081, 0x567681, 0x04E68, 0x455F68, 0x003B4F, 0x35494F, 0x007FFF, 0xAAD4FF, 0x005EBD, 0x7E9DBD, 0x004081, 0x566B81, 0x003468, 0x455668, 0x00274F, 0x35424F, 0x003FFF, 0xAABFFF, 0x002EBD, 0x7E8DBD, 0x001F81, 0x566081, 0x001968, 0x454E68, 0x00134F, 0x353B4F, 0x0000FF, 0xAAAAFF, 0x0000BD, 0x7E7EBD, 0x000081, 0x565681, 0x000068, 0x454568, 0x00004F, 0x35354F, 0x3F00FF, 0xBFAAFF, 0x2E00BD, 0x8D7EBD, 0x1F0081, 0x605681, 0x190068, 0x4E4568, 0x13004F, 0x3B354F, 0x7F00FF, 0xD4AAFF, 0x5E00BD, 0x9D7EBD, 0x400081, 0x6B5681, 0x340068, 0x564568, 0x27004F, 0x42354F, 0xBF00FF, 0xEEAAFF, 0x8D00BD, 0xAD7EBD, 0x600081, 0x765681, 0x4E0068, 0x5F4568, 0x3B004F, 0x49354F, 0xFF00FF, 0xFFAAFF, 0xBD00BD, 0xBD7EBD, 0x810081, 0x815681, 0x680068, 0x684568, 0x4F004F, 0x4F354F, 0xFF00BF, 0xFFAAEA, 0xBD008D, 0xBD7EAD, 0x810060, 0x815676, 0x68004E, 0x68455F, 0x4F003B, 0x4F3549, 0xFF007F, 0xFFAAD4, 0xBD005E, 0xBD7E9D, 0x810040, 0x81566B, 0x680034, 0x684556, 0x4F0027, 0x4F3542, 0xFF003F, 0xFFAABF, 0xBD002E, 0xBD7E8D, 0x81001F, 0x815660, 0x680019, 0x68454E, 0x4F0013, 0x4F353B, 0x333333, 0x505050, 0x696969, 0x828282, 0xBEBEBE, 0xFFFFFF])" line="65" static="1">
Vector.ofArray([0x000000, 0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x0000FF, 0xFF00FF, 0xFFFFFF, 0x414141, 0x808080, 0xFF0000, 0xFFAAAA, 0xBD0000, 0xBD7E7E, 0x810000, 0x815656, 0x680000, 0x684545, 0x4F0000, 0x4F3535, 0xFF3F00, 0xFFBFAA, 0xBD2E00, 0xBD8D7E, 0x811F00, 0x816056, 0x681900, 0x684E45, 0x4F1300, 0x4F3B35, 0xFF7F00, 0xFFD4AA, 0xBD5E00, 0xBD9D7E, 0x814000, 0x816B56, 0x683400, 0x685645, 0x4F2700, 0x4F4235, 0xFFBF00, 0xFFEAAA, 0xBD8D00, 0xBDAD7E, 0x816000, 0x817656, 0x684E00, 0x685F45, 0x4F3B00, 0x4F4935, 0xFFFF00, 0xFFFFAA, 0xBDBD00, 0xBDBD7E, 0x818100, 0x818156, 0x686800, 0x686845, 0x4F4F00, 0x4F4F35, 0xBFFF00, 0xEAFFAA, 0x8DBD00, 0xADBD7E, 0x608100, 0x768156, 0x4E6800, 0x5F6845, 0x3B4F00, 0x494F35, 0x7FFF00, 0xD4FFAA, 0x5EBD00, 0x9DBD7E, 0x408100, 0x6B8156, 0x346800, 0x566845, 0x274F00, 0x424F35, 0x3FFF00, 0xBFFFAA, 0x2EBD00, 0x8DBD7E, 0x1F8100, 0x608156, 0x196800, 0x4E6845, 0x134F00, 0x3B4F35, 0x00FF00, 0xAAFFAA, 0x00BD00, 0x7EBD7E, 0x008100, 0x568156, 0x006800, 0x456845, 0x004F00, 0x354F35, 0x00FF3F, 0xAAFFBF, 0x00BD2E, 0x7EBD8D, 0x00811F, 0x568160, 0x006819, 0x45684E, 0x004F13, 0x354F3B, 0x00FF7F, 0xAAFFD4, 0x00BD5E, 0x7EBD9D, 0x008140, 0x56816B, 0x006834, 0x456856, 0x004F27, 0x354F42, 0x00FFBF, 0xAAFFEA, 0x00BD8D, 0x7EBDAD, 0x008160, 0x568176, 0x00684E, 0x45685F, 0x004F3B, 0x354F49, 0x00FFFF, 0xAAFFFF, 0x00BDBD, 0x7EBDBD, 0x008181, 0x568181, 0x006868, 0x456868, 0x004F4F, 0x354F4F, 0x00BFFF, 0xAAEAFF, 0x008DBD, 0x7EADBD, 0x006081, 0x567681, 0x04E68, 0x455F68, 0x003B4F, 0x35494F, 0x007FFF, 0xAAD4FF, 0x005EBD, 0x7E9DBD, 0x004081, 0x566B81, 0x003468, 0x455668, 0x00274F, 0x35424F, 0x003FFF, 0xAABFFF, 0x002EBD, 0x7E8DBD, 0x001F81, 0x566081, 0x001968, 0x454E68, 0x00134F, 0x353B4F, 0x0000FF, 0xAAAAFF, 0x0000BD, 0x7E7EBD, 0x000081, 0x565681, 0x000068, 0x454568, 0x00004F, 0x35354F, 0x3F00FF, 0xBFAAFF, 0x2E00BD, 0x8D7EBD, 0x1F0081, 0x605681, 0x190068, 0x4E4568, 0x13004F, 0x3B354F, 0x7F00FF, 0xD4AAFF, 0x5E00BD, 0x9D7EBD, 0x400081, 0x6B5681, 0x340068, 0x564568, 0x27004F, 0x42354F, 0xBF00FF, 0xEEAAFF, 0x8D00BD, 0xAD7EBD, 0x600081, 0x765681, 0x4E0068, 0x5F4568, 0x3B004F, 0x49354F, 0xFF00FF, 0xFFAAFF, 0xBD00BD, 0xBD7EBD, 0x810081, 0x815681, 0x680068, 0x684568, 0x4F004F, 0x4F354F, 0xFF00BF, 0xFFAAEA, 0xBD008D, 0xBD7EAD, 0x810060, 0x815676, 0x68004E, 0x68455F, 0x4F003B, 0x4F3549, 0xFF007F, 0xFFAAD4, 0xBD005E, 0xBD7E9D, 0x810040, 0x81566B, 0x680034, 0x684556, 0x4F0027, 0x4F3542, 0xFF003F, 0xFFAABF, 0xBD002E, 0xBD7E8D, 0x81001F, 0x815660, 0x680019, 0x68454E, 0x4F0013, 0x4F353B, 0x333333, 0x505050, 0x696969, 0x828282, 0xBEBEBE, 0xFFFFFF])* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_textData>
<_startedParsing>
<_trim expr="~/^[ ]/">
~/^[ ]/
<_v0>
<_v1>
<_v2>
<_v3>
<_meshesDic>
<_vertices>
<_uvs>
<_indices>
<_subGeometry>
<_polyLines>
<_polyLinesIndices>
<_oldIndex>
<_stringLen>
<_meshName>
<_itemColor>
<_lastMeshName expr="""">
""
<_activeMesh>
<_blockType>
<_segmentSet>
<_segCount>* @inheritDoc* Creates a new DXFParser object.
* @param uri The url or id of the data or file to be parsed.
* @param extra The holder for extra contextual data that the parser might need.* DXFParser provides a parser for the dxf 3D renderable data.
* supported blocks type: FACEDATA, LINE. Color from dxf color table is set where index is encountered
* POLYLINE(64 polyface mesh) and VERTEX.6* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_clipNodes expr="new Map<String,VertexClipNode>()">
()]]>
<_byteData>
<_startedParsing>
<_parsedHeader>
<_parsedUV>
<_parsedFaces>
<_parsedFrames>
<_ident>
<_version>
<_skinWidth>
<_skinHeight>
<_numSkins>
<_numVertices>
<_numST>
<_numTris>
<_numFrames>
<_offsetSkins>
<_offsetST>
<_offsetTris>
<_offsetFrames>
<_offsetEnd>
<_uvIndices>
<_indices>
<_vertIndices>
<_indexMap expr="new Map<Int,Map<Int,Int>>()">
>()]]>
<_animationSet expr="new VertexAnimationSet()">
new VertexAnimationSet()
<_firstSubGeom>
<_uvs>
<_finalUV>
<_materialNames>
<_textureType>
<_ignoreTexturePath>
<_mesh>
<_geometry>falsefalse* @inheritDoc* @inheritDoc* @inheritDoc* Reads in all that MD2 Header data that is declared as private variables.
* I know its a lot, and it looks ugly, but only way to do it in Flash* Parses the file names for the materials.* Parses the uv data for the mesh.* Parses unique indices for the faces.* Adds a face index to the list if it doesn't exist yet, based on vertexIndex and uvIndex, and adds the
* corresponding vertex and uv data in the correct location.
* @param vertexIndex The original index in the vertex list.
* @param uvIndex The original index in the uv list.* Finds the final index corresponding to the original MD2's vertex and uv indices. Returns -1 if it wasn't added yet.
* @param vertexIndex The original index in the vertex list.
* @param uvIndex The original index in the uv list.
* @return The index of the final mesh corresponding to the original vertex and uv index. -1 if it doesn't exist yet.* Parses all the frame geometries.{ ignoreTexturePath : true, textureType : "jpg" }* Creates a new MD2Parser object.
* @param textureType The extension of the texture (e.g. jpg/png/...)
* @param ignoreTexturePath If true, the path of the texture is ignored* MD2Parser provides a parser for the MD2 data type."MD5Version""commandline""numFrames""numJoints""frameRate""numAnimatedComponents""hierarchy""bounds""baseframe""frame""//"* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_textData>
<_startedParsing>
<_parseIndex expr="0">
0
<_reachedEOF>
<_line expr="0">
0
<_charLineIndex expr="0">
0
<_version expr="0">
0
<_frameRate expr="0">
0
<_numFrames expr="0">
0
<_numJoints expr="0">
0
<_numAnimatedComponents expr="0">
0
<_hierarchy>
<_bounds>
<_frameData>
<_baseFrameData>
<_rotationQuat>
<_clip>* @inheritDoc* Converts all key frame data to an SkinnedAnimationSequence.* Converts a single key frame data to a SkeletonPose.
* @param frameData The actual frame data.
* @return A SkeletonPose containing the frame data's pose.* Parses the skeleton's hierarchy data.* Parses frame bounds.* Parses the base frame.* Parses a single frame.* Puts back the last read character into the data stream.* Gets the next token in the data stream.* Skips all whitespace in the data stream.* Skips to the next line.* Retrieves the next single character in the data stream.* Retrieves the next integer in the data stream.* Retrieves the next floating point number in the data stream.* Retrieves the next 3d vector in the data stream.* Retrieves the next quaternion in the data stream.* Parses the command line data.* Retrieves the next literal string in the data stream. A literal string is a sequence of characters bounded
* by double quotes.* Throws an end-of-file error when a premature end of file was encountered.* Throws an error when an unexpected token was encountered.
* @param expected The token type that was actually expected.* Throws an error when an unknown keyword was encountered.{ additionalRotationRadians : 0, additionalRotationAxis : null }* Creates a new MD5AnimParser object.
* @param uri The url or id of the data or file to be parsed.
* @param extra The holder for extra contextual data that the parser might need.* MD5AnimParser provides a parser for the md5anim data type, providing an animation sequence for the md5 format.
*
* todo: optimize"MD5Version""commandline""numJoints""numMeshes""//""joints""mesh""shader""numverts""vert""numtris""tri""numweights""weight"* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_textData>
<_startedParsing>
<_parseIndex expr="0">
0
<_reachedEOF>
<_line expr="0">
0
<_charLineIndex expr="0">
0
<_version expr="0">
0
<_numJoints expr="0">
0
<_numMeshes expr="0">
0
<_mesh>
<_shaders>
<_maxJointCount expr="0">
0
<_meshData>
<_bindPoses>
<_geometry>
<_skeleton>
<_animationSet>
<_rotationQuat>* @inheritDoc* Parses the skeleton's joints.* Puts back the last read character into the data stream.* Parses the mesh geometry.* Converts the mesh data to a SkinnedSub instance.
* @param vertexData The mesh's vertices.
* @param weights The joint weights per vertex.
* @param indices The indices for the faces.
* @return A SkinnedSubGeometry instance containing all geometrical data for the current mesh.* Retrieve the next triplet of vertex indices that form a face.
* @param indices The index list in which to store the read data.* Reads a new joint data set for a single joint.
* @param weights the target list to contain the weight data.* Reads the data for a single vertex.
* @param vertexData The list to contain the vertex data.* Reads the next uv coordinate.
* @param vertexData The vertexData to contain the UV coordinates.* Gets the next token in the data stream.* Skips all whitespace in the data stream.* Skips to the next line.* Retrieves the next single character in the data stream.* Retrieves the next integer in the data stream.* Retrieves the next floating point number in the data stream.* Retrieves the next 3d vector in the data stream.* Retrieves the next quaternion in the data stream.* Parses the command line data.* Retrieves the next literal string in the data stream. A literal string is a sequence of characters bounded
* by double quotes.* Throws an end-of-file error when a premature end of file was encountered.* Throws an error when an unexpected token was encountered.
* @param expected The token type that was actually expected.* Throws an error when an unknown keyword was encountered.{ additionalRotationRadians : 0, additionalRotationAxis : null }* Creates a new MD5MeshParser object.* MD5MeshParser provides a parser for the md5mesh data type, providing the geometry of the md5 format.
*
* todo: optimize* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_byteData>
<_textures>
<_materials>
<_unfinalized_objects>
<_cur_obj_end>
<_cur_obj>
<_cur_mat_end>
<_cur_mat>
<_useSmoothingGroups>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ pivot : null }{ useSmoothingGroups : false }Max3DSParser object.
*
* @param useSmoothingGroups Determines whether the parser looks for smoothing groups in the 3ds file or assumes uniform smoothing. Defaults to true.]]>* Max3DSParser provides a parser for the 3ds data type.* Indicates whether or not a given file extension is supported by the parser.
* @param extension The file extension of a potential file to be parsed.
* @return Whether or not the given file type is supported.* Tests whether a data block can be parsed by the parser.
* @param data The data block to potentially be parsed.
* @return Whether or not the given data is supported.
<_textData>
<_startedParsing>
<_charIndex>
<_oldIndex>
<_stringLength>
<_currentObject>
<_currentGroup>
<_currentMaterialGroup>
<_objects>
<_materialIDs>
<_materialLoaded>
<_materialSpecularData>
<_meshes>
<_lastMtlID>
<_objectIndex>
<_realIndices>
<_vertexIndex>
<_vertices>
<_vertexNormals>
<_uvs>
<_scale>
<_mtlLib>
<_mtlLibLoaded expr="true">
true
<_activeMaterialID expr="""">
""* Scaling factor applied directly to vertices data
* @param value The scaling factor.* @inheritDoc* @inheritDoc* @inheritDoc* Parses a single line in the OBJ file.* Converts the parsed data into an Away3D scenegraph structure* Translates an obj's material group to a subgeometry.
* @param materialGroup The material group data to convert.
* @param geometry The Geometry to contain the converted SubGeometry.* Creates a new object group.
* @param trunk The data block containing the object tag and its parameters* Creates a new group.
* @param trunk The data block containing the group tag and its parameters* Creates a new material group.
* @param trunk The data block containing the material tag and its parameters* Reads the next vertex coordinates.
* @param trunk The data block containing the vertex tag and its parameters* Reads the next uv coordinates.
* @param trunk The data block containing the uv tag and its parameters* Reads the next vertex normal coordinates.
* @param trunk The data block containing the vertex normal tag and its parameters* Reads the next face's indices.
* @param trunk The data block containing the face tag and its parameters* This is a hack around negative face coords{ scale : 1 }* Creates a new OBJParser object.
* @param uri The url or id of the data or file to be parsed.
* @param extra The holder for extra contextual data that the parser might need.* OBJParser provides a parser for the OBJ data type.()]]>()]]>()]]>0xFFFFFF10xFFFFFF1()]]>()]]>()]]>()]]>"binary"* Describes the format of a binary file."plainText"* Describes the format of a plain text file.* An enumeration providing values to describe the data format of parsed data.[AC3DParser, AWD1Parser, AWD2Parser, AWDParser, Max3DSParser, DXFParser, MD2Parser, MD5AnimParser, MD5MeshParser, OBJParser, DAEParser, Max3DSParser]Asset3DLibrary.enableParsers(Parsers.ALL_BUNDLED);
*
* Beware however that this requires all parser classes to be included in the
* SWF file, which will add 50-100 kb to the file. When only a limited set of
* file formats are used, SWF file size can be saved by adding the parsers
* individually using Asset3DLibrary.enableParser()
*
* A third way is to specify a parser for each loaded file, thereby bypassing
* the auto-detection mechanisms altogether, while at the same time allowing
* any properties that are unique to that parser to be set for that load.
*
* The bundled parsers are:
*
*
*
AC3D (.ac)
*
Away Data version 1 ASCII and version 2 binary (.awd). AWD1 BSP unsupported
*
3DMax (.3ds)
*
DXF (.dxf)
*
Quake 2 MD2 models (.md2)
*
Doom 3 MD5 animation clips (.md5anim)
*
Doom 3 MD5 meshes (.md5mesh)
*
Wavefront OBJ (.obj)
*
Collada (.dae)
*
Images (.jpg, .png)
*
*
* @see away3d.loading.Asset3DLibrary.enableParser]]>* Short-hand function to enable all bundled parsers for auto-detection. In practice,
* this is the same as invoking enableParsers(Parsers.ALL_BUNDLED) on any of the
* loader classes SingleFileLoader, AssetLoader, Asset3DLibrary or Loader3D.
*
* See notes about file size in the documentation for the ALL_BUNDLED constant.
*
* @see away3d.loaders.parsers.Parsers.ALL_BUNDLED* Returns a object as ByteArray, if possible.
*
* @param data The object to return as ByteArray
*
* @return The ByteArray or null
*{ length : 0 }* Returns a object as String, if possible.
*
* @param data The object to return as String
* @param length The length of the returned String
*
* @return The String or null
*0* A counter used to assign unique ids per material, which is used to sort per material while rendering.
* This reduces state changes.away3daway3d* An object to contain any extra data.
<_classification>
away3d* A value that can be used by materials that only work with a given type of renderer. The renderer can test the
* classification to choose which render path to use. For example, a deferred material could set this value so
* that the deferred renderer knows not to take the forward rendering path.
*
* @private
<_uniqueId>
away3d* An id for this material used to sort the renderables by material, which reduces render state changes across
* materials using the same Program3D.
*
* @private
<_renderOrderId>
away3d* An id for this material used to sort the renderables by shader program, which reduces Program3D state changes.
*
* @private
<_depthPassId>
away3d* The same as _renderOrderId, but applied to the depth shader passes.
*
* @private
<_bothSides>
<_animationSet>
<_owners>
* A list of material owners, renderables or custom Entities.
<_alphaPremultiplied>
<_blendMode expr="BlendMode.NORMAL">
BlendMode.NORMAL
<_numPasses expr="0">
0
<_passes>
<_mipmap expr="true">
true
<_smooth expr="true">
true
<_repeat>
<_anisotropy expr="Anisotropy.ANISOTROPIC2X">
Anisotropy.ANISOTROPIC2X
<_depthPass>
<_distancePass>
<_lightPicker>
<_distanceBasedDepthRender>
<_depthCompareMode expr="Context3DCompareMode.LESS_EQUAL">
Context3DCompareMode.LESS_EQUAL* @inheritDoc* The light picker used by the material to provide lights to the material if it supports lighting.
*
* @see away3d.materials.lightpickers.LightPickerBase
* @see away3d.materials.lightpickers.StaticLightPicker* Indicates whether or not any used textures should use mipmapping. Defaults to true.* Indicates whether or not any used textures should use smoothing.* The depth compare mode used to render the renderables using this material.
*
* @see openfl.display3D.Context3DCompareMode* Indicates whether or not any used textures should be tiled. If set to false, texture samples are clamped to
* the texture's borders when the uv coordinates are outside the [0, 1] interval.* Indicates the number of Anisotropic filtering samples to take for mipmapping* Cleans up resources owned by the material, including passes. Textures are not owned by the material since they
* could be used by other materials and will not be disposed.* Defines whether or not the material should cull triangles facing away from the camera.
*
BlendMode.NORMAL: No blending, unless the material inherently needs it
*
BlendMode.LAYER: Force blending. This will draw the object the same as NORMAL, but without writing depth writes.
*
BlendMode.MULTIPLY
*
BlendMode.ADD
*
BlendMode.ALPHA
* ]]>* Indicates whether visible textures (or other pixels) used by this material have
* already been premultiplied. Toggle this if you are seeing black halos around your
* blended alpha edges.* Indicates whether or not the material requires alpha blending during rendering.* An id for this material used to sort the renderables by material, which reduces render state changes across
* materials using the same Program3D.* The amount of passes used by the material.
*
* @privateaway3d* Indicates that the depth pass uses transparency testing to discard pixels.
*
* @private{ distanceBased : false }away3d* Sets the render state for the depth pass that is independent of the rendered object. Used when rendering
* depth or distances (fe: shadow maps, depth pre-pass).
*
* @param stage3DProxy The Stage3DProxy used for rendering.
* @param camera The camera from which the scene is viewed.
* @param distanceBased Whether or not the depth pass or distance pass should be activated. The distance pass
* is required for shadow cube maps.
*
* @privateaway3d* Clears the render state for the depth pass.
*
* @param stage3DProxy The Stage3DProxy used for rendering.
*
* @privateaway3d* Renders a renderable using the depth pass.
*
* @param renderable The IRenderable instance that needs to be rendered.
* @param stage3DProxy The Stage3DProxy used for rendering.
* @param camera The camera from which the scene is viewed.
* @param viewProjection The view-projection matrix used to project to the screen. This is not the same as
* camera.viewProjection as it includes the scaling factors when rendering to textures.
*
* @privateaway3d* Indicates whether or not the pass with the given index renders to texture or not.
* @param index The index of the pass.
* @return True if the pass renders to texture, false otherwise.
*
* @privateaway3d* Sets the render state for a pass that is independent of the rendered object. This needs to be called before
* calling renderPass. Before activating a pass, the previously used pass needs to be deactivated.
* @param index The index of the pass to activate.
* @param stage3DProxy The Stage3DProxy object which is currently used for rendering.
* @param camera The camera from which the scene is viewed.
* @privateaway3d* Clears the render state for a pass. This needs to be called before activating another pass.
* @param index The index of the pass to deactivate.
* @param stage3DProxy The Stage3DProxy used for rendering
*
* @privateaway3d* Renders the current pass. Before calling renderPass, activatePass needs to be called with the same index.
* @param index The index of the pass used to render the renderable.
* @param renderable The IRenderable object to draw.
* @param stage3DProxy The Stage3DProxy object used for rendering.
* @param entityCollector The EntityCollector object that contains the visible scene data.
* @param viewProjection The view-projection matrix used to project to the screen. This is not the same as
* camera.viewProjection as it includes the scaling factors when rendering to textures.away3d* Mark an IMaterialOwner as owner of this material.
* Assures we're not using the same material across renderables with different animations, since the
* Program3Ds depend on animation. This method needs to be called when a material is assigned.
*
* @param owner The IMaterialOwner that had this material assigned
*
* @privateaway3d* Removes an IMaterialOwner as owner.
* @param owner
* @privateaway3d* A list of the IMaterialOwners that use this material
*
* @privateaway3d* Performs any processing that needs to occur before any of its passes are used.
*
* @privateaway3d* Deactivates the last pass of the material.
*
* @privateaway3d* Marks the shader programs for all passes as invalid, so they will be recompiled before the next use.
* @param triggerPass The pass triggering the invalidation, if any. This is passed to prevent invalidating the
* triggering pass, which would result in an infinite loop.
*
* @private* Removes a pass from the material.
* @param pass The pass to be removed.* Removes all passes from the material* Adds a pass to the material
* @param pass* Listener for when a pass's shader code changes. It recalculates the render order id.* Listener for when the distance pass's shader code changes. It recalculates the depth pass id.* Listener for when the depth pass's shader code changes. It recalculates the depth pass id.* Creates a new MaterialBase object.* MaterialBase forms an abstract base class for any material.
* A material consists of several passes, each of which constitutes at least one render call. Several passes could
* be used for special effects (render lighting for many lights in several passes, render an outline in a separate
* pass) or to provide additional render-to-texture passes (rendering diffuse light to texture for texture-space
* subsurface scattering, or rendering a depth map for specialized self-shadowing).
*
* Away3D provides default materials trough SinglePassMaterialBase and MultiPassMaterialBase, which use modular
* methods to build the shader code. MaterialBase can be extended to build specific and high-performant custom
* shaders, or entire new material frameworks.
<_screenPass>
<_alphaBlending>* Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
* compatibility for constrained mode.* The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
* invisible or entirely opaque, often used with textures for foliage, etc.
* Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).* @inheritDoc* @inheritDoc{ distanceBased : false }* @inheritDoc* Define which light source types to use for specular reflections. This allows choosing between regular lights
* and/or light probes for specular reflections.
*
* @see away3d.materials.LightSources* Define which light source types to use for diffuse reflections. This allows choosing between regular lights
* and/or light probes for diffuse reflections.
*
* @see away3d.materials.LightSources* @inheritDoc* The ColorTransform object to transform the colour of the material with. Defaults to null.* The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod.* The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null.* The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod.* The method used to generate the per-pixel normals. Defaults to BasicNormalMethod.* The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod.* Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting
* but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the
* methods added prior.* The number of "effect" methods added to the material.* Queries whether a given effect method was added to the material.
*
* @param method The method to be queried.
* @return true if the method was added to the material, false otherwise.* Returns the method added at the given index.
* @param index The index of the method to retrieve.
* @return The method at the given index.* Adds an effect method at the specified index amongst the methods already added to the material. Effect
* methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines,
* etc. The method will be applied to the result of the methods with a lower index.* Removes an effect method from the material.
* @param method The method to be removed.* @inheritDoc* The normal map to modulate the direction of the surface for each texel. The default normal method expects
* tangent-space normal maps, but others could expect object-space maps.* A specular map that defines the strength of specular reflections for each texel in the red channel,
* and the gloss factor in the green channel. You can use SpecularBitmapTexture if you want to easily set
* specular and gloss maps from grayscale images, but correctly authored images are preferred.* The glossiness of the material (sharpness of the specular highlight).* The strength of the ambient reflection.* The overall strength of the specular reflection.* The colour of the ambient reflection.* The colour of the specular reflection.* Indicates whether or not the material has transparency. If binary transparency is sufficient, for
* example when using textures of foliage, consider using alphaThreshold instead.* @inheritDoc* @inheritDoc* Creates a new SinglePassMaterialBase object.* SinglePassMaterialBase forms an abstract base class for the default single-pass materials provided by Away3D,
* using material methods to define their appearance.
<_diffuseAlpha expr="1">
1* The alpha of the surface.* The diffuse reflectivity color of the surface.* @inheritDoc{ alpha : 1, color : 0xcccccc }* Creates a new ColorMaterial object.
* @param color The material's diffuse surface color.
* @param alpha The material's surface alpha.* ColorMaterial is a single-pass material that uses a flat color as the surface's diffuse reflection value.
<_casterLightPass>
<_nonCasterLightPasses>
<_effectsPass>
<_alphaThreshold expr="0">
0
<_specularLightSources expr="0x01">
0x01
<_diffuseLightSources expr="0x03">
0x03
<_ambientMethod expr="new BasicAmbientMethod()">
new BasicAmbientMethod()
<_shadowMethod>
<_diffuseMethod expr="new BasicDiffuseMethod()">
new BasicDiffuseMethod()
<_normalMethod expr="new BasicNormalMethod()">
new BasicNormalMethod()
<_specularMethod expr="new BasicSpecularMethod()">
new BasicSpecularMethod()
<_screenPassesInvalid expr="true">
true
<_enableLightFallOff expr="true">
true* Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
* compatibility for constrained mode.* The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
* invisible or entirely opaque, often used with textures for foliage, etc.
* Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).* @inheritDoc* @inheritDoc{ distanceBased : false }* @inheritDoc* Define which light source types to use for specular reflections. This allows choosing between regular lights
* and/or light probes for specular reflections.
*
* @see away3d.materials.LightSources* Define which light source types to use for diffuse reflections. This allows choosing between regular lights
* and/or light probes for diffuse reflections.
*
* @see away3d.materials.LightSources* @inheritDoc* @inheritDoc* The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod.* The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null.* The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod.* The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod.* The method used to generate the per-pixel normals. Defaults to BasicNormalMethod.* Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting
* but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the
* methods added prior.* The number of "effect" methods added to the material.* Queries whether a given effect method was added to the material.
*
* @param method The method to be queried.
* @return true if the method was added to the material, false otherwise.* Returns the method added at the given index.
* @param index The index of the method to retrieve.
* @return The method at the given index.* Adds an effect method at the specified index amongst the methods already added to the material. Effect
* methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines,
* etc. The method will be applied to the result of the methods with a lower index.* Removes an effect method from the material.
* @param method The method to be removed.* @inheritDoc* The normal map to modulate the direction of the surface for each texel. The default normal method expects
* tangent-space normal maps, but others could expect object-space maps.* A specular map that defines the strength of specular reflections for each texel in the red channel,
* and the gloss factor in the green channel. You can use SpecularBitmapTexture if you want to easily set
* specular and gloss maps from grayscale images, but correctly authored images are preferred.* The glossiness of the material (sharpness of the specular highlight).* The strength of the ambient reflection.* The overall strength of the specular reflection.* The colour of the ambient reflection.* The colour of the specular reflection.* @inheritDoc* Adds a compiled pass that renders to the screen.
* @param pass The pass to be added.* Tests if any pass that renders to the screen is invalid. This would trigger a new setup of the multiple passes.
* @return* Adds any additional passes on which the given pass is dependent.
* @param pass The pass that my need additional passes.* @inheritDoc* @inheritDoc* Updates screen passes when they were found to be invalid.* Initializes all the passes and their dependent passes.* Sets up the various blending modes for all screen passes, based on whether or not there are previous passes.* The maximum total number of lights provided by the light picker.* The amount of lights that don't cast shadows.* Flags that the screen passes have become invalid.* Called when the light picker's configuration changed.* Creates a new MultiPassMaterialBase object.* MultiPassMaterialBase forms an abstract base class for the default multi-pass materials provided by Away3D,
* using material methods to define their appearance.* The diffuse reflectivity color of the surface.{ color : 0xcccccc }* Creates a new ColorMultiPassMaterial object.
*
* @param color The material's diffuse surface color.* ColorMultiPassMaterial is a multi-pass material that uses a flat color as the surface's diffuse reflection value.0x01* Defines normal lights are to be used as the source for the lighting
* component.0x02* Defines that global lighting probes are to be used as the source for the
* lighting component.0x03* Defines that both normal and global lighting probes are to be used as the
* source for the lighting component. This is equivalent to LIGHTS | PROBES.* Enumeration class for defining which lighting types affect the specific material
* lighting component (diffuse and specular). This can be useful if, for example, you
* want to use light probes for diffuse global lighting, but want specular reflections from
* traditional light sources without those affecting the diffuse light.
*
* @see away3d.materials.ColorMaterial.diffuseLightSources
* @see away3d.materials.ColorMaterial.specularLightSources
* @see away3d.materials.TextureMaterial.diffuseLightSources
* @see away3d.materials.TextureMaterial.specularLightSources
<_occlude expr="true">
true* Whether or not an object with this material applied hides other objects.* @inheritDoc* @inheritDoc{ alpha : 1, color : 0xcccccc, occlude : true }* Creates a new OcclusionMaterial object.
* @param occlude Whether or not to occlude other objects.
* @param color The material's diffuse surface color.
* @param alpha The material's surface alpha.* OcclusionMaterial is a ColorMaterial for an object to prevents drawing anything that is placed behind it.
<_screenPass>{ thickness : 1.25 }* Creates a new OrthoSegmentMaterial object.
*
* @param thickness The thickness of the wireframe lines.* OrthoSegmentMaterial is a material exclusively used to render wireframe objects
*
* @see away3d.entities.Lines
<_screenPass>{ thickness : 1.25 }* Creates a new SegmentMaterial object.
*
* @param thickness The thickness of the wireframe lines.* SegmentMaterial is a material exclusively used to render wireframe objects
*
* @see away3d.entities.Lines
<_cubeMap>
<_skyboxPass>* The cube texture to use as the skybox.* Creates a new SkyBoxMaterial object.
* @param cubeMap The CubeMap to use as the skybox.* SkyBoxMaterial is a material exclusively used to render skyboxes
*
* @see away3d.primitives.SkyBox* Specifies whether or not the UV coordinates should be animated using IRenderable's uvTransform matrix.
*
* @see IRenderable.uvTransform* Specifies whether or not the UV coordinates should be animated using IRenderable's uvTransform matrix.
*
* @see IRenderable.uvTransform* The alpha of the surface.* The texture object to use for the albedo colour.* The texture object to use for the ambient colour.{ anisotropy : ANISOTROPIC2X, mipmap : true, repeat : false, smooth : true, texture : null }* Creates a new TextureMaterial.
* @param texture The texture used for the material's albedo color.
* @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true.
* @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true.
* @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true.
* @param anisotropy Indicates the number of samples to use if Anisotropic mipmap filtering is applied* TextureMaterial is a single-pass material that uses a texture to define the surface's diffuse reflection colour (albedo).
<_diffuses>
<_normals>
<_speculars>
<_TBDiffuse>
<_TBNormal>
<_TBSpecular>
<_currentMapID>{ mapID : 0 }{ mipmap : true, repeat : false, smooth : true, speculars : null, normals : null }* SpriteSheetMaterial is a material required for a SpriteSheetAnimator if you have an animation spreaded over more maps
* and/or have animated normalmaps, specularmaps
<_animateUVs>* Specifies whether or not the UV coordinates should be animated using a transformation matrix.* The texture object to use for the albedo colour.* The texture object to use for the ambient colour.{ anisotropy : ANISOTROPIC2X, mipmap : true, repeat : false, smooth : true, texture : null }* Creates a new TextureMultiPassMaterial.
* @param texture The texture used for the material's albedo color.
* @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true.
* @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true.
* @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true.
* @param anisotropy Indicates the number of samples to use if Anisotropic mipmap filtering is applied* TextureMultiPassMaterial is a multi-pass material that uses a texture to define the surface's diffuse reflection colour (albedo).
<_sharedRegisters>
<_registerCache>
<_dependencyCounter>
<_methodSetup>
<_smooth>
<_repeat>
<_mipmap>
<_anisotropy>
<_enableLightFallOff>
<_preserveAlpha expr="true">
true
<_animateUVs>
<_animateUVs2>
<_alphaPremultiplied>
<_vertexConstantData>
<_fragmentConstantData>
<_vertexCode>
<_fragmentCode>
<_fragmentLightCode>
<_fragmentPostLightCode>
<_commonsDataIndex expr="-1">
-1
<_animatableAttributes>
<_animationTargetRegisters>
<_lightProbeDiffuseIndices>
<_lightProbeSpecularIndices>
<_uvBufferIndex expr="-1">
-1
<_uvTransformIndex expr="-1">
-1
<_uvTransformIndex2 expr="-1">
-1
<_secondaryUVBufferIndex expr="-1">
-1
<_normalBufferIndex expr="-1">
-1
<_tangentBufferIndex expr="-1">
-1
<_lightFragmentConstantIndex expr="-1">
-1
<_sceneMatrixIndex expr="-1">
-1
<_sceneNormalMatrixIndex expr="-1">
-1
<_cameraPositionIndex expr="-1">
-1
<_probeWeightsIndex expr="-1">
-1
<_specularLightSources>
<_diffuseLightSources>
<_numLights>
<_numLightProbes>
<_numPointLights>
<_numDirectionalLights>
<_numProbeRegisters>
<_combinedLightSources>
<_usingSpecularMethod>
<_needUVAnimation>
<_UVTarget>
<_UVSource>
<_profile>
<_forceSeperateMVP>* Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
* compatibility for constrained mode.* Indicates whether the compiled code needs UV animation.* The target register to place the animated UV coordinate.* The souce register providing the UV coordinate to animate.* Indicates whether the screen projection should be calculated by forcing a separate scene matrix and
* view-projection matrix. This is used to prevent rounding errors when using multiple passes with different
* projection code.* Initialized the register cache.
* @param profile The compatibility profile of the renderer.* Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.* Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.* Indicates whether visible textures (or other pixels) used by this material have
* already been premultiplied.* Indicates whether the output alpha value should remain unchanged compared to the material's original alpha.* Sets the default texture sampling properties.
* @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true.
* @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true.
* @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true.* Sets the constant buffers allocated by the material. This allows setting constant data during compilation.
* @param vertexConstantData The vertex constant data buffer.
* @param fragmentConstantData The fragment constant data buffer.* The shader method setup object containing the method configuration and their value objects for the material being compiled.* Compiles the code after all setup on the compiler has finished.* Creates the registers to contain the normal data.* Compile the code for the methods.* Compile the lighting code.* Calculate the view direction.* Calculate the normal.* Calculate the (possibly animated) UV coordinates.* Provide the secondary UV coordinates.* Compile the world-space position.* Get the projection coordinates.* Assign the final output colour the the output register.* Reset all the indices to "unused".* Prepares the setup for the light code.* Create the commonly shared constant register.* Figure out which named registers are required, and how often.* Counts the dependencies for a given method.
* @param method The method to count the dependencies for.
* @param methodVO The method's data for this material.* Assigns all prerequisite data for the methods, so we can calculate dependencies for them.* The index for the common data register.* Assigns the shared register data to all methods.* The amount of vertex constants used by the material. Any animation code to be added can append its vertex
* constant data after this.* The amount of fragment constants used by the material. Any animation code to be added can append its vertex
* constant data after this.* The amount of vertex attribute streams used by the material. Any animation code to be added can add its
* streams after this. Also used to automatically disable attribute slots on pass deactivation.* The amount of textures used by the material. Used to automatically disable texture slots on pass deactivation.* Number of used varyings. Any animation code to be added can add its used varyings after this.* Indicates whether lights are used for specular reflections.* Indicates whether lights are used for diffuse reflections.* Disposes all resources used by the compiler.* Clean up method's compilation data after compilation finished.* Define which light source types to use for specular reflections. This allows choosing between regular lights
* and/or light probes for specular reflections.
*
* @see away3d.materials.LightSources* Define which light source types to use for diffuse reflections. This allows choosing between regular lights
* and/or light probes for diffuse reflections.
*
* @see away3d.materials.LightSources* Indicates whether light probes are being used for specular reflections.* Indicates whether light probes are being used for diffuse reflections.* Indicates whether any light probes are used.* The index for the UV vertex attribute stream.* The index for the UV transformation matrix vertex constant.* The index for the UV transformation matrix vertex constant.* The index for the secondary UV vertex attribute stream.* The index for the vertex normal attribute stream.* The index for the vertex tangent attribute stream.* The first index for the fragment constants containing the light data.* The index of the vertex constant containing the camera position.* The index of the vertex constant containing the scene matrix.* The index of the vertex constant containing the uniform scene matrix (the inverse transpose).* The index of the fragment constant containing the weights for the light probes.* The generated vertex code.* The generated fragment code.* The code containing the lighting calculations.* The code containing the post-lighting calculations.* The register name containing the final shaded colour.* The amount of point lights that need to be supported.* The amount of directional lights that need to be supported.* The amount of light probes that need to be supported.* Indicates whether the specular method is used.* The attributes that need to be animated by animators.* The target registers for animated properties, written to by the animators.* Indicates whether the compiled shader uses normals.* Indicates whether the compiled shader uses lights.* Compiles the code for the methods.* Indices for the light probe diffuse textures.* Indices for the light probe specular textures.* Creates a new ShaderCompiler object.
* @param profile The compatibility profile of the renderer.* ShaderCompiler is an abstract base class for shader compilers that use modular shader methods to assemble a
* material. Concrete subclasses are used by the default materials.
*
* @see away3d.materials.methods.ShadingMethodBase
<_pointLightFragmentConstants public="1">
<_pointLightVertexConstants public="1">
<_dirLightFragmentConstants public="1">
<_dirLightVertexConstants public="1">
<_lightVertexConstantIndex>
<_shadowRegister>* The starting index if the vertex constant to which light data needs to be uploaded.* @inheritDoc* @inheritDoc* Indicates whether or not lighting happens in tangent space. This is only the case if no world-space
* dependencies exist.* @inheritDoc* @inheritDoc* @inheritDoc* Generates code to retrieve the tangent space normal from the normal map* @inheritDoc* @inheritDoc* Provides the code to provide shadow mapping.* Initializes constant registers to contain light data.* Compiles the shading code for directional lights.* Compiles the shading code for point lights.* Compiles shading code for light probes.* Create a new LightingShaderCompiler object.
* @param profile The compatibility profile of the renderer.* LightingShaderCompiler is a ShaderCompiler that generates code for passes performing shading only (no effect passes)
<_projectionDependencies>
<_normalDependencies>
<_viewDirDependencies>
<_uvDependencies>
<_secondaryUVDependencies>
<_globalPosDependencies>
<_tangentDependencies>
<_usesGlobalPosFragment expr="false">
false
<_numPointLights>
<_lightSourceMask>* Clears dependency counts for all registers. Called when recompiling a pass.* Sets the amount of lights that have a position associated with them.
* @param numPointLights The amount of point lights.
* @param lightSourceMask The light source types used by the material.* Increases dependency counters for the named registers listed as required by the given MethodVO.
* @param methodVO the MethodVO object for which to include dependencies.* The amount of tangent vector dependencies (fragment shader).* Indicates whether there are any dependencies on the world-space position vector.* The amount of dependencies on the projected position.* The amount of dependencies on the normal vector.* The amount of dependencies on the view direction.* The amount of dependencies on the primary UV coordinates.* The amount of dependencies on the secondary UV coordinates.* The amount of dependencies on the global position. This can be 0 while hasGlobalPosDependencies is true when
* the global position is used as a temporary value (fe to calculate the view direction)* Adds any external world space dependencies, used to force world space calculations.* Creates a new MethodDependencyCounter object.* MethodDependencyCounter keeps track of the number of dependencies for "named registers" used across methods.
* Named registers are that are not necessarily limited to a single method. They are created by the compiler and
* passed on to methods. The compiler uses the results to reserve usages through RegisterPool, which can be removed
* each time a method has been compiled into the shader.
*
* @see RegisterPool.addUsage
<_regPool expr="new Map<String,Vector<ShaderRegisterElement>>()" line="16" static="1">
>()]]>
<_regCompsPool expr="new Map<String,Array<Dynamic>>()" line="17" static="1">
>()]]>
<_initPool set="method" line="158" static="1">
<_vectorRegisters>
<_registerComponents>
<_regName>
<_usedSingleCount>
<_usedVectorCount>
<_regCount>
<_persistent>* Retrieve an entire vector register that's still available.* Retrieve a single vector component that's still available.* Marks a register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage
* has been called usageCount times again.
* @param register The register to mark as used.
* @param usageCount The amount of usages to add.* Removes a usage from a register. When usages reach 0, the register is freed again.
* @param register The register for which to remove a usage.* Disposes any resources used by the current RegisterPool object.* Indicates whether or not any registers are in use.* Initializes all registers.* Check if the temp register is either used for single or vector use{ persistent : true }* Creates a new RegisterPool object.
* @param regName The base name of the register type ("ft" for fragment temporaries, "vc" for vertex constants, etc)
* @param regCount The amount of available registers of this type.
* @param persistent Whether or not registers, once reserved, can be freed again. For example, temporaries are not persistent, but constants are.* RegisterPool is used by the shader compilation process to keep track of which registers of a certain type are
* currently used and should not be allowed to be written to. Either entire registers can be requested and locked,
* or single components (x, y, z, w) of a single register.
* It is used by ShaderRegisterCache to track usages of individual register types.
*
* @see away3d.materials.compilation.ShaderRegisterCache* ShaderRegisterData contains the "named" registers, generated by the compiler and to be passed on to the methods.["x", "y", "z", "w"]
<_regName>
<_index>
<_toStr>
<_component>
away3d* Converts the register or the components AGAL string representation.* The register's name.* The register's index.{ component : -1 }* Creates a new ShaderRegisterElement object.
* @param regName The name of the register.
* @param index The index of the register.
* @param component The register's component, if not the entire register is represented.* A single register element (an entire register or a single register's component) used by the RegisterPool.
<_pointLightRegisters public="1">
<_dirLightRegisters public="1">* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Compiles the vertex shader code for tangent-space normal maps.
* @param matrix The register containing the scene transformation matrix for normals.* Compiles the fragment shader code for tangent-space normal maps.* @inheritDoc* @inheritDoc* Initializes the registers containing the lighting data.* Creates a new SuperShaderCompiler object.
* @param profile The compatibility profile used by the renderer.* SuperShaderCompiler is a compiler that generates shaders that perform both lighting and "effects" through methods.
* This is used by the single-pass materials.
<_numPointLights>
<_numDirectionalLights>
<_numCastingPointLights>
<_numCastingDirectionalLights>
<_numLightProbes>
<_allPickedLights>
<_pointLights>
<_castingPointLights>
<_directionalLights>
<_castingDirectionalLights>
<_lightProbes>
<_lightProbeWeights>* Disposes resources used by the light picker.* @inheritDoc* The maximum amount of directional lights that will be provided.* The maximum amount of point lights that will be provided.* The maximum amount of directional lights that cast shadows.* The amount of point lights that cast shadows.* The maximum amount of light probes that will be provided.* The collected point lights to be used for shading.* The collected directional lights to be used for shading.* The collected point lights that cast shadows to be used for shading.* The collected directional lights that cast shadows to be used for shading.* The collected light probes to be used for shading.* The weights for each light probe, defining their influence on the object.* A collection of all the collected lights.* Updates set of lights for a given renderable and EntityCollector. Always call super.collectLights() after custom overridden code.* Updates the weights for the light probes, based on the renderable's position relative to them.
* @param renderable The renderble for which to calculate the light probes' influence.* Creates a new LightPickerBase object.* LightPickerBase provides an abstract base clase for light picker classes. These classes are responsible for
* feeding materials with relevant lights. Usually, StaticLightPicker can be used, but LightPickerBase can be
* extended to provide more application-specific dynamic selection of lights.
*
* @see StaticLightPicker
<_lights>* The lights used for shading.* Remove configuration change listeners on the lights.* Notifies the material of a configuration change.* Called when a directional light's shadow casting configuration changes.* Called when a point light's shadow casting configuration changes.* Creates a new StaticLightPicker object.
* @param lights The lights to be used for shading.* StaticLightPicker is a light picker that provides a static set of lights. The lights can be reassigned, but
* if the configuration changes (number of directional lights, point lights, etc), a material recompilation may
* occur.
<_sharedRegisters>
<_passes>away3d* Initializes the properties for a MethodVO, including register and texture indices.
* @param vo The MethodVO object linking this method with the pass currently being compiled.away3d* Initializes unchanging shader constants using the data from a MethodVO.
* @param vo The MethodVO object linking this method with the pass currently being compiled.away3d* The shared registers created by the compiler and possibly used by methods.away3d* Any passes required that render to a texture used by this method.* Cleans up any resources used by the current object.away3d* Creates a data container that contains material-dependent data. Provided as a factory method so a custom subtype can be overridden when needed.away3d* Resets the compilation state of the method.away3d* Resets the method's state for compilation.
* @privateaway3d* Get the vertex shader code for this method.
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param regCache The register cache used during the compilation.
* @privateaway3d* Sets the render state for this method.
*
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param stage3DProxy The Stage3DProxy object currently used for rendering.
* @privateaway3d* Sets the render state for a single renderable.
*
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param renderable The renderable currently being rendered.
* @param stage3DProxy The Stage3DProxy object currently used for rendering.
* @param camera The camera from which the scene is currently rendered.away3d* Clears the render state for this method.
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param stage3DProxy The Stage3DProxy object currently used for rendering.{ forceWrap : null, uvReg : null }* A helper method that generates standard code for sampling from a texture using the normal uv coordinates.
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param targetReg The register in which to store the sampled colour.
* @param inputReg The texture stream register.
* @param texture The texture which will be assigned to the given slot.
* @param uvReg An optional uv register if coordinates different from the primary uv coordinates are to be used.
* @param forceWrap If true, texture wrapping is enabled regardless of the material setting.
* @return The fragment code that performs the sampling.* A helper method that generates standard code for sampling from a cube texture.
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param targetReg The register in which to store the sampled colour.
* @param inputReg The texture stream register.
* @param texture The cube map which will be assigned to the given slot.
* @param uvReg The direction vector with which to sample the cube map.* Generates a texture format string for the sample instruction.
* @param texture The texture for which to get the format string.
* @return* Marks the shader program as invalid, so it will be recompiled before the next render.* Copies the state from a ShadingMethodBase object into the current object.* Create a new ShadingMethodBase object.
* @param needsNormals Defines whether or not the method requires normals.
* @param needsView Defines whether or not the method requires the view direction.* ShadingMethodBase provides an abstract base method for shading methods, used by compiled passes to compile
* the final shading program.* @inheritDocaway3d* Get the fragment shader code that should be added after all per-light code. Usually composits everything to the target register.
* @param vo The MethodVO object containing the method data for the currently compiled material pass.
* @param regCache The register cache used during the compilation.
* @param targetReg The register that will be containing the method's output.
* @private* EffectMethodBase forms an abstract base class for shader methods that are not dependent on light sources,
* and are in essence post-process effects on the materials.
<_texture>
<_useSecondaryUV>* @inheritDoc* Indicated whether or not the secondary uv set for the mask. This allows mapping alpha independently, for
* instance to tile the main texture and normal map while providing untiled alpha, for example to define the
* transparency over a tiled water surface.* The texture to use as the alpha mask.* @inheritDoc* @inheritDoc{ useSecondaryUV : false }* Creates a new AlphaMaskMethod object
* @param texture The texture to use as the alpha mask.
* @param useSecondaryUV Indicated whether or not the secondary uv set for the mask. This allows mapping alpha independently.* AlphaMaskMethod allows the use of an additional texture to specify the alpha value of the material. When used
* with the secondary uv set, it allows for a tiled main texture with independently varying alpha (useful for water
* etc).
<_modulateMethod>
away3d* A method that is exposed to wrappers in case the strength needs to be controlledaway3d* Get the fragment shader code that will be needed before any per-light code is added.
* @param vo The MethodVO object containing the method data for the currently compiled material pass.
* @param regCache The register cache used during the compilation.
* @privateaway3d* Get the fragment shader code that will generate the code relevant to a single light.
*
* @param vo The MethodVO object containing the method data for the currently compiled material pass.
* @param lightDirReg The register containing the light direction vector.
* @param lightColReg The register containing the light colour.
* @param regCache The register cache used during the compilation.away3d* Get the fragment shader code that will generate the code relevant to a single light probe object.
*
* @param vo The MethodVO object containing the method data for the currently compiled material pass.
* @param cubeMapReg The register containing the cube map for the current probe
* @param weightRegister A string representation of the register + component containing the current weight
* @param regCache The register cache providing any necessary registers to the shaderaway3d* Get the fragment shader code that should be added after all per-light code. Usually composits everything to the target register.
*
* @param vo The MethodVO object containing the method data for the currently compiled material pass.
* @param regCache The register cache used during the compilation.
* @param targetReg The register containing the final shading output.
* @private* Creates a new LightingMethodBase.* LightingMethodBase provides an abstract base method for shading methods that uses lights.
* Used for diffuse and specular shaders only.away3d
<_useTexture>
<_totalLightColorReg>
<_specularTextureRegister>
<_specularTexData>
<_specularDataRegister>
<_texture>
<_gloss expr="50">
50
<_specular expr="1">
1
<_specularColor expr="0xffffff">
0xffffff
<_specularR expr="1">
1away3d
<_specularG expr="1">
1away3d
<_specularB expr="1">
1away3d
<_shadowRegister>
<_isFirstLight>* @inheritDoc* The sharpness of the specular highlight.* The overall strength of the specular highlights.* The colour of the specular reflection of the surface.* The bitmapData that encodes the specular highlight strength per texel in the red channel, and the sharpness
* in the green channel. You can use SpecularBitmapTexture if you want to easily set specular and gloss maps
* from grayscale images, but prepared images are preferred.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Updates the specular color data used by the render state.* Set internally by the compiler, so the method knows the register containing the shadow calculation.* Creates a new BasicSpecularMethod object.* BasicSpecularMethod provides the default shading method for Blinn-Phong specular highlights (an optimized but approximated
* version of Phong specularity).* @inheritDoc* @inheritDoc* Creates a new AnisotropicSpecularMethod object.* AnisotropicSpecularMethod provides a specular method resulting in anisotropic highlights. These are typical for
* surfaces with microfacet details such as tiny grooves. In particular, this uses the Heidrich-Seidel distrubution.
* The tangent vectors are used as the surface groove directions.
<_useTexture>
<_texture>
<_ambientInputRegister>
<_ambientColor expr="0xffffff">
0xffffff
<_ambientR expr="0">
0
<_ambientG expr="0">
0
<_ambientB expr="0">
0
<_ambient expr="1">
1
<_lightAmbientR expr="0">
0away3d
<_lightAmbientG expr="0">
0away3d
<_lightAmbientB expr="0">
0away3daway3d* @inheritDocaway3d* @inheritDoc* The strength of the ambient reflection of the surface.* The colour of the ambient reflection of the surface.* The bitmapData to use to define the diffuse reflection color per texel.* @inheritDocaway3d* @inheritDocaway3d* @inheritDocaway3d* @inheritDoc* Updates the ambient color data used by the render state.away3d* @inheritDoc* Creates a new BasicAmbientMethod object.* BasicAmbientMethod provides the default shading method for uniform ambient lighting.away3daway3d
<_useAmbientTexture>
<_useTexture>
<_totalLightColorReg public="1">
<_diffuseInputRegister>
<_texture>
<_diffuseColor expr="0xffffff">
0xffffff
<_diffuseR expr="1">
1
<_diffuseG expr="1">
1
<_diffuseB expr="1">
1
<_diffuseA expr="1">
1
<_shadowRegister>
<_alphaThreshold expr="0">
0
<_isFirstLight>* Set internally if the ambient method uses a texture.* Forces the creation of the texture.
* @param stage3DProxy The Stage3DProxy used by the renderer* The alpha component of the diffuse reflection.* The color of the diffuse reflection when not using a texture.* The bitmapData to use to define the diffuse reflection color per texel.* The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
* invisible or entirely opaque, often used with textures for foliage, etc.
* Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Generate the code that applies the calculated shadow to the diffuse light
* @param vo The MethodVO object for which the compilation is currently happening.
* @param regCache The register cache the compiler is currently using for the register management.* @inheritDoc* Updates the diffuse color data used by the render state.* Set internally by the compiler, so the method knows the register containing the shadow calculation.* Creates a new BasicDiffuseMethod object.* BasicDiffuseMethod provides the default shading method for Lambert (dot3) diffuse lighting.away3daway3d
<_texture>
<_useTexture>
<_normalTextureRegister>* @inheritDoc* Indicates whether or not this method outputs normals in tangent space. Override for object-space normals.* Indicates if the normal method output is not based on a texture (if not, it will usually always return true)
* Override if subclasses are different.* @inheritDoc* The texture containing the normals per pixel.* @inheritDoc* @inheritDoc* @inheritDocaway3d* @inheritDoc* Creates a new BasicNormalMethod object.* BasicNormalMethod is the default method for standard tangent-space normal mapping.
<_castingLight>
<_shadowMapper>
<_epsilon expr=".02">
.02
<_alpha expr="1">
1* @inheritDoc* The "transparency" of the shadows. This allows making shadows less strong.* The light casting the shadows.* A small value to counter floating point precision errors when comparing values in the shadow map with the
* calculated depth value. Increase this if shadow banding occurs, decrease it if the shadow seems to be too detached.away3d* @inheritDoc* Creates a new ShadowMapMethodBase object.
* @param castingLight The light used to cast shadows.* ShadowMapMethodBase provides an abstract base method for shadow map methods.
<_baseMethod>
<_cascadeShadowMapper>
<_depthMapCoordVaryings>
<_cascadeProjections>* The shadow map sampling method used to sample individual cascades. These are typically those used in conjunction
* with a DirectionalShadowMapper.
*
* @see HardShadowMapMethod
* @see SoftShadowMapMethod* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates the registers for the cascades' projection coordinates.* @inheritDoc* @inheritDoc* @inheritDoc* Called when the shadow mappers cascade configuration changes.* Called when the base method's shader code is invalidated.* Creates a new CascadeShadowMapMethod object.
*
* @param shadowMethodBase The shadow map sampling method used to sample individual cascades (fe: HardShadowMapMethod, SoftShadowMapMethod)* CascadeShadowMapMethod is a shadow map method to apply cascade shadow mapping on materials.
* Must be used with a DirectionalLight with a CascadeShadowMapper assigned to its shadowMapper property.
*
* @see away3d.lights.shadowmaps.CascadeShadowMapper
<_baseMethod>* The base diffuse method on which this method's shading is based.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Called when the base method's shader code is invalidated.{ baseDiffuseMethod : null, modulateMethod : null }* Creates a new WrapDiffuseMethod object.
* @param modulateMethod The method which will add the code to alter the base method's strength. It needs to have the signature clampDiffuse(t : ShaderRegisterElement, regCache : ShaderRegisterCache) : String, in which t.w will contain the diffuse strength.
* @param baseDiffuseMethod The base diffuse method on which this method's shading is based.* CompositeDiffuseMethod provides a base class for diffuse methods that wrap a diffuse method to alter the
* calculated diffuse reflection strength.
<_levels>
<_dataReg>
<_smoothness expr=".1">
.1* @inheritDoc* The amount of shadow gradations.* The smoothness of the edge between 2 shading levels.* @inheritDoc* @inheritDoc* @inheritDoc* Snaps the diffuse shading of the wrapped method to one of the levels.
* @param vo The MethodVO used to compile the current shader.
* @param t The register containing the diffuse strength in the "w" component.
* @param regCache The register cache used for the shader compilation.
* @param sharedRegisters The shared register data for this shader.
* @return The AGAL fragment code for the method.{ baseDiffuseMethod : null, levels : 3 }* Creates a new CelDiffuseMethod object.
* @param levels The amount of shadow gradations.
* @param baseDiffuseMethod An optional diffuse method on which the cartoon shading is based. If omitted, BasicDiffuseMethod is used.* CelDiffuseMethod provides a shading method to add diffuse cel (cartoon) shading.
<_baseMethod>* @inheritDoc* @inheritDoc* The base specular method on which this method's shading is based.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc
* @return* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Called when the base method's shader code is invalidated.{ baseSpecularMethod : null }* Creates a new WrapSpecularMethod object.
* @param modulateMethod The method which will add the code to alter the base method's strength. It needs to have the signature modSpecular(t : ShaderRegisterElement, regCache : ShaderRegisterCache) : String, in which t.w will contain the specular strength and t.xyz will contain the half-vector or the reflection vector.
* @param baseSpecularMethod The base specular method on which this method's shading is based.* CompositeSpecularMethod provides a base class for specular methods that wrap a specular method to alter the
* calculated specular reflection strength.
<_dataReg>
<_smoothness expr=".1">
.1
<_specularCutOff expr=".1">
.1* The smoothness of the highlight edge.* The threshold at which the specular highlight should be shown.* @inheritDoc* @inheritDoc* Snaps the specular shading strength of the wrapped method to zero or one, depending on whether or not it exceeds the specularCutOff
* @param vo The MethodVO used to compile the current shader.
* @param t The register containing the specular strength in the "w" component, and either the half-vector or the reflection vector in "xyz".
* @param regCache The register cache used for the shader compilation.
* @param sharedRegisters The shared register data for this shader.
* @return The AGAL fragment code for the method.* @inheritDoc{ baseSpecularMethod : null, specularCutOff : .5 }* Creates a new CelSpecularMethod object.
* @param specularCutOff The threshold at which the specular highlight should be shown.
* @param baseSpecularMethod An optional specular method on which the cartoon shading is based. If ommitted, BasicSpecularMethod is used.* CelSpecularMethod provides a shading method to add specular cel (cartoon) shading.
<_matrix>* The 4 x 5 matrix to transform the color of the material.* @inheritDoc* @inheritDoc* Creates a new ColorTransformMethod.
*
* @param matrix An array of 20 items for 4 x 5 color transform.* ColorMatrixMethod provides a shading method that changes the colour of a material analogous to a ColorMatrixFilter.
<_colorTransform>* The ColorTransform object to transform the colour of the material with.* @inheritDoc* @inheritDoc* Creates a new ColorTransformMethod.* ColorTransformMethod provides a shading method that changes the colour of a material analogous to a
* ColorTransform object.* @inheritDoc* @inheritDoc* Creates a new BasicDiffuseMethod object.* DepthDiffuseMethod provides a debug method to visualise depth mapsaway3d
<_depthMapCoordReg>
<_usePoint>* @inheritDoc* @inheritDoc* Wrappers that override the vertex shader need to set this explicitly* @inheritDoc* @inheritDoc* Gets the vertex code for shadow mapping with a point light.
*
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param regCache The register cache used during the compilation.* Gets the vertex code for shadow mapping with a planar shadow map (fe: directional lights).
*
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param regCache The register cache used during the compilation.* @inheritDoc* Gets the fragment code for shadow mapping with a planar shadow map.
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param regCache The register cache used during the compilation.
* @param targetReg The register to contain the shadow coverage
* @return* Gets the fragment code for shadow mapping with a point light.
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param regCache The register cache used during the compilation.
* @param targetReg The register to contain the shadow coverage
* @return* @inheritDocaway3d* Gets the fragment code for combining this method with a cascaded shadow map method.
* @param vo The MethodVO object linking this method with the pass currently being compiled.
* @param regCache The register cache used during the compilation.
* @param decodeRegister The register containing the data to decode the shadow map depth value.
* @param depthTexture The texture containing the shadow map.
* @param depthProjection The projection of the fragment relative to the light.
* @param targetRegister The register to contain the shadow coverage
* @return* @inheritDocaway3d* Sets the method state for cascade shadow mapping.* Creates a new SimpleShadowMapMethodBase object.
* @param castingLight The light used to cast shadows.* SimpleShadowMapMethodBase provides an abstract method for simple (non-wrapping) shadow map methods.
<_grainTexture static="1">
<_grainUsages static="1">
<_grainBitmapData static="1">
<_depthMapSize>
<_range expr="1">
1
<_numSamples>* The amount of samples to take for dithering. Minimum 1, maximum 24. The actual maximum may depend on the
* complexity of the shader.* @inheritDoc* @inheritDoc* The range in the shadow map in which to distribute the samples.* Creates a texture containing the dithering noise texture.* @inheritDoc* @inheritDoc* @inheritDoc* Get the actual shader code for shadow mapping
* @param regCache The register cache managing the registers.
* @param depthMapRegister The texture register containing the depth map.
* @param decReg The register containing the depth map decoding data.
* @param targetReg The target register to add the shadow coverage.* Adds the code for another tap to the shader code.
* @param uvReg The uv register for the tap.
* @param depthMapRegister The texture register containing the depth map.
* @param decReg The register containing the depth map decoding data.
* @param targetReg The target register to add the tap comparison result.
* @param regCache The register cache managing the registers.
* @return* @inheritDoc* @inheritDoc{ numSamples : 4 }* Creates a new DitheredShadowMapMethod object.
* @param castingLight The light casting the shadows
* @param numSamples The amount of samples to take for dithering. Minimum 1, maximum 24.* DitheredShadowMapMethod provides a soft shadowing technique by randomly distributing sample points differently for each fragment.
<_cubeTexture>* @inheritDoc* @inheritDoc* The cube environment map to use for the diffuse lighting.* @inheritDoc* @inheritDoc* Creates a new EnvMapDiffuseMethod object.
* @param envMap The cube environment map to use for the diffuse lighting.* EnvMapDiffuseMethod provides a diffuse shading method that uses a diffuse irradiance environment map to
* approximate global lighting rather than lights.
<_cubeTexture>
<_alpha>
<_mask>* An optional texture to modulate the reflectivity of the surface.* @inheritDoc* The cubic environment map containing the reflected scene.* @inheritDoc* The reflectivity of the surface.* @inheritDoc* @inheritDoc{ alpha : 1 }* Creates an EnvMapMethod object.
* @param envMap The environment map containing the reflected scene.
* @param alpha The reflectivity of the surface.* EnvMapMethod provides a material method to perform reflection mapping using cube maps.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new BasicDiffuseMethod object.
*
* @param castingLight The light casting the shadow* DitheredShadowMapMethod provides a softened shadowing technique by bilinearly interpolating shadow comparison
* results of neighbouring pixels.
<_minDistance expr="0">
0
<_maxDistance expr="1000">
1000
<_fogColor>
<_fogR>
<_fogG>
<_fogB>* @inheritDoc* @inheritDoc* The distance from which the fog starts appearing.* The distance at which the fog is densest.* The colour of the fog.* @inheritDoc* @inheritDoc{ fogColor : 0x808080 }* Creates a new FogMethod object.
* @param minDistance The distance from which the fog starts appearing.
* @param maxDistance The distance at which the fog is densest.
* @param fogColor The colour of the fog.* FogMethod provides a method to add distance-based fog to a material.
<_cubeTexture>
<_fresnelPower expr="5">
5
<_normalReflectance expr="0">
0
<_alpha>
<_mask>* @inheritDoc* @inheritDoc* An optional texture to modulate the reflectivity of the surface.* The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5.* The cubic environment map containing the reflected scene.* @inheritDoc* The reflectivity of the surface.* The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction.* @inheritDoc* @inheritDoc{ alpha : 1 }* Creates an FresnelEnvMapMethod object.
* @param envMap The environment map containing the reflected scene.
* @param alpha The reflectivity of the material.* FresnelEnvMapMethod provides a method to add fresnel-based reflectivity to an object using cube maps, which gets
* stronger as the viewing angle becomes more grazing.
<_texture>
<_alpha expr="1">
1
<_normalDisplacement expr="0">
0
<_normalReflectance expr="0">
0
<_fresnelPower expr="5">
5* The reflectivity of the surface.* The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5.* The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction.* @inheritDoc* The PlanarReflectionTexture containing a render of the mirrored scene.
*
* @see away3d.textures.PlanarReflectionTexture* The amount of displacement caused by per-pixel normals.* @inheritDoc* @inheritDoc{ alpha : 1 }* Creates a new FresnelPlanarReflectionMethod object.
* @param texture The PlanarReflectionTexture containing a render of the mirrored scene.
* @param alpha The maximum reflectivity of the surface.
*
* @see away3d.textures.PlanarReflectionTexture* FresnelPlanarReflectionMethod provides a method to add fresnel-based planar reflections from a
* PlanarReflectionTexture object.to a surface, which get stronger as the viewing angle becomes more grazing. This
* method can be used for (near-)planar objects such as mirrors or water.
*
* @see away3d.textures.PlanarReflectionTexture
<_dataReg>
<_incidentLight>
<_fresnelPower expr="5">
5
<_normalReflectance expr=".028">
.028* @inheritDoc* Defines whether the fresnel effect should be based on the view angle on the surface (if true), or on the angle between the light and the view.* The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5.* @inheritDoc* The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction.* @inheritDoc* @inheritDoc* Applies the fresnel effect to the specular strength.
*
* @param vo The MethodVO object containing the method data for the currently compiled material pass.
* @param target The register containing the specular strength in the "w" component, and the half-vector/reflection vector in "xyz".
* @param regCache The register cache used for the shader compilation.
* @param sharedRegisters The shared registers created by the compiler.
* @return The AGAL fragment code for the method.{ baseSpecularMethod : null, basedOnSurface : true }* Creates a new FresnelSpecularMethod object.
* @param basedOnSurface Defines whether the fresnel effect should be based on the view angle on the surface (if true), or on the angle between the light and the view.
* @param baseSpecularMethod The specular method to which the fresnel equation. Defaults to BasicSpecularMethod.* FresnelSpecularMethod provides a specular shading method that causes stronger highlights on grazing view angles.
<_gradientTextureRegister>
<_gradient>* A texture that contains the light colour based on the angle. This can be used to change the light colour
* due to subsurface scattering when the surface faces away from the light.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new GradientDiffuseMethod object.
* @param gradient A texture that contains the light colour based on the angle. This can be used to change
* the light colour due to subsurface scattering when the surface faces away from the light.* GradientDiffuseMethod is an alternative to BasicDiffuseMethod in which the shading can be modulated with a gradient
* to introduce color-tinted shading as opposed to the single-channel diffuse strength. This can be used as a crude
* approximation to subsurface scattering (for instance, the mid-range shading for skin can be tinted red to similate
* scattered light within the skin attributing to the final colour)* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new HardShadowMapMethod object.* HardShadowMapMethod provides the cheapest shadow map method by using a single tap without any filtering.
<_worldXYRatio>
<_worldXZRatio>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new HeightMapNormalMethod method.
* @param heightMap The texture containing the height data. 0 means low, 1 means high.
* @param worldWidth The width of the 'world'. This is used to map uv coordinates' u component to scene dimensions.
* @param worldHeight The height of the 'world'. This is used to map the height map values to scene dimensions.
* @param worldDepth The depth of the 'world'. This is used to map uv coordinates' v component to scene dimensions.* HeightMapNormalMethod provides a normal map method that uses a height map to calculate the normals.BlendMode.MULTIPLY* Indicates the light map should be multiplied with the calculated shading result.
* This can be used to add pre-calculated shadows or occlusion.BlendMode.ADD* Indicates the light map should be added into the calculated shading result.
* This can be used to add pre-calculated lighting or global illumination.
<_blendMode>
<_useSecondaryUV>* @inheritDoc* The blend mode with which the light map should be applied to the lighting result.
*
* @see LightMapDiffuseMethod.ADD
* @see LightMapDiffuseMethod.MULTIPLY* The texture containing the light map data.* @inheritDoc* @inheritDoc{ baseMethod : null, useSecondaryUV : false, blendMode : BlendMode.MULTIPLY }* Creates a new LightMapDiffuseMethod method.
* @param lightMap The texture containing the light map.
* @param blendMode The blend mode with which the light map should be applied to the lighting result.
* @param useSecondaryUV Indicates whether the secondary UV set should be used to map the light map.
* @param baseMethod The diffuse method used to calculate the regular light-based lighting.* LightMapDiffuseMethod provides a diffuse shading method that uses a light map to modulate the calculated diffuse
* lighting. It is different from LightMapMethod in that the latter modulates the entire calculated pixel color, rather
* than only the diffuse lighting value.BlendMode.MULTIPLY* Indicates the light map should be multiplied with the calculated shading result.BlendMode.ADD* Indicates the light map should be added into the calculated shading result.
<_texture>
<_blendMode>
<_useSecondaryUV>* @inheritDoc* The blend mode with which the light map should be applied to the lighting result.
*
* @see LightMapMethod.ADD
* @see LightMapMethod.MULTIPLY* The texture containing the light map.* @inheritDoc* @inheritDoc{ useSecondaryUV : false, blendMode : MULTIPLY }* Creates a new LightMapMethod object.
* @param texture The texture containing the light map.
* @param blendMode The blend mode with which the light map should be applied to the lighting result.
* @param useSecondaryUV Indicates whether the secondary UV set should be used to map the light map.* LightMapMethod provides a method that allows applying a light map texture to the calculated pixel colour.
* It is different from LightMapDiffuseMethod in that the latter only modulates the diffuse shading value rather
* than the whole pixel colour.true* Resets the values of the value object to their "unused" state.* Creates a new MethodVO object.* MethodVO contains data for a given method for the use within a single material.
* This allows methods to be shared across materials while their non-public state differs.* An instance of a concrete EffectMethodBase subclass.* The MethodVO data for the given method containing the material-specific data for a given material/method combination.* Creates a new MethodVOSet object.
* @param method The method for which we need to store a MethodVO object.* MethodVOSet provides a EffectMethodBase and MethodVO combination to be used by a material, allowing methods
* to be shared across different materials while their internal state changes.
<_baseMethod>
<_fadeRatio>
<_nearShadowMapper>* The base shadow map method on which this method's shading is based.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* The amount of shadow fading to the outer shadow area. A value of 1 would mean the shadows start fading from the camera's near plane.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Called when the base method's shader code is invalidated.{ fadeRatio : .1 }* Creates a new NearShadowMapMethod object.
* @param baseMethod The shadow map sampling method used to sample individual cascades (fe: HardShadowMapMethod, SoftShadowMapMethod)
* @param fadeRatio The amount of shadow fading to the outer shadow area. A value of 1 would mean the shadows start fading from the camera's near plane.* NearShadowMapMethod provides a shadow map method that restricts the shadowed area near the camera to optimize
* shadow map usage. This method needs to be used in conjunction with a NearDirectionalShadowMapper.
*
* @see away3d.lights.shadowmaps.NearDirectionalShadowMapper
<_outlinePass>* @inheritDoc* Indicates whether or not strokes should be potentially drawn over the existing model.
* Set this to true to draw outlines for geometry overlapping in the view, useful to achieve a cel-shaded drawing outline.
* Setting this to false will only cause the outline to appear around the 2D projection of the geometry.* The colour of the outline.* The size of the outline.* @inheritDoc* @inheritDoc* @inheritDoc{ dedicatedWaterProofMesh : false, showInnerLines : true, outlineSize : 1, outlineColor : 0x000000 }* Creates a new OutlineMethod object.
* @param outlineColor The colour of the outline stroke
* @param outlineSize The size of the outline stroke
* @param showInnerLines Indicates whether or not strokes should be potentially drawn over the existing model.
* @param dedicatedWaterProofMesh Used to stitch holes appearing due to mismatching normals for overlapping vertices. Warning: this will create a new mesh that is incompatible with animations!* OutlineMethod provides a shading method to add outlines to an object.* @inheritDoc* Creates a new PhongSpecularMethod object.* PhongSpecularMethod provides a specular method that provides Phong highlights.
<_texture>
<_alpha expr="1">
1
<_normalDisplacement expr="0">
0* @inheritDoc* The reflectivity of the surface.* The PlanarReflectionTexture used to render the reflected view.* The amount of displacement on the surface, for use with water waves.* @inheritDoc* @inheritDoc{ alpha : 1 }* Creates a new PlanarReflectionMethod
* @param texture The PlanarReflectionTexture used to render the reflected view.
* @param alpha The reflectivity of the surface.* PlanarReflectionMethod is a material method that adds reflections from a PlanarReflectionTexture object.
*
* @see away3d.textures.PlanarReflectionTextureBlendMode.MULTIPLYBlendMode.ADDBlendMode.DIFFERENCE
<_projector>
<_uvVarying>
<_projMatrix expr="new Matrix3D()">
new Matrix3D()
<_mode>* @inheritDoc* @inheritDoc* The blend mode with which the texture is blended unto the object.
* ProjectiveTextureMethod.MULTIPLY can be used to project shadows. To prevent clamping, the texture's alpha should be white!
* ProjectiveTextureMethod.ADD can be used to project light, such as a slide projector or light coming through stained glass. To prevent clamping, the texture's alpha should be black!
* ProjectiveTextureMethod.MIX provides normal alpha blending. To prevent clamping, the texture's alpha should be transparent!* The TextureProjector object that defines the projection properties as well as the texture.
*
* @see away3d.entities.TextureProjector* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ mode : MULTIPLY }* Creates a new ProjectiveTextureMethod object.
*
* @param projector The TextureProjector object that defines the projection properties as well as the texture.
* @param mode The blend mode with which the texture is blended unto the surface.
*
* @see away3d.entities.TextureProjector* ProjectiveTextureMethod is a material method used to project a texture unto the surface of an object.
* This can be used for various effects apart from acting like a normal projector, such as projecting fake shadows
* unto a surface, the impact of light coming through a stained glass window, ...
<_envMap>
<_dispersionR expr="0">
0
<_dispersionG expr="0">
0
<_dispersionB expr="0">
0
<_useDispersion>
<_refractionIndex>
<_alpha expr="1">
1* @inheritDoc* @inheritDoc* The cube environment map to use for the refraction.* The refractive index of the material.* The amount of chromatic dispersion of the red channel. Defaults to 0 (none).* The amount of chromatic dispersion of the green channel. Defaults to 0 (none).* The amount of chromatic dispersion of the blue channel. Defaults to 0 (none).* The amount of transparency of the object. Warning: the alpha applies to the refracted color, not the actual
* material. A value of 1 will make it appear fully transparent.* @inheritDoc* @inheritDoc{ dispersionB : 0, dispersionG : 0, dispersionR : 0, refractionIndex : .1 }* Creates a new RefractionEnvMapMethod object. Example values for dispersion are: dispersionR: -0.03, dispersionG: -0.01, dispersionB: = .0015
* @param envMap The environment map containing the refracted scene.
* @param refractionIndex The refractive index of the material.
* @param dispersionR The amount of chromatic dispersion of the red channel. Defaults to 0 (none).
* @param dispersionG The amount of chromatic dispersion of the green channel. Defaults to 0 (none).
* @param dispersionB The amount of chromatic dispersion of the blue channel. Defaults to 0 (none).* RefractionEnvMapMethod provides a method to add refracted transparency based on cube maps."add""multiply""mix"
<_color>
<_blendMode>
<_colorR>
<_colorG>
<_colorB>
<_strength>
<_power>* @inheritDoc* @inheritDoc* The blend mode with which to add the light to the object.
*
* RimLightMethod.MULTIPLY multiplies the rim light with the material's colour.
* RimLightMethod.ADD adds the rim light with the material's colour.
* RimLightMethod.MIX provides normal alpha blending.* The color of the rim light.* The strength of the rim light.* The power of the rim light. Higher values will result in a higher edge fall-off.* @inheritDoc* @inheritDoc{ blend : "mix", power : 2, strength : .4, color : 0xffffff }* Creates a new RimLightMethod.
* @param color The colour of the rim light.
* @param strength The strength of the rim light.
* @param power The power of the rim light. Higher values will result in a higher edge fall-off.
* @param blend The blend mode with which to add the light to the object.* RimLightMethod provides a method to add rim lighting to a material. This adds a glow-like effect to edges of objects.away3daway3daway3daway3daway3d
<_colorTransformMethod>
away3d
<_colorTransformMethodVO>
away3d
<_normalMethod>
away3d
<_normalMethodVO>
away3d
<_ambientMethod>
away3d
<_ambientMethodVO>
away3d
<_shadowMethod>
away3d
<_shadowMethodVO>
away3d
<_diffuseMethod>
away3d
<_diffuseMethodVO>
away3d
<_specularMethod>
away3d
<_specularMethodVO>
away3d
<_methods>
away3d* Called when any method's code is invalidated.* Invalidates the material's shader code.* The method used to generate the per-pixel normals.* The method that provides the ambient lighting contribution.* The method used to render shadows cast on this surface, or null if no shadows are to be rendered.* The method that provides the diffuse lighting contribution.* The method to perform specular shading.* @private* Disposes the object.* Removes all listeners from a method.* Adds a method to change the material after all lighting is performed.
* @param method The method to be added.* Queries whether a given effect method was added to the material.
*
* @param method The method to be queried.
* @return true if the method was added to the material, false otherwise.* Inserts a method to change the material after all lighting is performed at the given index.
* @param method The method to be added.
* @param index The index of the method's occurrence* Returns the method added at the given index.
* @param index The index of the method to retrieve.
* @return The method at the given index.* The number of "effect" methods added to the material.* Removes a method from the pass.
* @param method The method to be removed.* Creates a new ShaderMethodSetup object.* ShaderMethodSetup contains the method configuration for an entire material.
<_texture2>
<_normalTextureRegister2>
<_useSecondNormalMap>
<_water1OffsetX expr="0">
0
<_water1OffsetY expr="0">
0
<_water2OffsetX expr="0">
0
<_water2OffsetY expr="0">
0* @inheritDoc* @inheritDoc* The translation of the first wave layer along the X-axis.* The translation of the first wave layer along the Y-axis.* The translation of the second wave layer along the X-axis.* The translation of the second wave layer along the Y-axis.* @inheritDoc* A second normal map that will be combined with the first to create a wave-like animation pattern.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new SimpleWaterNormalMethod object.
* @param waveMap1 A normal map containing one layer of a wave structure.
* @param waveMap2 A normal map containing a second layer of a wave structure.* SimpleWaterNormalMethod provides a basic normal map method to create water ripples by translating two wave normal maps.
<_range expr="1">
1
<_numSamples>
<_offsets>* The amount of samples to take for dithering. Minimum 1, maximum 32. The actual maximum may depend on the
* complexity of the shader.* The range in the shadow map in which to distribute the samples.* @inheritDoc* @inheritDoc* @inheritDoc* Adds the code for another tap to the shader code.
* @param uv The uv register for the tap.
* @param texture The texture register containing the depth map.
* @param decode The register containing the depth map decoding data.
* @param target The target register to add the tap comparison result.
* @param regCache The register cache managing the registers.
* @return* @inheritDoc* @inheritDoc* Get the actual shader code for shadow mapping
* @param regCache The register cache managing the registers.
* @param depthTexture The texture register containing the depth map.
* @param decodeRegister The register containing the depth map decoding data.
* @param targetReg The target register to add the shadow coverage.
* @param dataReg The register containing additional data.{ range : 1, numSamples : 5 }* Creates a new BasicDiffuseMethod object.
*
* @param castingLight The light casting the shadows
* @param numSamples The amount of samples to take for dithering. Minimum 1, maximum 32.* SoftShadowMapMethod provides a soft shadowing technique by randomly distributing sample points.
<_depthPass>
<_lightProjVarying>
<_propReg>
<_scattering>
<_translucency expr="1">
1
<_lightColorReg>
<_scatterColor expr="0xffffff">
0xffffff
<_colorReg>
<_decReg>
<_scatterR expr="1.0">
1.0
<_scatterG expr="1.0">
1.0
<_scatterB expr="1.0">
1.0
<_targetReg>* @inheritDoc* The amount by which the light scatters. It can be used to set the translucent surface's thickness. Use low
* values for skin.* The translucency of the object.* The colour of the "insides" of the object, ie: the colour the light becomes after leaving the object.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Generates the code for this method{ depthMapOffset : 15, depthMapSize : 512 }* Creates a new SubsurfaceScatteringDiffuseMethod object.
* @param depthMapSize The size of the depth map used.
* @param depthMapOffset The amount by which the rendered object will be inflated, to prevent depth map rounding errors.* SubsurfaceScatteringDiffuseMethod provides a depth map-based diffuse shading method that mimics the scattering of
* light inside translucent surfaces. It allows light to shine through an object and to soften the diffuse shading.
* It can be used for candle wax, ice, skin, ...
<_blendingTexture>
<_splats>
<_numSplattingLayers>
<_tileData>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc{ uvReg : null }* Gets the sample code for a single splat.* Creates a new TerrainDiffuseMethod.
* @param splatTextures An array of Texture2DProxyBase containing the detailed textures to be tiled.
* @param blendingTexture The texture containing the blending data. The red, green, and blue channels contain the blending values for each of the textures in splatTextures, respectively.
* @param tileData The amount of times each splat texture needs to be tiled. The first entry in the array applies to the base texture, the others to the splats. If omitted, the default value of 50 is assumed for each.* TerrainDiffuseMethod provides a diffuse method that uses different tiled textures with alpha masks to create a
* large surface with high detail and less apparent tiling.* @inheritDoc* Creates a new BasicDiffuseMethod object.
*
* @param castingLight The light casting the shadow"Please consider any of the superior shadow map methods: SoftShadowMapMethod or DitheredShadowMapMethod"
<_wrapDataRegister>
<_wrapFactor>* @inheritDoc* A factor to indicate the amount by which the light is allowed to wrap.* @inheritDoc* @inheritDoc* @inheritDoc{ wrapFactor : .5 }* Creates a new WrapDiffuseMethod object.
* @param wrapFactor A factor to indicate the amount by which the light is allowed to wrap* WrapDiffuseMethod is an alternative to BasicDiffuseMethod in which the light is allowed to be "wrapped around" the normally dark area, to some extent.
* It can be used as a crude approximation to Oren-Nayar or simple subsurface scattering.
<_previousUsedStreams expr="Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])" line="89" static="1">
Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])
<_previousUsedTexs expr="Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])" line="90" static="1">
Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])away3d
<_material>
<_animationSet>
<_program3Ds expr="new Vector<Program3D>(8)">
(8)]]>away3d
<_program3Dids expr="Vector.ofArray([-1, -1, -1, -1, -1, -1, -1, -1])">
Vector.ofArray([-1, -1, -1, -1, -1, -1, -1, -1])away3d
<_context3Ds expr="new Vector<Context3D>(8)">
(8)]]>
<_numUsedStreams expr="0">
0
<_numUsedTextures expr="0">
0
<_numUsedVertexConstants expr="0">
0
<_numUsedFragmentConstants expr="0">
0
<_numUsedVaryings expr="0">
0
<_smooth expr="true">
true
<_repeat expr="false">
false
<_mipmap expr="true">
true
<_anisotropy expr="Anisotropy.ANISOTROPIC2X">
Anisotropy.ANISOTROPIC2X
<_depthCompareMode expr="Context3DCompareMode.LESS_EQUAL">
Context3DCompareMode.LESS_EQUAL
<_blendFactorSource expr="Context3DBlendFactor.ONE">
Context3DBlendFactor.ONE
<_blendFactorDest expr="Context3DBlendFactor.ZERO">
Context3DBlendFactor.ZERO
<_enableBlending>
<_bothSides>
<_lightPicker>
<_animatableAttributes expr="Vector.ofArray(["va0"])">
Vector.ofArray(["va0"])
<_animationTargetRegisters expr="Vector.ofArray(["vt0"])">
Vector.ofArray(["vt0"])
<_shadedTarget expr=""ft0"">
"ft0"
<_defaultCulling expr="Context3DTriangleFace.BACK">
Context3DTriangleFace.BACK
<_renderToTexture>
<_oldTarget>
<_oldSurface>
<_oldDepthStencil>
<_oldRect>
<_alphaPremultiplied>
<_needFragmentAnimation>
<_needUVAnimation>
<_UVTarget>
<_UVSource>
<_agalVersion expr="1">
1
<_writeDepth expr="true">
true* The material to which this pass belongs.* Indicate whether this pass should write to the depth buffer or not. Ignored when blending is enabled.* Defines whether any used textures should use mipmapping.* Indicates the number of Anisotropic filtering samples to take for mipmapping* Defines whether smoothing should be applied to any used textures.* Defines whether textures should be tiled.* Defines whether or not the material should perform backface culling.* The depth compare mode used to render the renderables using this material.
*
* @see openfl.display3D.Context3DCompareMode* Returns the animation data set adding animations to the material.* Specifies whether this pass renders to texture* Cleans up any resources used by the current object.
* @param deep Indicates whether other resources should be cleaned up, that could potentially be shared across different instances.* The amount of used vertex streams in the vertex code. Used by the animation code generation to know from which index on streams are available.* The amount of used vertex constants in the vertex code. Used by the animation code generation to know from which index on registers are available.* The amount of used fragment constants in the fragment code. Used by the animation code generation to know from which index on registers are available.* Indicates whether the pass requires any UV animatin code.away3d* Sets up the animation state. This needs to be called before render()
*
* @privateaway3d* Renders an object to the current render target.
*
* @privateaway3d* Returns the vertex AGAL code for the material.away3d* Returns the fragment AGAL code for the material.
*
BlendMode.NORMAL: No blending, unless the material inherently needs it
*
BlendMode.LAYER: Force blending. This will draw the object the same as NORMAL, but without writing depth writes.
*
BlendMode.MULTIPLY
*
BlendMode.ADD
*
BlendMode.ALPHA
* ]]>away3d* Sets the render state for the pass that is independent of the rendered object. This needs to be called before
* calling renderPass. Before activating a pass, the previously used pass needs to be deactivated.
* @param stage3DProxy The Stage3DProxy object which is currently used for rendering.
* @param camera The camera from which the scene is viewed.
* @privateaway3d* Clears the render state for the pass. This needs to be called before activating another pass.
* @param stage3DProxy The Stage3DProxy used for rendering
*
* @private{ updateMaterial : true }away3d* Marks the shader program as invalid, so it will be recompiled before the next render.
*
* @param updateMaterial Indicates whether the invalidation should be performed on the entire material. Should always pass "true" unless it's called from the material itself.away3d* Compiles the shader program.
* @param polyOffsetReg An optional register that contains an amount by which to inflate the model (used in single object depth map rendering).away3d* The light picker used by the material to provide lights to the material if it supports lighting.
*
* @see away3d.materials.lightpickers.LightPickerBase
* @see away3d.materials.lightpickers.StaticLightPickeraway3d* Called when the light picker's configuration changes.* Implemented by subclasses if the pass uses lights to update the shader.* Indicates whether visible textures (or other pixels) used by this material have
* already been premultiplied. Toggle this if you are seeing black halos around your
* blended alpha edges.{ renderToTexture : false }* Creates a new MaterialPassBase object.
*
* @param renderToTexture Indicates whether this pass is a render-to-texture pass.* MaterialPassBase provides an abstract base class for material shader passes. A material pass constitutes at least
* a render call per required renderable.
<_passes public="1">
<_passesDirty public="1">
<_specularLightSources expr="0x01">
0x01
<_diffuseLightSources expr="0x03">
0x03
<_vertexCode>
<_fragmentLightCode>
<_framentPostLightCode>
<_vertexConstantData expr="new Vector<Float>()">
()]]>
<_fragmentConstantData expr="new Vector<Float>()">
()]]>
<_commonsDataIndex>
<_probeWeightsIndex>
<_uvBufferIndex>
<_secondaryUVBufferIndex>
<_normalBufferIndex>
<_tangentBufferIndex>
<_sceneMatrixIndex>
<_sceneNormalMatrixIndex>
<_lightFragmentConstantIndex>
<_cameraPositionIndex>
<_uvTransformIndex>
<_uvTransformIndex2>
<_lightProbeDiffuseIndices>
<_lightProbeSpecularIndices>
<_ambientLightR>
<_ambientLightG>
<_ambientLightB>
<_compiler>
<_methodSetup>
<_usingSpecularMethod>
<_usesNormals>
<_preserveAlpha expr="true">
true
<_animateUVs>
<_animateUVs2>
<_numPointLights>
<_numDirectionalLights>
<_numLightProbes>
<_enableLightFallOff expr="true">
true
<_forceSeparateMVP>* Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and
* compatibility for constrained mode.* Indicates whether the screen projection should be calculated by forcing a separate scene matrix and
* view-projection matrix. This is used to prevent rounding errors when using multiple passes with different
* projection code.* The amount of point lights that need to be supported.* The amount of directional lights that need to be supported.* The amount of light probes that need to be supported.* @inheritDoc* Resets the compilation state.
*
* @param profile The compatibility profile used by the renderer.* Updates the amount of used register indices.* Initializes the unchanging constant data for this material.* Initializes the compiler for this pass.
* @param profile The compatibility profile used by the renderer.* Factory method to create a concrete compiler object for this pass.
* @param profile The compatibility profile used by the renderer.* Copies the shader's properties from the compiler.* Updates the indices for various registers.* Indicates whether the output alpha value should remain unchanged compared to the material's original alpha.* Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.* Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix.* @inheritDoc* @inheritDoc* The normal map to modulate the direction of the surface for each texel. The default normal method expects
* tangent-space normal maps, but others could expect object-space maps.* The method used to generate the per-pixel normals. Defaults to BasicNormalMethod.* The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod.* The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null.* The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod.* The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod.* Initializes the pass.* @inheritDoc{ updateMaterial : true }* @inheritDoc* Adds any possible passes needed by the used methods.* Adds internal passes to the material.
*
* @param passes The passes to add.* Initializes the default UV transformation matrix.* Initializes the default UV transformation matrix.* Initializes commonly required constant values.* Cleans up the after compiling.* Updates method constants if they have changed.* Updates constant data render state used by the lights. This method is optional for subclasses to implement.* Updates constant data render state used by the light probes. This method is optional for subclasses to implement.* Called when any method's shader code is invalidated.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Indicates whether the shader uses any light probes.* Indicates whether the shader uses any lights.* @inheritDoc* Define which light source types to use for specular reflections. This allows choosing between regular lights
* and/or light probes for specular reflections.
*
* @see away3d.materials.LightSources* Define which light source types to use for diffuse reflections. This allows choosing between regular lights
* and/or light probes for diffuse reflections.
*
* @see away3d.materials.LightSources* Creates a new CompiledPass object.
* @param material The material to which this pass belongs.* CompiledPass forms an abstract base class for the default compiled pass materials provided by Away3D,
* using material methods to define their appearance.
<_data>
<_alphaThreshold expr="0">
0
<_alphaMask>* The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
* invisible or entirely opaque, often used with textures for foliage, etc.
* Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).* A texture providing alpha data to be able to prevent semi-transparent pixels to write to the alpha mask.
* Usually the diffuse texture when alphaThreshold is used.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new DepthMapPass object.* DepthMapPass is a pass that writes depth values to a depth map as a 32-bit value exploded over the 4 texture channels.
* This is used to render shadow maps, depth maps, etc.
<_fragmentData>
<_vertexData>
<_alphaThreshold>
<_alphaMask>* The minimum alpha value for which pixels should be drawn. This is used for transparency that is either
* invisible or entirely opaque, often used with textures for foliage, etc.
* Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled).* A texture providing alpha data to be able to prevent semi-transparent pixels to write to the alpha mask.
* Usually the diffuse texture when alphaThreshold is used.away3d* @inheritDocaway3d* @inheritDocaway3d* @inheritDocaway3d* @inheritDoc* Creates a new DistanceMapPass object.* DistanceMapPass is a pass that writes distance values to a depth map as a 32-bit value exploded over the 4 texture channels.
* This is used to render omnidirectional shadow maps.
<_includeCasters expr="true">
true
<_tangentSpace>
<_lightVertexConstantIndex>
<_inverseSceneMatrix expr="new Vector<Float>()">
()]]>
<_directionalLightsOffset>
<_pointLightsOffset>
<_lightProbesOffset>
<_maxLights expr="3">
3* Indicates the offset in the light picker's directional light vector for which to start including lights.
* This needs to be set before the light picker is assigned.* Indicates the offset in the light picker's point light vector for which to start including lights.
* This needs to be set before the light picker is assigned.* Indicates the offset in the light picker's light probes vector for which to start including lights.
* This needs to be set before the light picker is assigned.* @inheritDoc* Indicates whether or not shadow casting lights need to be included.* @inheritDoc* Calculates the amount of directional lights this material will support.
* @param numDirectionalLights The maximum amount of directional lights to support.
* @return The amount of directional lights this material will support, bounded by the amount necessary.* Calculates the amount of point lights this material will support.
* @param numDirectionalLights The maximum amount of point lights to support.
* @return The amount of point lights this material will support, bounded by the amount necessary.* Calculates the amount of light probes this material will support.
* @param numDirectionalLights The maximum amount of light probes to support.
* @return The amount of light probes this material will support, bounded by the amount necessary.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Indicates whether any light probes are used to contribute to the specular shading.* Indicates whether any light probes are used to contribute to the diffuse shading.* @inheritDoc* @inheritDoc* Creates a new LightingPass objects.
*
* @param material The material to which this pass belongs.* LightingPass is a shader pass that uses shader methods to compile a complete program. It only includes the lighting
* methods. It's used by multipass materials to accumulate lighting passes.
*
* @see away3d.materials.MultiPassMaterialBase([1, 1, 1, 1])]]>([0, 0, 1, 1])]]>
<_constants expr="new Vector<Float>(4, true)">
(4, true)]]>
<_calcMatrix>
<_thickness>* @inheritDoc* @inheritDoc* @inheritDoc
* todo: keep maps in dictionary per renderable* @inheritDoc* @inheritDoc* Creates a new OrthoSegmentPass object.
*
* @param thickness the thickness of the segments to be drawn.* OrthoSegmentPass is a material pass that draws wireframe segments.
<_outlineColor>
<_colorData>
<_offsetData>
<_showInnerLines>
<_outlineMeshes>
<_dedicatedMeshes>* Clears the dedicated mesh associated with a Mesh object to free up memory.* Disposes a single dedicated sub-mesh.* @inheritDoc* Indicates whether or not strokes should be potentially drawn over the existing model.
* Set this to true to draw outlines for geometry overlapping in the view, useful to achieve a cel-shaded drawing outline.
* Setting this to false will only cause the outline to appear around the 2D projection of the geometry.* The colour of the outline.* The size of the outline.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new mesh in which vertices with the same position are collapsed into a single vertex. This
* will prevent gaps appearing where vertex normals are different for a seemingly single vertex.
*
* @param source The ISubGeometry object for which to generate a dedicated mesh.{ dedicatedMeshes : false, showInnerLines : true, outlineSize : 20, outlineColor : 0x000000 }* Creates a new OutlinePass object.
* @param outlineColor The colour of the outline stroke
* @param outlineSize The size of the outline stroke
* @param showInnerLines Indicates whether or not strokes should be potentially drawn over the existing model.
* @param dedicatedWaterProofMesh Used to stitch holes appearing due to mismatching normals for overlapping vertices. Warning: this will create a new mesh that is incompatible with animations!* OutlinePass is a pass that offsets a mesh and draws it in a single colour. This is a pass provided by OutlineMethod.
*
* @see away3d.materials.methods.OutlineMethodVector.ofArray([1.0, 1.0, 1.0, 1.0])Vector.ofArray([0.0, 0.0, -1.0, 0.0])
<_constants expr="new Vector<Float>(4, true)">
(4, true)]]>
<_calcMatrix>
<_thickness>away3d* @inheritDocaway3d* @inheritDocaway3d* @inheritDoc
* todo: keep maps in dictionary per renderableaway3d* @inheritDocaway3d* @inheritDoc* Creates a new SegmentPass object.
*
* @param thickness the thickness of the segments to be drawn.* SegmentPass is a material pass that draws wireframe segments.
<_tangentSpace>
<_lightVertexConstantIndex>
<_inverseSceneMatrix expr="new Vector<Float>()">
()]]>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new ShadowCasterPass objects.
*
* @param material The material to which this pass belongs.* ShadowCasterPass is a shader pass that uses shader methods to compile a complete program. It only draws the lighting
* contribution for a single shadow-casting light.
*
* @see away3d.materials.methods.ShadingMethodBase
<_textures>
<_projections>
<_textureSize>
<_polyOffset>
<_enc>
<_projectionTexturesInvalid expr="true">
true* @inheritDoc* Updates the projection textures used to contain the depth renders.* @inheritDoc* @inheritDocaway3d* Gets the depth maps rendered for this object from all lights.
* @param renderable The renderable for which to retrieve the depth maps.
* @param stage3DProxy The Stage3DProxy object currently used for rendering.
* @return A list of depth map textures for all supported lights.away3d* Retrieves the depth map projection maps for all lights.
* @param renderable The renderable for which to retrieve the projection maps.
* @return A list of projection maps for all supported lights.* @inheritDoc* @inheritDoc{ polyOffset : 15, textureSize : 512 }* Creates a new SingleObjectDepthPass object.
* @param textureSize The size of the depth map texture to render to.
* @param polyOffset The amount by which the rendered object will be inflated, to prevent depth map rounding errors.
*
* todo: provide custom vertex code to assembler* The SingleObjectDepthPass provides a material pass that renders a single object to a depth map from the point
* of view from a light.
<_cubeTexture>
<_vertexData>* The cube texture to use as the skybox.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Creates a new SkyBoxPass object.* SkyBoxPass provides a material pass exclusively used to render sky boxes from a cube texture.
<_includeCasters expr="true">
true
<_ignoreLights>* @inheritDoc* Indicates whether lights that cast shadows should be included in the pass.* The ColorTransform object to transform the colour of the material with. Defaults to null.* The ColorTransformMethod object to transform the colour of the material with. Defaults to null.* Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting
* but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the
* methods added prior.* The number of "effect" methods added to the material.* Queries whether a given effect method was added to the material.
*
* @param method The method to be queried.
* @return true if the method was added to the material, false otherwise.* Returns the method added at the given index.
* @param index The index of the method to retrieve.
* @return The method at the given index.* Adds an effect method at the specified index amongst the methods already added to the material. Effect
* methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines,
* etc. The method will be applied to the result of the methods with a lower index.* Removes an effect method from the material.
* @param method The method to be removed.* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* Indicates whether any light probes are used to contribute to the specular shading.* Indicates whether any light probes are used to contribute to the diffuse shading.* @inheritDoc* @inheritDoc* @inheritDocaway3d* Indicates whether lights should be ignored in this pass. This is used when only effect methods are rendered in
* a multipass material.* Creates a new SuperShaderPass objects.
*
* @param material The material to which this material belongs.* SuperShaderPass is a shader pass that uses shader methods to compile a complete program. It includes all methods
* associated with a material.
*
* @see away3d.materials.methods.ShadingMethodBase
<_defaultTextureBitmapData static="1">
<_defaultMaterial static="1">
<_defaultTexture static="1">{ renderable : null }{ renderable : null }* The source, url, to the video file* Indicates whether the player should loop when video finishes* Master volume/gain* Panning* Mutes/unmutes the video's audio.* Provides access to the SoundTransform of the video stream* Get/Set access to the with of the video object* Get/Set access to the height of the video object* Provides access to the Video Object* Indicates whether the video is playing* Indicates whether the video is paused* Start playing (or resume if paused) the video.* Temporarily pause playback. Resume using play().* Seeks to a given time in the video, specified in seconds, with a precision of three decimal places (milliseconds).* Stop playback and reset playhead.* Called if the player is no longer needed
<_matrix expr="new Matrix()" line="15" static="1">
new Matrix()
<_rect expr="new Rectangle()" line="16" static="1">
new Rectangle(){ side : -1, alpha : false, mipmap : null }* Uploads a BitmapData with mip maps to a target Texture object.
* @param source The source BitmapData to upload.
* @param target The target Texture to upload to.
* @param mipmap An optional mip map holder to avoids creating new instances for fe animated materials.
* @param alpha Indicate whether or not the uploaded bitmapData is transparent.* MipmapGenerator is a helper class that uploads BitmapData to a Texture including mipmap levels.
<_left>
<_right>
<_bottom>
<_top>
<_front>
<_back>* Defines the material applied to the left side of the cube.* Defines the material applied to the right side of the cube.* Defines the material applied to the bottom side of the cube.* Defines the material applied to the top side of the cube.* Defines the material applied to the front side of the cube.* Defines the material applied to the back side of the cube.{ top : null, right : null, left : null, back : null, front : null }MultipleMaterials object.
* Class can hold up to 6 materials. Class is designed to work as typed object for materials setters in a multitude of classes such as Cube, LatheExtrude (with thickness) etc...
*
* @param front:MaterialBase [optional] The front material.
* @param back:MaterialBase [optional] The back material.
* @param left:MaterialBase [optional] The left material.
* @param right:MaterialBase [optional] The right material.
* @param top:MaterialBase [optional] The top material.
* @param down:MaterialBase [optional] The down material.]]>
<_src>
<_video>
<_ns>
<_nc>
<_nsClient>
<_soundTransform>
<_loop>
<_playing>
<_paused>
<_lastVolume>
<_container>{ oData : null }{ lineThickness : 2, lineColor : 0xffffff }* Create a wireframe map with a texture fill.
* @param mesh The Mesh object for which to create the wireframe texture.
* @param bitmapData The BitmapData to use as the fill texture.
* @param lineColor The wireframe's line colour.
* @param lineThickness The wireframe's line thickness.{ height : 512, width : 512, fillAlpha : 0, fillColor : 0, lineThickness : 2, lineColor : 0xffffff }* Create a wireframe map with a solid colour fill.
* @param mesh The Mesh object for which to create the wireframe texture.
* @param lineColor The wireframe's line colour.
* @param lineThickness The wireframe's line thickness.
* @param fillColor The colour of the wireframe fill.
* @param fillAlpha The alpha of the wireframe fill.
* @param width The texture's width.
* @param height The texture's height.
* @return A BitmapData containing the texture underneath the wireframe.* Draws the actual lines.* WireframeMapGenerator is a utility class to generate a wireframe texture for uniquely mapped meshes.CubicPathSegment instances in the path.]]>IPathSegment instances which make up this path.]]>CubicPathSegment at the specified index
* @param index The index of the segment
* @return A CubicPathSegment instance]]>CubicPathSegment to the end of the path
* @param segment]]>{ join : false }CubicPathSegment to be removed
* @param join Determines if the segments on either side of the removed segment should be adjusted so there is no gap.]]>* Disposes the path and all the segments* Discretizes the segment into a set of sample points.
*
* @param numSegments The amount of segments to split the sampling in. The amount of points returned is numSegments + 1{ target : null }* Gets a point on the curve
* @param t The phase for which to get the point. A number between 0 and 1.
* @param target An optional parameter to store the calculation, to avoid creating a new Vector3D object
* @return The point on the curve for the given phase
<_pointsPerSegment>
<_segments>* The number of segments in the Path* returns a given PathSegment from the path (PathSegment holds 3 Vector3D's)
*
* @param indice uint. the indice of a given PathSegment
* @return given PathSegment from the path{ join : false }* removes a segment in the path according to id.
*
* @param index int. The index in path of the to be removed curvesegment
* @param join Boolean. If true previous and next segments coordinates are reconnected* Stitches two segments together based on a segment between them. This is an abstract method used by the template method removeSegment and must be overridden by concrete subclasses!
* @param start The section of which the end points must be connected with "end"
* @param middle The section that was removed and forms the position hint
* @param end The section of which the start points must be connected with "start"{ target : null }{ data : null }{ data : null }pointData]]>CubicPathSegment which being quadratic, has one control point.
* @see away3d.animators.CubicPathAnimator
* @see away3d.paths.CubicPathSegment]]>* Destroys the segment{ target : null }* Calculates the position of the curve on this segment.
*
* @param phase The ratio between the start and end point.
* @param target An optional target to store the calculation, to prevent creating a new Vector3D object.
* @return* The first anchor point.* The first control point.* The second control point.* The last anchor point.{ target : null }*
* @param start The first anchor point.
* @param control1 The first control point.
* @param control2 The second control point.
* @param end The last anchor point.* Defines a single segment of a cubic path
* @see away3d.paths.CubicPath* returns true if the smoothPath handler is being used.* returns true if the averagePath handler is being used.
<_averaged>
<_smoothed>* handler will smooth the path using anchors as control vector of the PathSegments
* note that this is not dynamic, the PathSegments values are overwrited* handler will average the path using averages of the PathSegments
* note that this is not dynamic, the path values are overwrited{ closed : false }{ data : null }Path object.
*
* @param aVectors [optional] An array of a series of Vector3D's organized in the following fashion. [a,b,c,a,b,c etc...] a = pEnd, b=pControl (control point), c = v2]]>* Holds information about a single Path definition.
* DEBUG OPTION OUT AT THIS TIME OF DEV* Defines the first vector of the PathSegment* Defines the control vector of the PathSegment* Defines the control vector of the PathSegment* nulls the 3 vectors{ target : null }* Creates a curved line segment definition required for the Path class.
<_geomDirty expr="true">
true
<_uvDirty expr="true">
true
<_subGeometry>* @inheritDoc* @inheritDoc* @inheritDoc{ scaleV : 1, scaleU : 1 }* @inheritDoc* @inheritDoc* Builds the primitive's geometry when invalid. This method should not be called directly. The calling should
* be triggered by the invalidateGeometry method (and in turn by updateGeometry).* Builds the primitive's uv coordinates when invalid. This method should not be called directly. The calling
* should be triggered by the invalidateUVs method (and in turn by updateUVs).* Invalidates the primitive's geometry, causing it to be updated when requested.* Invalidates the primitive's uv coordinates, causing them to be updated when requested.* Updates the geometry when invalid.* Updates the uv coordinates when invalid.* Creates a new PrimitiveBase object.
* @param material The material with which to render the object* PrimitiveBase is an abstract base class for mesh primitives, which are prebuilt simple meshes.
<_radius>
<_height>
<_segmentsW>
<_segmentsH>
<_yUp>* @inheritDoc* @inheritDoc* The radius of the capsule.* The height of the capsule.* Defines the number of horizontal segments that make up the capsule. Defaults to 16.* Defines the number of vertical segments that make up the capsule. Defaults to 15. Must be uneven.* Defines whether the capsule poles should lay on the Y-axis (true) or on the Z-axis (false).{ yUp : true, segmentsH : 15, segmentsW : 16, height : 100, radius : 50 }* Creates a new Capsule object.
* @param radius The radius of the capsule.
* @param height The height of the capsule.
* @param segmentsW Defines the number of horizontal segments that make up the capsule. Defaults to 16.
* @param segmentsH Defines the number of vertical segments that make up the capsule. Defaults to 15. Must be uneven value.
* @param yUp Defines whether the capsule poles should lay on the Y-axis (true) or on the Z-axis (false).* A Capsule primitive mesh.
<_topRadius>
<_bottomRadius>
<_height>
<_segmentsW>
<_segmentsH>
<_topClosed>
<_bottomClosed>
<_surfaceClosed>
<_yUp>
<_rawData>
<_rawIndices>
<_nextVertexIndex>
<_currentIndex>
<_currentTriangleIndex>
<_numVertices>
<_stride>
<_vertexOffset>* @inheritDoc* @inheritDoc* The radius of the top end of the cylinder.* The radius of the bottom end of the cylinder.* The radius of the top end of the cylinder.* Defines the number of horizontal segments that make up the cylinder. Defaults to 16.* Defines the number of vertical segments that make up the cylinder. Defaults to 1.* Defines whether the top end of the cylinder is closed (true) or open.* Defines whether the bottom end of the cylinder is closed (true) or open.* Defines whether the cylinder poles should lay on the Y-axis (true) or on the Z-axis (false).{ yUp : true, surfaceClosed : true, bottomClosed : true, topClosed : true, segmentsH : 1, segmentsW : 16, height : 100, bottomRadius : 50, topRadius : 50 }* Creates a new Cylinder object.
* @param topRadius The radius of the top end of the cylinder.
* @param bottomRadius The radius of the bottom end of the cylinder
* @param height The radius of the bottom end of the cylinder
* @param segmentsW Defines the number of horizontal segments that make up the cylinder. Defaults to 16.
* @param segmentsH Defines the number of vertical segments that make up the cylinder. Defaults to 1.
* @param topClosed Defines whether the top end of the cylinder is closed (true) or open.
* @param bottomClosed Defines whether the bottom end of the cylinder is closed (true) or open.
* @param yUp Defines whether the cone poles should lay on the Y-axis (true) or on the Z-axis (false).* A Cylinder primitive mesh.* The radius of the bottom end of the cone.{ yUp : true, closed : true, segmentsH : 1, segmentsW : 16, height : 100, radius : 50 }* Creates a new Cone object.
* @param radius The radius of the bottom end of the cone
* @param height The height of the cone
* @param segmentsW Defines the number of horizontal segments that make up the cone. Defaults to 16.
* @param segmentsH Defines the number of vertical segments that make up the cone. Defaults to 1.
* @param yUp Defines whether the cone poles should lay on the Y-axis (true) or on the Z-axis (false).* A UV Cone primitive mesh.
<_width>
<_height>
<_depth>
<_tile6>
<_segmentsW>
<_segmentsH>
<_segmentsD>* The size of the cube along its X-axis.* The size of the cube along its Y-axis.* The size of the cube along its Z-axis.* The type of uv mapping to use. When false, the entire image is mapped on each face.
* When true, a texture will be subdivided in a 3x2 grid, each used for a single face.
* Reading the tiles from left to right, top to bottom they represent the faces of the
* cube in the following order: bottom, top, back, left, front, right. This creates
* several shared edges (between the top, front, left and right faces) which simplifies
* texture painting.* The number of segments that make up the cube along the X-axis. Defaults to 1.* The number of segments that make up the cube along the Y-axis. Defaults to 1.* The number of segments that make up the cube along the Z-axis. Defaults to 1.* @inheritDoc* @inheritDoc{ tile6 : true, segmentsD : 1, segmentsH : 1, segmentsW : 1, depth : 100, height : 100, width : 100 }* Creates a new Cube object.
* @param width The size of the cube along its X-axis.
* @param height The size of the cube along its Y-axis.
* @param depth The size of the cube along its Z-axis.
* @param segmentsW The number of segments that make up the cube along the X-axis.
* @param segmentsH The number of segments that make up the cube along the Y-axis.
* @param segmentsD The number of segments that make up the cube along the Z-axis.
* @param tile6 The type of uv mapping to use. When true, a texture will be subdivided in a 2x3 grid, each used for a single face. When false, the entire image is mapped on each face.* A Cube primitive mesh.
<_segmentsBase public="1">
<_thickness public="1">
<_start public="1">
<_end public="1">
<_startR public="1">
<_startG public="1">
<_startB public="1">
<_endR public="1">
<_endG public="1">
<_endB public="1">
<_index public="1" expr="-1">
-1
<_subSetIndex public="1" expr="-1">
-1
<_startColor public="1">
<_endColor public="1">{ thickness : 1, colorEnd : 0x333333, colorStart : 0x333333 }* Defines the starting vertex.* Defines the ending vertex.* Defines the ending vertex.* Defines the startColor* Defines the endColor{ thickness : 1, colorEnd : 0x333333, colorStart : 0x333333 }"line"{ thickness : 1, color1 : 0x333333, color0 : 0x333333 }* Create a line segment
* @param v0 Start position of the line segment
* @param v1 Ending position of the line segment
* @param color0 Starting color of the line segment
* @param color1 Ending colour of the line segment
* @param thickness Thickness of the line* A Line Segment primitive.
<_controlNet>
<_uOrder>
<_vOrder>
<_numVContolPoints>
<_numUContolPoints>
<_uSegments>
<_vSegments>
<_uKnotSequence>
<_vKnotSequence>
<_mbasis expr="new Vector<Float>()">
()]]>
<_nbasis expr="new Vector<Float>()">
()]]>
<_nplusc>
<_mplusc>
<_uRange>
<_vRange>
<_autoGenKnotSeq expr="true">
true
<_invert>
<_tmpPM expr="new Vector3D()">
new Vector3D()
<_tmpP1 expr="new Vector3D()">
new Vector3D()
<_tmpP2 expr="new Vector3D()">
new Vector3D()
<_tmpN1 expr="new Vector3D()">
new Vector3D()
<_tmpN2 expr="new Vector3D()">
new Vector3D()
<_rebuildUVs>* Defines the control point net to describe the NURBS surface* Defines the number of control points along the U splines that influence any given point on the curve* Defines the number of control points along the V splines that influence any given point on the curve* Defines the number of control points along the U splines* Defines the number of control points along the V splines* Defines the knot sequence in the U direction that determines where and how the control points
* affect the NURBS curve.* Defines the knot sequence in the V direction that determines where and how the control points
* affect the NURBS curve.* Defines the number segments (triangle pair) the final curve will be divided into in the U direction* Defines the number segments (triangle pair) the final curve will be divided into in the V direction{ target : null }away3d@private{ vTol : 0.01, uTol : 0.01, scale : 1, vecOffset : 0 }* Return a 3d point representing the surface point at the required U(0-1) and V(0-1) across the
* NURBS curved surface.
*
* @param uS U position on the surface
* @param vS V position on the surface
* @param vecOffset Offset the point on the surface by this vector
* @param scale Scale of the surface point - should match the Mesh scaling
* @param uTol U tolerance for adjacent surface sample to calculate normal
* @param vTol V tolerance for adjacent surface sample to calculate normal
* @return The offset surface point being returned
*away3d@privateaway3d@privateaway3d@private* Rebuild the mesh as there is significant change to the structural parameters
** Rebuild the UV coordinates as there is significant change to the structural parameters
** Refresh the mesh without reconstructing all the supporting data. This should be used only
* when the control point positions change.
*{ vKnot : null, uKnot : null, vSegments : 10, uSegments : 10, vOrder : 4, uOrder : 4 }* NURBS primitive generates a segmented mesh that fits the curved surface defined by the specified
* control points based on weighting, order influence and knot sequence
*
* @param cNet Array of control points (WeightedVertex array)
* @param uCtrlPnts Number of control points in the U direction
* @param vCtrlPnts Number of control points in the V direction
* @param init Init object for the mesh
** A NURBS primitive geometry.
<_segmentsW>
<_segmentsH>
<_yUp>
<_width>
<_height>
<_doubleSided>* The number of segments that make up the plane along the X-axis. Defaults to 1.* The number of segments that make up the plane along the Y or Z-axis, depending on whether yUp is true or
* false, respectively. Defaults to 1.* Defines whether the normal vector of the plane should point along the Y-axis (true) or Z-axis (false). Defaults to true.* Defines whether the plane will be visible from both sides, with correct vertex normals (as opposed to bothSides on Material). Defaults to false.* The width of the plane.* The height of the plane.* @inheritDoc* @inheritDoc{ doubleSided : false, yUp : true, segmentsH : 1, segmentsW : 1, height : 100, width : 100 }* Creates a new Plane object.
* @param width The width of the plane.
* @param height The height of the plane.
* @param segmentsW The number of segments that make up the plane along the X-axis.
* @param segmentsH The number of segments that make up the plane along the Y or Z-axis.
* @param yUp Defines whether the normal vector of the plane should point along the Y-axis (true) or Z-axis (false).
* @param doubleSided Defines whether the plane will be visible from both sides, with correct vertex normals.* A Plane primitive mesh.* The radius of the regular polygon.* The number of sides of the regular polygon.* The number of subdivisions from the edge to the center of the regular polygon.{ yUp : true, sides : 16, radius : 100 }* Creates a new RegularPolygon disc object.
* @param radius The radius of the regular polygon
* @param sides Defines the number of sides of the regular polygon.
* @param yUp Defines whether the regular polygon should lay on the Y-axis (true) or on the Z-axis (false).* A UV RegularPolygon primitive mesh.
<_geometry>
<_material>
<_uvTransform expr="new Matrix()">
new Matrix()
<_uvTransform2 expr="new Matrix()">
new Matrix()
<_animator>* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* The amount of triangles that comprise the SkyBox geometry.* The entity that that initially provided the IRenderable to the render pipeline.* The material with which to render the object.* @inheritDoc* @inheritDoc* @inheritDoc* Builds the geometry that forms the SkyBox* Create a new SkyBox object.
* @param cubeMap The CubeMap to use for the sky box's texture.* A SkyBox class is used to render a sky in the scene. It's always considered static and 'at infinity', and as
* such it's always centered at the camera's position and sized to exactly fit within the camera's frustum, ensuring
* the sky box is always as large as possible without being clipped.
<_radius>
<_segmentsW>
<_segmentsH>
<_yUp>* @inheritDoc* @inheritDoc* The radius of the sphere.* Defines the number of horizontal segments that make up the sphere. Defaults to 16.* Defines the number of vertical segments that make up the sphere. Defaults to 12.* Defines whether the sphere poles should lay on the Y-axis (true) or on the Z-axis (false).{ yUp : true, segmentsH : 12, segmentsW : 16, radius : 50 }* Creates a new Sphere object.
* @param radius The radius of the sphere.
* @param segmentsW Defines the number of horizontal segments that make up the sphere.
* @param segmentsH Defines the number of vertical segments that make up the sphere.
* @param yUp Defines whether the sphere poles should lay on the Y-axis (true) or on the Z-axis (false).* A UV Sphere primitive mesh.
<_radius>
<_tubeRadius>
<_segmentsR>
<_segmentsT>
<_yUp>
<_rawVertexData>
<_rawIndices>
<_nextVertexIndex>
<_currentIndex>
<_currentTriangleIndex>
<_numVertices>
<_vertexStride>
<_vertexOffset>* @inheritDoc* @inheritDoc* The radius of the torus.* The radius of the inner tube of the torus.* Defines the number of horizontal segments that make up the torus. Defaults to 16.* Defines the number of vertical segments that make up the torus. Defaults to 8.* Defines whether the torus poles should lay on the Y-axis (true) or on the Z-axis (false).{ yUp : true, segmentsT : 8, segmentsR : 16, tubeRadius : 50, radius : 50 }Torus object.
* @param radius The radius of the torus.
* @param tuebRadius The radius of the inner tube of the torus.
* @param segmentsR Defines the number of horizontal segments that make up the torus.
* @param segmentsT Defines the number of vertical segments that make up the torus.
* @param yUp Defines whether the torus poles should lay on the Y-axis (true) or on the Z-axis (false).]]>* A UV Cylinder primitive mesh.
<_geomDirty expr="true">
true
<_color>
<_thickness>{ thickness : 1, color : 0xffffff }
<_width>
<_height>
<_depth>* The size of the cube along its X-axis.* The size of the cube along its Y-axis.* The size of the cube along its Z-axis.* @inheritDoc{ thickness : 1, color : 0xFFFFFF, depth : 100, height : 100, width : 100 }* Creates a new WireframeCube object.
* @param width The size of the cube along its X-axis.
* @param height The size of the cube along its Y-axis.
* @param depth The size of the cube along its Z-axis.
* @param color The colour of the wireframe lines
* @param thickness The thickness of the wireframe lines* A WirefameCube primitive mesh.2 * Math.PI
<_topRadius>
<_bottomRadius>
<_height>
<_segmentsW>
<_segmentsH>* Top radius of the cylinder* Bottom radius of the cylinder* The height of the cylinder{ thickness : 1, color : 0xFFFFFF, segmentsH : 1, segmentsW : 16, height : 100, bottomRadius : 50, topRadius : 50 }* Creates a new WireframeCylinder instance
* @param topRadius Top radius of the cylinder
* @param bottomRadius Bottom radius of the cylinder
* @param height The height of the cylinder
* @param segmentsW Number of radial segments
* @param segmentsH Number of vertical segments
* @param color The color of the wireframe lines
* @param thickness The thickness of the wireframe lines* Generates a wireframd cylinder primitive."yz""xy""xz"
<_width>
<_height>
<_segmentsW>
<_segmentsH>
<_orientation>* The orientaion in which the plane lies.* The size of the cube along its X-axis.* The size of the cube along its Y-axis.* The number of segments that make up the plane along the X-axis.* The number of segments that make up the plane along the Y-axis.* @inheritDoc{ orientation : "yz", thickness : 1, color : 0xFFFFFF, segmentsH : 10, segmentsW : 10 }* Creates a new WireframePlane object.
* @param width The size of the cube along its X-axis.
* @param height The size of the cube along its Y-axis.
* @param segmentsW The number of segments that make up the cube along the X-axis.
* @param segmentsH The number of segments that make up the cube along the Y-axis.
* @param color The colour of the wireframe lines
* @param thickness The thickness of the wireframe lines
* @param orientation The orientaion in which the plane lies.* A WireframePlane primitive mesh."yz""xy""xz"
<_radius>
<_sides>
<_orientation>* The orientaion in which the polygon lies.* The radius of the regular polygon.* The number of sides to the regular polygon.* @inheritDoc{ orientation : "yz", thickness : 1, color : 0xFFFFFF }* Creates a new WireframeRegularPolygon object.
* @param radius The radius of the polygon.
* @param sides The number of sides on the polygon.
* @param color The colour of the wireframe lines
* @param thickness The thickness of the wireframe lines
* @param orientation The orientaion in which the plane lies.* A WireframeRegularPolygon primitive mesh.
<_segmentsW>
<_segmentsH>
<_radius>* @inheritDoc{ thickness : 1, color : 0xFFFFFF, segmentsH : 12, segmentsW : 16, radius : 50 }* Creates a new WireframeSphere object.
* @param radius The radius of the sphere.
* @param segmentsW Defines the number of horizontal segments that make up the sphere.
* @param segmentsH Defines the number of vertical segments that make up the sphere.
* @param color The colour of the wireframe lines
* @param thickness The thickness of the wireframe lines* A WireframeSphere primitive mesh"yz""xy""xz"
<_width>
<_height>
<_orientation>* The orientation in which the plane lies* The size of the tetrahedron bottom.* The size of the tetrahedron height.* @inheritDoc{ orientation : "yz", thickness : 1, color : 0xffffff }* Creates a new WireframeTetrahedron object.
* @param width The size of the tetrahedron buttom size.
* @param height The size of the tetranhedron height.
* @param color The color of the wireframe lines.
* @param thickness The thickness of the wireframe lines.* A WireframeTetrahedron primitive mesh
<_w>{ w : 1, z : 0, y : 0, x : 0 }Vertex object.
*
* @param x [optional] The local x position of the vertex. Defaults to 0.
* @param y [optional] The local y position of the vertex. Defaults to 0.
* @param z [optional] The local z position of the vertex. Defaults to 0.
* @param w [optional] The local w weight of the vertex. Defaults to 1.]]>* A nurbvertex that simply extends vertex with a w weight property.
* Properties x, y, z and w represent a 3d point in space with nurb weighting.
<_leftCam>
<_rightCam>
<_offset>
<_focus>
<_focusPoint>
<_focusInfinity>
<_leftCamDirty expr="true">
true
<_rightCamDirty expr="true">
true
<_focusPointDirty expr="true">
true{ lens : null }
<_leftTexture>
<_rightTexture>
<_rttManager>
<_program3D>
<_method>
<_program3DInvalid expr="true">
true
<_leftTextureInvalid expr="true">
true
<_rightTextureInvalid expr="true">
true{ renderMethod : null }
<_stereoCam>
<_stereoRenderer>
<_stereoEnabled>{ stereoRenderMethod : null, renderer : null, camera : null, scene : null }openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()
<_textureSizeInvalid expr="true">
true
<_filterData>
<_shaderData>
<_sbsData>Adds kerning information relative to a specific other character ID.Retrieve kerning information relative to the given character ID.The unicode ID of the char.The number of points to move the char in x direction on character arrangement.The number of points to move the char in y direction on character arrangement.The number of points the cursor has to be moved to the right for the next char.The width of the character in points.The height of the character in points.Creates a char with a texture and its properties.You don't have to use this class directly in most cases.
* The TextField class contains methods that handle bitmap fonts for you.]]>-1fontSize property of the TextField class to
* render the bitmap font in exactly the size it was created.]]>"mini"The font name of the embedded minimal bitmap font. Use this e.g. for debug output.3291013>()]]>Helper objects.Disposes the texture of the bitmap font!Returns a single bitmap char with a certain character ID.Adds a bitmap char with a certain character ID.{ result : null }Returns a vector containing all the character IDs that are contained in this font.Checks whether a provided string can be displayed with the font.{ letterSpacing : 0, kerning : true, autoScale : true, vAlign : "center", hAlign : "center", fontSize : -1 }Draws text into a Geometry.{ letterSpacing : 0, kerning : true, autoScale : true, vAlign : "center", hAlign : "center", fontSize : -1 }Arranges the characters of a text inside a rectangle, adhering to the given settings.
* Returns a Vector of CharLocations.The name of the font as it was parsed from the font file.The native size of the font.The height of one line in points.The baseline of the font. This property does not affect text rendering;
* it's just an information that may be useful for exact text placement.An offset that moves any generated text along the x-axis (in points).
* Useful to make up for incorrect font data. @default 0.An offset that moves any generated text along the y-axis (in points).
* Useful to make up for incorrect font data. @default 0.The underlying texture that contains all the chars.{ fontXml : null, texture : null }Creates a bitmap font by parsing an Xml file and uses the specified texture.
* If you don't pass any data, the "mini" font will be created.AngelCode Bitmap Font Generator or
* the Glyph Designer.
* This is what the file format looks like:
*
*
*
* Pass an instance of this class to the method registerBitmapFont of the
* TextField class. Then, set the fontName property of the text field to the
* name value of the bitmap font. This will make the text field use the bitmap
* font.]]>()]]>()]]>()]]>()]]>* ...
* @author P.J.Shandhere.
*
* @param str String to clean
* @return The input string, but with a master string only one character larger than it.
* @author Jackson Dunstan, JacksonDunstan.com]]>"left"Left alignment.
"center"Centered alignement.
"right"Right alignment.Indicates whether the given alignment string is valid.away3d@privateA class that provides constant values for horizontal alignment of objects."haxe.ds.StringMap.*"See `Map.set`See `Map.get`See `Map.exists`See `Map.remove`See `Map.keys`
(cs, java) Implementation detail: Do not `set()` any new value while
iterating, as it may cause a resize, which will break iteration.See `Map.iterator`
(cs, java) Implementation detail: Do not `set()` any new value while
iterating, as it may cause a resize, which will break iteration.See `Map.keyValueIterator`See `Map.copy`See `Map.toString`See `Map.clear`Creates a new StringMap.StringMap allows mapping of String keys to arbitrary values.
See `Map` for documentation details.
@see https://haxe.org/manual/std-Map.html\r\n inline void set(String key, const ::cpp::Struct &value) {__string_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(String key, const ::cpp::Function &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(String key, const ::cpp::Pointer &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }\r\n\r\n inline bool get_bool(String key) { return __string_hash_get_bool(h,key); }\r\n inline int get_int(String key) { return __string_hash_get_int(h,key); }\r\n inline Float get_float(String key) { return __string_hash_get_float(h,key); }\r\n inline String get_string(String key) { return __string_hash_get_string(h,key); }\r\n"]]>");
h.set("amp", "&");
h.set("quot", "\"");
h.set("apos", "'");
h;
}]]>{ strict : false }Parses the String into an XML Document. Set strict parsing to true in order to enable a strict check of XML attributes and entities.
@throws haxe.xml.XmlParserException{ p : 0 }the XML parsing error messagethe line number at which the XML parsing error occurredthe character position in the reported line at which the parsing error occurredthe character position in the XML string at which the parsing error occurredthe invalid XML string12864[0x78daed5d, 0xcb6edb40, 0xc0c8aa2, 0x871e8a1e, 0xfabffe34, 0xff842ffd, 0x1f0d03, 0xbee56027, 0x150a0182, 0xb04bce0c, 0xb9969290, 0x80a18492, 0x578ab924, 0x872fe7e5, 0xa5a8e83f, 0x7d3b1c0e, 0xcba3ca7f, 0xfb47eb6b, 0xd6b4bc06, 0x3ddf7b0f, 0x732dfb9e, 0xbdadd33b, 0xb7fcdd3a, 0x67c9fefe, 0x783ce6a3, 0xca5fdfcb, 0x3aa7c8b3, 0xb5c69fdb, 0xed96b55f, 0x3ee23aad, 0x6badf7b7, 0x6896d352, 0x5e0a7f0b, 0x42ffc6a2, 0xe7c9c1da, 0x93f3cf33, 0xadd788f2, 0xdf1aa4f0, 0x339f07b5, 0x650a9f79, 0x8f253bf4, 0xb991eb3d, 0x9bf4f37c, 0x3ecfaf11, 0x7cc64e58, 0xfc11cf93, 0x2167cf97, 0x32f2b79e, 0x9b951f2a, 0xff0cfd44, 0xf93dbb80, 0xf047eaad, 0x22ff0826, 0x40747ffd, 0x395a47c6, 0x2eb4d67d, 0xd6e7f799, 0xf47f94fc, 0x113ce9fd, 0x9d110c9f, 0xcddf93ff, 0xcfe46f25, 0x7f16bf79, 0xbca2a2a2, 0xfdc66f88, 0x2de8e9fa, 0x89f67d9, 0x2a261fc2, 0xaee7e52f, 0x33ee91bd, 0x1e9337f4, 0x30309b7b, 0x1cb91f99, 0xb888f191, 0xd67aadfc, 0x65f63d46, 0xad17c5bf, 0x685ec08b, 0x2394fc42, 0x514c6f2c, 0x1bc3c839, 0x12cf2ccf, 0xffbe5eaf, 0xf38bc197, 0xab654f2, 0x846cfc3a, 0xeaf9945c, 0x5a8f87e4, 0xc43cdfc6, 0xea73561e, 0xc58aad55, 0xdeb24e14, 0xe53de399, 0x23f267f4, 0x9f951b6b, 0xbf27fe8f, 0xd3e934bf, 0xb6927fcb, 0xb6a9bcbd, 0xcb5fa993, 0x295823e2, 0xff23759d, 0x2d795e4d, 0x6b6b9fa5, 0xe0ffa28a, 0xfb99b802, 0x39dfaa23, 0x2136818d, 0x7d99b818, 0xd133a606, 0xcada0134, 0xfe433f73, 0x358f82c8, 0x3b12a37b, 0x7cab86a0, 0xc6c3bdd8, 0x25c3f77a, 0xfb7579cd, 0x84157b78, 0x31c31ea3, 0x7e3e438e, 0x5139a3b9, 0xe155b3c, 0x4bfe1e76, 0x56f27196, 0x2f8fea65, 0xc40fcc78, 0x7d642ddc, 0xeb396073, 0x9f887f89, 0x60cdde9e, 0x44f6536f, 0xbde91a24, 0x8660ecff, 0x47d17f34, 0x4e55634e, 0xc51e2238, 0xa85707f7, 0xe4dfb34f, 0x7b957f14, 0x6fa8bd19, 0x688f0eea, 0x5b19fbe9, 0x6138b40e, 0x86e6cc11, 0xfb8fac97, 0xd1fb17c5, 0xd90afe2f, 0x2a2ada5f, 0xcdc8eb93, 0x52e3b1ac, 0x9c328211, 0x3d3bcaac, 0xcbd43a94, 0xda48a427, 0x2da3af62, 0xe2fdba5c, 0x2edf8fc7, 0xe3f4427d, 0x2a8319d0, 0xfe06c48f, 0xcef1756b, 0xee07dd8f, 0x564e1f8d, 0x535a6b21, 0x7218d5ab, 0x8ef86455, 0xf7bd3dc0, 0xe608d7c7, 0xbff7fb9d, 0xc90fb0fa, 0xbde6f762, 0x4e6f4d04, 0xa77af241, 0xeeedadaf, 0xf4b6aab1, 0x5f566d84, 0xd1713637, 0x3452ff23, 0xfa3c5aff, 0xd9789bcd, 0xa928fbdb, 0xc20c6cce, 0x92f5bdd9, 0xfe1fed31, 0x1fe1ff51, 0xac36a21e, 0x50f4b5b0, 0x3fbb7732, 0xe6abacbd, 0x9cb1c747, 0xcd8da03e, 0x1a5d9f8d, 0x3d143e62, 0xef51db1d, 0xc1c44c4f, 0x5a34079d, 0x918f547c, 0x73e65c5a, 0x2bd6b1f8, 0x197359ea, 0xfc5f54ff, 0x47c83f2b, 0xc68af441, 0x8ef87c18, 0xfb98153b, 0x66cc5d47, 0xe2906c3d, 0xcffaee96, 0xe83e63f5, 0xdc5ac7eb, 0xa918edff, 0xd9f59539, 0xc7a8bd60, 0xe31e569f, 0xd9dad668, 0xff5f98bf, 0x88c9ffab, 0xfacc600c, 0x264f9185, 0x93a3bd87, 0x8a3f89fa, 0x22269fc7, 0xe47a959c, 0x398395d0, 0x7c12b35f, 0xd4ef63b0, 0x7a8fd8d9, 0x744f8668, 0x7f29dbe7, 0xa5ec53f4, 0x1e91b911, 0x366f88e0, 0x64063778, 0xcfef7daf, 0xc91a6fa1, 0x98c43ad7, 0xda839ead, 0x633134da, 0x73d8dbff, 0x2cbe6567, 0x933f49f, 0x99475cea, 0x32d27b68, 0xf5692176, 0x7584fc55, 0xf928b9ec, 0x48de68b4, 0xff57f03f, 0xabb36adc, 0xa1f866a4, 0x4616ed79, 0x44fb552b, 0x1e286271, 0x9cda1f88, 0xda39e688, 0xd61691d9, 0x9c68ff65, 0x74263c7b, 0xd657994f, 0x4463bf56, 0xf4e0f47, 0x45f34b6c, 0x8cc89c5f, 0xfafcdeac, 0xb797d38c, 0xce84abba, 0xe3c9d0f3, 0x5756bc13, 0xa9f1a331, 0xbb5a6f60, 0xe21756fe, 0xc8cc504f, 0xfeca4c78, 0xcf0e45e4, 0xcfe015b4, 0x2e14ed1b, 0x607a6b94, 0x9931c6be, 0x7bb1c833, 0x67c2959e, 0x11346657, 0x6d8782d9, 0x23f98c68, 0xbdb1a8a8, 0x281ffb5b, 0xb81ab13d, 0xacad8ac4, 0xbe4bfe34, 0xabfabafa, 0x3f0419d8, 0x42a9ff79, 0xf9462f7f, 0xb965ed07, 0xc57b4abe, 0x8cb9ce8a, 0x2bd6ebcd, 0xb25fee81, 0x8cb8ea2b, 0xf99d489f, 0x10a3ff68, 0x5e8ed923, 0x45f9f267, 0xf22c4545, 0x45454545, 0x45454545, 0x45454545, 0x45454545, 0x45fba577, 0x2eecdb70]\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t")]]>The font is based on "uni05_53.ttf" from Craig Kroeger (http://www.miniml.com) and was
* converted to a Bitmap Font with "GlyphDesigner" from 71squared (http://www.71squared.com).
* ]]>hide
<_format expr="BGRA">
BGRA
<_hasMipmaps expr="true">
true
<_textures>
<_dirty>
<_width>
<_height>* @inheritDoc
<_bitmapData>()]]>()]]>""0true
<_boundsRect expr="new Rectangle()">
new Rectangle()
<_textHeight>
<_textWidth>
<_subGeometry>Indicates whether the text is bold. @default falseIndicates whether the text is italicized. @default falseIndicates whether the text is underlined. @default falseIndicates whether kerning is enabled. @default trueA number representing the amount of space that is uniformly distributed between all characters.
* The value specifies the number of pixels that are added to the advance after each character.
* The default value is null, which means that 0 pixels of letter spacing is used.
* You can use decimal values such as 1.75. @default 0Indicates whether the font size is scaled down so that the complete text fits
* into the text field. @default falseSpecifies the type of auto-sizing the TextField will do.
* Note that any auto-sizing will make auto-scaling useless. Furthermore, it has
* implications on alignment: horizontally auto-sized text will always be left-,
* vertically auto-sized text will always be top-aligned. @default "none"{ _hAlign : "left", bold : false, color : 0x0, fontSize : 12 }"top"Top alignment.
"center"Centered alignment.
"bottom"Bottom alignment.Indicates whether the given alignment string is valid.away3d@privateA class that provides constant values for vertical alignment of objects.()]]>()]]>()]]>{ mipmap : true, cacheMaterial : false }*
* @param type
* @param cacheMaterial - When true performance will improve but text using the same font will all use the samer material.
* meaning that color transforms will affect all of them.
* @return{ mipmap : true, cacheMaterial : false }{ cacheMaterial : false }* ...
* @author P.J.Shand
* @author Thomas Byrne()]]>* ...
* @author P.J.Shand
* @author Thomas Byrne{ searchClass : true }* ...
* @author P.J.Shand
* @author Thomas Byrne
<_atfData>0x00x1Create a new instance by parsing the given byte array.
<_atfData>cast 0cast 1cast 2cast 3cast 4cast 0cast 1cast 2cast 3cast 4
<_bitmapDatas>* The texture on the cube's right face.* The texture on the cube's left face.* The texture on the cube's top face.* The texture on the cube's bottom face.* The texture on the cube's far face.* The texture on the cube's near face.
<_mipMaps expr="[]" line="16" static="1">
[]
<_mipMapUses expr="[]" line="17" static="1">
[]
<_bitmapData>
<_mipMapHolder>
<_generateMipmaps>{ generateMipmaps : true }
<_instance static="1">
<_textures>
<_usages>* DEPRECRATED along with BitmapMaterial. Will be removed along with BitmapMaterial
<_mockTexture>
<_mockBitmapData>
<_renderer>
<_entityCollector>
<_cameras>
<_lenses>
<_nearPlaneDistance expr=".01">
.01
<_farPlaneDistance expr="2000">
2000
<_position>
<_isRendering>* @inheritDoc* The origin where the environment map will be rendered. This is usually in the centre of the reflective object.* The near plane used by the camera lens.* The far plane of the camera lens. Can be used to cut off objects that are too far to be of interest in reflections* Renders the scene in the given view for reflections.
* @param view The view containing the scene to render.* The renderer to use.* @inheritDoc* Creates a new CubeReflectionTexture object
* @param size The size of the cube texture* CubeReflectionTexture provides a cube map texture for real-time reflections, used for any method that uses environment maps,
* such as EnvMapMethod.
*
* @see away3d.materials.methods.EnvMapMethod
<_mockTexture>
<_mockBitmapData>
<_renderer>
<_scale expr="1">
1
<_isRendering>
<_entityCollector>
<_camera>
<_plane>
<_matrix>
<_vector>
<_scissorRect>
<_lens>
<_viewWidth>
<_viewHeight>* The plane to reflect with.* Sets the plane to match a given matrix. This is used to easily match a Mesh using a PlaneGeometry and yUp = false.
* @param matrix The transformation matrix to rotate the plane with.* @inheritDoc* The renderer to use.* A scale factor to reduce the quality of the reflection. Default value is 1 (same quality as the View)* Renders the scene in the given view for reflections.
* @param view The view containing the Scene to render.* @inheritDoc{ result : null }* Creates a new PlanarReflectionTexture object.* PlanarReflectionTexture is a Texture that can be used for material-based planar reflections, as provided by PlanarReflectionMethod, FresnelPlanarReflectionMethod.
*
* @see away3d.materials.methods.PlanarReflectionMethod
<_specularMap>
<_glossMap>{ glossMap : null, specularMap : null }* A convenience texture that encodes a specular map in the red channel, and the gloss map in the green channel, as expected by BasicSpecularMapMethod
<_broadcaster>
<_autoPlay>
<_autoUpdate>
<_materialWidth>
<_materialHeight>
<_player>
<_clippingRect>* Draws the video and updates the bitmap texture
* If autoUpdate is false and this function is not called the bitmap texture will not update!* Indicates whether the video will start playing on initialisation.
* If false, only the first frame is displayed.* Indicates whether the material will redraw onEnterFrame{ player : null, autoPlay : false, loop : true, materialHeight : 256, materialWidth : 256 }"x""y""z""+""-""av"
<_axis static="1">
<_condition static="1">{ condition : POSITIVE }* Aligns a series of meshes to their bounds along a given axis.
*
* @param meshes A Vector of Mesh objects
* @param axis Represent the axis to align on.
* @param condition Can be POSITIVE ('+') or NEGATIVE ('-'), Default is POSITIVE ('+')* Place one or more meshes at y 0 using their min bounds{ condition : "" }* Applies to array elements the alignment according to axis, x, y or z and a condition.
* each element must have public x,y and z properties. In case elements are meshes only their positions is affected. Method doesn't take in account their respective bounds
* String condition:
* "+" align to highest value on a given axis
* "-" align to lowest value on a given axis
* "" align to a given axis on 0; This is the default.
* "av" align to average of all values on a given axis
*
* @param aObjs Array. An array with elements with x,y and z public properties such as Mesh, Object3D, ObjectContainer3D,Vector3D or Vertex
* @param axis String. Represent the axis to align on.
* @param condition [optional]. String. Can be '+", "-", "av" or "", Default is "", aligns to given axis at 0.* Applies to array elements a distributed alignment according to axis, x,y or z. In case elements are meshes only their positions is affected. Method doesn't take in account their respective bounds
* each element must have public x,y and z properties
* @param aObjs Array. An array with elements with x,y and z public properties such as Mesh, Object3D, ObjectContainer3D,Vector3D or Vertex
* @param axis String. Represent the axis to align on.Align]]>
<_keepNormals>{ keepNormals : true }* Apply the explode code to a given ObjectContainer3D.
* @param object ObjectContainer3D. The target Object3d object.
* @param keepNormals Boolean. If the vertexNormals of the object are preserved. Default is true.{ keepNormals : true }* recursive parsing of a container.Explode]]>
<_objectSpace>
<_keepMaterial>
<_disposeSources>
<_geomVOs>
<_toDispose>* Determines if the mesh and geometry source(s) used for the merging are disposed. Defaults to false.* Determines if the material source(s) used for the merging are disposed. Defaults to false.* Determines if source mesh(es) is/are merged using objectSpace or worldspace. Defaults to false.* Merges all the children of a container into a single Mesh. If no Mesh object is found, method returns the receiver without modification.
*
* @param receiver The Mesh to receive the merged contents of the container.
* @param objectContainer The ObjectContainer3D holding the meshes to be mergd.
*
* @return The merged Mesh instance.* Merges 2 meshes into one. It is recommand to use apply when 2 meshes are to be merged. If more need to be merged, use either applyToMeshes or applyToContainer methods.
*
* @param receiver The Mesh to receive the merged contents of both meshes.
* @param mesh The Mesh to be merged with the receiver mesh{ objectSpace : false, disposeSources : false, keepMaterial : false }* @param keepMaterial [optional] Determines if the merged object uses the recevier mesh material information or keeps its source material(s). Defaults to false.
* If false and receiver object has multiple materials, the last material found in receiver submeshes is applied to the merged submesh(es).
* @param disposeSources [optional] Determines if the mesh and geometry source(s) used for the merging are disposed. Defaults to false.
* If true, only receiver geometry and resulting mesh are kept in memory.
* @param objectSpace [optional] Determines if source mesh(es) is/are merged using objectSpace or worldspace. Defaults to false.Merge]]>124"min""max"
"center"
<_recenter>
<_duplicate>
<_axis>
<_offset>
<_additionalOffset>
<_scaleTransform>
<_fullTransform>
<_centerTransform>
<_flipWinding>{ additionalOffset : 0, offset : CENTER }* Clones a Mesh and mirrors the cloned mesh. returns the cloned (and mirrored) mesh.
* @param mesh the mesh to clone and mirror.
* @param axis the axis to mirror the mesh.
* @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
* @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added.{ additionalOffset : 0, offset : CENTER }* Clones a ObjectContainer3D and all its children and mirrors the cloned Objects. returns the cloned (and mirrored) ObjectContainer3D.
* @param mesh the ObjectContainer3D to clone and mirror.
* @param axis the axis to mirror the ObjectContainer3D.
* @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
* @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this additional offset can be added.{ additionalOffset : 0, offset : CENTER }* Mirror a Mesh along a given Axis.
* @param mesh the mesh to mirror.
* @param axis the axis to mirror the mesh.
* @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
* @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added.{ additionalOffset : 0, offset : CENTER }* Mirror a ObjectContainer3d, and all its children along a given Axis.
* @param ctr the ObjectContainer3d to mirror.
* @param axis the axis to mirror the ObjectContainer3d.
* @param offset can be MIN_BOUND, MAX_BOUND or CENTER.
* @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added.{ keepOld : false }{ duplicate : true, recenter : false }12
<_weight>
<_radius expr="0">
0
<_radiusMode>{ radius : 100, radiusMode : RADIUS, weight : 1 }* Apply the SphereMaker code to a given ObjectContainer3D.
* @param container Mesh. The target ObjectContainer3D.
* @param weight Number. The Strength of the effect between 0 and 1. Default is 1.
* @param radiusMode int. Defines which radius will be used. Can be RADIUS or USE_BOUNDS_MAX. Default is RADIUS
* @param radius Number. The Radius to use if radiusMode is RADIUS. Default is 100.{ radius : 100, radiusMode : RADIUS, weight : 1 }* Apply the SphereMaker code to a given Mesh.
* @param mesh Mesh. The target Mesh object.
* @param weight Number. The Strength of the effect between 0 and 1. Default is 1.
* @param radiusMode int. Defines which radius will be used. Can be RADIUS or USE_BOUNDS_MAX. Default is RADIUS
* @param radius Number. The Radius to use if radiusMode is RADIUS. Default is 100.SphereMaker]]>"UseVertexNormals""UseFaceNormals"
<_keepUvs>
<_normalThreshold>
<_useNormalMode>
<_smoothNormals>
<_vertCnt>{ smoothNormals : true, useNormalMode : USE_FACENORMALS, normalAngleDegree : 180, keepUvs : true }* Perfoms a weld operation on a specified mesh geometry.
*
* @param mesh The mesh to weld
* @param keepUVs If the uvs should be kept as defined. Default is true.
* @param normalAngleDegree Threshold to compair the normals. Default is 180.
* @param useNormalMode If the face normals or vertex normals are used for comparison. VERTEXNORMALS keeps intact the original data. Default uses USE_FACENORMALS.
* @param smoothNormals Smooth. Default is true.{ smoothNormals : true, useNormalMode : USE_FACENORMALS, normalAngleDegree : 180, keepUVs : true }* Perfoms a weld operation on all children Mesh object geometries of the specified ObjectContainer3D.
*
* @param obj The ObjectContainer3D to weld
* @param keepUVs If the uvs should be kept as defined. Default is true.
* @param normalAngleDegree Threshold to compair the normals. Default is 180.
* @param useNormalMode If the face normals or vertex normals are used for comparison. VERTEXNORMALS keeps intact the original data. Default uses USE_FACENORMALS.
* @param smoothNormals Smooth. Default is true.* returns howmany vertices were deleted during the welding operation.* returns howmany vertices were added during the welding operation.* Class Weld removes the vertices that can be shared from one or more meshes (smoothes the mesh surface when lighted).196605234
<_n expr="new Vertex()" line="23" static="1">
new Vertex()
<_t expr="new Vertex()" line="24" static="1">
new Vertex()* Remove a face from a mesh
* @param mesh Mesh. The mesh to remove a face from
* @param index uint. Index of the face in vertices. The value represents the position in indices vector divided by 3.
* For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 3 in vertice vector is then extracted from vertices[indices[indice]]
* @param subGeomIndice uint. Index of vertex 1 of the face* Remove a series of faces from a mesh. Indices and geomIndices must have the same length.
* Meshes with less that 20k faces and single material, will generally only have one single subgeometry.
* The geomIndices vector will then contain only zeros.
* IMPORTANT: the code considers the indices as location in the mesh subgemeometry indices vector, not the value at the pointer location.
*
* @param mesh Mesh. The mesh to remove a face from
* @param indices A vector with a series of uints indices: the indices of the faces to be removed.
* @param subGeomIndices A vector with a series of uints indices representing the subgeometries of the faces to be removed.* Adds a series of faces from a mesh. All vectors must have the same length.
* @param mesh Mesh. The mesh to remove a face from
* @param v0s A vector with a series of Vertex Objects representing the v0 of a face.
* @param v1s A vector with a series of Vertex Objects representing the v1 of a face.
* @param v2s A vector with a series of Vertex Objects representing the v2 of a face.
* @param uv0s A vector with a series of UV Objects representing the uv0 of a face.
* @param uv1s A vector with a series of UV Objects representing the uv1 of a face.
* @param uv2s A vector with a series of UV Objects representing the uv2 of a face.{ side : 0 }* Divides a face into 2 faces.
* @param mesh The mesh holding the face to split in 2
* @param indice The face index. The value represents the position in indices vector divided by 3.
* For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]]
* @param subGeomIndice The index of the subgeometry holder this face.
* @param side [optional] The side of the face to split in two. 0 , 1 or 2. (clockwize).* Divides a face into 3 faces.
* @param mesh The mesh holding the face to split in 3.
* @param indice The face index. The value represents the position in indices vector divided by 3.
* For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]]
* @param subGeomIndice The index of the subgeometry holder this face.* Divides a face into 4 faces.
* @param mesh The mesh holding the face to split in 4.
* @param indice The face index. The value represents the position in indices vector divided by 3.
* For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]]
* @param subGeomIndice The index of the subgeometry holder this face.* Divides all the faces of a mesh in 2 faces.
* @param mesh The mesh holding the faces to split in 2
* @param face The face index. The value represents the position in indices vector divided by 3.
* @param side The side of the face to split in two. 0 , 1 or 2. (clockwize).
* At this time of dev, splitFaces method will abort if a subgeometry reaches max buffer limit of 65k* Divides all the faces of a mesh in 3 faces.
* @param mesh The mesh holding the faces to split in 3
* At this time of dev, triFaces method will abort if a subgeometry reaches max buffer limit of 65k* Divides all the faces of a mesh in 4 faces.
* @param mesh The mesh holding the faces to split in 4
* At this time of dev, quarterFaces method will abort if a subgeometry reaches max buffer limit of 65k{ out : null }{ out : null, uvScaleV : 1 }{ value : 0 }{ tangents : null, normals : null }FaceHelper]]>
<_lightsArray static="1">
<_light static="1">
<_state static="1">* Adds one light to all materials found into an objectcontainer and its children.
* The lights eventually set previously on a material are kept unchanged. The new light is added to the lights array of the materials found during parsing.
* @param objectContainer3D ObjectContainer3D. The target ObjectContainer3D object to be inspected.
* @param light LightBase. The light to add to all materials found during the parsing of the target ObjectContainer3D.* Removes a given light from all materials found into an objectcontainer and its children.
* @param objectContainer3D ObjectContainer3D. The target ObjectContainer3D object to be inspected.
* @param light LightBase. The light to be removed from all materials found during the parsing of the target ObjectContainer3D.LightsHelper
* A series of methods to ease work with LightBase objects]]>
<_meshesData expr="new Vector<MeshDebugData>()">
()]]>
<_colorNormals expr="0xFF3399">
0xFF3399
<_colorVertexNormals expr="0x66CCFF">
0x66CCFF
<_colorTangents expr="0xFFCC00">
0xFFCC00
<_lengthNormals expr="50">
50
<_lengthTangents expr="50">
50
<_lengthVertexNormals expr="50">
50
<_dirty>{ displayTangents : false, displayVertexNormals : false, displayNormals : true }{ displayTangents : false, displayVertexNormals : false, displayNormals : true }MeshDebugger
* Displays the normals, tangents and vertexNormals of a given mesh.]]>196605* Returns the boundingRadius of an Entity of a Mesh.
* @param mesh Mesh. The mesh to get the boundingRadius from.* Returns the boundingRadius of a ObjectContainer3D
* @param container ObjectContainer3D. The ObjectContainer3D and its children to get the boundingRadius from.{ keepPosition : true }* Recenter geometry
* @param mesh Mesh. The Mesh to recenter in its own objectspace
* @param keepPosition Boolean. KeepPosition applys the offset to the object position. Object is "visually" at same position.{ keepPosition : true }* Recenter geometry of all meshes found into container
* @param mesh Mesh. The Mesh to recenter in its own objectspace
* @param keepPosition Boolean. KeepPosition applys the offset to the object position. Object is "visually" at same position.* Applys the rotation values of a mesh in object space and resets rotations to zero.
* @param mesh Mesh. The Mesh to alter* Applys the rotation values of each mesh found into an ObjectContainer3D
* @param obj ObjectContainer3D. The ObjectContainer3D to alter{ parent : null }* Applys the scaleX, scaleY and scaleZ scale factors to the mesh vertices. Resets the mesh scaleX, scaleY and scaleZ properties to 1;
* @param mesh Mesh. The Mesh to rescale
* @param scaleX Number. The scale factor to apply on all vertices x values.
* @param scaleY Number. The scale factor to apply on all vertices y values.
* @param scaleZ Number. The scale factor to apply on all vertices z values.
* @param parent ObjectContainer3D. If a parent is set, the position of children is also scaled{ parent : null }* Applys the scale properties values of each mesh found into an ObjectContainer3D
* @param obj ObjectContainer3D. The ObjectContainer3D to alter
* @param scaleX Number. The scale factor to apply on all vertices x values.
* @param scaleY Number. The scale factor to apply on all vertices y values.
* @param scaleZ Number. The scale factor to apply on all vertices z values.* Applys an offset to a mesh at vertices level
* @param mesh Mesh. The Mesh to offset
* @param dx Number. The offset along the x axis
* @param dy Number. The offset along the y axis
* @param dz Number. The offset along the z axis{ newName : "" }* Clones a Mesh
* @param mesh Mesh. The mesh to clone
* @param newname [optional] String. new name for the duplicated mesh. Default = "";
*
* @ returns Mesh* Inverts the faces of all the Meshes into an ObjectContainer3D
* @param obj ObjectContainer3D. The ObjectContainer3D to invert.{ invertU : false }* Inverts the faces of a Mesh
* @param mesh Mesh. The Mesh to invert.
* @param invertUV Boolean. If the uvs are inverted too. Default is false;{ useCompactSubGeometry : true, useDefaultMap : true, shareVertices : true, material : null, name : "", uvs : null }{ disposeSource : false }{ disposeSource : false }MeshHelper
* A series of methods usually usefull for mesh manipulations]]>65535{ transforms : null }* ...{ backgroundColor : 0, transparent : false }{ __to : 0, __from : 0, mapCount : 1 }* Returns a SpriteSheetClipNode to pass to animator from animation id , cols and rows.
* @param animID String:The name of the animation
* @param cols uint: Howmany cells along the u axis.
* @param rows uint: Howmany cells along the v axis.
* @param mapCount uint: If the same animation is spread over more bitmapDatas. Howmany bimapDatas. Default is 1.
* @param from uint: The offset start if the animation first frame isn't in first cell top left on the map. zero based. Default is 0.
* @param to uint: The last cell if the animation last frame cell isn't located down right on the map. zero based. Default is 0.
*
* @return SpriteSheetClipNode SpriteSheetClipNode: The SpriteSheetClipNode filled with the data* SpriteSheetHelper, a class to ease sprite sheet animation data generation
<_normal expr="new Vector3D()">
new Vector3D()12{ length : 30, color : 0xFF3399 }{ length : 30, color : 0x66CCFF }{ length : 30, color : 0xFFCC00 }{ length : 30, color : 0x66CCFF }* MeshDebug, holds the data for the MeshDebugger class
<_defaultVertexTransform>
<_defaultInvVertexTransform>
<_defaultUVTransform>* ...2* Begin object serialization. Output className and instanceName.
* @param className name of class being serialized
* @param instanceName name of instance being serialized* Serialize int
* @param name name of value being serialized
* @param value value being serialized* Serialize uint
* @param name name of value being serialized
* @param value value being serialized* Serialize Boolean
* @param name name of value being serialized
* @param value value being serialized* Serialize String
* @param name name of value being serialized
* @param value value being serialized* Serialize Vector3D
* @param name name of value being serialized
* @param value value being serialized* Serialize Quaternion
* @param name name of value being serialized
* @param value value being serialized* End object serialization* Creates a new SerializerBase object.* SerializerBase is the abstract class for all Serializers. It provides an interface for basic data type writing.
* It is not intended for reading.
*
* @see away3d.tools.serialize.Serialize
<_indent expr="0">
0": "2* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc* @inheritDoc
<_indentString set="method" line="148">* Creates a new TraceSerializer object.* TraceSerializer is a concrete Serializer that will output its results to trace(). It has user settable tabSize and separator vars.
*
* @see away3d.tools.serialize.Serialize
<_minX static="1">
<_minY static="1">
<_minZ static="1">
<_maxX static="1">
<_maxY static="1">
<_maxZ static="1">
<_defaultPosition expr="new Vector3D(0.0, 0.0, 0.0)" line="33" static="1">
new Vector3D(0.0, 0.0, 0.0)
<_containers static="1">* Calculate the bounds of a Mesh object
* @param mesh Mesh. The Mesh to get the bounds from.
* Use the getters of this class to retrieve the results{ worldBased : true }* Calculate the bounds of an ObjectContainer3D object
* @param container ObjectContainer3D. The ObjectContainer3D to get the bounds from.
* Use the getters of this class to retrieve the results{ outCenter : null }* @param outCenter Vector3D. Optional Vector3D, if provided the same Vector3D is returned with the bounds center.
* @return the center of the bound* @return the smalest x value* @return the smalest y value* @return the smalest z value* @return the biggest x value* @return the biggest y value* @return the biggest z value* @return the width value from the bounds* @return the height value from the bounds* @return the depth value from the bounds{ parentTransform : null }{ resetBounds : false, parentTransform : null }Bounds]]>
<_colorMap>
<_colorObjects>
<_scaleX>
<_scaleY>
<_offsetX>
<_offsetY>* If at the given coordinates a color is found that matches a defined color event, the color event will be triggered.
*
* @param x X coordinate on the source bmd
* @param y Y coordinate on the source bmd* returns the color at x,y coordinates.
* This method is made to test if the color is indeed the expected one, (the one you set for an event), as due to compression
* for instance using the Flash IDE library, compression might have altered the color values.
*
* @param x X coordinate on the source bitmapData
* @param y Y coordinate on the source bitmapData
*
* @return A uint, the color value at coordinates x, y
* @see plotAt{ color : 0xFF0000 }* Another method for debug, if you addChild your bitmapdata on screen, this method will colour a pixel at the coordinates
* helping you to visualize if your scale factors or entered coordinates are correct.
* @param x X coordinate on the source bitmapData
* @param y Y coordinate on the source bitmapData* Defines a color event for this class.
* If read method is called, and the target pixel color has the same value as a previously set listener, an event is triggered.
*
* @param color A color Number
* @param eventID A string to identify that event
* @param listener The function that must be triggered* removes a color event by its id
*
* @param eventID The Event id* The offsetX, offsetY
* by default offsetX and offsetY represent the center of the map.* defines the scaleX and scaleY. Defines the ratio map to the 3d world* The source bitmapdata uses for colour readings{ scaleY : 1, scaleX : 1 }ColorHitMap
*
* @param bitmapData The bitmapdata with color regions to act as trigger.
* @param scaleX [optional] A factor scale along the X axis. Default is 1.
* @param scaleY [optional] A factor scale along the Y axis. Default is 1.
*
* Note that by default the class is considered as centered, like a plane at 0,0,0.
* Also by default coordinates offset are set. If a map of 256x256 is set, and no custom offsets are set.
* The read method using the camera position -128 x and -128 z would return the color value found at 0,0 on the map.]]>"xz""xy""zy"0.000001
<_view>
<_debug>
<_object3d>
<_planeXZ>
<_planeXY>
<_planeZY>
<_red>
<_green>
<_blue>
<_planesContainer>
<_np expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_intersect expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_rotations>
<_baserotations>
<_offsetCenter expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_bSetOffset>
<_a expr="0">
0
<_b expr="0">
0
<_c expr="0">
0
<_d expr="1">
1
<_planeid>
<_useRotations>* Defines if the target object3d plane will be aligned to object rotations or not
*
* @param b Boolean. Defines if the target object3d planes will be aligned to object rotations or not. Default is false.* Defines an offset for the drag from center mesh to mouse position.
* object3d must have been set previously for this setter. if not an error is triggered
* Since the offset is set from center to mouse projection, its usually a good practice to set it during firt mouse down
* prior to drag.* getIntersect method returns the 3d point in space (Vector3D) where mouse hits the given plane.
*@return Vector3D the difference mouse mouse hit to object center* Displays the planes for debug/visual aid purposes
*
* @param b Boolean. Display the planes of the dragged object3d. Default is false;* Changes the plane the object will be considered on.
* If class debug is set to true. It display the selected plane for debug/visual aid purposes with a brighter color.
* @param planeid String. Plane to drag the object3d on.
* Possible strings are Drag3D.PLANE_XZ ("xz"), Drag3D.PLANE_XY ("xy") or Drag3D.PLANE_ZY ("zy"). Default is Drag3D.PLANE_XZ;* Returns the Vector3D where mouse to scene ray hits the plane set for the class.
*
* @return Vector3D The intersection Vector3D
* If both x and y params are NaN, the class will return the hit from mouse coordinates
* @param x [optional] Number. x coordinate.
* @param y [optional] Number. y coordinate.* if an ObjectContainer3D is set this handler will calculate the mouse intersection on given plane and will update position
* and rotations of the ObjectContainer3D set accordingly* Sets the target ObjectContainer3D to the class. The ObjectContainer3D that will be dragged
*
* @param object3d ObjectContainer3D. The ObjectContainer3D that will be dragged. Default is null. When null planes will be considered at 0,0,0 world* Defines planes as the position of a given ObjectContainer3D
*
* @param object3d ObjectContainer3D. The object3d that will be used to define the planes* Defines planes position by a postion Vector3D
*
* @param pos Vector3D. The Vector3D that will be used to define the planes position{ obj : null }{ plane : PLANE_XZ, object3d : null }Drag3D
* @param view View3D. The view3d where the object to drag is or will be addChilded.
* @param object3d [optional] ObjectContainer3D. The object3D to drag.
* @param plane [optional] String. The plane to drag on.]]>* Class Drag3D allows free dragging of an ObjectContainer3D onto a given plane.
*
* locks on world planes
* locks on ObjectContainer3D planes
* locks on ObjectContainer3D rotations planes3 * 0xffff15 * 0xffff{ triangleOffset : 0 }* Build a list of sub-geometries from raw data vectors, splitting them up in
* such a way that they won't exceed buffer length limits.* Build a sub-geometry from data vectors.{ suvs : null, uvs : null, tangents : null, normals : null, vertices : null }
<_unit>
<_objectSpace>{ dovert : false }* Apply the grid code to a given object3D. If type ObjectContainer3D, all children Mesh vertices will be affected.
* @param object3d Object3D. The Object3d to snap to grid.
* @param dovert [optional]. If the vertices must be handled or not. When false only object position is snapped to grid. Default is false.* Apply the grid code to a single mesh
* @param mesh Mesh. The mesh to snap to grid. Vertices are affected by default. Mesh position is snapped if grid.objectSpace is true;* Defines if the grid unit.* Defines if the grid unit is applied in objectspace or worldspace. In worldspace, objects positions are affected.{ dovert : true }{ objectSpace : false, unit : 1 }* Grid snaps vertexes according to a given grid unit
* @param unit [optional] Number. The grid unit. Default is 1.
* @param objectSpace [optional] Boolean. Apply only to vertexes in geometry objectspace when Object3D are considered. Default is false.Grid]]>"front""back""top""bottom""left""right""cylindricalx""cylindricaly""cylindricalz""spherical"
<_width static="1">
<_height static="1">
<_depth static="1">
<_offsetW static="1">
<_offsetH static="1">
<_offsetD static="1">
<_orientation static="1">
<_center static="1">
<_vn static="1">
<_ve static="1">
<_vp static="1">
<_dir static="1">
<_radius static="1">
<_uv static="1">Math.PIMath.PI * 2* Class remaps the uv data of a mesh
*
* @param orientation String. Defines the projection direction and methods.
* Note: As we use triangles, cylindrical and spherical projections might require correction,
* as some faces, may have vertices pointing at other side of the map, causing some faces to be rendered as a whole reverted map.
*
* @param obj ObjectContainer3D. The ObjectContainer3D to remap.
<_orig expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_dir expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_tu expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_tv expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_w expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_pn expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_npn expr="new Vector3D(0.0, 0.0, 0.0)">
new Vector3D(0.0, 0.0, 0.0)
<_a>
<_b>
<_c>
<_d>* Defines the origin point of the Ray object
* @return Vector3D The origin point of the Ray object* Defines the directional vector of the Ray object
* @return Vector3D The directional vector* Defines the directional normal of the Ray object
* @return Vector3D The normal of the plane* Checks if a ray intersects a sphere.
*@param pOrig Vector3D. The origin vector of the ray.
*@param dir Vector3D. The normalized direction vector of the ray.
*@param sPos Vector3D. The position of the sphere.
*@param radius Number. The radius of the sphere.
*
* @return Boolean If the ray intersects the sphere{ outVector3D : null, bNormal : false, bNearest : true }* Returns a Vector3D where the ray intersects a sphere. Return null if the ray misses the sphere
*
*@param pOrig Vector3D. The origin of the ray.
*@param dir Vector3D. The direction of the ray.
*@param sPos Vector3D. The position of the sphere.
*@param radius Number. The radius of the sphere.
*@param bNearest [optional] Boolean. If the ray traverses the sphere and if true the returned hit is the nearest to ray origin. Default is true.
*@param bNormal [optional] Boolean. If the returned vector is the normal of the hitpoint. Default is false.
*
* @return Vector3D The intersection vector3D or the normal vector3D of the hitpoint. Default is false.
*
* example of a ray triggered from mouse
var pMouse:Vector3D = _view.unproject(_view.mouseX, _view.mouseY, 1);
var cam:Vector3D = _view.camera.position;
var dir:Vector3D = new Vector3D( pMouse.x-cam.x, pMouse.y-cam.y, pMouse.z-cam.z);
dir.normalize();
var spherePosition:Vector3D = new Vector3D(200, 200, 200);
//hittest
trace("Ray intersects sphere :"+ _ray.intersectsSphere(pMouse, dir, spherePosition, 500) );
var sintersect:Vector3D = _ray.getRayToSphereIntersection(pMouse, dir, spherePosition, 500, true, false);
if sintersect == null no hit, else sintersect = intersection vector3d or the normal of the intersection{ outVector3D : null }* Returns a Vector3D where the ray intersects a plane inside a triangle
* Returns null if no hit is found.
*
*@param p0 Vector3D. The origin of the ray.
*@param p1 Vector3D. The end of the ray.
*@param v0 Vector3D. The first scenespace vertex of the face.
*@param v1 Vector3D. The second scenespace vertex of the face.
*@param v2 Vector3D. The third scenespace vertex of the face.
*@param outVector3D Vector3D. Optional user defined Vector3D returned with result values
*
* example: fire a ray from camera position to 0,0,0 and test if it hits the triangle.
view.camera.x = 100;
view.camera.y = 100;
view.camera.z = 500;
var v0:Vector3D = new Vector3D(-200, 100, 60);
var v1:Vector3D = new Vector3D(200, 100, 60);
var v2:Vector3D = new Vector3D(0, -200, 60);
var dest: Vector3D = new Vector3D(0, 0, 0);
var intersect:Vector3D = _ray.getRayToTriangleIntersection(_view.camera.position, dest, v0, v1, v2 );
trace("intersect ray: "+intersect);
*
* @return Vector3D The intersection point4096
<_colorNames static="1">
<_hexChars expr=""0123456789abcdefABCDEF"" line="19" static="1">
"0123456789abcdefABCDEF"
<_notClasses expr="new Map<String,Bool>()" line="21" static="1">
()]]>
<_classes expr="new Map<String,Dynamic>()" line="22" static="1">
()]]>Helper class for casting assets to usable objects on cpp.]]>
<_new public="1" get="inline" set="null" line="37" static="1">
<_new public="1" get="inline" set="null" line="37" static="1">
<_new public="1" get="inline" set="null" line="26" static="1">
<_new public="1" get="inline" set="null" line="26" static="1">
"::cpp::Pointer_obj::fromRaw""cpp/Pointer.h""cpp.Pointer"variable
<_hx_getIndex public="1" set="method">
<_hx_getTag public="1" set="method">
<_hx_getParamCount public="1" set="method">
<_hx_getParamI public="1" set="method">
<_hx_getParameters public="1" set="method">"hx.EnumBase""HX_INVALID_CAST""HX_INDEX_OUT_OF_BOUNDS""HX_INVALID_OBJECT""HX_INVALID_ARG_COUNT""HX_NULL_FUNCTION_POINTER""cpp/Pointer.h"
<_new public="1" get="inline" set="null" line="30" static="1">
<_new public="1" get="inline" set="null" line="30" static="1">
Load and return a Cpp primitive from a DLL library.Unloaded all dynamic libraries in reverse order of loading.
Returns the number of libraries unloaded.
<_loadPrime public="1" set="method" line="50" static="1">
{ quietFail : false }Tries to load, and always returns a valid function, but the function may throw
if called.Returns bytes referencing the content of a string.
Use with extreme caution - changing constant strings will crash.
Changing one string can cause others to change unexpectedly.
Only really safe if you are using it read-only or if it comes from stringReference abovePrint the specified value on the default output.This function is used to make porting from neko to cpp easy.
It does not need to do anything because the c-code can work with any DynamicThis function is used to make porting from neko to cpp easy.
It does not need to do anything because the c-code can work with any DynamicPrint the specified value on the default output followed by a newline character.Platform-specific Cpp Library. Provides some platform-specific functions
for the C++ target, such as conversion from Haxe types to native types
and vice-versa."_hx_create_array_length""_hx_reslove_virtual_array""_hx_array_unsafe_get""_hx_array_unsafe_set""_hx_array_set_size_exact""]]>"__hxcpp_gc_mem_info""_hx_allocate_extended""_hx_add_finalizable""::hx::InternalNew""_hx_std_process_run""_hx_std_process_run""_hx_std_process_stdout_read""_hx_std_process_stderr_read""_hx_std_process_stdin_write""_hx_std_process_stdin_close""_hx_std_process_exit""_hx_std_process_pid""_hx_std_process_kill""_hx_std_process_close""]]>"_hx_std_socket_init""_hx_std_socket_new""_hx_std_socket_new""_hx_std_socket_close""_hx_std_socket_bind""_hx_std_socket_bind_ipv6""_hx_std_socket_send_char""_hx_std_socket_send""_hx_std_socket_recv""_hx_std_socket_recv_char""_hx_std_socket_write""_hx_std_socket_read""_hx_std_host_resolve_ipv6""_hx_std_host_resolve""_hx_std_host_to_string""_hx_std_host_to_string_ipv6""_hx_std_host_reverse""_hx_std_host_reverse_ipv6""_hx_std_host_local""_hx_std_socket_connect""_hx_std_socket_connect_ipv6""_hx_std_socket_listen""_hx_std_socket_select""_hx_std_socket_fast_select""_hx_std_socket_accept""_hx_std_socket_peer""_hx_std_socket_host""_hx_std_socket_set_timeout""_hx_std_socket_shutdown""_hx_std_socket_set_blocking""_hx_std_socket_set_fast_send""_hx_std_socket_set_broadcast""_hx_std_socket_poll_alloc""_hx_std_socket_poll_prepare""_hx_std_socket_poll_events""_hx_std_socket_poll""_hx_std_socket_send_to""_hx_std_socket_recv_from""]]>"_hx_ssl_debug_set""_hx_ssl_new""_hx_ssl_close""_hx_ssl_handshake""_hx_ssl_set_socket""_hx_ssl_set_hostname""_hx_ssl_get_peer_certificate""_hx_ssl_get_verify_result""_hx_ssl_send_char""_hx_ssl_send""_hx_ssl_write""_hx_ssl_recv_char""_hx_ssl_recv""_hx_ssl_read""_hx_ssl_conf_new""_hx_ssl_conf_close""_hx_ssl_conf_set_ca""_hx_ssl_conf_set_verify""_hx_ssl_conf_set_cert""_hx_ssl_conf_set_servername_callback""_hx_ssl_cert_load_defaults""_hx_ssl_cert_load_file""_hx_ssl_cert_load_path""_hx_ssl_cert_get_subject""_hx_ssl_cert_get_issuer""_hx_ssl_cert_get_altnames""_hx_ssl_cert_get_notbefore""_hx_ssl_cert_get_notafter""_hx_ssl_cert_get_next""_hx_ssl_cert_add_pem""_hx_ssl_cert_add_der""_hx_ssl_key_from_der""_hx_ssl_key_from_pem""_hx_ssl_dgst_make""_hx_ssl_dgst_sign""_hx_ssl_dgst_verify""_hx_ssl_init""]]>"__hxcpp_parse_float""__hxcpp_parse_substr_float""__hxcpp_parse_substr_int""__hxcpp_parse_substr_int""_hx_string_compare""_hx_utf8_char_code_at""_hx_utf8_length""_hx_utf8_is_valid""_hx_utf8_sub""_hx_string_create""_hx_utf8_decode_advance""__hxcpp_print""__hxcpp_println""]]>-10xff01234567890x100"::cpp::Pointer_obj::fromRaw""::cpp::Pointer_obj::fromHandle""::cpp::Pointer_obj::arrayElem""::cpp::Pointer_obj::ofArray"variable"::hx::AddressOf""::hx::AddressOf"Allows haxe to type result correctly, and hxcpp can recognise this and
prevent unwanted casting.referenceAllows haxe to type result correctly, and hxcpp can recognise this use the
correct type."void"0123Introduced hxcpp_api_level 310
Returns stats on memory usage:
- `MEM_INFO_USAGE` - estimate of how much is needed by program (at last collect)
- `MEM_INFO_RESERVED` - memory allocated for possible use
- `MEM_INFO_CURRENT` - memory in use, includes uncollected garbage.
This will generally saw-tooth between USAGE and RESERVED
- `MEM_INFO_LARGE` - Size of separate pool used for large allocs. Included in all the above.{ printInstances : true }
<_onRequest set="method" line="159" static="1">
<_onSpectate set="method" line="158" static="1">
<_onJoin set="method" line="156" static="1">
<_onError set="method" line="154" static="1">
<_onDisconnected set="method" line="152" static="1">
<_onReady set="method" line="150" static="1">* Called once Discord has connected and is ready to start.* Called when discord has disconnected the program.
* Int is the error code, String is the error message.* Called when an error occured.
* Int is the error code, String is the error message.* Called when the user has joined a game through discord.
* String is the join secret.* Called when the user has spectated a game through discord.
* String is the spectate secret.* Called when the user has recieved a join request.
* JoinRequest contains the userID, username, and avatar of the user.* Attempts to connect to discord and initialize itself.
* @param _options - Anonymouse structure containin the start options.* Call this to process any callbacks.* Respond to a join request.
* @param _userID - The userID of the user who requested to join.
* @param _response - The reply to the request.* Set the rich presence for discord.
* @param _options - All of the rich presence options.* Stops rich presence content from showing.
<_init set="method" static="1">
"linc::discord_rpc::init""linc::discord_rpc::process""linc::discord_rpc::respond""linc::discord_rpc::update_presence""linc::discord_rpc::shutdown"
<_onReady get="inline" set="null" line="150" static="1">
<_onDisconnected get="inline" set="null" line="152" static="1">
<_onError get="inline" set="null" line="154" static="1">
<_onJoin get="inline" set="null" line="156" static="1">
<_onSpectate get="inline" set="null" line="158" static="1">
<_onRequest get="inline" set="null" line="159" static="1">
<__touch get="inline" set="null" expr=""1.680366002e+012"" line="22" static="1">
"1.680366002e+012"\n"]]>"linc_discord_rpc.h"linc.Linc.touch()linc.Linc.xml("discord_rpc")"linc_discord_rpc.h""DiscordJoinRequest"cast 0cast 1cast 2cast 0cast 1cast 20idEnumerator++* A unique ID starting from 0 and increasing by 1 for each subsequent `FlxBasic` that is created.true* Controls whether `update()` is automatically called by `FlxState`/`FlxGroup`.true* Controls whether `draw()` is automatically called by `FlxState`/`FlxGroup`.true* Useful state for many game objects - "dead" (`!alive`) vs `alive`. `kill()` and
* `revive()` both flip this switch (along with `exists`, but you can override that).true* Controls whether `update()` and `draw()` are automatically called by `FlxState`/`FlxGroup`.* Gets or sets the first camera of this object.* This determines on which `FlxCamera`s this object will be drawn. If it is `null` / has not been
* set, it uses the list of default draw targets, which is controlled via `FlxG.camera.setDefaultDrawTarget`
* as well as the `DefaultDrawTarget` argument of `FlxG.camera.add`.NONE* Enum that informs the collision system which type of object this is (to avoid expensive type casting).
<_cameras>
* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!* Handy function for "killing" game objects. Use `reset()` to revive them.
* Default behavior is to flag them as nonexistent AND dead.
* However, if you want the "corpse" to remain in the game, like to animate an effect or whatever,
* you should `override` this, setting only `alive` to `false`, and leaving `exists` `true`.* Handy function for bringing game objects "back to life". Just sets `alive` and `exists` back to `true`.
* In practice, this function is most often called by `FlxObject#reset()`.* Override this function to update your class's position and appearance.
* This is where most of your game rules and behavioral code will go.* Override this function to control how the object is drawn.
* Doing so is rarely necessary, but can be very useful.* This is a useful "generic" Flixel object. Both `FlxObject` and
* `FlxGroup` extend this class. Has no size, position or graphical data.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Types of flixel objects - mainly for collisions.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 2cast 3cast 4hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 2cast 3cast 4hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.FlxType)cast (2, flixel.FlxType)cast (3, flixel.FlxType)cast (4, flixel.FlxType)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!
<_HX_SUPER__destroy public="1" set="method" line="31">* Handy function for "killing" game objects. Use `reset()` to revive them.
* Default behavior is to flag them as nonexistent AND dead.
* However, if you want the "corpse" to remain in the game, like to animate an effect or whatever,
* you should `override` this, setting only `alive` to `false`, and leaving `exists` `true`.
<_HX_SUPER__kill public="1" set="method" line="31">* Handy function for bringing game objects "back to life". Just sets `alive` and `exists` back to `true`.
* In practice, this function is most often called by `FlxObject#reset()`.
<_HX_SUPER__revive public="1" set="method" line="31">* Override this function to update your class's position and appearance.
* This is where most of your game rules and behavioral code will go.
<_HX_SUPER__update public="1" set="method" line="31">* Override this function to control how the object is drawn.
* Doing so is rarely necessary, but can be very useful.
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__toString public="1" set="method" line="148">
<_HX_SUPER__set_visible set="method" line="148">
<_HX_SUPER__set_active set="method" line="148">
<_HX_SUPER__set_exists set="method" line="148">
<_HX_SUPER__set_alive set="method" line="148">
<_HX_SUPER__get_camera set="method" line="148">
<_HX_SUPER__set_camera set="method" line="148">
<_HX_SUPER__get_cameras set="method" line="148">
<_HX_SUPER__set_cameras set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxBasicflixel.FlxBasic.FlxTypeflixel.FlxBasic.FlxTypeflixel.FlxBasic.IFlxBasichscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_pool expr="new FlxPool<FlxRect>(FlxRect)" line="15" static="1">
(FlxRect)]]>{ Height : 0, Width : 0, Y : 0, X : 0 }* Recycle or create new FlxRect.
* Be sure to put() them back into the pool after you're done with them!{ Height : 0, Width : 0, Y : 0, X : 0 }* Recycle or create a new FlxRect which will automatically be released
* to the pool when passed into a flixel function.* The x coordinate of the left side of the rectangle.* The x coordinate of the right side of the rectangle.* The y coordinate of the top of the rectangle.* The y coordinate of the bottom of the rectangle.* Whether width or height of this rectangle is equal to zero or not.
<_weak expr="false">
false
<_inPool expr="false">
false* Add this FlxRect to the recycling pool.* Add this FlxPoint to the recycling pool if it's a weak reference (allocated via weak()).* Shortcut for setting both width and Height.
*
* @param Width The new sprite width.
* @param Height The new sprite height.* Shortcut for setting both x and y.{ Height : 0, Width : 0, Y : 0, X : 0 }* Fill this rectangle with the data provided.
*
* @param X The X-coordinate of the point in space.
* @param Y The Y-coordinate of the point in space.
* @param Width Desired width of the rectangle.
* @param Height Desired height of the rectangle.
* @return A reference to itself.* Helper function, just copies the values from the specified rectangle.
*
* @param Rect Any FlxRect.
* @return A reference to itself.* Helper function, just copies the values from this rectangle to the specified rectangle.
*
* @param Point Any FlxRect.
* @return A reference to the altered rectangle parameter.* Helper function, just copies the values from the specified Flash rectangle.
*
* @param FlashRect Any Rectangle.
* @return A reference to itself.* Helper function, just copies the values from this rectangle to the specified Flash rectangle.
*
* @param Point Any Rectangle.
* @return A reference to the altered rectangle parameter.* Checks to see if some FlxRect object overlaps this FlxRect object.
*
* @param Rect The rectangle being tested.
* @return Whether or not the two rectangles overlap.* Returns true if this FlxRect contains the FlxPoint
*
* @param Point The FlxPoint to check
* @return True if the FlxPoint is within this FlxRect, otherwise false* Add another rectangle to this one by filling in the
* horizontal and vertical space between the two rectangles.
*
* @param Rect The second FlxRect to add to this one
* @return The changed FlxRect* Rounds x, y, width and height using Math.floor()* Rounds x, y, width and height using Math.ceil()* Rounds x, y, width and height using Math.round()* Calculation of bounding box for two points
*
* @param point1 first point to calculate bounding box
* @param point2 second point to calculate bounding box
* @return this rectangle filled with the position and size of bounding box for two specified points* Add another point to this rectangle one by filling in the
* horizontal and vertical space between the point and this rectangle.
*
* @param Point point to add to this one
* @return The changed FlxRect* Calculates the globally aligned bounding box of a `FlxRect` with the given angle and origin.
* @param degrees The rotation, in degrees of the rect.
* @param origin The relative pivot point, or the point that the rectangle rotates around.
* if `null` , the top-left (or 0,0) is used.
* @param newRect Optional output `FlxRect`, if `null`, a new one is created. Note: If you like, you can
* pass in the input rect to manipulate it. ex: `rect.calcRotatedBounds(angle, null, rect)`
* @return A globally aligned `FlxRect` that fully contains the input rectangle.
* @since 4.11.0* Necessary for IFlxDestroyable.* Checks if this rectangle's properties are equal to properties of provided rect.
*
* @param rect Rectangle to check equality to.
* @return Whether both rectangles are equal.* Returns the area of intersection with specified rectangle.
* If the rectangles do not intersect, this method returns an empty rectangle.
*
* @param rect Rectangle to check intersection against.
* @return The area of intersection of two rectangles.* Convert object to readable string name. Useful for debugging, save games, etc.{ Height : 0, Width : 0, Y : 0, X : 0 }* Stores a rectangle.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* While you can alter the zoom of each camera after the fact,
* this variable determines what value the camera will start at when created."`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead"* Used behind-the-scenes during the draw phase so that members use the same default
* cameras as their parent.
*
* Prior to 4.9.0 it was useful to change this value, but that feature is deprecated.
* Instead use the `defaultDrawTarget` argument in `FlxG.cameras.add `.
* or`FlxG.cameras.setDefaultDrawTarget` .
* @see FlxG.cameras.setDefaultDrawTarget
<_defaultCameras static="1">
flixel.FlxBasic.get_camerasflixel.FlxBasic.get_cameraflixel.system.frontEnds.CameraFrontEndflixel.group.FlxTypedGroup.draw* Used behind-the-scenes during the draw phase so that members use the same default
* cameras as their parent.
*
* This is the non-deprecated list that the public `defaultCameras` proxies. Allows flixel classes
* to use it without warning.
<_storageTilesHead static="1">
* Draw tiles stack items that can be reused
<_storageTrianglesHead static="1">
* Draw triangles stack items that can be reused()]]>* Internal variable, used for visibility checks to minimize `drawTriangles()` calls.new Sprite()* Internal variable, used in blit render mode to render triangles (`drawTriangles()`) on camera's buffer.FlxPoint.get()* Internal variables, used in blit render mode to draw trianglesSprite on camera's buffer.
* Added for less garbage creation.FlxRect.get()"`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead""`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead"null* Whenever the camera should be widescreen or not.
* If null, will use the `FlxG.widescreen` variable.new FlxPoint(0, 0)* Widescreen dimensions multipliers
* For example, if the camera is in widescreen mode and the game is in 1920x720 while the camera is in 1280x720,
* the value will be equal to `new FlxPoint(1.5, 1);`.true* Whenever the camera follow is active. Used for pause.true* Whenever the fix for black bars when the camera rotates should be enabled. Defaults to `true`.0* The X position of this camera's display. `zoom` does NOT affect this number.
* Measured in pixels from the left side of the window.
* You might be interested in using camera's `scroll.x` instead.0* The Y position of this camera's display. `zoom` does NOT affect this number.
* Measured in pixels from the top of the window.
* You might be interested in using camera's `scroll.y` instead.0* The scaling on horizontal axis for this camera.
* Setting `scaleX` changes `scaleX` and x coordinate of camera's internal display objects.0* The scaling on vertical axis for this camera.
* Setting `scaleY` changes `scaleY` and y coordinate of camera's internal display objects.* Product of camera's `scaleX` and game's scale mode `scale.x` multiplication.* Product of camera's scaleY and game's scale mode scale.y multiplication.* Tells the camera to follow this FlxObject object around.FlxPoint.get()* Offset the camera target.1* Used to smoothly track the camera as it follows:
* The percent of the distance to the follow `target` the camera moves per 1/60 sec.
* Values are bounded between `0.0` and `1.0`.
* `elapsed` is used during `update` calls for consistency across framerates.
* The maximum value means no camera easing. A value of `0` means the camera does not move.* You can assign a "dead zone" to the camera in order to better control its movement.
* The camera will always keep the focus object inside the dead zone, unless it is bumping up against
* the camera bounds. The `deadzone`'s coordinates are measured from the camera's upper left corner in game pixels.
* For rapid prototyping, you can use the preset deadzones (e.g. `PLATFORMER`) with `follow()`.* Lower bound of the camera's `scroll` on the x axis.* Upper bound of the camera's `scroll` on the x axis.* Lower bound of the camera's `scroll` on the y axis.* Upper bound of the camera's `scroll` on the y axis.FlxPoint.get()* Stores the basic parallax scrolling values.
* This is basically the camera's top-left corner position in world coordinates.
* There is also `focusOn(point:FlxPoint)` which you can use to
* make the camera look at specified point in world coordinates.* The actual `BitmapData` of the camera display itself.
* Used in blit render mode, where you can manipulate its pixels for achieving some visual effects.* The natural background color of the camera, in `AARRGGBB` format. Defaults to `FlxG.cameras.bgColor`.
* On Flash, transparent backgrounds can be used in conjunction with `useBgAlphaBlending`.* Sometimes it's easier to just work with a `FlxSprite` than it is to work directly with the `BitmapData` buffer.
* This sprite reference will allow you to do exactly that.
* Basically this sprite's `pixels` property is camera's `BitmapData` buffer.
* NOTE: This variable is used only in blit render mode.
*
* The FlxBloom demo shows how you can use this variable in blit render mode.
* @see http://haxeflixel.com/demos/FlxBloom/false* Whether to use alpha blending for camera's background fill or not.
* If `true` then previously drawn graphics won't be erased,
* and if camera's `bgColor` is transparent/semitransparent then you
* will be able to see graphics of the previous frame.
* Useful for blit render mode (and works only in this mode). Default value is `false`.
*
* Usage example can be seen in FlxBloom demo.
* @see http://haxeflixel.com/demos/FlxBloom/new Sprite()* Used to render buffer to screen space.
* NOTE: We don't recommend modifying this directly unless you are fairly experienced.
* Uses include 3D projection, advanced display list modification, and more.
* This is container for everything else that is used by camera and rendered to the camera.
*
* Its position is modified by `updateFlashSpritePosition()` which is called every frame.* Whether the positions of the objects rendered on this camera are rounded.
* If set on individual objects, they ignore the global camera setting.
* Defaults to `false` with `FlxG.renderTile` and to `true` with `FlxG.renderBlit`.
* WARNING: setting this to `false` on blitting targets is very expensive.0* How wide the camera display is, in game pixels.0* How tall the camera display is, in game pixels.* The zoom level of this camera. `1` = 1:1, `2` = 2x zoom, etc.
* Indicates how far the camera is zoomed in.0* Difference between native size of camera and zoomed size, divided in half
* Needed to do occlusion of objects when zoom != initialZoom00* The size of the camera plus view offset.
* These variables are used for object visibility checks.00* Dimensions of area visible at current camera zoom.0
<_blitMatrix expr="new FlxMatrix()">
new FlxMatrix()* Helper matrix object. Used in blit render mode when camera's zoom is less than initialZoom
* (it is applied to all objects rendered on the camera at such circumstances).
<_useBlitMatrix expr="false">
false* Logical flag for tracking whether to apply _blitMatrix transformation to objects or not.1* The alpha value of this camera display (a number between `0.0` and `1.0`).0* The angle of the camera display (in degrees).FlxColor.WHITE* The color tint of the camera display.false* Whether the camera display is smooth and filtered, or chunky and pixelated.
* Default behavior is chunky-style.FlxPoint.get()* Used to force the camera to look ahead of the target.true* Enables or disables the filters set via `setFilters()`.
<_flashRect>
* Internal, used in blit render mode in camera's `fill()` method for less garbage creation.
* It represents the size of buffer `BitmapData`
* (the area of camera's buffer which should be filled with `bgColor`).
* Do not modify it unless you know what are you doing.
<_flashPoint expr="new Point()">
new Point()* Internal, used in blit render mode in camera's `fill()` method for less garbage creation:
* Its coordinates are always `(0,0)`, where camera's buffer filling should start.
* Do not modify it unless you know what are you doing.
<_flashOffset expr="FlxPoint.get()">
FlxPoint.get()* Internal, used for positioning camera's `flashSprite` on screen.
* Basically it represents position of camera's center point in game sprite.
* It's recalculated every time you resize game or camera.
* Its value depends on camera's size (`width` and `height`), game's `scale` and camera's initial zoom factor.
* Do not modify it unless you know what are you doing.
<_fxFlashColor expr="FlxColor.TRANSPARENT">
FlxColor.TRANSPARENT* Internal, represents the color of `flash()` special effect.
<_fxFlashDuration expr="0">
0* Internal, stores `flash()` special effect duration.
<_fxFlashComplete expr="null">
null* Internal, camera's `flash()` complete callback.
<_fxFlashAlpha expr="0">
0* Internal, used to control the `flash()` special effect.
<_fxFadeColor expr="FlxColor.TRANSPARENT">
FlxColor.TRANSPARENT* Internal, color of fading special effect.
<_lastTargetPosition>
* Used to calculate the following target current velocity.
<_scrollTarget expr="FlxPoint.get()">
FlxPoint.get()* Helper to calculate follow target current scroll.
<_fxFadeDuration expr="0">
0* Internal, `fade()` special effect duration.
<_fxFadeIn expr="false">
false* Internal, "direction" of the `fade()` effect.
* `true` means that camera fades from a color, `false` - camera fades to it.
<_fxFadeComplete expr="null">
null* Internal, used to control the `fade()` special effect complete callback.
<_fxFadeAlpha expr="0">
0* Internal, alpha component of fade color.
* Changes from 0 to 1 or from 1 to 0 as the effect continues.
<_fxShakeIntensity expr="0">
0* Internal, percentage of screen size representing the maximum distance that the screen can move while shaking.
<_fxShakeDuration expr="0">
0* Internal, duration of the `shake()` effect.
<_fxShakeComplete>
* Internal, `shake()` effect complete callback.
<_fxShakeAxes expr="XY">
XY* Internal, defines on what axes to `shake()`. Default value is `XY` / both.
<_point expr="FlxPoint.get()">
FlxPoint.get()* Internal, used for repetitive calculations and added to help avoid costly allocations.
<_filters>
* Internal, the filters array to be applied to the camera.1* Camera's initial zoom value. Used for camera's scale handling.
<_fill>
* Internal helper variable for doing better wipes/fills between renders.
* Used it blit render mode only (in `fill()` method).
<_flashBitmap>
* Internal, used to render buffer to screen space. Used it blit render mode only.
* This Bitmap used for rendering camera's buffer (`_flashBitmap.bitmapData = buffer;`)
* Its position is modified by `updateInternalSpritePositions()`, which is called on camera's resize and scale events.
* It is a child of the `_scrollRect` `Sprite`.
<_scrollRect expr="new Sprite()">
new Sprite()* Internal sprite, used for correct trimming of camera viewport.
* It is a child of `flashSprite`.
* Its position is modified by `updateScrollRect()` method, which is called on camera's resize and scale events.
<_bounds expr="FlxRect.get()">
FlxRect.get()* Helper rect for `drawTriangles()` visibility checks
<_helperMatrix expr="new FlxMatrix()">
new FlxMatrix()
<_helperPoint expr="new Point()">
new Point()
<_currentDrawItem>
* Currently used draw stack item
<_headOfDrawStack>
* Pointer to head of stack with draw items
<_headTiles>
* Last draw tiles item
<_headTriangles>
* Last draw triangles item* Scroll Rect (non affected by widescreen){ smooth : false, hasColorOffsets : false }{ isColored : false, smoothing : false }{ isColored : false, smoothing : false }flixel.system.frontEnds.CameraFrontEndflixel.system.frontEnds.CameraFrontEnd{ smoothing : false }falsefalse{ smoothing : false }{ smoothing : false, repeat : false }* Helper method preparing debug rectangle for rendering in blit render mode
* @param rect rectangle to prepare for rendering
* @return transformed rectangle with respect to camera's zoom factor* Helper method preparing debug point for rendering in blit render mode (for debug path rendering, for example)
* @param point point to prepare for rendering
* @return transformed point with respect to camera's zoom factor* Helper method preparing debug vectors (relative positions) for rendering in blit render mode
* @param vector relative position to prepare for rendering
* @return transformed vector with respect to camera's zoom factor* Helper method for applying transformations (scaling and offsets)
* to specified display objects which has been added to the camera display list.
* For example, debug sprite for nape debug rendering.
* @param object display object to apply transformations to.
* @return transformed object.* Clean up memory.* Updates the camera scroll as well as special effects like screen-shake or fades.* Updates (bounds) the camera scroll.
* Called every frame by camera's `update()` method.* Updates camera's scroll.
* Called every frame by camera's `update()` method (if camera's `target` isn't `null`).* Recalculates `flashSprite` position.
* Called every frame by camera's `update()` method and every time you change camera's position.* Recalculates `_flashOffset` point, which is used for positioning flashSprite in the game.
* It's called every time you resize the camera or the game.* Updates `_scrollRect` sprite to crop graphics of the camera:
* 1) `scrollRect` property of this sprite
* 2) position of this sprite inside `flashSprite`
*
* It takes camera's size and game's scale into account.
* It's called every time you resize the camera or the game.* Modifies position of `_flashBitmap` in blit render mode and `canvas` and `debugSprite`
* in tile render mode (these objects are children of `_scrollRect` sprite).
* It takes camera's size and game's scale into account.
* It's called every time you resize the camera or the game.* Tells this camera object what `FlxObject` to track.
*
* @param Target The object you want the camera to track. Set to `null` to not follow anything.
* @param Style Leverage one of the existing "deadzone" presets. Default is `LOCKON`.
* If you use a custom deadzone, ignore this parameter and
* manually specify the deadzone after calling `follow()`.
* @param Lerp How much lag the camera should have (can help smooth out the camera movement).* Snaps the camera to the current `target`. Useful to move the camera without
* any easing when the `target` position changes and there is a `followLerp`.* Move the camera focus to this location instantly.
*
* @param Point Where you want the camera to focus.{ Force : false, Duration : 1, Color : FlxColor.WHITE }* The screen is filled with this color and gradually returns to normal.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the flash to fade.
* @param OnComplete A function you want to run when the flash finishes.
* @param Force Force the effect to reset.{ Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK }* The screen is gradually filled with this color.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the fade to finish.
* @param FadeIn `true` fades from a color, `false` fades to it.
* @param OnComplete A function you want to run when the fade finishes.
* @param Force Force the effect to reset.{ Force : true, Duration : 0.5, Intensity : 0.05 }* A simple screen-shake effect.
*
* @param Intensity Percentage of screen size representing the maximum distance
* that the screen can move while shaking.
* @param Duration The length in seconds that the shaking effect should last.
* @param OnComplete A function you want to run when the shake effect finishes.
* @param Force Force the effect to reset (default = `true`, unlike `flash()` and `fade()`!).
* @param Axes On what axes to shake. Default value is `FlxAxes.XY` / both.* Just turns off all the camera effects instantly.* Sets the filter array to be applied to the camera.* Copy the bounds, focus object, and `deadzone` info from an existing camera.
*
* @param Camera The camera you want to copy from.
* @return A reference to this `FlxCamera` object.{ FxAlpha : 1.0, BlendAlpha : true }* Fill the camera with the specified color.
*
* @param Color The color to fill with in `0xAARRGGBB` hex format.
* @param BlendAlpha Whether to blend the alpha value or just wipe the previous contents. Default is `true`.flixel.system.frontEnds.CameraFrontEnd* Internal helper function, handles the actual drawing of all the special effects.flixel.system.frontEnds.CameraFrontEnd* Shortcut for setting both `width` and `height`.
*
* @param Width The new camera width.
* @param Height The new camera height.{ Y : 0, X : 0 }* Helper function to set the coordinates of this camera.
* Handy since it only requires one line of code.
*
* @param X The new x position.
* @param Y The new y position.{ UpdateWorld : false, Height : 0, Width : 0, Y : 0, X : 0 }* Specify the bounding rectangle of where the camera is allowed to move.
*
* @param X The smallest X value of your level (usually `0`).
* @param Y The smallest Y value of your level (usually `0`).
* @param Width The largest X value of your level (usually the level width).
* @param Height The largest Y value of your level (usually the level height).
* @param UpdateWorld Whether the global quad-tree's dimensions should be updated to match (default: `false`).* Specify the bounds of where the camera is allowed to move.
* Set the boundary of a side to `null` to leave that side unbounded.
*
* @param MinX The minimum X value the camera can scroll to
* @param MaxX The maximum X value the camera can scroll to
* @param MinY The minimum Y value the camera can scroll to
* @param MaxY The maximum Y value the camera can scroll to* Helper function to set the scale of this camera.
* Handy since it only requires one line of code.
*
* @param X The new scale on x axis
* @param Y The new scale of y axis* Called by camera front end every time you resize the game.
* It triggers reposition of camera's internal display objects.* The size and position of this camera's screen
* @since 4.11.0{ height : 0, width : 0 }* Checks whether this camera contains a given point or rectangle, in
* screen coordinates.
* @since 4.3.0* Checks whether this camera contains a given rectangle, in screen coordinates.
* @since 4.11.0{ Zoom : 0, Height : 0, Width : 0, Y : 0, X : 0 }* Instantiates a new camera at the specified location, with the specified size and zoom level.
*
* @param X X location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom.
* @param Y Y location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom.
* @param Width The width of the camera display in pixels.
* @param Height The height of the camera display in pixels.
* @param Zoom The initial zoom level of the camera.
* A zoom level of 2 will make all pixels display at 2x resolution. `_scrollRect:Sprite` (which is used for cropping camera's graphic, mostly in tile render mode)
* |-> `_flashBitmap:Bitmap` (its bitmapData property is buffer BitmapData, this var is used in blit render mode.
* Everything is rendered on buffer in blit render mode)
* |-> `canvas:Sprite` (its graphics is used for rendering objects in tile render mode)
* |-> `debugLayer:Sprite` (this sprite is used in tile render mode for rendering debug info, like bounding boxes)]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Camera has no deadzone, just tracks the focus object directly.* Camera's deadzone is narrow but tall.* Camera's deadzone is a medium-size square around the focus object.* Camera's deadzone is a small square around the focus object.* Camera will move screenwise.* Camera has no deadzone, just tracks the focus object directly and centers it.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__addShader public="1" set="method" line="148">
<_HX_SUPER__removeShader public="1" set="method" line="148">
<_HX_SUPER__set_widescreen set="method" line="148">{ smooth : false, hasColorOffsets : false }
<_HX_SUPER__startQuadBatch public="1" set="method" line="148">
{ smooth : false, hasColorOffsets : false }{ isColored : false, smoothing : false }
<_HX_SUPER__startTrianglesBatch public="1" set="method" line="148">
{ isColored : false, smoothing : false }{ isColored : false, smoothing : false }
<_HX_SUPER__getNewDrawTrianglesItem public="1" set="method" line="148">
{ isColored : false, smoothing : false }flixel.system.frontEnds.CameraFrontEnd
<_HX_SUPER__clearDrawStack set="method" line="31">flixel.system.frontEnds.CameraFrontEnd
<_HX_SUPER__render set="method" line="31">{ smoothing : false }
<_HX_SUPER__drawPixels public="1" set="method" line="31">
{ smoothing : false }{ smoothing : false }
<_HX_SUPER__copyPixels public="1" set="method" line="31">
{ smoothing : false }{ smoothing : false, repeat : false }
<_HX_SUPER__drawTriangles public="1" set="method" line="31">
{ smoothing : false, repeat : false }* Helper method preparing debug rectangle for rendering in blit render mode
* @param rect rectangle to prepare for rendering
* @return transformed rectangle with respect to camera's zoom factor
<_HX_SUPER__transformRect set="method" line="148">* Helper method preparing debug point for rendering in blit render mode (for debug path rendering, for example)
* @param point point to prepare for rendering
* @return transformed point with respect to camera's zoom factor
<_HX_SUPER__transformPoint set="method" line="148">* Helper method for applying transformations (scaling and offsets)
* to specified display objects which has been added to the camera display list.
* For example, debug sprite for nape debug rendering.
* @param object display object to apply transformations to.
* @return transformed object.
<_HX_SUPER__transformObject set="method" line="148">* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Updates the camera scroll as well as special effects like screen-shake or fades.
<_HX_SUPER__update public="1" set="method" line="31">* Updates (bounds) the camera scroll.
* Called every frame by camera's `update()` method.
<_HX_SUPER__updateScroll public="1" set="method" line="31">* Updates camera's scroll.
* Called every frame by camera's `update()` method (if camera's `target` isn't `null`).
<_HX_SUPER__updateFollow public="1" set="method" line="31">
<_HX_SUPER__updateFlash set="method" line="31">
<_HX_SUPER__updateFade set="method" line="31">
<_HX_SUPER__completeFade set="method" line="148">
<_HX_SUPER__updateShake set="method" line="31">* Recalculates `flashSprite` position.
* Called every frame by camera's `update()` method and every time you change camera's position.
<_HX_SUPER__updateFlashSpritePosition set="method" line="31">* Recalculates `_flashOffset` point, which is used for positioning flashSprite in the game.
* It's called every time you resize the camera or the game.
<_HX_SUPER__updateFlashOffset set="method" line="31">* Updates `_scrollRect` sprite to crop graphics of the camera:
* 1) `scrollRect` property of this sprite
* 2) position of this sprite inside `flashSprite`
*
* It takes camera's size and game's scale into account.
* It's called every time you resize the camera or the game.
<_HX_SUPER__updateScrollRect set="method" line="31">
<_HX_SUPER__calculateScrollRect set="method" line="148">* Modifies position of `_flashBitmap` in blit render mode and `canvas` and `debugSprite`
* in tile render mode (these objects are children of `_scrollRect` sprite).
* It takes camera's size and game's scale into account.
* It's called every time you resize the camera or the game.
<_HX_SUPER__updateInternalSpritePositions set="method" line="31">* Tells this camera object what `FlxObject` to track.
*
* @param Target The object you want the camera to track. Set to `null` to not follow anything.
* @param Style Leverage one of the existing "deadzone" presets. Default is `LOCKON`.
* If you use a custom deadzone, ignore this parameter and
* manually specify the deadzone after calling `follow()`.
* @param Lerp How much lag the camera should have (can help smooth out the camera movement).
<_HX_SUPER__follow public="1" set="method" line="31">* Snaps the camera to the current `target`. Useful to move the camera without
* any easing when the `target` position changes and there is a `followLerp`.
<_HX_SUPER__snapToTarget public="1" set="method" line="31">{ Force : false, Duration : 1, Color : FlxColor.WHITE }* The screen is filled with this color and gradually returns to normal.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the flash to fade.
* @param OnComplete A function you want to run when the flash finishes.
* @param Force Force the effect to reset.
<_HX_SUPER__flash public="1" set="method" line="31">
{ Force : false, Duration : 1, Color : FlxColor.WHITE }{ Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK }* The screen is gradually filled with this color.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the fade to finish.
* @param FadeIn `true` fades from a color, `false` fades to it.
* @param OnComplete A function you want to run when the fade finishes.
* @param Force Force the effect to reset.
<_HX_SUPER__fade public="1" set="method" line="31">
{ Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK }{ Force : true, Duration : 0.5, Intensity : 0.05 }* A simple screen-shake effect.
*
* @param Intensity Percentage of screen size representing the maximum distance
* that the screen can move while shaking.
* @param Duration The length in seconds that the shaking effect should last.
* @param OnComplete A function you want to run when the shake effect finishes.
* @param Force Force the effect to reset (default = `true`, unlike `flash()` and `fade()`!).
* @param Axes On what axes to shake. Default value is `FlxAxes.XY` / both.
<_HX_SUPER__shake public="1" set="method" line="31">
{ Force : true, Duration : 0.5, Intensity : 0.05 }* Just turns off all the camera effects instantly.
<_HX_SUPER__stopFX public="1" set="method" line="31">* Sets the filter array to be applied to the camera.
<_HX_SUPER__setFilters public="1" set="method" line="31">* Copy the bounds, focus object, and `deadzone` info from an existing camera.
*
* @param Camera The camera you want to copy from.
* @return A reference to this `FlxCamera` object.
<_HX_SUPER__copyFrom public="1" set="method" line="148">{ FxAlpha : 1.0, BlendAlpha : true }* Fill the camera with the specified color.
*
* @param Color The color to fill with in `0xAARRGGBB` hex format.
* @param BlendAlpha Whether to blend the alpha value or just wipe the previous contents. Default is `true`.
<_HX_SUPER__fill public="1" set="method" line="31">
{ FxAlpha : 1.0, BlendAlpha : true }flixel.system.frontEnds.CameraFrontEnd* Internal helper function, handles the actual drawing of all the special effects.
<_HX_SUPER__drawFX set="method" line="31">flixel.system.frontEnds.CameraFrontEnd
<_HX_SUPER__checkResize set="method" line="31">{ UpdateWorld : false, Height : 0, Width : 0, Y : 0, X : 0 }* Specify the bounding rectangle of where the camera is allowed to move.
*
* @param X The smallest X value of your level (usually `0`).
* @param Y The smallest Y value of your level (usually `0`).
* @param Width The largest X value of your level (usually the level width).
* @param Height The largest Y value of your level (usually the level height).
* @param UpdateWorld Whether the global quad-tree's dimensions should be updated to match (default: `false`).
<_HX_SUPER__setScrollBoundsRect public="1" set="method" line="31">
{ UpdateWorld : false, Height : 0, Width : 0, Y : 0, X : 0 }* Specify the bounds of where the camera is allowed to move.
* Set the boundary of a side to `null` to leave that side unbounded.
*
* @param MinX The minimum X value the camera can scroll to
* @param MaxX The maximum X value the camera can scroll to
* @param MinY The minimum Y value the camera can scroll to
* @param MaxY The maximum Y value the camera can scroll to
<_HX_SUPER__setScrollBounds public="1" set="method" line="31">* Helper function to set the scale of this camera.
* Handy since it only requires one line of code.
*
* @param X The new scale on x axis
* @param Y The new scale of y axis
<_HX_SUPER__setScale public="1" set="method" line="31">* Called by camera front end every time you resize the game.
* It triggers reposition of camera's internal display objects.
<_HX_SUPER__onResize public="1" set="method" line="31">* The size and position of this camera's screen
* @since 4.11.0
<_HX_SUPER__getViewRect public="1" set="method" line="148">
<_HX_SUPER__set_followLerp set="method" line="148">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<_HX_SUPER__set_zoom set="method" line="148">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_angle set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__set_antialiasing set="method" line="148">
<_HX_SUPER__set_x set="method" line="148">
<_HX_SUPER__set_y set="method" line="148">
<_HX_SUPER__set_visible set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxCamera.FlxDrawItemflixel.FlxCameraflixel.FlxCamera.FlxCameraFollowStyle""* Formats the version in the format "HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA",
* e.g. HaxeFlixel 3.0.4.
* If this is a dev version, the git sha is included.* Helper object for semantic versioning.
* @see http://semver.org/hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.system.macros.FlxGitSHA.buildGitSHA("flixel")* Gets max texture size for native targets* Helper FlxFrame object. Containing only one frame.
* Useful for drawing colored rectangles of all sizes in FlxG.renderTile mode.
<_cache>
flixel.system.frontEnds.BitmapLogFrontEnd
<_whitePixel>
<_lastUniqueKeyIndex expr="0">
0* New context handler.
* Regenerates tilesheets for all dumped graphics objects in the cache.* Dumps bits of all graphics in the cache. This frees some memory, but you can't read/write pixels on those graphics anymore.
* You can call undump() method for each FlxGraphic (or undumpCache()) object which will restore it again.* Restores graphics of all dumped objects in the cache.* Check the local bitmap cache to see if a bitmap with this key has been loaded already.
*
* @param Key The string key identifying the bitmap.
* @return Whether or not this file can be found in the cache.{ Unique : false }* Generates a new BitmapData object (a colored rectangle) and caches it.
*
* @param Width How wide the rectangle should be.
* @param Height How high the rectangle should be.
* @param Color What color the rectangle should be (0xAARRGGBB)
* @param Unique Ensures that the bitmap data uses a new slot in the cache.
* @param Key Force the cache to use a specific Key to index the bitmap.
* @return The BitmapData we just created.{ Unique : false }* Loads a bitmap from a file, clones it if necessary and caches it.
* @param Graphic Optional FlxGraphics object to create FlxGraphic from.
* @param Frames Optional FlxFramesCollection object to create FlxGraphic from.
* @param Bitmap Optional BitmapData object to create FlxGraphic from.
* @param BitmapClass Optional Class for BitmapData to create FlxGraphic from.
* @param Str Optional String key to use for FlxGraphic instantiation.
* @param Unique Ensures that the bitmap data uses a new slot in the cache.
* @param Key Force the cache to use a specific Key to index the bitmap.
* @return The FlxGraphic we just created.* Caches specified FlxGraphic object.
*
* @param graphic FlxGraphic to store in the cache.
* @return cached FlxGraphic object.* Gets FlxGraphic object from this storage by specified key.
* @param key Key for FlxGraphic object (its name)
* @return FlxGraphic with the key name, or null if there is no such object* Gets key from bitmap cache for specified BitmapData
*
* @param bmd BitmapData to find in cache
* @return BitmapData's key or null if there isn't such BitmapData in cache* Helper method for getting cache key for FlxGraphic objects created from the class.
*
* @param source BitmapData source class.
* @return Full name for provided class.{ unique : false }* Creates string key for further caching.
*
* @param systemKey The first string key to use as a base for a new key. It's usually a key from openfl.Assets ("assets/image.png").
* @param userKey The second string key to use as a base for a new key. It's usually a key provided by the user
* @param unique Whether generated key should be unique or not.
* @return Created key.* Gets unique key for bitmap cache
*
* @param baseKey key's prefix
* @return unique key* Generates key from provided base key and information about tile size and offsets in spritesheet
* and the region of image to use as spritesheet graphics source.
*
* @param baseKey Beginning of the key. Usually it is the key for original spritesheet graphics (like "assets/tile.png")
* @param frameSize the size of tile in spritesheet
* @param frameSpacing offsets between tiles in offsets
* @param region region of image to use as spritesheet graphics source
* @return Generated key for spritesheet with inserted spaces between tiles* Totally removes specified FlxGraphic object.
* @param FlxGraphic object you want to remove and destroy.* Totally removes FlxGraphic object with specified key.
* @param key the key for cached FlxGraphic object.
<__doNotDelete expr="false">
falseflixel.graphics.FlxGraphic
<__countCache expr="[]">
[]
<__cacheCopy expr="[]">
[]* Clears image cache (and destroys those images).
* Graphics object will be removed and destroyed only if it shouldn't persist in the cache and its useCount is 0.* Maps the entire cache as destroyable, aka must be cleared.* Completely resets bitmap cache, which means destroying ALL of the cached FlxGraphic objects.* Removes all unused graphics from cache,
* but skips graphics which should persist in cache and shouldn't be destroyed on no use.* Internal storage system to prevent graphics from being used repeatedly in memory.
*
* Accessed via `FlxG.bitmap`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ Name : "" }* Clears all bitmaps{ Index : -1 }* Clear one bitmap object from the log -- the last one, by default
* @param Index* Clears the bitmapLog window and adds the entire cache to it.flixel.FlxG* Accessed via `FlxG.bitmapLog`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()[]* An array listing FlxCamera objects that are used to draw stuff.
* By default flixel creates one camera the size of the screen.
* Do not edit directly, use `add` and `remove` instead.[]* Array listing all cameras marked as default draw targets, `FlxBasics` with no
*`cameras` set will render to them.* The current (global, applies to all cameras) bgColor.()]]>@since 4.2.0()]]>@since 4.2.0()]]>@since 4.2.0()]]>@since 4.2.0()]]>@since 4.2.0false* Allows you to possibly slightly optimize the rendering process IF
* you are not doing any pre-processing in your game state's draw() call.
<_cameraRect expr="new Rectangle()">
new Rectangle()* Internal helper variable for clearing the cameras each frame.{ DefaultDrawTarget : true }* Add a new camera object to the game.
* Handy for PiP, split-screen, etc.
* @see flixel.FlxBasic.cameras
*
* @param NewCamera The camera you want to add.
* @param DefaultDrawTarget Whether to add the camera to the list of default draw targets. If false,
* `FlxBasics` will not render to it unless you add it to their `cameras` list.
* @return This FlxCamera instance.{ Destroy : true }* Remove a camera from the game.
*
* @param Camera The camera you want to remove.
* @param Destroy Whether to call destroy() on the camera, default value is true.* If set to true, the camera is listed as a default draw target, meaning `FlxBasics`
* render to the specified camera if the `FlxBasic` has a null `cameras` value.
* @see flixel.FlxBasic.cameras
*
* @param camera The camera you wish to change.
* @param value If false, FlxBasics will not render to it unless you add it to their `cameras` list.
* @since 4.9.0* Dumps all the current cameras and resets to just one camera.
* Handy for doing split-screen especially.
*
* @param NewCamera Optional; specify a specific camera object to be the new main camera.{ Force : false, Duration : 1, Color : FlxColor.WHITE }* All screens are filled with this color and gradually return to normal.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the flash to fade.
* @param OnComplete A function you want to run when the flash finishes.
* @param Force Force the effect to reset.{ Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK }* The screen is gradually filled with this color.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the fade to finish.
* @param FadeIn True fades from a color, false fades to it.
* @param OnComplete A function you want to run when the fade finishes.
* @param Force Force the effect to reset.{ Force : true, Duration : 0.5, Intensity : 0.05 }* A simple screen-shake effect.
*
* @param Intensity Percentage of screen size representing the maximum distance that the screen can move while shaking.
* @param Duration The length in seconds that the shaking effect should last.
* @param OnComplete A function you want to run when the shake effect finishes.
* @param Force Force the effect to reset (default = true, unlike flash() and fade()!).
* @param Axes On what axes to shake. Default value is XY / both.flixel.FlxGame* Called by the game object to lock all the camera buffers and clear them for the next draw pass.flixel.FlxGameflixel.FlxGame* Called by the game object to draw the special FX and unlock all the camera buffers.flixel.FlxGame* Called by the game object to update the cameras and their tracking/special effects logic.flixel.FlxGame* Resizes and moves cameras when the game resizes (onResize signal).flixel.FlxG* Accessed via `FlxG.cameras`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()true* Whether the console should auto-pause or not when it's focused.true* Whether the console should `step()` the game after a command is entered.
* Setting this to `false` allows inputting multiple console commands within the same frame.
* Use the `step()` command to step the game from the console.
* @since 4.2.0* Register a new function to use in any command.
*
* @param FunctionAlias The name with which you want to access the function.
* @param Function The function to register.* Register a new object to use in any command.
*
* @param ObjectAlias The name with which you want to access the object.
* @param AnyObject The object to register.* Register a new class to use in any command.
*
* @param cl The class to register.* Register a new enum to use in any command.
*
* @param e The enum to register.
* @since 4.4.0flixel.FlxG* Accessed via `FlxG.console`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()3* The amount of decimals Floats are rounded to in the debugger.[F2, GRAVEACCENT, BACKSLASH]* The key codes used to toggle the debugger (see FlxG.keys for the keys available).
* Default keys: F2, ` and \. Set to null to deactivate.false* Whether to draw the hitboxes of FlxObjects.new FlxSignal()* Dispatched when `drawDebug` is changed.new FlxSignal()* Dispatched when `visible` is changed.
* @since 4.1.0false* Change the way the debugger's windows are laid out.
*
* @param Layout The layout codes can be found in FlxDebugger, for example FlxDebugger.MICRO* Just resets the debugger windows to whatever the last selected layout was (STANDARD by default).{ UpdateLayout : true, ToggleMode : false }* Create and add a new debugger button.
*
* @param Position Either LEFT, CENTER or RIGHT.
* @param Icon The icon to use for the button
* @param UpHandler The function to be called when the button is pressed.
* @param ToggleMode Whether this is a toggle button or not.
* @param UpdateLayout Whether to update the button layout.
* @return The added button.* Adds a new TrackerProfile for track(). This also overrides existing profiles.
*
* @param Profile The TrackerProfile{ UpdateLayout : true }* Removes and destroys a button from the debugger.
*
* @param Button The FlxSystemButton instance to remove.
* @param UpdateLayout Whether to update the button layout.flixel.FlxGame.onFocusflixel.FlxG* Accessed via `FlxG.debugger`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()[]* A read-only list of all inputs.true* Whether inputs are reset on state switches.
* Disable if you need persistent input states across states.flixel.FlxGameflixel.FlxGameflixel.FlxGameflixel.FlxGameflixel.FlxState.resetSubStateflixel.FlxG* Accessed via `FlxG.inputs`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()false* Whether everything you trace() is being redirected into the log window.
<_standardTraceFunction>{ FireOnce : false }* Add an advanced log message to the debugger by also specifying a LogStyle. Backend to FlxG.log.add(), FlxG.log.warn(), FlxG.log.error() and FlxG.log.notice().
*
* @param Data Any Data to log.
* @param Style The LogStyle to use, for example LogStyle.WARNING. You can also create your own by importing the LogStyle class.
* @param FireOnce Whether you only want to log the Data in case it hasn't been added already* Clears the log output.* Internal function used as a interface between trace() and add().
*
* @param Data The data that has been traced
* @param Inf Information about the position at which trace() was calledflixel.FlxG* Accessed via `FlxG.log`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()Outputs `v` in a platform-dependent way.
The second parameter `infos` is injected by the compiler and contains
information about the position where the `trace()` call was made.
This method can be rebound to a custom function:
var oldTrace = haxe.Log.trace; // store old function
haxe.Log.trace = function(v, ?infos) {
// handle trace
}
...
haxe.Log.trace = oldTrace;
If it is bound to null, subsequent calls to `trace()` will cause an
exception.Format the output of `trace` before printing it.Log primarily provides the `trace()` method, which is invoked upon a call to
`trace()` in Haxe code.* Internal shared function to ensure an arbitrary value is in the valid range of seed values.
<_arrayFloatHelper expr="null" line="448" static="1">
null* Internal shared helper variable. Used by getObject().48271.0* Constants used in the pseudorandom number generation equation.
* These are the constants suggested by the revised MINSTD pseudorandom number generator,
* and they use the full range of possible integer values.
*
* @see http://en.wikipedia.org/wiki/Linear_congruential_generator
* @see Stephen K. Park and Keith W. Miller and Paul K. Stockmeyer (1988).
* "Technical Correspondence". Communications of the ACM 36 (7): 105–110.FlxMath.MAX_VALUE_INT1* The global base random number generator seed (for deterministic behavior in recordings and saves).
* If you want, you can set the seed with an integer between 1 and 2,147,483,647 inclusive.
* Altering this yourself may break recording functionality!* Current seed used to generate new random numbers. You can retrieve this value if,
* for example, you want to store the seed that was used to randomly generate a level.* Function to easily set the global seed to a new random number.
* Please note that this function is not deterministic!
* If you call it in your game, recording may not function as expected.
*
* @return The new initial seed.{ Max : FlxMath.MAX_VALUE_INT, Min : 0 }* Returns a pseudorandom integer between Min and Max, inclusive.
* Will not return a number in the Excludes array, if provided.
* Please note that large Excludes arrays can slow calculations.
*
* @param Min The minimum value that should be returned. 0 by default.
* @param Max The maximum value that should be returned. 2,147,483,647 by default.
* @param Excludes Optional array of values that should not be returned.{ Max : 1, Min : 0 }* Returns a pseudorandom float value between Min (inclusive) and Max (exclusive).
* Will not return a number in the Excludes array, if provided.
* Please note that large Excludes arrays can slow calculations.
*
* @param Min The minimum value that should be returned. 0 by default.
* @param Max The maximum value that should be returned. 1 by default.
* @param Excludes Optional array of values that should not be returned.
<_hasFloatNormalSpare expr="false">
false
<_floatNormalRand1 expr="0">
0
<_floatNormalRand2 expr="0">
0
<_twoPI expr="Math.PI * 2">
Math.PI * 2
<_floatNormalRho expr="0">
0{ StdDev : 1, Mean : 0 }* Returns a pseudorandom float value in a statistical normal distribution centered on Mean with a standard deviation size of StdDev.
* (This uses the Box-Muller transform algorithm for gaussian pseudorandom numbers)
*
* Normal distribution: 68% values are within 1 standard deviation, 95% are in 2 StdDevs, 99% in 3 StdDevs.
* See this image: https://github.com/HaxeFlixel/flixel-demos/blob/dev/Performance/FlxRandom/normaldistribution.png
*
* @param Mean The Mean around which the normal distribution is centered
* @param StdDev Size of the standard deviation{ Chance : 50 }* Returns true or false based on the chance value (default 50%).
* For example if you wanted a player to have a 30.5% chance of getting a bonus,
* call bool(30.5) - true means the chance passed, false means it failed.
*
* @param Chance The chance of receiving the value.
* Should be given as a number between 0 and 100 (effectively 0% to 100%)
* @return Whether the roll passed or not.{ Chance : 50 }* Returns either a 1 or -1.
*
* @param Chance The chance of receiving a positive value.
* Should be given as a number between 0 and 100 (effectively 0% to 100%)
* @return 1 or -1* Pseudorandomly select from an array of weighted options. For example, if you passed in an array of [50, 30, 20]
* there would be a 50% chance of returning a 0, a 30% chance of returning a 1, and a 20% chance of returning a 2.
* Note that the values in the array do not have to add to 100 or any other number.
* The percent chance will be equal to a given value in the array divided by the total of all values in the array.
*
* @param WeightsArray An array of weights.
* @return A value between 0 and (SelectionArray.length - 1), with a probability equivalent to the values in SelectionArray.{ GreyScale : false }* Returns a random color.
*
* @param Min An optional FlxColor representing the lower bounds for the generated color.
* @param Max An optional FlxColor representing the upper bounds for the generated color.
* @param Alpha An optional value for the alpha channel of the generated color.
* @param GreyScale Whether or not to create a color that is strictly a shade of grey. False by default.
* @return A color value as a FlxColor.* Internal method to quickly generate a pseudorandom number. Used only by other functions of this class.
* Also updates the internal seed, which will then be used to generate the next pseudorandom number.
*
* @return A new pseudorandom number.1* The actual internal seed. Stored as a Float value to prevent inaccuracies due to
* integer overflow in the generate() equation.* Internal function to update the current seed whenever the initial seed is reset,
* and keep the initial seed's value in range.* Returns the internal seed as an integer.* Sets the internal seed to an integer value.* Create a new FlxRandom object.
*
* @param InitialSeed The first seed of this FlxRandom object. If ignored, a random seed will be generated.* A class containing a set of functions for random generation. Should be accessed via `FlxG.random`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()?#]+/]]>?#` or space characters]]>flixel.FlxG.initSave* Converts invalid characters to "-", producing a valid string for a FlxSave's name and path* Converts invalid characters to "-", and logs a warning in debug mode* Allows you to directly access the data container in the local shared object.* The name of the local shared object.* The path of the local shared object.
* @since 4.6.0EMPTY* The current status of the save.
* @since 5.0.0* Wether the save was successfully bound.
* @since 5.0.0
<_sharedObject>
* The local shared object itself.* Clean up memory. ? #`
* @param path The full or partial path to the file that created the shared object.
* Mainly used to differentiate from other FlxSaves. If you do not specify
* this parameter, the company name specified in your Project.xml is used.
* @return Whether or not you successfully connected to the save data.]]>{ minFileSize : 0, eraseSave : true, overwrite : false }* Creates a new FlxSave and copies the data from old to new,
* flushes the new save (if changed) and then optionally erases the old save.
*
* @param name The name of the save.
* @param path The full or partial path to the file that created the save.
* @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false.
* @param eraseSave Whether to erase the save after successfully migrating the data. defaults to true.
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return Whether or not you successfully found, merged and flushed data.{ minFileSize : 0, overwrite : false }* Copies the given data over to this save and flushes (if changed).
*
* @param sourceData The data to merge
* @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false.
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return Whether or not you successfully saved the data.{ minFileSize : 0 }* A way to safely call flush() and destroy() on your save file.
* Will correctly handle storage size popups and all that good stuff.
* If you don't want to save your changes first, just call destroy() instead.
*
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return The result of result of the flush() call (see below for more details).{ minFileSize : 0 }* Writes the local shared object to disk immediately. Leaves the object open in memory.
*
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return Whether or not the data was written immediately. False could be an error OR a storage request popup.* Erases everything stored in the local shared object.
* Data is immediately erased and the object is saved that way,
* so use with caution!
*
* @return Returns false if the save object is not bound yet.* Handy utility function for checking and warning if the shared object is bound yet or not.
*
* @return Whether the shared object was bound yet.* Scans the data for any properties.
* @since 5.0.0\AppData\Roaming\\.sol"```
* - Mac: ```"/Users//Library/Application Support//.sol"```
* - Chrome: In the developer tools, go to the Application tab, and under
* `Storage->Local Storage->https://.com` with the key:`:"`
*
* ## 5.0.0 Migration
* In older version of flixel, a null path on html5 would use the current url. FlxSaves with a
* null path will now look for that path, if the new default path is not found. If data is found
* at the legacy, it is loaded, but `flush` calls will save to the new default path. The old save
* is not deleted.
*
* Prior to 5.0.0, FlxG.save's default save name was `"flixel"`, now it uses the project name as
* defined in Project.xml. FlxG.save will automatically look for the old default save if the new
* one is not found, and any flush call will save to the new path and id.
*
* Previously, on desktop targets, saves were added to subfolders based on the project's name and
* company, eg: `"////.sol"`. This prevent separate
* projects from referencing each others saves (this was OpenFL attempting to mirror Flash's
* SharedObject behaviour). To allow cross-save referencing, the new location is simply:
* `'//.sol'`. If no data is found in this location, `FlxSave` will look in the
* old location, any `flush` call will save to the new location. For example, a save named with the
* old default name `"flixel"` may be saved at `"<...>/FooBarGames/PorbsAdventure/flixel.sol"`.
* The new default save name "PorbsAdventure" would be at `"<...>/FooBarGames/PorbsAdventure.sol"`.
* @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.util.FlxSharedObjectCENTERCENTER* The base class from which all other scale modes extend from.
* You can implement your own scale mode by extending this class and overriding the appropriate methods.
*
* The default behavior of `BaseScaleMode` matches that of `FillScaleMode`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ fillScreen : false }* @param fillScreen Whether to cut the excess side to fill the
* screen or always display everything.* `RatioScaleMode` is a scaling mode which maintains the game's aspect ratio.
* When you shrink or grow the window, the width and height of the game will adjust,
* either scaling the game or adding black bars as needed.
*
* This is the default scaling mode used by HaxeFlixel.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()new FlxSignal()* Gets dispatched when a state change occurs.
* @since 4.6.0new FlxSignal()* @since 4.6.0"Use preStateSwitch instead of stateSwitched"()]]> Int>()]]>* Gets dispatched when the game is resized.
* Passes the new window width and height to callback functions.new FlxSignal()new FlxSignal()new FlxSignal()* Gets dispatched just before the game is started (before the first state after the splash screen is created)
* @since 4.6.0new FlxSignal()* Gets dispatched when the game is started (first state after the splash screen).
* @since 4.6.0"Use postGameStart instead of gameStarted"new FlxSignal()new FlxSignal()new FlxSignal()new FlxSignal()new FlxSignal()new FlxSignal()"Use preStateSwitch instead of stateSwitched""Use postGameStart instead of gameStarted"flixel.FlxG* Accessed via `FlxG.signals`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Add a variable to the watch list in the debugger.
* This lets you see the value of the variable all the time.
*
* @param object A reference to any object in your game, e.g. Player or Robot or this.
* @param field The name of the variable you want to watch, in quotes, as a string: e.g. "speed" or "health".
* @param displayName Optional, display your own string instead of the class name + variable name: e.g. "enemy count".* Remove a variable from the watch list in the debugger.
*
* @param object A reference to any object in your game, e.g. Player or Robot or this.
* @param field The name of the variable you want to watch, in quotes, as a string: e.g. "speed" or "health".* Add or update a quickWatch entry to the watch list in the debugger.
* Extremely useful when called in update() functions when there
* doesn't exist a variable for a value you want to watch - so you won't have to create one.
*
* @param displayName The name of the quickWatch entry, for example `"mousePressed"`.
* @param value The new value for this entry, for example `FlxG.mouse.pressed`.* Remove a quickWatch entry from the watch list of the debugger.
*
* @param displayName The name of the quickWatch entry you want to remove.* Add an expression to the watch list in the debugger.
* The expression gets evaluated with hscript, and you can see its current value all the time.
*
* @param expression A Haxe expression written as a string that will be evaluated and watched.
* @param displayName Optional, display your own string instead of the expression string: e.g. "enemy count".
* @since 4.1.0* Remove an expression from the watch list in the debugger.
*
* @param displayName The display name of the registered expression, if you supplied one, or the Haxe expression that you want to remove, in string form.
* @since 4.1.0* Add the mouse coords to the watch window. Useful for quickly
* getting coordinates for object placement during prototyping!* Removes the mouse coords from the watch window.* Accessed via `FlxG.watch`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()false* Whenever black bars for cameras shouldn't show up.false* Whenever antialiasing should be forced off, even if the `antialiasing` property of the sprite is set to `true`.true* Whether the game should be paused when focus is lost or not. Use `-D FLX_NO_FOCUS_LOST_SCREEN`
* if you only want to get rid of the default pause screen.
* Override `onFocus()` and `onFocusLost()` for your own behaviour in your state.true* WARNING: Changing this can lead to issues with physics and the recording system. Setting this to
* `false` might lead to smoother animations (even at lower fps) at the cost of physics accuracy.1* How fast or slow time should pass in the game; default is `1.0`.6* How many times the quad tree should divide the world on each axis.
* Generally, sparse collisions can have fewer divisons,
* while denser collision activity usually profits from more. Default value is `6`.
<_camera static="1">
* By default this just refers to the first entry in the `FlxG.cameras.list`
* array but you can do what you like with it.* By default this just refers to the first entry in the `FlxG.cameras.list`
* array but you can do what you like with it.new FlxVersion(5, 0, 2)* The HaxeFlixel version, in semantic versioning syntax. Use `Std.string()`
* on it to get a `String` formatted like this: `"HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA"`.* Internal tracker for game object.* The Flash stage object (required for event listeners).
* Will be `null` if it's not safe/useful yet.* Access the current game state from anywhere. Consider using `addChildBelowMouse()`
* if you want to add a `DisplayObject` to the stage instead of directly adding it here!* How many times you want your game to update each second.
* More updates usually means better collisions and smoother motion.
* NOTE: This is NOT the same thing as the draw framerate!* How many times you want your game to step each second. More steps usually means greater responsiveness,
* but it can also slowdown your game if the stage can't keep up with the update routine.
* NOTE: This is NOT the same thing as the update framerate!* Whether the game is running on a mobile device.
* If on HTML5, it returns `FlxG.html5.onMobile`.
* Otherwise, it checks whether the `mobile` haxedef is defined.
* @since 4.2.00flixel.FlxGame.updateElapsed* Represents the amount of time in seconds that passed since last frame.0.1* Useful when the timestep is NOT fixed (i.e. variable),
* to prevent jerky movement or erratic behavior at very low fps.
* Essentially locks the framerate to a minimum value - any slower and you'll get
* slowdown instead of frameskip; default is 1/10th of a second.flixel.system.scaleModes* The width of the screen in game pixels. Read-only, use `resizeGame()` to change.flixel.system.scaleModes* The height of the screen in game pixels. Read-only, use `resizeGame()` to change.new RatioScaleMode()* The scale mode the game should use.
* HaxeFlixel includes several available scale modes, which are located in `flixel.system.scaleModes`.
* However, you may also create a class which extends `BaseScaleMode`, and override its behavior according to your needs.* Use this to toggle between fullscreen and normal mode. Works on CPP, Neko and Flash.
* You can easily toggle fullscreen with e.g.: `FlxG.fullscreen = !FlxG.fullscreen;`FlxRect.get()* The dimensions of the game world, used by the quad tree for collisions and overlap checks.
* Use `.set()` instead of creating a new object!new FlxSave()* A `FlxSave` used internally by flixel to save sound preferences and
* the history of the console window, but no reason you can't use it for your own stuff too!new FlxRandom()* A `FlxRandom` object which can be used to generate random numbers.
* Also used by Flixel internally.* Used for mouse input. e.g.: check if the left mouse button
* is pressed with `if (FlxG.mouse.pressed) { })` in `update()`.* Useful for devices with multitouch support.[]* Contains all "swipes" from both mouse and touch input that have just ended.* Used for keyboard input e.g.: check if the left arrow key is
* pressed with `if (FlxG.keys.pressed.LEFT) { }` in `update()`.* Allows accessing the available gamepads.new InputFrontEnd()* Mostly used internally, but you can use it too to reset inputs and create input classes of your own.new ConsoleFrontEnd()* Used to register functions and objects or add new commands to the console window.new LogFrontEnd()* Used to add messages to the log window or enable `trace()` redirection.new BitmapLogFrontEnd()* Used to add images to the bitmap log window.new WatchFrontEnd()* Used to add or remove things to / from the watch window.new DebuggerFrontEnd()* Used it to show / hide the debugger, change its layout,
* activate debug drawing or change the key used to toggle it.* Contains all the functions needed for recording and replaying.new BitmapFrontEnd()* Contains things related to bitmaps, for example regarding the `BitmapData` cache and the cache itself.new CameraFrontEnd()* Contains things related to cameras, a list of all cameras and several effects like `flash()` or `fade()`.* Contains a list of all plugins and the functions required to `add()`, `remove()` them etc.000* Contains a list of all sounds and other things to manage or `play()` sounds.new SignalFrontEnd()* Contains system-wide signals like `gameResized` or `preStateSwitch`.* Resizes the game within the window by reapplying the current scale mode.* Resizes the window. Only works on desktop targets (Neko, Windows, Linux, Mac).* Like hitting the reset button a game console, this will re-launch the game as if it just started.* Attempts to switch from the current game state to `nextState`.
* The state switch is successful if `switchTo()` of the current `state` returns `true`.* Request a reset of the current game state.
* Calls `switchState()` with a new instance of the current `state`.* Call this function to see if one `FlxObject` overlaps another within `FlxG.worldBounds`.
* Can be called with one object and one group, or two groups, or two objects,
* whatever floats your boat! For maximum performance try bundling a lot of objects
* together using a `FlxGroup` (or even bundling groups together!).
*
* NOTE: does NOT take objects' `scrollFactor` into account, all overlaps are checked in world space.
*
* NOTE: this takes the entire area of `FlxTilemap`s into account (including "empty" tiles).
* Use `FlxTilemap#overlaps()` if you don't want that.
*
* @param ObjectOrGroup1 The first object or group you want to check.
* @param ObjectOrGroup2 The second object or group you want to check. If it is the same as the first,
* Flixel knows to just do a comparison within that group.
* @param NotifyCallback A function with two `FlxObject` parameters -
* e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` -
* that is called if those two objects overlap.
* @param ProcessCallback A function with two `FlxObject` parameters -
* e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` -
* that is called if those two objects overlap.
* If a `ProcessCallback` is provided, then `NotifyCallback`
* will only be called if `ProcessCallback` returns true for those objects!
* @return Whether any overlaps were detected.{ AlphaTolerance : 255 }* A pixel perfect collision check between two `FlxSprite` objects.
* It will do a bounds check first, and if that passes it will run a
* pixel perfect match on the intersecting area. Works with rotated and animated sprites.
* May be slow, so use it sparingly.
*
* @param Sprite1 The first `FlxSprite` to test against.
* @param Sprite2 The second `FlxSprite` to test again, sprite order is irrelevant.
* @param AlphaTolerance The tolerance value above which alpha pixels are included.
* Default to `255` (must be fully opaque for collision).
* @param Camera If the collision is taking place in a camera other than
* `FlxG.camera` (the default/current) then pass it here.
* @return Whether the sprites collide* Call this function to see if one `FlxObject` collides with another within `FlxG.worldBounds`.
* Can be called with one object and one group, or two groups, or two objects,
* whatever floats your boat! For maximum performance try bundling a lot of objects
* together using a FlxGroup (or even bundling groups together!).
*
* This function just calls `FlxG.overlap` and presets the `ProcessCallback` parameter to `FlxObject.separate`.
* To create your own collision logic, write your own `ProcessCallback` and use `FlxG.overlap` to set it up.
* NOTE: does NOT take objects' `scrollFactor` into account, all overlaps are checked in world space.
*
* @param ObjectOrGroup1 The first object or group you want to check.
* @param ObjectOrGroup2 The second object or group you want to check. If it is the same as the first,
* Flixel knows to just do a comparison within that group.
* @param NotifyCallback A function with two `FlxObject` parameters -
* e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` -
* that is called if those two objects overlap.
* @return Whether any objects were successfully collided/separated.{ IndexModifier : 0 }* Regular `DisplayObject`s are normally displayed over the Flixel cursor and the Flixel debugger if simply
* added to `stage`. This function simplifies things by adding a `DisplayObject` directly below mouse level.
*
* @param Child The `DisplayObject` to add
* @param IndexModifier Amount to add to the index - makes sure the index stays within bounds.
* @return The added `DisplayObject`* Removes a child from the Flixel display list, if it is part of it.
*
* @param Child The `DisplayObject` to add
* @return The removed `DisplayObject`{ Target : "_blank" }* Opens a web page, by default a new tab or window. If the URL does not
* already start with `"http://"` or `"https://"`, it gets added automatically.
*
* @param URL The address of the web page.
* @param Target `"_blank"`, `"_self"`, `"_parent"` or `"_top"`flixel.FlxGame.new* Called by `FlxGame` to set up `FlxG` during `FlxGame`'s constructor.flixel.FlxGame* Called whenever the game is reset, doesn't have to do quite as much work as the basic initialization stuff.* Global helper class for audio, input, the camera system, the debugger and other global properties.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxGflixel.FlxG.FlxRenderMethod10* Framerate to use on focus lost. Default is `10`.* The sound tray display container.0* Time in milliseconds that has passed (amount of "ticks" passed) since the game has started.true* Enables or disables the filters set via `setFilters()`.
<_gameJustStarted expr="false">
falseflixel.system.FlxSplash* A flag for triggering the `preGameStart` and `postGameStart` "events".
<_initialState>
* Class type of the initial/first game state for the game, usually `MenuState` or something like that.
<_state>
* Current game state.
<_total expr="0">
0* Total number of milliseconds elapsed since game start.
<_startTime expr="0">
0* Time stamp of game startup. Needed on JS where `Lib.getTimer()`
* returns time stamp of current date, not the time passed since app start.
<_accumulator>
* Total number of milliseconds elapsed since last update loop.
* Counts down as we step through the game loop.
<_elapsedMS>
* Milliseconds of time since last step.
<_stepMS>
* Milliseconds of time per step of the game loop. e.g. 60 fps = 16ms.
<_stepSeconds>
* Optimization so we don't have to divide step by 1000 to get its value in seconds every frame.
<_maxAccumulation>
* Max allowable accumulation (see `_accumulator`).
* Should always (and automatically) be set to roughly 2x the stage framerate.
<_lostFocus expr="false">
false* Whether the game lost focus.
<_filters>
* The filters array to be applied to the game.
<_inputContainer>
flixel.FlxGflixel.system.frontEnds.CameraFrontEnd* Mouse cursor.
<_customSoundTray expr="FlxSoundTray">
FlxSoundTray* Change this after calling `super()` in the `FlxGame` constructor
* to use a customized sound tray based on `FlxSoundTray`.
<_skipSplash expr="false">
false* Whether the splash screen should be skipped.
<_startFullscreen expr="false">
false* Should we start fullscreen or not? This is useful if you want to load fullscreen settings from a
* `FlxSave` and set it when the game starts, instead of having it hard-set in your `Project.xml`.
<_requestedState>
* If a state change was requested, the new state object is stored here until we switch to it.
<_resetGame expr="false">
false* A flag for keeping track of whether a game reset was requested or not.* Sets the filter array to be applied to the game.* Used to instantiate the guts of the flixel game object once we have a valid reference to the root.flixel.FlxG* Handles the `onEnterFrame` call and figures out how many updates and draw calls to do.* Internal method to create a new instance of `_initialState` and reset the game.
* This gets called when the game is created, as well as when a new state is requested.false
<__firstSwitch expr="true">
true* If there is a state change requested during the update loop,
* this function handles actual destroying the old state and related processes,
* and calls creates on the new state and plugs it into the game object.* This is the main game update logic section.
* The `onEnterFrame()` handler is in charge of calling this
* the appropriate number of times each frame.
* This block handles state changes, replays, all that good stuff.* This function is called by `step()` and updates the actual game state.
* May be called multiple times per "frame" or draw call.* Goes through the game state and draws all the game objects and special effects.{ StartFullscreen : false, SkipSplash : false, DrawFramerate : 60, UpdateFramerate : 60, Zoom : 1, GameHeight : 0, GameWidth : 0 }* Instantiate a new game object.
*
* @param GameWidth The width of your game in game pixels, not necessarily final display pixels (see `Zoom`).
* If equal to `0`, the window width specified in the `Project.xml` is used.
* @param GameHeight The height of your game in game pixels, not necessarily final display pixels (see `Zoom`).
* If equal to `0`, the window height specified in the `Project.xml` is used.
* @param InitialState The class name of the state you want to create and switch to first (e.g. `MenuState`).
* @param Zoom The default level of zoom for the game's cameras (e.g. `2` = all pixels are now drawn at 2x).
* @param UpdateFramerate How frequently the game should update (default is `60` times per second).
* @param DrawFramerate Sets the actual display / draw framerate for the game (default is `60` times per second).
* @param SkipSplash Whether you want to skip the flixel splash screen with `FLX_NO_DEBUG`.
* @param StartFullscreen Whether to start the game in fullscreen mode (desktop targets only).* `FlxGame` is the heart of all Flixel games, and contains a bunch of basic game loops and things.
* It is a long and sloppy file that you shouldn't have to worry about too much!
* It is basically only used to create your game object in the first place,
* after that `FlxG` and `FlxState` have all the useful stuff you actually need.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.FlxG
<_HX_SUPER__addShader public="1" set="method" line="148">* Sets the filter array to be applied to the game.
<_HX_SUPER__setFilters public="1" set="method" line="31">* Used to instantiate the guts of the flixel game object once we have a valid reference to the root.
<_HX_SUPER__create set="method" line="31">
<_HX_SUPER__onFocus set="method" line="31">
<_HX_SUPER__onFocusLost set="method" line="31">flixel.FlxG
<_HX_SUPER__onResize set="method" line="31">
<_HX_SUPER__resizeGame set="method" line="31">* Handles the `onEnterFrame` call and figures out how many updates and draw calls to do.
<_HX_SUPER__onEnterFrame set="method" line="31">* If there is a state change requested during the update loop,
* this function handles actual destroying the old state and related processes,
* and calls creates on the new state and plugs it into the game object.
<_HX_SUPER__switchState set="method" line="31">
<_HX_SUPER__gameStart set="method" line="31">* This is the main game update logic section.
* The `onEnterFrame()` handler is in charge of calling this
* the appropriate number of times each frame.
* This block handles state changes, replays, all that good stuff.
<_HX_SUPER__step set="method" line="31">
<_HX_SUPER__handleReplayRequests set="method" line="31">* This function is called by `step()` and updates the actual game state.
* May be called multiple times per "frame" or draw call.
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__updateElapsed set="method" line="31">
<_HX_SUPER__updateInput set="method" line="31">* Goes through the game state and draws all the game objects and special effects.
<_HX_SUPER__draw set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxGamefalse* Default value for `FlxObject`'s `pixelPerfectPosition` var.4* This value dictates the maximum number of pixels two objects have to intersect
* before collision stops trying to separate them.
* Don't modify this unless your objects are passing through each other.FlxDirectionFlags.LEFT"Use LEFT or FlxDirectionFlags.LEFT instead"* Generic value for "left". Used by `facing`, `allowCollisions`, and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.LEFT` directly.FlxDirectionFlags.RIGHT"Use RIGHT or FlxDirectionFlags.RIGHT instead"* Generic value for "right". Used by `facing`, `allowCollisions`, and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.RIGHT` directly.FlxDirectionFlags.UP"Use UP or FlxDirectionFlags.UP instead"* Generic value for "up". Used by `facing`, `allowCollisions`, and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.UP` directly.FlxDirectionFlags.DOWN"Use DOWN or FlxDirectionFlags.DOWN instead"* Generic value for "down". Used by `facing`, `allowCollisions`, and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.DOWN` directly.FlxDirectionFlags.NONE"Use NONE or FlxDirectionFlags.NONE instead"* Special-case constant meaning no collisions, used mainly by `allowCollisions` and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.NONE` directly.FlxDirectionFlags.CEILING"Use CEILING or FlxDirectionFlags.CEILING instead"* Special-case constant meaning up, used mainly by `allowCollisions` and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.CEILING` directly.FlxDirectionFlags.FLOOR"Use FLOOR or FlxDirectionFlags.FLOOR instead"* Special-case constant meaning down, used mainly by `allowCollisions` and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.FLOOR` directly.FlxDirectionFlags.WALL"Use WALL or FlxDirectionFlags.WALL instead"* Special-case constant meaning only the left and right sides, used mainly by `allowCollisions` and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.WALL` directly.FlxDirectionFlags.ANY"Use ANY or FlxDirectionFlags.ANY instead"* Special-case constant meaning any direction, used mainly by `allowCollisions` and `touching`.
* Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.ANY` directly.
<_firstSeparateFlxRect expr="FlxRect.get()" line="162" static="1">
FlxRect.get()
<_secondSeparateFlxRect expr="FlxRect.get()" line="164" static="1">
FlxRect.get()* The main collision resolution function in Flixel.
*
* @param Object1 Any `FlxObject`.
* @param Object2 Any other `FlxObject`.
* @return Whether the objects in fact touched and were separated.* Similar to `separate()`, but only checks whether any overlap is found and updates
* the `touching` flags of the input objects, but no separation is performed.
*
* @param Object1 Any `FlxObject`.
* @param Object2 Any other `FlxObject`.
* @return Whether the objects in fact touched.{ checkMaxOverlap : true }* Internal function that computes overlap among two objects on the X axis. It also updates the `touching` variable.
* `checkMaxOverlap` is used to determine whether we want to exclude (therefore check) overlaps which are
* greater than a certain maximum (linked to `SEPARATE_BIAS`). Default is `true`, handy for `separateX` code.* The X-axis component of the object separation process.
*
* @param object1 Any `FlxObject`.
* @param object2 Any other `FlxObject`.
* @return Whether the objects in fact touched and were separated along the X axis.* Checking overlap and updating `touching` variables, X-axis part used by `updateTouchingFlags`.
*
* @param object1 Any `FlxObject`.
* @param object2 Any other `FlxObject`.
* @return Whether the objects in fact touched along the X axis.{ checkMaxOverlap : true }* Internal function that computes overlap among two objects on the Y axis. It also updates the `touching` variable.
* `checkMaxOverlap` is used to determine whether we want to exclude (therefore check) overlaps which are
* greater than a certain maximum (linked to `SEPARATE_BIAS`). Default is `true`, handy for `separateY` code.* The Y-axis component of the object separation process.
*
* @param object1 Any `FlxObject`.
* @param object2 Any other `FlxObject`.
* @return Whether the objects in fact touched and were separated along the Y axis.* Checking overlap and updating touching variables, Y-axis part used by `updateTouchingFlags`.
*
* @param object1 Any `FlxObject`.
* @param object2 Any other `FlxObject`.
* @return Whether the objects in fact touched along the Y axis.0* X position of the upper left corner of this object in world space.0* Y position of the upper left corner of this object in world space.* The width of this object's hitbox. For sprites, use `offset` to control the hitbox position.* The height of this object's hitbox. For sprites, use `offset` to control the hitbox position.* Whether or not the coordinates should be rounded during rendering.
* Does not affect `copyPixels()`, which can only render on whole pixels.
* Defaults to the camera's global `pixelPerfectRender` value,
* but overrides that value if not equal to `null`.true* Whether or not the position of this object should be rounded before any `draw()` or collision checking.0* Set the angle (in degrees) of a sprite to rotate it. WARNING: rotating sprites
* decreases their rendering performance by a factor of ~10x when using blitting!true* Set this to `false` if you want to skip the automatic motion/movement stuff (see `updateMotion()`).
* `FlxObject` and `FlxSprite` default to `true`. `FlxText`, `FlxTileblock` and `FlxTilemap` default to `false`.false* Whether an object will move/alter position after a collision.* Whether the object collides or not. For more control over what directions the object will collide from,
* use collision constants (like `LEFT`, `FLOOR`, etc) to set the value of `allowCollisions` directly.* Controls how much this object is affected by camera scrolling. `0` = no movement (e.g. a background layer),
* `1` = same movement speed as the foreground. Default value is `(1,1)`,
* except for UI elements like `FlxButton` where it's `(0,0)`.* The basic speed of this object (in pixels per second).* How fast the speed of this object is changing (in pixels per second).
* Useful for smooth movement and gravity.* This isn't drag exactly, more like deceleration that is only applied
* when `acceleration` is not affecting the sprite.* If you are using `acceleration`, you can use `maxVelocity` with it
* to cap the speed automatically (very useful!).* Important variable for collision processing.
* By default this value is set automatically during at the start of `update()`.1* The virtual mass of the object. Default value is 1. Currently only used with elasticity
* during collision resolution. Change at your own risk; effects seem crazy unpredictable so far!0* The bounciness of this object. Only affects collisions. Default value is 0, or "not bouncy at all."0* This is how fast you want this sprite to spin (in degrees per second).0* How fast the spin speed should change (in degrees per second).0* Like drag but for spinning.10000* Use in conjunction with angularAcceleration for fluid spin speed control.1* Handy for storing health percentage or armor points or whatever.FlxDirectionFlags.NONE* Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating surface contacts. Use bitwise operators to check the values
* stored here, or use isTouching(), justTouched(), etc. You can even use them broadly as boolean values if you're feeling saucy!FlxDirectionFlags.NONE* Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating surface contacts from the previous game loop step. Use bitwise operators to check the values
* stored here, or use isTouching(), justTouched(), etc. You can even use them broadly as boolean values if you're feeling saucy!FlxDirectionFlags.ANY* Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating collision directions. Use bitwise operators to check the values stored here.
* Useful for things like one-way platforms (e.g. allowCollisions = UP;). The accessor "solid" just flips this variable between NONE and ANY."Use `collisionXDrag`, instead. Note the corrected spelling: `collis(i)onXDrag"DEPRECATED
* Whether this sprite is dragged along with the horizontal movement of objects it collides with
* (makes sense for horizontally-moving platforms in platformers for example).
*
* Apart from having a weird typo, this has been deprecated for collisionXDrag, which allows more options.IMMOVABLE* Whether this sprite is dragged along with the horizontal movement of objects it collides with
* (makes sense for horizontally-moving platforms in platformers for example). Use values
* IMMOVABLE, ALWAYS, HEAVIER or NEVER
* @since 4.11.0NEVER* Whether this sprite is dragged along with the vertical movement of objects it collides with
* (for sticking to vertically-moving platforms in platformers for example). Use values
* IMMOVABLE, ALWAYS, HEAVIER or NEVER
* @since 4.11.0null* The path this object follows. Not initialized by default.
* Assign a `new FlxPath()` object and `start()` it if you want to this object to follow a path.
* Set `path` to `null` again to stop following the path.
* See `flixel.util.FlxPath` for more info and usage examples.
<_point expr="FlxPoint.get()">
FlxPoint.get()
<_rect expr="FlxRect.get()">
FlxRect.get()* Internal function for initialization of some object's variables.* Internal function for initialization of some variables that are used in `updateMotion()`.* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!* Override this function to update your class's position and appearance.
* This is where most of your game rules and behavioral code will go.* Internal function for updating the position and speed of this object.
* Useful for cases when you need to update this but are buried down in too many supers.
* Does a slightly fancier-than-normal integration to help with higher fidelity framerate-independent motion.* Rarely called, and in this case just increments the visible objects count and calls `drawDebug()` if necessary.{ inScreenSpace : false }flixel.group.FlxTypedGroup* Checks to see if some `FlxObject` overlaps this `FlxObject` or `FlxGroup`.
* If the group has a LOT of things in it, it might be faster to use `FlxG.overlap()`.
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param objectOrGroup The object or group being tested.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* Default is `false`, or "only compare in world space."
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether or not the two objects overlap.{ inScreenSpace : false }flixel.group.FlxTypedGroup* Checks to see if this `FlxObject` were located at the given position,
* would it overlap the `FlxObject` or `FlxGroup`?
* This is distinct from `overlapsPoint()`, which just checks that point,
* rather than taking the object's size into account.
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param x The X position you want to check.
* Pretends this object (the caller, not the parameter) is located here.
* @param y The Y position you want to check.
* Pretends this object (the caller, not the parameter) is located here.
* @param objectOrGroup The object or group being tested.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* Default is `false`, or "only compare in world space."
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether or not the two objects overlap.{ inScreenSpace : false }* Checks to see if a point in 2D world space overlaps this `FlxObject`.
*
* @param point The point in world space you want to check.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether or not the point overlaps this object.* Check and see if this object is currently within the world bounds -
* useful for killing objects that get too far away.
*
* @return Whether the object is within the world bounds or not.* Returns the screen position of this object.
*
* @param result Optional arg for the returning point
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @return The screen position of this object.* Returns the world position of this object.
*
* @param result Optional arg for the returning point.
* @return The world position of this object.* Retrieve the midpoint of this object in world coordinates.
*
* @param point Allows you to pass in an existing `FlxPoint` object if you're so inclined.
* Otherwise a new one is created.
* @return A `FlxPoint` object containing the midpoint of this object in world coordinates.* Handy function for reviving game objects.
* Resets their existence flags and position.
*
* @param x The new X position of this object.
* @param y The new Y position of this object.* Check and see if this object is currently on screen.
*
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether the object is on screen or not.* Check if object is rendered pixel perfect on a specific camera.* Handy function for checking if this object is touching a particular surface.
* Be sure to check it before calling `super.update()`, as that will reset the flags.
*
* @param direction Any of the collision flags (e.g. `LEFT`, `FLOOR`, etc).
* @return Whether the object is touching an object in (any of) the specified direction(s) this frame.* Handy function for checking if this object is just landed on a particular surface.
* Be sure to check it before calling `super.update()`, as that will reset the flags.
*
* @param direction Any of the collision flags (e.g. `LEFT`, `FLOOR`, etc).
* @return Whether the object just landed on (any of) the specified surface(s) this frame.* Reduces the `health` variable of this object by the amount specified in `Damage`.
* Calls `kill()` if health drops to or below zero.
*
* @param Damage How much health to take away (use a negative number to give a health bonus).{ axes : XY }* Centers this `FlxObject` on the screen, either by the x axis, y axis, or both.
*
* @param axes On what axes to center the object (e.g. `X`, `Y`, `XY`) - default is both.
* @return This FlxObject for chaining{ y : 0.0, x : 0.0 }* Helper function to set the coordinates of this object.
* Handy since it only requires one line of code.
*
* @param x The new x position
* @param y The new y position* Shortcut for setting both width and Height.
*
* @param width The new hitbox width.
* @param height The new hitbox height.flixel.FlxCamera* Calculates the smallest globally aligned bounding box that encompasses this
* object's width and height, at its current rotation.
* Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored.
* Use `getScreenBounds` to use these properties.
* @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created.
* @return A globally aligned `FlxRect` that fully contains the input object's width and height.
* @since 4.11.0* Convert object to readable string name. Useful for debugging, save games, etc."Use `collisionXDrag`, instead. Note the corrected spelling: `collis(i)onXDrag""Use `collisionXDrag`, instead. Note the corrected spelling: `collis(i)onXDrag"{ height : 0, width : 0, y : 0, x : 0 }* @param X The X-coordinate of the point in space.
* @param Y The Y-coordinate of the point in space.
* @param Width Desired width of the rectangle.
* @param Height Desired height of the rectangle.* At their core `FlxObjects` are just boxes with positions that can move and collide with other
* objects. Most games utilize `FlxObject's` features through [FlxSprite](https://api.haxeflixel.com/flixel/FlxSprite.html),
* which extends `FlxObject` directly and adds graphical capabilities.
*
* ## Motion
* Whenever `update` is called, objects with `move` set to true will update their positions based
* on the following properties:
* - `velocity`: The speed of the object in pixels per second.
* - `acceleration`: The rate at which `velocity` will change in pixels per second.
* - `drag`: When `acceleration` is 0, `velocity` will slow by this amount, in pixels per second.
* When less than or equal to 0, no drag is applied.
* - `maxVelocity`: The maximum `velocity` (or negative `velocity`) this object can have.
* - `angle`: The orientation, in degrees, of this `object`. Does not affect collision, mainly
* used for `FlxSprite` graphics.
* - `angularVelocity`: The rotational speed of thiw object in degrees per second.
*
* ## Overlaps
* If you're only checking an overlap between two objects you can use `player.overlaps(door)`
* or `player.overlaps(spikeGroup)`. You can check if two objects or groups of object overlap
* with [FlxG.overlap](https://api.haxeflixel.com/flixel/FlxG.html#overlap).
*
* Example:
* ```haxe
* if (FlxG.overlap(playerGroup, spikeGroup)) trace("overlap!");
* ```
*
* You can also specify a callback to handle which specific objects collided:
* ```haxe
* FlxG.overlap(playerGroup, medKitGroup
* function onOverlap(player, medKit)
* {
* player.health = 100;
* medKit.kill();
* }
* );
* ```
*
* Additional resources:
* - [Snippets - Simple Overlap](https://snippets.haxeflixel.com/overlap/simple-overlap/)
* - [Snippets - Overlap Callbacks](https://snippets.haxeflixel.com/overlap/overlap-callbacks/)
*
* ## Collision
* `FlxG.collide` is similar to `FlxG.overlap` except it resolves the overlap by separating their
* positions before calling the callback. Typically collide is called on an update loop like so:
* ```haxe
* FlxG.collide(playerGroup, crateGroup);
* ```
* This takes the player's and crate's momentum and previous and current position in consideration
* when resolving overlaps between them. Like `overlap` collide will return true if any objects
* were overlapping, and you can specify a callback.
*
* Additional resources:
* - [Snippets - 1 to 1 Collision](https://snippets.haxeflixel.com/collision/1-to-1-collision/)
* - [Demos - FlxCollisions](https://haxeflixel.com/demos/FlxCollisions/)
* - [Demos - Collision and Grouping](https://haxeflixel.com/demos/CollisionAndGrouping/)
* @see [Demos - EZPlatformer](https://haxeflixel.com/demos/EZPlatformer/)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Determines when to apply collision drag to one object that collided with another.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0Never drags on colliding objects.cast 1Always drags on colliding objects.cast 2Drags when colliding with immovable objects.cast 3Drags when colliding with heavier objects. Immovable objects have infinite mass.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0Never drags on colliding objects.cast 1Always drags on colliding objects.cast 2Drags when colliding with immovable objects.cast 3Drags when colliding with heavier objects. Immovable objects have infinite mass.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.CollisionDragType)Never drags on colliding objects.cast (1, flixel.CollisionDragType)Always drags on colliding objects.cast (2, flixel.CollisionDragType)Drags when colliding with immovable objects.cast (3, flixel.CollisionDragType)Drags when colliding with heavier objects. Immovable objects have infinite mass.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Internal function for initialization of some object's variables.
<_HX_SUPER__initVars set="method" line="31">* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!
<_HX_SUPER__destroy public="1" set="method" line="31">* Override this function to update your class's position and appearance.
* This is where most of your game rules and behavioral code will go.
<_HX_SUPER__update public="1" set="method" line="31">* Internal function for updating the position and speed of this object.
* Useful for cases when you need to update this but are buried down in too many supers.
* Does a slightly fancier-than-normal integration to help with higher fidelity framerate-independent motion.
<_HX_SUPER__updateMotion set="method" line="31">* Rarely called, and in this case just increments the visible objects count and calls `drawDebug()` if necessary.
<_HX_SUPER__draw public="1" set="method" line="31">{ inScreenSpace : false }flixel.group.FlxTypedGroup* Checks to see if some `FlxObject` overlaps this `FlxObject` or `FlxGroup`.
* If the group has a LOT of things in it, it might be faster to use `FlxG.overlap()`.
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param objectOrGroup The object or group being tested.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* Default is `false`, or "only compare in world space."
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether or not the two objects overlap.
<_HX_SUPER__overlaps public="1" set="method" line="148">
{ inScreenSpace : false }{ inScreenSpace : false }flixel.group.FlxTypedGroup* Checks to see if this `FlxObject` were located at the given position,
* would it overlap the `FlxObject` or `FlxGroup`?
* This is distinct from `overlapsPoint()`, which just checks that point,
* rather than taking the object's size into account.
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param x The X position you want to check.
* Pretends this object (the caller, not the parameter) is located here.
* @param y The Y position you want to check.
* Pretends this object (the caller, not the parameter) is located here.
* @param objectOrGroup The object or group being tested.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* Default is `false`, or "only compare in world space."
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether or not the two objects overlap.
<_HX_SUPER__overlapsAt public="1" set="method" line="148">
{ inScreenSpace : false }{ inScreenSpace : false }* Checks to see if a point in 2D world space overlaps this `FlxObject`.
*
* @param point The point in world space you want to check.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether or not the point overlaps this object.
<_HX_SUPER__overlapsPoint public="1" set="method" line="148">
{ inScreenSpace : false }* Returns the screen position of this object.
*
* @param result Optional arg for the returning point
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @return The screen position of this object.
<_HX_SUPER__getScreenPosition public="1" set="method" line="148">* Returns the world position of this object.
*
* @param result Optional arg for the returning point.
* @return The world position of this object.
<_HX_SUPER__getPosition public="1" set="method" line="148">* Retrieve the midpoint of this object in world coordinates.
*
* @param point Allows you to pass in an existing `FlxPoint` object if you're so inclined.
* Otherwise a new one is created.
* @return A `FlxPoint` object containing the midpoint of this object in world coordinates.
<_HX_SUPER__getMidpoint public="1" set="method" line="148">
<_HX_SUPER__getHitbox public="1" set="method" line="148">* Handy function for reviving game objects.
* Resets their existence flags and position.
*
* @param x The new X position of this object.
* @param y The new Y position of this object.
<_HX_SUPER__reset public="1" set="method" line="31">* Check and see if this object is currently on screen.
*
* @param camera Specify which game camera you want.
* If `null`, it will just grab the first global camera.
* @return Whether the object is on screen or not.
<_HX_SUPER__isOnScreen public="1" set="method" line="148">* Check if object is rendered pixel perfect on a specific camera.
<_HX_SUPER__isPixelPerfectRender public="1" set="method" line="148">* Reduces the `health` variable of this object by the amount specified in `Damage`.
* Calls `kill()` if health drops to or below zero.
*
* @param Damage How much health to take away (use a negative number to give a health bonus).
<_HX_SUPER__hurt public="1" set="method" line="31">{ y : 0.0, x : 0.0 }* Helper function to set the coordinates of this object.
* Handy since it only requires one line of code.
*
* @param x The new x position
* @param y The new y position
<_HX_SUPER__setPosition public="1" set="method" line="31">
{ y : 0.0, x : 0.0 }* Shortcut for setting both width and Height.
*
* @param width The new hitbox width.
* @param height The new hitbox height.
<_HX_SUPER__setSize public="1" set="method" line="148">flixel.FlxCamera
<_HX_SUPER__getBoundingBox set="method" line="148">* Calculates the smallest globally aligned bounding box that encompasses this
* object's width and height, at its current rotation.
* Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored.
* Use `getScreenBounds` to use these properties.
* @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created.
* @return A globally aligned `FlxRect` that fully contains the input object's width and height.
* @since 4.11.0
<_HX_SUPER__getRotatedBounds public="1" set="method" line="148">* Convert object to readable string name. Useful for debugging, save games, etc.
<_HX_SUPER__toString public="1" set="method" line="148">
<_HX_SUPER__set_x set="method" line="148">
<_HX_SUPER__set_y set="method" line="148">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<_HX_SUPER__get_width set="method" line="148">
<_HX_SUPER__get_height set="method" line="148">
<_HX_SUPER__set_solid set="method" line="148">
<_HX_SUPER__set_angle set="method" line="148">
<_HX_SUPER__set_moves set="method" line="148">
<_HX_SUPER__set_immovable set="method" line="148">
<_HX_SUPER__set_pixelPerfectRender set="method" line="148">
<_HX_SUPER__set_allowCollisions set="method" line="148">
<_HX_SUPER__get_collisonXDrag set="method" line="148">
<_HX_SUPER__set_collisonXDrag set="method" line="148">
<_HX_SUPER__set_path set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxObjectflixel.FlxObject.CollisionDragTypeflixel.FlxObject.CollisionDragTypefalse* The default value for `antialiasing` across all `FlxSprites`,
* defaults to `false`.
* @since 5.0.0* Class that handles adding and playing animations on this sprite.* The current display state of the sprite including current animation frame,
* tint, flip etc... may be `null` unless `useFramePixels` is `true`.true* Always `true` on `FlxG.renderBlit`. On `FlxG.renderTile` it determines whether
* `framePixels` is used and defaults to `false` for performance reasons.defaultAntialiasing* Controls whether the object is smoothed when rotated, affects performance.true* Set this flag to true to force the sprite to update during the `draw()` call.
* NOTE: Rarely if ever necessary, most sprite operations will flip this flag automatically.* This sprite's graphic / `BitmapData` object.
* Automatically adjusts graphic size and render helpers if changed.* Link to current `FlxFrame` from loaded atlas0* The width of the actual graphic or image being displayed (not necessarily the game object/bounding box).0* The height of the actual graphic or image being displayed (not necessarily the game object/bounding box).0* The total number of frames in this image.
* WARNING: assumes each row in the sprite sheet is full!* Rendering variables.0* The minimum angle (out of 360°) for which a new baked rotation exists. Example: `90` means there
* are 4 baked rotations in the spritesheet. `0` if this sprite does not have any baked rotations.1.0* Set alpha to a number between `0` and `1` to change the opacity of the sprite.RIGHT* Can be set to `LEFT`, `RIGHT`, `UP`, and `DOWN` to take advantage
* of flipped sprites and/or just track player orientation more easily.false* Whether this sprite is flipped on the X axis.false* Whether this sprite is flipped on the Y axis.* WARNING: The `origin` of the sprite will default to its center. If you change this,
* the visuals and the collisions will likely be pretty out-of-sync if you do any rotation.* The position of the sprite's graphic relative to its hitbox. For example, `offset.x = 10;` will
* show the graphic 10 pixels left of the hitbox. Likely needs to be adjusted after changing a sprite's
* `width`, `height` or `scale`.false* Whenever it should render the offset as the rotOffset. Defaults to false* Rotation hitbox* Rotation hitbox angle* Change the size of your sprite's graphic.
* NOTE: The hitbox is not automatically adjusted, use `updateHitbox()` for that (or `setGraphicSize()`).
* WARNING: With `FlxG.renderBlit`, scaling sprites decreases rendering performance by a factor of about x10!* Blending modes, just like Photoshop or whatever, e.g. "multiply", "screen", etc.0xffffff* Tints the whole sprite to a color (`0xRRGGBB` format) - similar to OpenGL vertex colors. You can use
* `0xAARRGGBB` colors, but the alpha value will simply be ignored. To change the opacity use `alpha`.false* Whether or not to use a `ColorTransform` set via `setColorTransform()`.* Clipping rectangle for this sprite.
* Changing the rect's properties directly doesn't have any effect,
* reassign the property to update it (`sprite.clipRect = sprite.clipRect;`).
* Set to `null` to discard graphic frame clipping.* GLSL shader for this sprite. Only works with OpenFL Next or WebGL.
* Avoid changing it frequently as this is a costly operation.
* @since 4.1.0
<_frame>
* The actual frame used for sprite rendering
<_frameGraphic>
* Graphic of `_frame`. Used in tile render mode, when `useFramePixels` is `true`.
<_facingHorizontalMult expr="1">
1
<_facingVerticalMult expr="1">
1
<_flashPoint>
* Internal, reused frequently during drawing and animating.
<_flashRect>
* Internal, reused frequently during drawing and animating.
<_flashRect2>
* Internal, reused frequently during drawing and animating.
<_flashPointZero>
* Internal, reused frequently during drawing and animating. Always contains `(0,0)`.
<_matrix>
* Internal, helps with animation, caching and drawing.
<_halfSize>
* Rendering helper variable
<_sinAngle expr="0">
0* These vars are being used for rendering in some of `FlxSprite` subclasses (`FlxTileblock`, `FlxBar`,
* and `FlxBitmapText`) and for checks if the sprite is in camera's view.
<_cosAngle expr="1">
1
<_angleChanged expr="true">
true
<_facingFlip expr="new Map<FlxDirectionFlags,{ var x : Bool; var y : Bool}>()">
()]]>* Maps `FlxDirectionFlags` values to axis flips* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!* Load graphic from another `FlxSprite` and copy its tile sheet data.
* This method can useful for non-flash targets.
*
* @param Sprite The `FlxSprite` from which you want to load graphic data.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).{ Unique : false, Height : 0, Width : 0, Animated : false }* Load an image from an embedded graphic file.
*
* HaxeFlixel's graphic caching system keeps track of loaded image data.
* When you load an identical copy of a previously used image, by default
* HaxeFlixel copies the previous reference onto the `pixels` field instead
* of creating another copy of the image data, to save memory.
*
* @param Graphic The image you want to use.
* @param Animated Whether the `Graphic` parameter is a single sprite or a row / grid of sprites.
* @param Width Specify the width of your sprite
* (helps figure out what to do with non-square sprites or sprite sheets).
* @param Height Specify the height of your sprite
* (helps figure out what to do with non-square sprites or sprite sheets).
* @param Unique Whether the graphic should be a unique instance in the graphics cache.
* Set this to `true` if you want to modify the `pixels` field without changing
* the `pixels` of other sprites with the same `BitmapData`.
* @param Key Set this parameter if you're loading `BitmapData`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).{ AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 }* Create a pre-rotated sprite sheet from a simple sprite.
* This can make a huge difference in graphical performance on blitting targets!
*
* @param Graphic The image you want to rotate and stamp.
* @param Rotations The number of rotation frames the final sprite should have.
* For small sprites this can be quite a large number (`360` even) without any problems.
* @param Frame If the `Graphic` has a single row of square animation frames on it,
* you can specify which of the frames you want to use here.
* Default is `-1`, or "use whole graphic."
* @param AntiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`.
* @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners.
* Will create frames that are 150% larger on each axis than the original frame or graphic.
* @param Key Optional, set this parameter if you're loading `BitmapData`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).{ AutoBuffer : false, AntiAliasing : false, Rotations : 16 }* Helper method which allows using `FlxFrame` as graphic source for sprite's `loadRotatedGraphic()` method.
*
* @param frame Frame to load into this sprite.
* @param rotations The number of rotation frames the final sprite should have.
* For small sprites this can be quite a large number (`360` even) without any problems.
* @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`.
* @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners.
* Will create frames that are 150% larger on each axis than the original frame or graphic.
* @return this FlxSprite with loaded rotated graphic in it.{ Unique : false, Color : FlxColor.WHITE }* This function creates a flat colored rectangular image dynamically.
*
* HaxeFlixel's graphic caching system keeps track of loaded image data.
* When you make an identical copy of a previously used image, by default
* HaxeFlixel copies the previous reference onto the pixels field instead
* of creating another copy of the image data, to save memory.
*
* @param Width The width of the sprite you want to generate.
* @param Height The height of the sprite you want to generate.
* @param Color Specifies the color of the generated block (ARGB format).
* @param Unique Whether the graphic should be a unique instance in the graphics cache. Default is `false`.
* Set this to `true` if you want to modify the `pixels` field without changing the
* `pixels` of other sprites with the same `BitmapData`.
* @param Key An optional `String` key to identify this graphic in the cache.
* If `null`, the key is determined by `Width`, `Height` and `Color`.
* If `Unique` is `true` and a graphic with this `Key` already exists,
* it is used as a prefix to find a new unique name like `"Key3"`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).* Called whenever a new graphic is loaded for this sprite (after `loadGraphic()`, `makeGraphic()` etc).* Resets some internal variables used for frame `BitmapData` calculation.* Resets frame size to frame dimensions.* Resets sprite's size back to frame size.* Helper method just for convenience, so you don't need to type
* `sprite.frame = sprite.frame;`
* You may need this method in tile render mode,
* when you want sprite to use its original graphic, not the graphic generated from its `framePixels`.{ Height : 0, Width : 0 }* Updates the sprite's hitbox (`width`, `height`, `offset`) according to the current `scale`.
* Also calls `centerOrigin()`.* Resets some important variables for sprite optimization and rendering.* This is separated out so it can be easily overridden.
<__firstDraw expr="true">
true* Called by game loop, updates then blits or renders current frame of animation to the screen.
<_flipX expr="false">
false
<_flipY expr="false">
false* Made in case developer wanna finalize stuff with the matrix.{ Y : 0, X : 0 }* Stamps / draws another `FlxSprite` onto this `FlxSprite`.
* This function is NOT intended to replace `draw()`!
*
* @param Brush The sprite you want to use as a brush or stamp or pen or whatever.
* @param X The X coordinate of the brush's top left corner on this sprite.
* @param Y They Y coordinate of the brush's top left corner on this sprite.{ Force : false }* Request (or force) that the sprite update the frame before rendering.
* Useful if you are doing procedural generation or other weirdness!
*
* @param Force Force the frame to redraw, even if its not flagged as necessary.{ AdjustPosition : false }* Helper function that adjusts the offset automatically to center the bounding box within the graphic.
*
* @param AdjustPosition Adjusts the actual X and Y position just once to match the offset change.* Sets the sprite's origin to its center - useful after adjusting
* `scale` to make sure rotations work as expected.{ FetchPositions : false }* Replaces all pixels with specified `Color` with `NewColor` pixels.
* WARNING: very expensive (especially on big graphics) as it iterates over every single pixel.
*
* @param Color Color to replace
* @param NewColor New color
* @param FetchPositions Whether we need to store positions of pixels which colors were replaced.
* @return `Array` with replaced pixels positions{ alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1.0, blueMultiplier : 1.0, greenMultiplier : 1.0, redMultiplier : 1.0 }* Sets the sprite's color transformation with control over color offsets.
* With `FlxG.renderTile`, offsets are only supported on OpenFL Next version 3.6.0 or higher.
*
* @param redMultiplier The value for the red multiplier, in the range from `0` to `1`.
* @param greenMultiplier The value for the green multiplier, in the range from `0` to `1`.
* @param blueMultiplier The value for the blue multiplier, in the range from `0` to `1`.
* @param alphaMultiplier The value for the alpha transparency multiplier, in the range from `0` to `1`.
* @param redOffset The offset value for the red color channel, in the range from `-255` to `255`.
* @param greenOffset The offset value for the green color channel, in the range from `-255` to `255`.
* @param blueOffset The offset for the blue color channel value, in the range from `-255` to `255`.
* @param alphaOffset The offset for alpha transparency channel value, in the range from `-255` to `255`.{ mask : 0xFF }* Checks to see if a point in 2D world space overlaps this `FlxSprite` object's
* current displayed pixels. This check is ALWAYS made in screen space, and
* factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param worldPoint point in world space you want to check.
* @param mask Used in the pixel hit test to determine what counts as solid.
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @return Whether or not the point overlaps this object.* Determines which of this sprite's pixels are at the specified world coordinate, if any.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param worldPoint The point in world space
* @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used.
* @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned.
* @since 5.0.0* Determines which of this sprite's pixels are at the specified screen coordinate, if any.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param screenPoint The point in screen space
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned.
* @since 5.0.0* Converts the point from world coordinates to this sprite's pixel coordinates where (0,0)
* is the top left of the graphic.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param worldPoint The world coordinates.
* @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used.
* @param result Optional arg for the returning point* Converts the point from world coordinates to this sprite's pixel coordinates where (0,0)
* is the top left of the graphic. Same as `worldToPixels` but never uses a camera,
* therefore `scrollFactor` is ignored
*
* @param worldPoint The world coordinates.
* @param result Optional arg for the returning point* Converts the point from screen coordinates to this sprite's pixel coordinates where (0,0)
* is the top left of the graphic.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param screenPoint The screen coordinates
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @param result Optional arg for the returning point{ RunOnCpp : false }* Internal function to update the current animation frame.
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target* Retrieves the `BitmapData` of the current `FlxFrame`. Updates `framePixels`.* Retrieve the midpoint of this sprite's graphic in world coordinates.
*
* @param point Allows you to pass in an existing `FlxPoint` if you're so inclined.
* Otherwise a new one is created.
* @return A `FlxPoint` containing the midpoint of this sprite's graphic in world coordinates.* Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation
* in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever.
*
* @param Camera Specify which game camera you want. If `null`, `FlxG.camera` is used.
* @return Whether the object is on screen or not.* Returns the result of `isSimpleRenderBlit()` if `FlxG.renderBlit` is
* `true`, or `false` if `FlxG.renderTile` is `true`.* Determines the function used for rendering in blitting:
* `copyPixels()` for simple sprites, `draw()` for complex ones.
* Sprites are considered simple when they have an `angle` of `0`, a `scale` of `1`,
* don't use `blend` and `pixelPerfectRender` is `true`.
*
* @param camera If a camera is passed its `pixelPerfectRender` flag is taken into account* Calculates the smallest globally aligned bounding box that encompasses this
* sprite's width and height, at its current rotation.
* Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored.
* Use `getScreenBounds` to use these properties.
* @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created.
* @return A globally aligned `FlxRect` that fully contains the input object's width and height.
* @since 4.11.0* Calculates the smallest globally aligned bounding box that encompasses this sprite's graphic as it
* would be displayed. Honors scrollFactor, rotation, scale, offset and origin.
* @param newRect Optional output `FlxRect`, if `null`, a new one is created.
* @param camera Optional camera used for scrollFactor, if null `FlxG.camera` is used.
* @return A globally aligned `FlxRect` that fully contains the input sprite.
* @since 4.11.0* Set how a sprite flips when facing in a particular direction.
*
* @param Direction Use constants `LEFT`, `RIGHT`, `UP`, and `DOWN`.
* These may be combined with the bitwise OR operator.
* E.g. To make a sprite flip horizontally when it is facing both `UP` and `LEFT`,
* use `setFacingFlip(LEFT | UP, true, false);`
* @param FlipX Whether to flip the sprite on the X axis.
* @param FlipY Whether to flip the sprite on the Y axis.{ saveAnimations : true }flixel.animation.FlxAnimationController* Sets frames and allows you to save animations in sprite's animation controller
*
* @param Frames Frames collection to set for this sprite.
* @param saveAnimations Whether to save animations in animation controller or not.
* @return This sprite with loaded frames* Internal function for setting graphic property for this object.
* It changes graphics' `useCount` also for better memory tracking.* Frames setter. Used by `loadGraphic` methods, but you can load generated frames yourself
* (this should be even faster since engine doesn't need to do bunch of additional stuff).
*
* @param Frames frames to load into this sprite.
* @return loaded frames.{ Y : 0, X : 0 }* Creates a `FlxSprite` at a specified position with a specified one-frame graphic.
* If none is provided, a 16x16 image of the HaxeFlixel logo is used.
*
* @param X The initial X position of the sprite.
* @param Y The initial Y position of the sprite.
* @param SimpleGraphic The graphic you want to display
* (OPTIONAL - for simple stuff only, do NOT use for animated images!).* The main "game object" class, the sprite is a `FlxObject`
* with a bunch of graphics options and abilities, like animation and stamping.
*
* Load an image onto a sprite using the `loadGraphic*()` functions,
* or create a base monochromatic rectangle using `makeGraphic()`.
* The image `BitmapData` is stored in the `pixels` field.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ Y : 0, X : 0 }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initVars set="method" line="31">* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__clone public="1" set="method" line="148">* Load graphic from another `FlxSprite` and copy its tile sheet data.
* This method can useful for non-flash targets.
*
* @param Sprite The `FlxSprite` from which you want to load graphic data.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__loadGraphicFromSprite public="1" set="method" line="148">{ Unique : false, Height : 0, Width : 0, Animated : false }* Load an image from an embedded graphic file.
*
* HaxeFlixel's graphic caching system keeps track of loaded image data.
* When you load an identical copy of a previously used image, by default
* HaxeFlixel copies the previous reference onto the `pixels` field instead
* of creating another copy of the image data, to save memory.
*
* @param Graphic The image you want to use.
* @param Animated Whether the `Graphic` parameter is a single sprite or a row / grid of sprites.
* @param Width Specify the width of your sprite
* (helps figure out what to do with non-square sprites or sprite sheets).
* @param Height Specify the height of your sprite
* (helps figure out what to do with non-square sprites or sprite sheets).
* @param Unique Whether the graphic should be a unique instance in the graphics cache.
* Set this to `true` if you want to modify the `pixels` field without changing
* the `pixels` of other sprites with the same `BitmapData`.
* @param Key Set this parameter if you're loading `BitmapData`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__loadGraphic public="1" set="method" line="148">
{ Unique : false, Height : 0, Width : 0, Animated : false }{ AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 }* Create a pre-rotated sprite sheet from a simple sprite.
* This can make a huge difference in graphical performance on blitting targets!
*
* @param Graphic The image you want to rotate and stamp.
* @param Rotations The number of rotation frames the final sprite should have.
* For small sprites this can be quite a large number (`360` even) without any problems.
* @param Frame If the `Graphic` has a single row of square animation frames on it,
* you can specify which of the frames you want to use here.
* Default is `-1`, or "use whole graphic."
* @param AntiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`.
* @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners.
* Will create frames that are 150% larger on each axis than the original frame or graphic.
* @param Key Optional, set this parameter if you're loading `BitmapData`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__loadRotatedGraphic public="1" set="method" line="148">
{ AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 }{ AutoBuffer : false, AntiAliasing : false, Rotations : 16 }* Helper method which allows using `FlxFrame` as graphic source for sprite's `loadRotatedGraphic()` method.
*
* @param frame Frame to load into this sprite.
* @param rotations The number of rotation frames the final sprite should have.
* For small sprites this can be quite a large number (`360` even) without any problems.
* @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`.
* @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners.
* Will create frames that are 150% larger on each axis than the original frame or graphic.
* @return this FlxSprite with loaded rotated graphic in it.
<_HX_SUPER__loadRotatedFrame public="1" set="method" line="148">
{ AutoBuffer : false, AntiAliasing : false, Rotations : 16 }{ Unique : false, Color : FlxColor.WHITE }* This function creates a flat colored rectangular image dynamically.
*
* HaxeFlixel's graphic caching system keeps track of loaded image data.
* When you make an identical copy of a previously used image, by default
* HaxeFlixel copies the previous reference onto the pixels field instead
* of creating another copy of the image data, to save memory.
*
* @param Width The width of the sprite you want to generate.
* @param Height The height of the sprite you want to generate.
* @param Color Specifies the color of the generated block (ARGB format).
* @param Unique Whether the graphic should be a unique instance in the graphics cache. Default is `false`.
* Set this to `true` if you want to modify the `pixels` field without changing the
* `pixels` of other sprites with the same `BitmapData`.
* @param Key An optional `String` key to identify this graphic in the cache.
* If `null`, the key is determined by `Width`, `Height` and `Color`.
* If `Unique` is `true` and a graphic with this `Key` already exists,
* it is used as a prefix to find a new unique name like `"Key3"`.
* @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__makeGraphic public="1" set="method" line="148">
{ Unique : false, Color : FlxColor.WHITE }* Called whenever a new graphic is loaded for this sprite (after `loadGraphic()`, `makeGraphic()` etc).
<_HX_SUPER__graphicLoaded public="1" set="method" line="31">{ Height : 0, Width : 0 }
<_HX_SUPER__setGraphicSize public="1" set="method" line="31">
{ Height : 0, Width : 0 }* Updates the sprite's hitbox (`width`, `height`, `offset`) according to the current `scale`.
* Also calls `centerOrigin()`.
<_HX_SUPER__updateHitbox public="1" set="method" line="31">* Resets some important variables for sprite optimization and rendering.
<_HX_SUPER__resetHelpers set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">* This is separated out so it can be easily overridden.
<_HX_SUPER__updateAnimation set="method" line="31">
<_HX_SUPER__checkEmptyFrame set="method" line="148">* Called by game loop, updates then blits or renders current frame of animation to the screen.
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__drawSimple set="method" line="31">
<_HX_SUPER__drawComplex set="method" line="31">* Made in case developer wanna finalize stuff with the matrix.
<_HX_SUPER__doAdditionalMatrixStuff public="1" set="method" line="148">{ Y : 0, X : 0 }* Stamps / draws another `FlxSprite` onto this `FlxSprite`.
* This function is NOT intended to replace `draw()`!
*
* @param Brush The sprite you want to use as a brush or stamp or pen or whatever.
* @param X The X coordinate of the brush's top left corner on this sprite.
* @param Y They Y coordinate of the brush's top left corner on this sprite.
<_HX_SUPER__stamp public="1" set="method" line="31">
{ Y : 0, X : 0 }{ Force : false }* Request (or force) that the sprite update the frame before rendering.
* Useful if you are doing procedural generation or other weirdness!
*
* @param Force Force the frame to redraw, even if its not flagged as necessary.
<_HX_SUPER__drawFrame public="1" set="method" line="31">
{ Force : false }{ AdjustPosition : false }* Helper function that adjusts the offset automatically to center the bounding box within the graphic.
*
* @param AdjustPosition Adjusts the actual X and Y position just once to match the offset change.
<_HX_SUPER__centerOffsets public="1" set="method" line="31">
{ AdjustPosition : false }{ FetchPositions : false }* Replaces all pixels with specified `Color` with `NewColor` pixels.
* WARNING: very expensive (especially on big graphics) as it iterates over every single pixel.
*
* @param Color Color to replace
* @param NewColor New color
* @param FetchPositions Whether we need to store positions of pixels which colors were replaced.
* @return `Array` with replaced pixels positions
<_HX_SUPER__replaceColor public="1" set="method" line="148">
{ FetchPositions : false }{ alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1.0, blueMultiplier : 1.0, greenMultiplier : 1.0, redMultiplier : 1.0 }* Sets the sprite's color transformation with control over color offsets.
* With `FlxG.renderTile`, offsets are only supported on OpenFL Next version 3.6.0 or higher.
*
* @param redMultiplier The value for the red multiplier, in the range from `0` to `1`.
* @param greenMultiplier The value for the green multiplier, in the range from `0` to `1`.
* @param blueMultiplier The value for the blue multiplier, in the range from `0` to `1`.
* @param alphaMultiplier The value for the alpha transparency multiplier, in the range from `0` to `1`.
* @param redOffset The offset value for the red color channel, in the range from `-255` to `255`.
* @param greenOffset The offset value for the green color channel, in the range from `-255` to `255`.
* @param blueOffset The offset for the blue color channel value, in the range from `-255` to `255`.
* @param alphaOffset The offset for alpha transparency channel value, in the range from `-255` to `255`.
<_HX_SUPER__setColorTransform public="1" set="method" line="31">
{ alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1.0, blueMultiplier : 1.0, greenMultiplier : 1.0, redMultiplier : 1.0 }
<_HX_SUPER__updateColorTransform set="method" line="31">{ mask : 0xFF }* Checks to see if a point in 2D world space overlaps this `FlxSprite` object's
* current displayed pixels. This check is ALWAYS made in screen space, and
* factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param worldPoint point in world space you want to check.
* @param mask Used in the pixel hit test to determine what counts as solid.
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @return Whether or not the point overlaps this object.
<_HX_SUPER__pixelsOverlapPoint public="1" set="method" line="148">
{ mask : 0xFF }* Determines which of this sprite's pixels are at the specified world coordinate, if any.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param worldPoint The point in world space
* @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used.
* @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned.
* @since 5.0.0
<_HX_SUPER__getPixelAt public="1" set="method" line="148">* Determines which of this sprite's pixels are at the specified screen coordinate, if any.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param screenPoint The point in screen space
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned.
* @since 5.0.0
<_HX_SUPER__getPixelAtScreen public="1" set="method" line="148">* Converts the point from world coordinates to this sprite's pixel coordinates where (0,0)
* is the top left of the graphic.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param worldPoint The world coordinates.
* @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used.
* @param result Optional arg for the returning point
<_HX_SUPER__transformWorldToPixels public="1" set="method" line="148">* Converts the point from world coordinates to this sprite's pixel coordinates where (0,0)
* is the top left of the graphic. Same as `worldToPixels` but never uses a camera,
* therefore `scrollFactor` is ignored
*
* @param worldPoint The world coordinates.
* @param result Optional arg for the returning point
<_HX_SUPER__transformWorldToPixelsSimple public="1" set="method" line="148">* Converts the point from screen coordinates to this sprite's pixel coordinates where (0,0)
* is the top left of the graphic.
* Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`.
*
* @param screenPoint The screen coordinates
* @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used.
* @param result Optional arg for the returning point
<_HX_SUPER__transformScreenToPixels public="1" set="method" line="148">{ RunOnCpp : false }* Internal function to update the current animation frame.
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target
<_HX_SUPER__calcFrame set="method" line="31">
{ RunOnCpp : false }* Retrieves the `BitmapData` of the current `FlxFrame`. Updates `framePixels`.
<_HX_SUPER__updateFramePixels public="1" set="method" line="148">* Retrieve the midpoint of this sprite's graphic in world coordinates.
*
* @param point Allows you to pass in an existing `FlxPoint` if you're so inclined.
* Otherwise a new one is created.
* @return A `FlxPoint` containing the midpoint of this sprite's graphic in world coordinates.
<_HX_SUPER__getGraphicMidpoint public="1" set="method" line="148">* Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation
* in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever.
*
* @param Camera Specify which game camera you want. If `null`, `FlxG.camera` is used.
* @return Whether the object is on screen or not.
<_HX_SUPER__isOnScreen public="1" set="method" line="148">* Returns the result of `isSimpleRenderBlit()` if `FlxG.renderBlit` is
* `true`, or `false` if `FlxG.renderTile` is `true`.
<_HX_SUPER__isSimpleRender public="1" set="method" line="148">* Determines the function used for rendering in blitting:
* `copyPixels()` for simple sprites, `draw()` for complex ones.
* Sprites are considered simple when they have an `angle` of `0`, a `scale` of `1`,
* don't use `blend` and `pixelPerfectRender` is `true`.
*
* @param camera If a camera is passed its `pixelPerfectRender` flag is taken into account
<_HX_SUPER__isSimpleRenderBlit public="1" set="method" line="148">* Calculates the smallest globally aligned bounding box that encompasses this
* sprite's width and height, at its current rotation.
* Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored.
* Use `getScreenBounds` to use these properties.
* @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created.
* @return A globally aligned `FlxRect` that fully contains the input object's width and height.
* @since 4.11.0
<_HX_SUPER__getRotatedBounds set="method" line="148">* Calculates the smallest globally aligned bounding box that encompasses this sprite's graphic as it
* would be displayed. Honors scrollFactor, rotation, scale, offset and origin.
* @param newRect Optional output `FlxRect`, if `null`, a new one is created.
* @param camera Optional camera used for scrollFactor, if null `FlxG.camera` is used.
* @return A globally aligned `FlxRect` that fully contains the input sprite.
* @since 4.11.0
<_HX_SUPER__getScreenBounds public="1" set="method" line="148">{ saveAnimations : true }flixel.animation.FlxAnimationController* Sets frames and allows you to save animations in sprite's animation controller
*
* @param Frames Frames collection to set for this sprite.
* @param saveAnimations Whether to save animations in animation controller or not.
* @return This sprite with loaded frames
<_HX_SUPER__setFrames public="1" set="method" line="148">
{ saveAnimations : true }
<_HX_SUPER__get_pixels set="method" line="148">
<_HX_SUPER__set_pixels set="method" line="148">
<_HX_SUPER__set_frame set="method" line="148">
<_HX_SUPER__set_facing set="method" line="148">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__set_angle set="method" line="148">
<_HX_SUPER__set_blend set="method" line="148">* Internal function for setting graphic property for this object.
* It changes graphics' `useCount` also for better memory tracking.
<_HX_SUPER__set_graphic set="method" line="148">
<_HX_SUPER__set_clipRect set="method" line="148">* Frames setter. Used by `loadGraphic` methods, but you can load generated frames yourself
* (this should be even faster since engine doesn't need to do bunch of additional stuff).
*
* @param Frames frames to load into this sprite.
* @return loaded frames.
<_HX_SUPER__set_frames set="method" line="148">
<_HX_SUPER__set_flipX set="method" line="148">
<_HX_SUPER__set_flipY set="method" line="148">
<_HX_SUPER__set_antialiasing set="method" line="148">
<_HX_SUPER__set_useFramePixels set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxSpriteflixel.FlxSprite.IFlxSprite* Helper for overlap functions in `FlxObject` and `FlxTilemap`.* `Array` of all the members in this group.* The maximum capacity of this group. Default is `0`, meaning no max capacity, and the group can just grow.0* The number of entries in the members array. For performance and safety you should check this
* variable instead of `members.length` unless you really know what you're doing!* A `FlxSignal` that dispatches when a child is added to this group.
* @since 4.4.0* A `FlxSignal` that dispatches when a child is removed from this group.
* @since 4.4.0
<_memberAdded>
* Internal variables for lazily creating `memberAdded` and `memberRemoved` signals when needed.
<_memberRemoved>
<_marker expr="0">
0* Internal helper variable for recycling objects a la `FlxEmitter`.* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!* Automatically goes through and calls update on everything you added.* Automatically goes through and calls render on everything you added.* Adds a new `FlxBasic` subclass (`FlxBasic`, `FlxSprite`, `Enemy`, etc) to the group.
* `FlxGroup` will try to replace a `null` member of the array first.
* Failing that, `FlxGroup` will add it to the end of the member array.
* WARNING: If the group has a `maxSize` that has already been met,
* the object will NOT be added to the group!
*
* @param Object The object you want to add to the group.
* @return The same `FlxBasic` object that was passed in.* Inserts a new `FlxBasic` subclass (`FlxBasic`, `FlxSprite`, `Enemy`, etc)
* into the group at the specified position.
* `FlxGroup` will try to replace a `null` member at the specified position of the array first.
* Failing that, `FlxGroup` will insert it at the position of the member array.
* WARNING: If the group has a `maxSize` that has already been met,
* the object will NOT be inserted to the group!
*
* @param Position The position in the group where you want to insert the object.
* @param Object The object you want to insert into the group.
* @return The same `FlxBasic` object that was passed in.{ Revive : true, Force : false } 0` / "rotating-recycling" (used by `FlxEmitter`):
* - at capacity: returns the next object in line, no matter its properties like `alive`, `exists` etc.
* - otherwise: returns a new object.
*
* `maxSize == 0` / "grow-style-recycling"
* - tries to find the first object with `exists == false`
* - otherwise: adds a new object to the `members` array
*
* WARNING: If this function needs to create a new object, and no object class was provided,
* it will return `null` instead of a valid object!
*
* @param ObjectClass The class type you want to recycle (e.g. `FlxSprite`, `EvilRobot`, etc).
* @param ObjectFactory Optional factory function to create a new object
* if there aren't any dead members to recycle.
* If `null`, `Type.createInstance()` is used,
* which requires the class to have no constructor parameters.
* @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`.
* @param Revive Whether recycled members should automatically be revived
* (by calling `revive()` on them).
* @return A reference to the object that was created.]]>{ Splice : false }* Removes an object from the group.
*
* @param Object The `FlxBasic` you want to remove.
* @param Splice Whether the object should be cut from the array entirely or not.
* @return The removed object.* Replaces an existing `FlxBasic` with a new one.
* Does not do anything and returns `null` if the old object is not part of the group.
*
* @param OldObject The object you want to replace.
* @param NewObject The new object you want to use instead.
* @return The new object.{ Order : FlxSort.ASCENDING }* Call this function to sort the group according to a particular value and order.
* For example, to sort game objects for Zelda-style overlaps you might call
* `group.sort(FlxSort.byY, FlxSort.ASCENDING)` at the bottom of your `FlxState#update()` override.
*
* @param Function The sorting function to use - you can use one of the premade ones in
* `FlxSort` or write your own using `FlxSort.byValues()` as a "backend".
* @param Order A constant that defines the sort order.
* Possible values are `FlxSort.ASCENDING` (default) and `FlxSort.DESCENDING`.{ Force : false }* Call this function to retrieve the first object with `exists == false` in the group.
* This is handy for recycling in general, e.g. respawning enemies.
*
* @param ObjectClass An optional parameter that lets you narrow the
* results to instances of this particular class.
* @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`.
* @return A `FlxBasic` currently flagged as not existing.* Call this function to retrieve the first index set to `null`.
* Returns `-1` if no index stores a `null` object.
*
* @return An `Int` indicating the first `null` slot in the group.* Call this function to retrieve the first object with `exists == true` in the group.
* This is handy for checking if everything's wiped out, or choosing a squad leader, etc.
*
* @return A `FlxBasic` currently flagged as existing.* Call this function to retrieve the first object with `dead == false` in the group.
* This is handy for checking if everything's wiped out, or choosing a squad leader, etc.
*
* @return A `FlxBasic` currently flagged as not dead.* Call this function to retrieve the first object with `dead == true` in the group.
* This is handy for checking if everything's wiped out, or choosing a squad leader, etc.
*
* @return A `FlxBasic` currently flagged as dead.* Call this function to find out how many members of the group are not dead.
*
* @return The number of `FlxBasic`s flagged as not dead. Returns `-1` if group is empty.* Call this function to find out how many members of the group are dead.
*
* @return The number of `FlxBasic`s flagged as dead. Returns `-1` if group is empty.{ Length : 0, StartIndex : 0 }* Returns a member at random from the group.
*
* @param StartIndex Optional offset off the front of the array.
* Default value is `0`, or the beginning of the array.
* @param Length Optional restriction on the number of values you want to randomly select from.
* @return A `FlxBasic` from the `members` list.* Remove all instances of `FlxBasic` subclasses (`FlxSprite`, `FlxTileblock`, etc) from the list.
* WARNING: does not `destroy()` or `kill()` any of these objects!* Calls `kill()` on the group's `members` and then on the group itself.
* You can revive this group later via `revive()` after this.* Calls `revive()` on the group's members and then on the group itself.* Iterates through every member.{ Recurse : false }* Applies a function to all members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }* Applies a function to all `alive` members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }* Applies a function to all dead members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }* Applies a function to all existing members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }`.
*
* @param ObjectClass A class that objects will be checked against before Function is applied, ex: `FlxSprite`.
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.]]>{ MaxSize : 0 }* @param MaxSize Maximum amount of members allowed.* This is an organizational class that can update and render a bunch of `FlxBasic`s.
* NOTE: Although `FlxGroup` extends `FlxBasic`, it will not automatically
* add itself to the global collisions quad tree, it will only add its members.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()false* Whenever the state already has been created. When create is called, this is set to true to prevent the state from being created twice when switching back to it.falsefalse* Determines whether or not this state is updated even when it is not the active state.
* For example, if you have your game state first, and then you push a menu state on top of it,
* if this is set to `true`, the game state would continue to update in the background.
* By default this is `false`, so background states will be "paused" when they are not active.true* Determines whether or not this state is updated even when it is not the active state.
* For example, if you have your game state first, and then you push a menu state on top of it,
* if this is set to `true`, the game state would continue to be drawn behind the pause state.
* By default this is `true`, so background states will continue to be drawn behind the current state.
*
* If background states are not `visible` when you have a different state on top,
* you should set this to `false` for improved performance.true* If substates get destroyed when they are closed, setting this to
* `false` might reduce state creation time, at greater memory cost.* The natural background color the cameras default to. In `AARRGGBB` format.* Current substate. Substates also can be nested.
<_requestedSubState>
* If a state change was requested, the new state object is stored here until we switch to it.
<_requestSubStateReset expr="false">
false* Whether to reset the substate (when it changes, or when it's closed).* A `FlxSignal` that dispatches when a sub state is opened from this state.
* @since 4.9.0* A `FlxSignal` that dispatches when a sub state is closed from this state.
* @since 4.9.0
<_subStateOpened>
* Internal variables for lazily creating `subStateOpened` and `subStateClosed` signals when needed.
<_subStateClosed>
* This function is called after the game engine successfully switches states.
* Override this function, NOT the constructor, to initialize or set up your game state.
* We do NOT recommend initializing any flixel objects or utilizing flixel features in
* the constructor, unless you want some crazy unpredictable things to happen!* Closes the substate of this state, if one exists.* Load substate for this state* Called from `FlxG.switchState()`. If `false` is returned, the state
* switch is cancelled - the default implementation returns `true`.
*
* Useful for customizing state switches, e.g. for transition effects.* This method is called after the game loses focus.
* Can be useful for third party libraries, such as tweening engines.* This method is called after the game receives focus.
* Can be useful for third party libraries, such as tweening engines.* This function is called whenever the window size has been changed.
*
* @param Width The new window width
* @param Height The new window Heightflixel.FlxGame* This is the basic game "state" object - e.g. in a simple game you might have a menu state and a play state.
* It is for all intents and purpose a fancy `FlxGroup`. And really, it's not even that fancy.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* This function is called after the game engine successfully switches states.
* Override this function, NOT the constructor, to initialize or set up your game state.
* We do NOT recommend initializing any flixel objects or utilizing flixel features in
* the constructor, unless you want some crazy unpredictable things to happen!
<_HX_SUPER__create public="1" set="method" line="31">
<_HX_SUPER__createPost public="1" set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__openSubState public="1" set="method" line="31">* Closes the substate of this state, if one exists.
<_HX_SUPER__closeSubState public="1" set="method" line="31">* Load substate for this state
<_HX_SUPER__resetSubState public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">* Called from `FlxG.switchState()`. If `false` is returned, the state
* switch is cancelled - the default implementation returns `true`.
*
* Useful for customizing state switches, e.g. for transition effects.
<_HX_SUPER__switchTo public="1" set="method" line="148">* This method is called after the game loses focus.
* Can be useful for third party libraries, such as tweening engines.
<_HX_SUPER__onFocusLost public="1" set="method" line="31">* This method is called after the game receives focus.
* Can be useful for third party libraries, such as tweening engines.
<_HX_SUPER__onFocus public="1" set="method" line="31">* This function is called whenever the window size has been changed.
*
* @param Width The new window width
* @param Height The new window Height
<_HX_SUPER__onResize public="1" set="method" line="31">flixel.FlxGame
<_HX_SUPER__tryUpdate set="method" line="31">
<_HX_SUPER__get_bgColor set="method" line="148">
<_HX_SUPER__set_bgColor set="method" line="148">
<_HX_SUPER__get_subStateOpened set="method" line="148">
<_HX_SUPER__get_subStateClosed set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxState()]]>* A `Vector` of floats where each pair of numbers is treated as a coordinate location (an x, y pair).()]]>* A `Vector` of integers or indexes, where every three indexes define a triangle.()]]>* A `Vector` of normalized coordinates used to apply texture mapping.()]]>false* A very basic rendering component which uses `drawTriangles()`.
* You have access to `vertices`, `indices` and `uvtData` vectors which are used as data storages for rendering.
* The whole `FlxGraphic` object is used as a texture for this sprite.
* Use these links for more info about `drawTriangles()`:
* @see http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html#drawTriangles%28%29
* @see http://help.adobe.com/en_US/as3/dev/WS84753F1C-5ABE-40b1-A2E4-07D7349976C4.html
* @see http://www.flashandmath.com/advanced/p10triangles/index.html
*
* WARNING: This class is EXTREMELY slow on Flash!hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxStrip* Callback method for state open/resume event.
* @since 4.3.0* Callback method for state close event.
<_bgSprite>
* Helper sprite object for non-flash targets. Draws the background.
<_parentState>
flixel.FlxState.resetSubState* Helper var for `close()` so `closeSubState()` can be called on the parent.
<_bgColor>
* Closes this substate.{ BGColor : FlxColor.TRANSPARENT }* @param BGColor background color for this substate* A `FlxSubState` can be opened inside of a `FlxState`.
* By default, it also stops the parent state from updating,
* making it convenient for pause screens or menus.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">* Closes this substate.
<_HX_SUPER__close public="1" set="method" line="31">
<_HX_SUPER__set_bgColor set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.FlxSubState0* Hash types for the cryptography function. Use this or HASH_SHA1 for encryptURL(). MD5 is used by default.1* Hash types for the cryptography function. Use this or HASH_MD5 for encryptURL(). MD5 is used by default.-1* Trophy data return type, will return only non-unlocked trophies. As an alternative, can just pass in the ID of the trophy to see if it's unlocked.-2* Trophy data return type, will return only unlocked trophies. As an alternative, can just pass in the ID of the trophy to see if it's unlocked.HASH_MD5* The hash type to be used for private key encryption. Set to FlxGameJolt.HASH_MD5 or FlxGameJolt.HASH_SHA1. Default is MD5. See https://gamejolt.com/api/doc/game/ section "Signature".false* Whether or not to log the URL that is contacted and messages returned from GameJolt.
* Useful if you're not getting the right data back.
* Only works in debug mode.* Whether or not the API has been fully initialized by passing game id, private key, and authenticating user name and token.* Internal method to verify that init() has been called on this class. Called before running functions that require game ID or private key but not user data.
*
* @return True if game ID is set, false otherwise.* Internal method to verify that this user (and game) have been authenticated. Called before running functions which require authentication.
*
* @return True if authenticated, false otherwise.* The user's GameJolt user name. Only works if you've called authUser() and/or init(), otherwise will return "No user".* The user's GameJolt user token. Only works if you've called authUser() and/or init(), otherwise will return "No token".
* Generally you should not need to mess with this.* An alternative to running authUser() and hoping for the best; this will tell you if your game was run via Quick Play, and user name and token is available. Does NOT authenticate the user data!
*
* @return True if this was run via Quick Play with user name and token available, false otherwise.* An alternative to running authUser() and hoping for the best; this will tell you if your game was run as an embedded Flash on GameJolt that has user name and token data already. Does NOT authenticate the user data!
*
* @return True if it's an embedded SWF with user name and token available, false otherwise.
<_callBack static="1">
* Internal storage for a callback function, used when the URLLoader is complete.
<_gameID expr="0" line="122" static="1">
0* Internal storage for this game's ID.
<_privateKey expr="""" line="130" static="1">
""* Internal storage for this game's private key.
* Do NOT store your private key as a string literal in your game!
* This can be found at https://gamejolt.com/dashboard/developer/games/achievements/GAME_ID/ where GAME_ID is your unique game ID number.
* Each game has a unique private key; you cannot use one key for all of your games.
<_userName static="1">
* Internal storage for this user's username. Can be retrieved automatically if Flash or QuickPlay.
<_userToken static="1">
* Internal storage for this user's token. Can be retrieved automatically if Flash or QuickPlay.
<_idURL static="1">
* Internal storage for the most common URL elements: the gameID, user name, and user token.
<_initialized expr="false" line="150" static="1">
false* Set to true once game ID, user name, user token have been set and user name and token have been verified.
<_verifyAuth expr="false" line="155" static="1">
false* Internal tracker for authenticating user data.
<_getImage expr="false" line="160" static="1">
false* Internal tracker for getting bitmapdata for a trophy image.
<_loader static="1">
* URLLoader object for sending URL requests.()]]>* A string map that contains what is returned from GameJolt servers."https://gamejolt.com/api/game/v1/"* Various common strings required by the API's https values."?format=keypair"{ AutoAuth : false }* Initialize this class by storing the GameID and private key.
* You must call this function first for many of the other functions to work.
* To enable user-specific functions, call authUser() afterward, or set AutoAuth to true.
*
* @param GameID The unique game ID associated with this game on GameJolt. You must create a game profile on GameJolt to get this number.
* @param PrivateKey Your private key. You must have a developer account on GameJolt to have this number. Do NOT store this as plaintext in your game!
* @param AutoAuth Call authUser after init() has run to authenticate user data.
* @param UserName The username to authenticate, if AutoAuth is true. If you set AutoAuth to true but don't put a value here, FlxGameJolt will attempt to get the user data automatically, which will only work for Flash embedded on GameJolt, or games run via Quick Play.
* @param UserToken The user token to authenticate, if AutoAuth is true. If you set AutoAuth to true but don't put a value here, FlxGameJolt will attempt to get the user data automatically, which will only work for Flash embedded on GameJolt, or games run via Quick Play.
* @param Callback An optional callback function, which is only used if AutoAuth is set to true. Will return true if authentication was successful, false otherwise. whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>* Verify user data. Must be called before any user-specific functions, and after init(). Will set initialized to true if successful.
*
* @see https://gamejolt.com/api/doc/game/users/auth/
* @param UserName A user name. Leave null to automatically pull user data (only works for embedded Flash on GameJolt or Quick Play). Usernames can only have letters, numbers, hyphens (-) and underscores (_), and must be 3-30 characters long.
* @param UserToken A user token. Players enter this instead of a password to enable highscores, trophies, etc. Leave null to automatically pull user data (only works for embedded Flash on GameJolt or Quick Play). User tokens can only have letters and numbers, and must be 4-30 characters long.
* @param Callback An optional callback function. Will return true if authentication was successful, false otherwise. whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ Active : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ DataType : 0 } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>/ in the right-hand column.
* @param Callback An optional callback function. Will return a Map whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ AllowGuest : false } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>{ User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]>* A generic internal function to setup and send a URLRequest. All of the functions that interact with the API use this.
*
* @param URLString The URL to send to. Usually formatted as the API url, section of the API (e.g. "trophies/") and then variables to pass (e.g. user name, trophy ID).
* @param Callback A function to call when loading is done and data is parsed. when done.
* However, if we're getting an image, a second URLRequest is called, and that will be done first.
* Or, if we're authenticating the user, the verifyAuthentication function will be called instead.
*
* @param The URLLoader complete event.]]>* Internal function to evaluate whether or not a user was successfully authenticated and store the result in _initialized. If authentication failed, the tentative user name and token are nulled.
*
* @param ReturnMap The data received back from GameJolt. This should be {"success"="true"} if authenticated, or {"success"="false"} otherwise.* Function to authenticate a new user, to be used when a user has already been authenticated but you'd like to authenticate a new one.
* If you just try to run authUser after a user has been authenticated, it will fail.
*
* @param UserName The user's name.
* @param UserToken The user's token.
* @param Callback An optional callback function. Will return true if authentication was successful, false otherwise.* An easy-to-use function that returns the image associated with a trophy as BitmapData.
* All trophy images will be 75px by 75px.
*
* @param ID The ID of the trophy whose image you want to get.
* @param Callback An optional callback function. Must take a BitmapData object as a parameter.* An easy-to-use function that returns the user's avatar image as BitmapData.
* Requires that you've authenticated the user's data.
* All user images will be 60px by 60px.
*
* @param Callback An optional callback function. Must take a BitmapData object as a parameter.* Internal function that uses the image_url or avatar_url element from GameJolt to start a Loader that will retrieve the desired image.* Internal function to send the image_url or avatar_url content to the callback function as BitmapData. Click on your game under "Manage Games" -> Click on "Achievements" in the menu.
* FlxGameJolt.init(gameid, keystring); // Use this if your game is embedded as Flash on GameJolt's site, or run via Quick Play.]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.api.FlxGameJoltXY* The axes to repeat the backdrop, defaults to XY which covers the whole camera.new FlxPoint()* The gap between repeated tiles, defaults to (0, 0), or no gap.FlxG.renderBlit* If true, tiles are pre-rendered to a intermediary bitmap whenever `loadGraphic` is called
* or the following properties are changed: camera size camera zoom, `scale.x`, `scale.y`,
* `spacing.x`, `spacing.y`, `repeatAxes` or `angle`. If these properties change often, it is recommended to
* set `drawBlit` to `false`.
*
* Note: blitting will disable animations and only show the first frame.AUTO* Decides the the size of the blit graphic. Leave as `AUTO` unless you know what you're doing.
*
* @see flixel.addons.display.FlxBackDrop.BackdropBlitMode
<_blitOffset expr="FlxPoint.get()">
FlxPoint.get()
<_blitGraphic expr="null">
null
<_prevDrawParams expr="{ graphicKey : null, tilesX : -1, tilesY : -1, scaleX : 0.0, scaleY : 0.0, spacingX : 0.0, spacingY : 0.0, repeatAxes : XY, angle : 0.0 }">
{ graphicKey : null, tilesX : -1, tilesY : -1, scaleX : 0.0, scaleY : 0.0, spacingX : 0.0, spacingY : 0.0, repeatAxes : XY, angle : 0.0 }{ spacingY : 0, spacingX : 0, repeatAxes : XY }* Creates an instance of the FlxBackdrop class, used to create infinitely scrolling backgrounds.
*
* @param graphic The image you want to use for the backdrop.
* @param repeatAxes If the backdrop should repeat on the X axis.
* @param spacingX Amount of spacing between tiles on the X axis
* @param spacingY Amount of spacing between tiles on the Y axis* Used for showing infinitely scrolling backgrounds.
* @author George Kurelic (Original concept by Chevy Ray)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Not implemented yet.* Blits a bitmap as big as the specified number of x and y tiles and repeats that.* Blits a bitmap as big as the specified number of tiles and repeats that.* Blits enough tiles to cover the screen in multiple draws, for example, if the camera is 10x8
* tiles big, SPLIT(2) will draw a blit target 5x4 tiles large and draw it 2x2 times to cover the
* stage.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy set="method" line="31">
<_HX_SUPER__draw set="method" line="148">
<_HX_SUPER__isOnScreen set="method" line="148">
<_HX_SUPER__drawToLargestCamera set="method" line="148">
<_HX_SUPER__isSimpleRenderBlit set="method" line="148">
<_HX_SUPER__drawSimple set="method" line="31">
<_HX_SUPER__drawComplex set="method" line="148">
<_HX_SUPER__getFrameScreenBounds set="method" line="148">
<_HX_SUPER__modMin set="method" line="148">
<_HX_SUPER__modMax set="method" line="148">
<_HX_SUPER__regenGraphic set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxBackdropflixel.addons.display.FlxBackdrop.BackdropBlitModeflixel.addons.display.FlxBackdrop.BackdropDrawParams* Used by FlxMouseControl when multiple sprites overlap and register clicks, and you need to determine which sprite has priorityfalse* If the mouse currently pressed down on this sprite?false* Is this sprite allowed to be clicked?false* Is this sprite allowed to be thrown?* An FlxRect region of the game world within which the sprite is restricted during mouse drag* An FlxSprite the bounds of which this sprite is restricted during mouse dragfalse* Does this sprite have gravity applied to it?* The x axis gravity influence* The y axis gravity influence* Determines how quickly the Sprite come to rest on the walls if the sprite has x gravity enabled* Determines how quickly the Sprite come to rest on the ground if the sprite has y gravity enabled* If the velocity.x of this sprite falls between zero and this amount, then the sprite will come to a halt (have velocity.x set to zero)* If the velocity.y of this sprite falls between zero and this amount, then the sprite will come to a halt (have velocity.y set to zero)false* Is this sprite being dragged by the mouse or not?false* Is this sprite allowed to be dragged by the mouse? true = yes, false = notrue* Will the Mouse Spring be active always (false) or only when pressed (true)* By default the spring attaches to the top left of the sprite. To change this location provide an x offset (in pixels)* By default the spring attaches to the top left of the sprite. To change this location provide a y offset (in pixels)* Function called when the mouse is pressed down on this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int* Function called when the mouse is released from this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int* The MouseSpring object which is used to tie this sprite to the mouse* Function called when the mouse starts to drag this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int* Function called when the mouse stops dragging this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:intfalse* Is this sprite using a mouse spring?* The number of clicks this item has received. Usually you'd only set it to zero.* The spring x coordinate in game world space. Consists of sprite.x + springOffsetX* The spring y coordinate in game world space. Consists of sprite.y + springOffsetY* A FlxPoint consisting of this sprites world x/y coordinates* Returns a FlxRect consisting of the bounds of this Sprite.* Return true if the mouse is over this Sprite, otherwise false. Only takes the Sprites bounding box into consideration and does not check if there
* are other sprites potentially on-top of this one. Check the value of this.isPressed if you need to know if the mouse is currently clicked on this sprite.* Returns how many horizontal pixels the mouse pointer is inside this sprite from the top left corner. Returns -1 if outside.* Returns how many vertical pixels the mouse pointer is inside this sprite from the top left corner. Returns -1 if outside.
<_snapOnDrag expr="false">
false
<_snapOnRelease expr="false">
false
<_snapX>
<_snapY>
<_clickOnRelease expr="false">
false
<_clickPixelPerfect expr="false">
false
<_clickPixelPerfectAlpha>
<_clickCounter expr="0">
0
<_throwXFactor>
<_throwYFactor>
<_dragPixelPerfect expr="false">
false
<_dragPixelPerfectAlpha>
<_dragOffsetX>
<_dragOffsetY>
<_dragFromPoint>
<_allowHorizontalDrag expr="true">
true
<_allowVerticalDrag expr="true">
true{ AlphaThreshold : 255, PixelPerfect : false }* Allow this Sprite to receive mouse clicks, the total number of times this sprite is clicked is stored in this.clicks
* You can add callbacks via mousePressedCallback and mouseReleasedCallback
*
* @param OnRelease Register the click when the mouse is pressed down (false) or when it's released (true). Note that callbacks still fire regardless of this setting.
* @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box.
* @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255)* Stops this sprite from checking for mouse clicks and clears any set callbacks{ AlphaThreshold : 255, PixelPerfect : false, LockCenter : false }* Make this Sprite draggable by the mouse. You can also optionally set mouseStartDragCallback and mouseStopDragCallback
*
* @param LockCenter If false the Sprite will drag from where you click it. If true it will center itself to the tip of the mouse pointer.
* @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box.
* @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255)
* @param BoundsRect If you want to restrict the drag of this sprite to a specific FlxRect, pass the FlxRect here, otherwise it's free to drag anywhere
* @param BoundsSprite If you want to restrict the drag of this sprite to within the bounding box of another sprite, pass it here* Stops this sprite from being able to be dragged. If it is currently the target of
* an active drag it will be stopped immediately. Also disables any set callbacks.* Make this Sprite throwable by the mouse. The sprite is thrown only when the mouse button is released.
*
* @param FactorX The sprites velocity is set to FlxMouseControl.speedX * xFactor. Try a value around 50+
* @param FactorY The sprites velocity is set to FlxMouseControl.speedY * yFactor. Try a value around 50+* Stops this sprite from being able to be thrown. If it currently has velocity this is NOT removed from it.{ OnRelease : false, OnDrag : true }* Make this Sprite snap to the given grid either during drag or when it's released.
* For example 16x16 as the snapX and snapY would make the sprite snap to every 16 pixels.
*
* @param SnapX The width of the grid cell in pixels
* @param SnapY The height of the grid cell in pixels
* @param OnDrag If true the sprite will snap to the grid while being dragged
* @param OnRelease If true the sprite will snap to the grid when released* Stops the sprite from snapping to a grid during drag or release.{ Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false, OnPressed : true }* Adds a simple spring between the mouse and this Sprite. The spring can be activated either when the mouse is pressed (default), or enabled all the time.
* Note that nearly always the Spring will over-ride any other motion setting the sprite has (like velocity or gravity)
*
* @param OnPressed True if the spring should only be active when the mouse is pressed down on this sprite
* @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it
* @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer
* @param Friction The friction applied to the spring as it moves
* @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!)
* @return The FlxMouseSpring object if you wish to perform further chaining on it. Also available via FlxExtendedSprite.mouseSpring* Stops the sprite to mouse spring from being active{ AllowVerticalDrag : true, AllowHorizontalDrag : true }* Restricts this sprite to drag movement only on the given axis. Note: If both are set to false the sprite will never move!
*
* @param AllowHorizontalDrag To enable the sprite to be dragged horizontally set to true, otherwise false
* @param AllowVerticalDrag To enable the sprite to be dragged vertically set to true, otherwise false* Core update loop* Called by update, applies friction if the sprite has gravity to stop jittery motion when slowing down* Updates the Mouse Drag on this Sprite.* Checks if the mouse is over this sprite and pressed, then does a pixel
* perfect check if needed and adds it to the FlxMouseControl check stack.* Called by FlxMouseControl when this sprite is clicked. Should not usually be called directly.* Called by FlxMouseControl when this sprite is released from a click. Should not usually be called directly.* Called by FlxMouseControl when Mouse Drag starts on this Sprite. Should not usually be called directly.* Bounds Rect check for the sprite drag* Parent Sprite Bounds check for the sprite drag* Called by FlxMouseControl when Mouse Drag is stopped on this Sprite. Should not usually be called directly.{ ToleranceY : 10, ToleranceX : 10, FrictionY : 500, FrictionX : 500 }* Gravity can be applied to the sprite, pulling it in any direction. Gravity is given in pixels per second and is applied as acceleration.
* If you don't want gravity for a specific direction pass a value of zero. To cancel it entirely pass both values as zero.
*
* @param GravityX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity.
* @param GravityY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity.
* @param FrictionX The amount of friction applied to the sprite if it hits a wall. Allows it to come to a stop without constantly jittering.
* @param FrictionY The amount of friction applied to the sprite if it hits the floor/roof. Allows it to come to a stop without constantly jittering.
* @param ToleranceX If the velocity.x of the sprite falls between 0 and +- this value, it is set to stop (velocity.x = 0)
* @param ToleranceY If the velocity.y of the sprite falls between 0 and +- this value, it is set to stop (velocity.y = 0)* Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up)
* To reset call flipGravity again{ Y : 0, X : 0 }* Creates a white 8x8 square FlxExtendedSprite at the specified position.
* Optionally can load a simple, one-frame graphic instead.
*
* @param X The initial X position of the sprite.
* @param Y The initial Y position of the sprite.
* @param SimpleGraphic The graphic you want to display (OPTIONAL - for simple stuff only, do NOT use for animated images!).* An enhanced FlxSprite that is capable of receiving mouse clicks, being dragged and thrown, mouse springs, gravity and other useful things
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ AlphaThreshold : 255, PixelPerfect : false }* Allow this Sprite to receive mouse clicks, the total number of times this sprite is clicked is stored in this.clicks
* You can add callbacks via mousePressedCallback and mouseReleasedCallback
*
* @param OnRelease Register the click when the mouse is pressed down (false) or when it's released (true). Note that callbacks still fire regardless of this setting.
* @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box.
* @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255)
<_HX_SUPER__enableMouseClicks public="1" set="method" line="31">
{ AlphaThreshold : 255, PixelPerfect : false }{ AlphaThreshold : 255, PixelPerfect : false, LockCenter : false }* Make this Sprite draggable by the mouse. You can also optionally set mouseStartDragCallback and mouseStopDragCallback
*
* @param LockCenter If false the Sprite will drag from where you click it. If true it will center itself to the tip of the mouse pointer.
* @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box.
* @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255)
* @param BoundsRect If you want to restrict the drag of this sprite to a specific FlxRect, pass the FlxRect here, otherwise it's free to drag anywhere
* @param BoundsSprite If you want to restrict the drag of this sprite to within the bounding box of another sprite, pass it here
<_HX_SUPER__enableMouseDrag public="1" set="method" line="31">
{ AlphaThreshold : 255, PixelPerfect : false, LockCenter : false }* Stops this sprite from being able to be dragged. If it is currently the target of
* an active drag it will be stopped immediately. Also disables any set callbacks.
<_HX_SUPER__disableMouseDrag public="1" set="method" line="31">* Make this Sprite throwable by the mouse. The sprite is thrown only when the mouse button is released.
*
* @param FactorX The sprites velocity is set to FlxMouseControl.speedX * xFactor. Try a value around 50+
* @param FactorY The sprites velocity is set to FlxMouseControl.speedY * yFactor. Try a value around 50+
<_HX_SUPER__enableMouseThrow public="1" set="method" line="31">* Stops this sprite from being able to be thrown. If it currently has velocity this is NOT removed from it.
<_HX_SUPER__disableMouseThrow public="1" set="method" line="31">{ OnRelease : false, OnDrag : true }* Make this Sprite snap to the given grid either during drag or when it's released.
* For example 16x16 as the snapX and snapY would make the sprite snap to every 16 pixels.
*
* @param SnapX The width of the grid cell in pixels
* @param SnapY The height of the grid cell in pixels
* @param OnDrag If true the sprite will snap to the grid while being dragged
* @param OnRelease If true the sprite will snap to the grid when released
<_HX_SUPER__enableMouseSnap public="1" set="method" line="31">
{ OnRelease : false, OnDrag : true }* Stops the sprite from snapping to a grid during drag or release.
<_HX_SUPER__disableMouseSnap public="1" set="method" line="31">{ Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false, OnPressed : true }* Adds a simple spring between the mouse and this Sprite. The spring can be activated either when the mouse is pressed (default), or enabled all the time.
* Note that nearly always the Spring will over-ride any other motion setting the sprite has (like velocity or gravity)
*
* @param OnPressed True if the spring should only be active when the mouse is pressed down on this sprite
* @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it
* @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer
* @param Friction The friction applied to the spring as it moves
* @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!)
* @return The FlxMouseSpring object if you wish to perform further chaining on it. Also available via FlxExtendedSprite.mouseSpring
<_HX_SUPER__enableMouseSpring public="1" set="method" line="148">
{ Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false, OnPressed : true }* Stops the sprite to mouse spring from being active
<_HX_SUPER__disableMouseSpring public="1" set="method" line="31">{ AllowVerticalDrag : true, AllowHorizontalDrag : true }* Restricts this sprite to drag movement only on the given axis. Note: If both are set to false the sprite will never move!
*
* @param AllowHorizontalDrag To enable the sprite to be dragged horizontally set to true, otherwise false
* @param AllowVerticalDrag To enable the sprite to be dragged vertically set to true, otherwise false
<_HX_SUPER__setDragLock public="1" set="method" line="31">
{ AllowVerticalDrag : true, AllowHorizontalDrag : true }* Core update loop
<_HX_SUPER__update public="1" set="method" line="31">* Called by update, applies friction if the sprite has gravity to stop jittery motion when slowing down
<_HX_SUPER__updateGravity set="method" line="31">* Updates the Mouse Drag on this Sprite.
<_HX_SUPER__updateDrag set="method" line="31">* Checks if the mouse is over this sprite and pressed, then does a pixel
* perfect check if needed and adds it to the FlxMouseControl check stack.
<_HX_SUPER__checkForClick set="method" line="31">* Called by FlxMouseControl when this sprite is clicked. Should not usually be called directly.
<_HX_SUPER__mousePressedHandler public="1" set="method" line="31">* Called by FlxMouseControl when this sprite is released from a click. Should not usually be called directly.
<_HX_SUPER__mouseReleasedHandler public="1" set="method" line="31">* Called by FlxMouseControl when Mouse Drag starts on this Sprite. Should not usually be called directly.
<_HX_SUPER__startDrag public="1" set="method" line="31">* Bounds Rect check for the sprite drag
<_HX_SUPER__checkBoundsRect set="method" line="31">* Parent Sprite Bounds check for the sprite drag
<_HX_SUPER__checkBoundsSprite set="method" line="31">* Called by FlxMouseControl when Mouse Drag is stopped on this Sprite. Should not usually be called directly.
<_HX_SUPER__stopDrag public="1" set="method" line="31">{ ToleranceY : 10, ToleranceX : 10, FrictionY : 500, FrictionX : 500 }* Gravity can be applied to the sprite, pulling it in any direction. Gravity is given in pixels per second and is applied as acceleration.
* If you don't want gravity for a specific direction pass a value of zero. To cancel it entirely pass both values as zero.
*
* @param GravityX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity.
* @param GravityY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity.
* @param FrictionX The amount of friction applied to the sprite if it hits a wall. Allows it to come to a stop without constantly jittering.
* @param FrictionY The amount of friction applied to the sprite if it hits the floor/roof. Allows it to come to a stop without constantly jittering.
* @param ToleranceX If the velocity.x of the sprite falls between 0 and +- this value, it is set to stop (velocity.x = 0)
* @param ToleranceY If the velocity.y of the sprite falls between 0 and +- this value, it is set to stop (velocity.y = 0)
<_HX_SUPER__setGravity public="1" set="method" line="31">
{ ToleranceY : 10, ToleranceX : 10, FrictionY : 500, FrictionX : 500 }* Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up)
* To reset call flipGravity again
<_HX_SUPER__flipGravity public="1" set="method" line="31">
<_HX_SUPER__get_mouseOver set="method" line="148">
<_HX_SUPER__get_mouseX set="method" line="148">
<_HX_SUPER__get_mouseY set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxExtendedSpriteflixel.addons.display.FlxExtendedSprite.MouseCallback{ Color2 : 0xffd9d5d5, Color1 : 0xffe7e6e6, Alternate : true, Height : -1, Width : -1 }* Creates a FlxSprite of the given width and height filled with a checkerboard pattern.
* Each grid cell is the specified width and height, and alternates between two colors.
* If alternate is true each row of the pattern will be offset, for a proper checkerboard style.
* If false each row will be the same colour, creating a striped-pattern effect.
* So to create an 8x8 grid you'd call create(8,8)
*
* @param CellWidth The grid cell width
* @param CellHeight The grid cell height
* @param Width The width of the FlxSprite. If -1 it will be the size of the game (FlxG.width)
* @param Height The height of the FlxSprite. If -1 it will be the size of the game (FlxG.height)
* @param Alternate Should the pattern alternate on each new row? Default true = checkerboard effect. False = vertical stripes
* @param Color1 The first fill colour in 0xAARRGGBB format
* @param Color2 The second fill colour in 0xAARRGGBB format
* @return FlxSprite of given width/height{ Color2 : 0x88d9d5d5, Color1 : 0x88e7e6e6, Alternate : true, Height : -1, Width : -1 }* Creates a checkerboard pattern of the given width/height and overlays it onto the given FlxSprite.
* Each grid cell is the specified width and height, and alternates between two colors.
* If alternate is true each row of the pattern will be offset, for a proper checkerboard style.
* If false each row will be the same colour, creating a striped-pattern effect.
* So to create an 8x8 grid you'd call create(8,8,
*
* @param Sprite The FlxSprite you wish to draw the grid on-top of. This updates its pixels value, not just the current frame (don't use animated sprites!)
* @param CellWidth The grid cell width
* @param CellHeight The grid cell height
* @param Width The width of the FlxSprite. If -1 it will be the size of the game (FlxG.width)
* @param Height The height of the FlxSprite. If -1 it will be the size of the game (FlxG.height)
* @param Alternate Should the pattern alternate on each new row? Default true = checkerboard effect. False = vertical stripes
* @param Color1 The first fill colour in 0xAARRGGBB format
* @param Color2 The second fill colour in 0xAARRGGBB format
* @return The modified source FlxSprite* FlxGridOverlay
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxGridOverlay* The tension of the spring, smaller numbers create springs closer to the mouse pointer
* @default 0.1* The friction applied to the spring as it moves
* @default 0.95* The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!)
* @default 0
<_retainVelocity>
<_vx expr="0">
0
<_vy expr="0">
0
<_dx expr="0">
0
<_dy expr="0">
0
<_ax expr="0">
0
<_ay expr="0">
0* Updates the spring physics and repositions the sprite* Resets the internal spring physics{ Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false }* Adds a spring between the mouse and a FlxExtendedSprite.
*
* @param Sprite The FlxExtendedSprite to which this spring is attached
* @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it
* @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer
* @param Friction The friction applied to the spring as it moves
* @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Updates the spring physics and repositions the sprite
<_HX_SUPER__update public="1" set="method" line="31">* Resets the internal spring physics
<_HX_SUPER__reset public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxMouseSpring0* X position of this sprite relative to parent, 0 by default0* Y position of this sprite relative to parent, 0 by default0* Angle of this sprite relative to parent0* Angular velocity relative to parent sprite0* Angular acceleration relative to parent sprite1FlxPoint.get(1, 1)* Scale of this sprite relative to parentFlxPoint.get()* Velocity relative to parent spriteFlxPoint.get()* Acceleration relative to parent sprite[]* All FlxNestedSprites in this list.* Amount of Graphics in this list.
<_parentRed expr="1">
1
<_parentGreen expr="1">
1
<_parentBlue expr="1">
1* WARNING: This will remove this sprite entirely. Use kill() if you
* want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.* Adds the FlxNestedSprite to the children list.
*
* @param Child The FlxNestedSprite to add.
* @return The added FlxNestedSprite.* Removes the FlxNestedSprite from the children list.
*
* @param Child The FlxNestedSprite to remove.
* @return The removed FlxNestedSprite.{ Index : 0 }* Removes the FlxNestedSprite from the position in the children list.
*
* @param Index Index to remove.* Removes all children sprites from this sprite.* Some sort of DisplayObjectContainer but very limited.
* It can contain only other FlxNestedSprites.
* @author Zaphodhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* WARNING: This will remove this sprite entirely. Use kill() if you
* want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Adds the FlxNestedSprite to the children list.
*
* @param Child The FlxNestedSprite to add.
* @return The added FlxNestedSprite.
<_HX_SUPER__add public="1" set="method" line="148">* Removes the FlxNestedSprite from the children list.
*
* @param Child The FlxNestedSprite to remove.
* @return The removed FlxNestedSprite.
<_HX_SUPER__remove public="1" set="method" line="148">{ Index : 0 }* Removes the FlxNestedSprite from the position in the children list.
*
* @param Index Index to remove.
<_HX_SUPER__removeAt public="1" set="method" line="148">
{ Index : 0 }* Removes all children sprites from this sprite.
<_HX_SUPER__removeAll public="1" set="method" line="31">
<_HX_SUPER__preUpdate public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__postUpdate public="1" set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__set_facing set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxNestedSprite
<_shadedScrollRect expr="new Sprite()">
new Sprite()* Internal sprite, duplicate of `_scrollRect` to which we apply a shader and mask.
* It is a child of `flashSprite`.
* Its position is also modified by the `updateScrollRect()` method.* All tile rendering is duplicated to this canvas, so that we have
* another copy of the scene to which to apply the effect shader.
* It is a child of `_shadedScrollRect`
* Its position is modified by `updateInternalSpritePositions()`* Only the mask objects are rendered to this sprite,
* which is both a child of and used as a mask for `_shadedScrollRect`.* This filter is applied to the area masked by maskCanvas
<_maskGroup>
* Collection of objects that will be rendered to the mask buffer rather than the main camera.* Add objects and groups to the mask.
* The effect shader is applied to the area covered by objects added in this way.
* The camera will `update()` objects added here, so you probably want to avoid
* adding them to your scene as well.
*
* @return The same `FlxBasic` object that was passed in.* Remove objects and groups from the mask.
*
* @return The removed object.{ FxAlpha : 1.0, BlendAlpha : true }{ Zoom : 0, Height : 0, Width : 0, Y : 0, X : 0 }* Instantiates a new camera at the specified location, with the specified size and zoom level,
* which will be shaded in areas by the specified shader.
*
* @param effectShader Shader to be applied to the masked area.
* @param X X location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom.
* @param Y Y location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom.
* @param Width The width of the camera display in pixels.
* @param Height The height of the camera display in pixels.
* @param Zoom The initial zoom level of the camera.
* A zoom level of 2 will make all pixels display at 2x resolution. `_scrollRect:Sprite` (which is used for cropping camera's graphic, mostly in tile render mode)
* |-> `canvas:Sprite` (its graphics is used for rendering objects in tile render mode)
* |-> `debugLayer:Sprite` (this sprite is used in tile render mode for rendering debug info, like bounding boxes)
* |-> `_shadedScrollRect:Sprite` (the effect shader is applied to this sprite, which holds a copy of the scene and is masked by `maskCanvas`)
* |-> `shaderCanvas:Sprite` (everything rendered to `canvas` will simultaneously render to this canvas)
* |-> `maskCanvas:Sprite` (all mask objects are rendered to this sprite, which is then used to mask `_shadedScrollRect`)
*
* @since 2.9.0]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__render set="method" line="31">* Add objects and groups to the mask.
* The effect shader is applied to the area covered by objects added in this way.
* The camera will `update()` objects added here, so you probably want to avoid
* adding them to your scene as well.
*
* @return The same `FlxBasic` object that was passed in.
<_HX_SUPER__addMaskObject public="1" set="method" line="148">* Remove objects and groups from the mask.
*
* @return The removed object.
<_HX_SUPER__removeMaskObject public="1" set="method" line="148">
<_HX_SUPER__destroy set="method" line="31">
<_HX_SUPER__updateInternalSpritePositions set="method" line="31">{ FxAlpha : 1.0, BlendAlpha : true }
<_HX_SUPER__fill public="1" set="method" line="31">
{ FxAlpha : 1.0, BlendAlpha : true }
<_HX_SUPER__drawFX set="method" line="31">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__updateScrollRect set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxShaderMaskCamera0123
4
5678new FlxRect()new FlxPoint()new FlxPoint()new FlxPoint()false* Whether to adjust sprite's width to slice grid or not.false* Whether to adjust sprite's height to slice grid or not.false* Whether to use tiling or to stretch left border of the sprite.false* Whether to use tiling or to stretch top border of the sprite.false* Whether to use tiling or to stretch right border of the sprite.false* Whether to use tiling or to stretch bottom border of the sprite.false* Whether to use tiling or to stretch center part of the sprite.true* Whether to fill center part of sprite.* Rectangle that defines slice grid:* Rectangle that defines what part of source image to use as a texture for slicing.* Actual width of the sprite which will be visible.
* Its calculation is based on snapWidth and sliceRect values.* Actual height of the sprite which will be visible.
* Its calculation is based on snapHeight and sliceRect values.* Internal array of FlxRect objects for each element of slice grid.* Helper sprite, which does actual rendering in blit render mode.truetrue
<_snappedWidth expr="-1">
-1
<_snappedHeight expr="-1">
-10* Current number of vertices{ Unique : false, Height : 0, Width : 0, Animated : false }* Sprite which can be used for various sorts of slicing (9-slice, 3 slice, tiled sprite but without scrolling).
* Based on Kyle Pulver's NineSlice class for FlashPunk: http://kpulv.com/96/Flashpunk_NineSlice_Class__Updated__/
* @author kpulv
* @author Zaphod
* @since 2.1.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">{ Unique : false, Height : 0, Width : 0, Animated : false }
<_HX_SUPER__loadGraphic public="1" set="method" line="148">
{ Unique : false, Height : 0, Width : 0, Animated : false }
<_HX_SUPER__loadFrame public="1" set="method" line="148">
<_HX_SUPER__set_graphic set="method" line="148">
<_HX_SUPER__regenGraphic set="method" line="31">
<_HX_SUPER__stretchSlice set="method" line="148">
<_HX_SUPER__regenSliceRects set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__updateColors set="method" line="31">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<_HX_SUPER__set_snapWidth set="method" line="148">
<_HX_SUPER__set_snapHeight set="method" line="148">
<_HX_SUPER__set_stretchLeft set="method" line="148">
<_HX_SUPER__set_stretchTop set="method" line="148">
<_HX_SUPER__set_stretchRight set="method" line="148">
<_HX_SUPER__set_stretchBottom set="method" line="148">
<_HX_SUPER__set_stretchCenter set="method" line="148">
<_HX_SUPER__set_fillCenter set="method" line="148">
<_HX_SUPER__set_sliceRect set="method" line="148">
<_HX_SUPER__set_sourceRect set="method" line="148">
<_HX_SUPER__get_snappedWidth set="method" line="148">
<_HX_SUPER__get_snappedHeight set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxSliceSprite0-1{ RunOnCpp : false }{ Y : 0, X : 0, Height : 0, Width : 0, Antialiasing : false, AutoBuffer : false, Rotations : 16 }* Constructor, which creates array of prerotated spritesheets for each frame in provided AnimatedGraphic.
*
* @param AnimatedGraphic The image you want to rotate and stamp.
* @param Rotations The number of rotation frames the final sprite should have. For small sprites this can be quite a large number (360 even) without any problems.
* @param AutoBuffer Whether to automatically increase the image size to accomodate rotated corners. Default is false. Will create frames that are 150% larger on each axis than the original frame or graphic.
* @param Antialiasing Whether to use high quality rotations when creating the graphic. Default is false.
* @param Width The width of frame in provided spritesheet.
* @param Height The height of frame in provided spritesheet
* @param X The x component of sprite's position.
* @param Y The y component of sprite's position.* Creating animated and rotated sprite from an un-rotated animated image.
*
* @version 1.0 - November 8th 2011
* @link http://www.gameonaut.com
* @author Simon Etienne Rozner / Gameonaut.com, ported to Haxe by Sam Batista
* @author Slightly updated by Beeblerox.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">{ RunOnCpp : false }
<_HX_SUPER__calcFrame set="method" line="31">
{ RunOnCpp : false }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxSpriteAniRotFlxColor.BLACK
<_stars>
<_depthColors>
<_minSpeed>
<_maxSpeed>{ HighestColor : 0xffF4F4F4, LowestColor : 0xff85858 }* Change the number of layers (depth) and colors used for each layer of the starfield.
*
* @param Depth Number of depths (for a 2D starfield the default is 5)
* @param LowestColor The color given to the slowest stars, typically the darker colour
* @param HighestColor The color given to the fastest stars, typically the brighter colourhscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ StarAmount : 300, Height : 0, Width : 0, Y : 0, X : 0 }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
{ StarAmount : 300, Height : 0, Width : 0, Y : 0, X : 0 }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__setStarSpeed public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxStarField.FlxStarField2Dflixel.addons.display.FlxStarField.FlxStarField3Dflixel.addons.display.FlxStarFieldflixel.addons.display.FlxStarField.FlxStar
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxStarField.FlxStarField2Dflixel.addons.display.FlxStarField.FlxStarField3Dflixel.addons.display.FlxStarFieldflixel.addons.display.FlxStarField.FlxStar
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxStarField.FlxStarField2Dflixel.addons.display.FlxStarField.FlxStarField3Dflixel.addons.display.FlxStarFieldflixel.addons.display.FlxStarField.FlxStar
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxStarField.FlxStarField2Dflixel.addons.display.FlxStarField.FlxStarField3Dflixel.addons.display.FlxStarFieldflixel.addons.display.FlxStarField.FlxStar0* The x-offset of the texture0* The y-offset of the texture.true* Repeat texture on x axis. Default is truetrue* Repeat texture on y axis. Default is true* Helper sprite, which does actual rendering in blit render mode.truetrue{ Unique : false, Height : 0, Width : 0, Animated : false }{ RepeatY : true, RepeatX : true }* Tiled sprite which displays repeated and clipped graphic.
* @author Zaphod
* @since 2.1.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">{ Unique : false, Height : 0, Width : 0, Animated : false }
<_HX_SUPER__loadGraphic public="1" set="method" line="148">
{ Unique : false, Height : 0, Width : 0, Animated : false }
<_HX_SUPER__loadFrame public="1" set="method" line="148">
<_HX_SUPER__set_graphic set="method" line="148">
<_HX_SUPER__regenGraphic set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__updateRenderSprite set="method" line="31">
<_HX_SUPER__updateVerticesData set="method" line="31">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<_HX_SUPER__set_scrollX set="method" line="148">
<_HX_SUPER__set_scrollY set="method" line="148">
<_HX_SUPER__set_repeatX set="method" line="148">
<_HX_SUPER__set_repeatY set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxTiledSprite* Tell the camera to LERP here eventually25* This number is pretty arbitrary, make sure it's greater than zero!0.25* Determines how far to "look ahead" when the target is near the
* edge of the camera's bounds - 0 = no effect, 1 = huge effect* Align the camera x and y to center on the target
* that it's following when zoomed in
*
* This took many guesses!{ Zoom : 0 }* FlxZoomCamera: A FlxCamera that centers its zoom on the target that it follows
*
* @link http://www.kwarp.com
* @author greglieberman
* @email greg@kwarp.comhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="31">* Align the camera x and y to center on the target
* that it's following when zoomed in
*
* This took many guesses!
<_HX_SUPER__alignCamera set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.display.FlxZoomCamera{ scale : 1 }* This function will parse a *.pex file and return a new emitter.
* There are some incompatibilities:
* - It only supports the "Gravity" emitter type.
* - Tangential and radial acceleration aren't supported.
* - Blend functions aren't supported. The default blend mode is ADD.
* @param data The data to be parsed. It has to be an ID to the assets file, a file embedded with @:file(), a string with the content of the file or a XML object.
* @param particleGraphic The particle graphic
* @param emitter (optional) A FlxEmitter. Most properties will be overwritten!
* @param scale (optional) Used to scale the resulting emitter. Will scale both the texture size and positions of resulting particles.
* @return A new emitter* Parser for particle files created with "Starling Particle Editor" or "Particle Designer".
*
* Starling Particle Editor:
* @see http://onebyonedesign.com/flash/particleeditor/
* @see https://github.com/devon-o/Starling-Particle-Editor
*
* Particle Designer:
* @see https://71squared.com/particledesigner
*
* @author MrCdKhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 1hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 1hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.addons.editors.pex.PexEmitterType)cast (1, flixel.addons.editors.pex.PexEmitterType)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.pex.FlxPexParserflixel.addons.editors.pex.FlxPexParser.PexEmitterTypeflixel.addons.editors.pex.FlxPexParser.PexEmitterTypeflixel.addons.editors.pex.FlxPexParser.PexEmitterType_HSC@since 2.1.0@since 2.1.0* Base class for Tiled object and tile layers
*
* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()[]()]]>* Copyright (c) 2013 by Samuel Batista
* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__loadLayers set="method" line="31">
<_HX_SUPER__getLayer public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledGroupLayer= 0.15 uses offsetX]]>= 0.15 uses offsetY]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledImageLayer* Copyright (c) 2013 by Samuel Batista
* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledImageTilehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__loadProperties set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledLayerflixel.addons.editors.tiled.TiledLayer.TiledLayerTypenew TiledPropertySet()()]]>* Use to get a tileset by name[]* Use for iterating over tilesets, and for merging tilesets (because order is important)[]()]]>()]]>* works only after TiledTileSet has been initialized with an image...* @param data Either a string or XML object containing the Tiled map data
* @param rootPath Path to use as root to resolve any internal file references* Copyright (c) 2013 by Samuel Batista
* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__loadAttributes set="method" line="31">
<_HX_SUPER__loadProperties set="method" line="31">
<_HX_SUPER__loadTilesets set="method" line="31">
<_HX_SUPER__loadLayers set="method" line="31">
<_HX_SUPER__getTileSet public="1" set="method" line="148">
<_HX_SUPER__getLayer public="1" set="method" line="148">* works only after TiledTileSet has been initialized with an image...
<_HX_SUPER__getGidOwner public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledMapflixel.addons.editors.tiled.TiledMap.FlxTiledMapAsset0x40000000 0;
* sprite.facing = flipped ? LEFT : RIGHT;
* ```]]>0x8000000001234* In degrees* Global identifier for this object* Custom properties that users can set on this object
* If "type" is not defined, the parent layer's "defaultType" is used* Shared properties are tileset properties added on object tile* Information on the layer that contains this object* The type of the object (RECTANGLE, ELLIPSE, POLYGON, POLYLINE, TILE)* Whether the object is flipped horizontally.* Whether the object is flipped vertically.* An array with points if the object is a POLYGON or POLYLINE{ parent : null }* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Copyright (c) 2013 by Samuel Batista
* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__loadObjects set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledObjectLayer
<_HX_SUPER__getPoints set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledObject* Copyright (c) 2013 by Samuel Batista
* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__extend public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledPropertySet0x800000000x400000000x20000000012* The original ID as described in the mapData* The ID of this tile in its tilesetfalse* Set the tile to flip horizontallyfalse* Set the tile to flip vertically* Set the rotation of the tilehscript.UsingHandler.build()hscript.ClassExtendMacro.build()"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__getByteArrayData set="method" line="148">
<_HX_SUPER__base64ToByteArray set="method" line="148">
<_HX_SUPER__resolveTile set="method" line="148">
<_HX_SUPER__get_encoding set="method" line="148">
<_HX_SUPER__get_csvData set="method" line="148">
<_HX_SUPER__get_tileArray set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledTileLayer@since 2.2.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()@since 2.8.0@since 2.8.0@since 2.2.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__addAnimationFrame public="1" set="method" line="31">@since 2.8.0
<_HX_SUPER__addTileObject public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledTilePropertySet.TileAnimationDataflixel.addons.editors.tiled.TiledTilePropertySet{ rootPath : "" }* Copyright (c) 2013 by Samuel Batista
* (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer)
* This content is released under the MIT License.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__getPropertiesByGid public="1" set="method" line="148">
<_HX_SUPER__getImageSourceByGid public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledTileSetflixel.addons.editors.tiled.TiledTileSet.ValidByteArrayflixel.addons.editors.tiled.TiledTileSet.FlxTiledTileAsset
<_HX_SUPER__resolveFlipAndRotation set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.editors.tiled.TiledTileFlxPoint.get()* An extra velocity applied to mesh (in pixels per second). Use to simulate gravity or wind.FlxPoint.get(0.99, 0.99)* Determines how quickly the mesh points come to rest.FlxPoint.get(1, 1)* Change the size of the mesh related to the original frame. Need to call setMesh() to update.* Bit field of flags (use with UP, DOWN, LEFT, RIGHT, NONE, ANY, etc) indicating pinned side. Use bitwise operators to check the values stored here.3* How many iterations will do on constraints for each update.
* Bigger number make constraint more strong and mesh more rigid.false* Adds two extra constraints crossing the squares to make the mesh more rigid. Need to call setMesh() to update.* Number of columns of the mesh. To set it you must use setMesh().* Number of rows of the mesh. To set it you must use setMesh().* The width of mesh squares. To set it you must use setMesh().* The height of mesh squares. To set it you must use setMesh().[]* An array containing all vertices of the mesh, they are indexed row by row.[]* An array containing all vertices conections.
<_vertices>
* Mesh arrays. Vertices, indices, uvtData and colors to drawTriangles().
<_indices>
<_uvtData>
<_drawOffset>
* Use to offset the drawing position of the mesh.* The actual Flash BitmapData object representing the current display state of the modified framePixels.* WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.* Core update loop{ pinned : null, meshPixelsHeight : 0, meshPixelsWidth : 0, rows : 0, columns : 0 }* Sets mesh points and constraints.
*
* @param columns Number of columns of the created mesh.
* @param rows Number of rows of the created mesh.
* @param meshPixelsWidth Optional, specify the width of the bitmapData where the mesh will be drawn.
* It uses frameWidth by default, but when mesh state is bigger, a new BitmapData is created.
* @param meshPixelsHeight Optional, specify the height of the bitmapData where the mesh will be drawn.
* It uses frameHeight by default, but when mesh state is bigger, a new BitmapData is created.
* @param pinned Indices of pinned points that are not affected by wind or velocity.* Called by update, applies meshVelocity, meshFriction and velocity for each point.* Called by update, applies velocity for each constraints points.* Called by draw, calculate triangles, drawOffset and bitmapData dimensions.* Called by draw, draw calculated triangles to meshPixels bitmapData.{ CrossingConstraints : false, PinnedSide : UP, Rows : 0, Columns : 0, Y : 0, X : 0 }* Creates a FlxClothSprite at a specified position with a specified one-frame graphic.
* If none is provided, a 16x16 image of the HaxeFlixel logo is used.
*
* @param X The initial X position of the sprite.
* @param Y The initial Y position of the sprite.
* @param SimpleGraphic The graphic you want to display (OPTIONAL - for simple stuff only, do NOT use for animated images!).
* @param Columns Number of columns of the created mesh.
* @param Rows Number of rows of the created mesh.
* @param PinnedSide The pinned side that points are not affected by wind or velocity. Use UP, DOWN, LEFT, RIGHT, NONE, ANY, etc.* A FlxSprite that draw it's frame in a mesh and behave like a cloth.
*
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Core update loop
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__drawSimple set="method" line="31">
<_HX_SUPER__drawComplex set="method" line="31">{ pinned : null, meshPixelsHeight : 0, meshPixelsWidth : 0, rows : 0, columns : 0 }* Sets mesh points and constraints.
*
* @param columns Number of columns of the created mesh.
* @param rows Number of rows of the created mesh.
* @param meshPixelsWidth Optional, specify the width of the bitmapData where the mesh will be drawn.
* It uses frameWidth by default, but when mesh state is bigger, a new BitmapData is created.
* @param meshPixelsHeight Optional, specify the height of the bitmapData where the mesh will be drawn.
* It uses frameHeight by default, but when mesh state is bigger, a new BitmapData is created.
* @param pinned Indices of pinned points that are not affected by wind or velocity.
<_HX_SUPER__setMesh public="1" set="method" line="31">
{ pinned : null, meshPixelsHeight : 0, meshPixelsWidth : 0, rows : 0, columns : 0 }* Called by update, applies meshVelocity, meshFriction and velocity for each point.
<_HX_SUPER__updatePoints set="method" line="148">* Called by update, applies velocity for each constraints points.
<_HX_SUPER__updateConstraints set="method" line="148">* Called by draw, calculate triangles, drawOffset and bitmapData dimensions.
<_HX_SUPER__calcImage set="method" line="31">* Called by draw, draw calculated triangles to meshPixels bitmapData.
<_HX_SUPER__drawImage set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.FlxClothSpriteflixel.addons.effects.FlxClothSprite.FlxClothPointflixel.addons.effects.FlxClothSprite.FlxClothConstraintFlxPoint.get()new Matrix()* Tranformation matrix for this sprite.
* Used only when matrixExposed is set to truefalse* Bool flag showing whether transformMatrix is used for rendering or not.
* False by default, which means that transformMatrix isn't used for rendering
<_skewMatrix expr="new Matrix()">
new Matrix()* Internal helper matrix object. Used for rendering calculations when matrixExposed is set to false* WARNING: This will remove this sprite entirely. Use kill() if you
* want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.* @author Zaphodhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* WARNING: This will remove this sprite entirely. Use kill() if you
* want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__drawComplex set="method" line="31">
<_HX_SUPER__updateSkewMatrix set="method" line="31">
<_HX_SUPER__isSimpleRender public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.FlxSkewedSprite* The actual group which holds all sprites.* The link to a group's `members` array.* The number of entries in the members array. For performance and safety you should check this
* variable instead of `members.length` unless you really know what you're doing!false* Whether to attempt to preserve the ratio of alpha values of group members, or set them directly through
* the alpha property. Defaults to `false` (preservation).
* @since 4.5.0* The maximum capacity of this group. Default is `0`, meaning no max capacity, and the group can just grow.
<_skipTransformChildren expr="false">
false* Optimization to allow setting position of group without transforming children twice.
<_sprites>
* Array of all the `FlxSprite`s that exist in this group for
* optimization purposes / static typing on cpp targets.* This method is used for initialization of variables of complex types.
* Don't forget to call `super.initVars()` if you'll override this method,
* or you'll get `null` object error and app will crash.* **WARNING:** A destroyed `FlxBasic` can't be used anymore.
* It may even cause crashes if it is still part of a group or state.
* You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later.
*
* This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects).
*
* Override this function to `null` out variables manually or call `destroy()` on class members if necessary.
* Don't forget to call `super.destroy()`!* Recursive cloning method: it will create a copy of this group which will hold copies of all sprites
*
* @return copy of this sprite group* Check and see if any sprite in this group is currently on screen.
*
* @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera.
* @return Whether the object is on screen or not.{ InScreenSpace : false }* Checks to see if a point in 2D world space overlaps any `FlxSprite` object from this group.
*
* @param Point The point in world space you want to check.
* @param InScreenSpace Whether to take scroll factors into account when checking for overlap.
* @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera.
* @return Whether or not the point overlaps this group.{ Mask : 0xFF }* Checks to see if a point in 2D world space overlaps any of FlxSprite object's current displayed pixels.
* This check is ALWAYS made in screen space, and always takes scroll factors into account.
*
* @param Point The point in world space you want to check.
* @param Mask Used in the pixel hit test to determine what counts as solid.
* @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera.
* @return Whether or not the point overlaps this object.{ FetchPositions : false }* Replaces all pixels with specified `Color` with `NewColor` pixels.
* WARNING: very expensive (especially on big graphics) as it iterates over every single pixel.
*
* @param Color Color to replace
* @param NewColor New color
* @param FetchPositions Whether we need to store positions of pixels which colors were replaced.
* @return `Array` with replaced pixels positions* Adds a new `FlxSprite` subclass to the group.
*
* @param Sprite The sprite or sprite group you want to add to the group.
* @return The same object that was passed in.* Inserts a new `FlxSprite` subclass to the group at the specified position.
*
* @param Position The position that the new sprite or sprite group should be inserted at.
* @param Sprite The sprite or sprite group you want to insert into the group.
* @return The same object that was passed in.
*
* @since 4.3.0* Adjusts the position and other properties of the soon-to-be child of this sprite group.
* Private helper to avoid duplicate code in `add()` and `insert()`.
*
* @param Sprite The sprite or sprite group that is about to be added or inserted into the group.{ Revive : true, Force : false } 0` / "rotating-recycling" (used by `FlxEmitter`):
* - at capacity: returns the next object in line, no matter its properties like `alive`, `exists` etc.
* - otherwise: returns a new object.
*
* `maxSize == 0` / "grow-style-recycling"
* - tries to find the first object with `exists == false`
* - otherwise: adds a new object to the `members` array
*
* WARNING: If this function needs to create a new object, and no object class was provided,
* it will return `null` instead of a valid object!
*
* @param ObjectClass The class type you want to recycle (e.g. `FlxSprite`, `EvilRobot`, etc).
* @param ObjectFactory Optional factory function to create a new object
* if there aren't any dead members to recycle.
* If `null`, `Type.createInstance()` is used,
* which requires the class to have no constructor parameters.
* @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`.
* @param Revive Whether recycled members should automatically be revived
* (by calling `revive()` on them).
* @return A reference to the object that was created.]]>{ Splice : false }* Removes the specified sprite from the group.
*
* @param Sprite The `FlxSprite` you want to remove.
* @param Splice Whether the object should be cut from the array entirely or not.
* @return The removed sprite.* Replaces an existing `FlxSprite` with a new one.
*
* @param OldObject The sprite you want to replace.
* @param NewObject The new object you want to use instead.
* @return The new sprite.{ Order : FlxSort.ASCENDING }* Call this function to sort the group according to a particular value and order.
* For example, to sort game objects for Zelda-style overlaps you might call
* `group.sort(FlxSort.byY, FlxSort.ASCENDING)` at the bottom of your `FlxState#update()` override.
*
* @param Function The sorting function to use - you can use one of the premade ones in
* `FlxSort` or write your own using `FlxSort.byValues()` as a "backend".
* @param Order A constant that defines the sort order.
* Possible values are `FlxSort.ASCENDING` (default) and `FlxSort.DESCENDING`.{ Force : false }* Call this function to retrieve the first object with `exists == false` in the group.
* This is handy for recycling in general, e.g. respawning enemies.
*
* @param ObjectClass An optional parameter that lets you narrow the
* results to instances of this particular class.
* @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`.
* @return A `FlxSprite` currently flagged as not existing.* Call this function to retrieve the first index set to `null`.
* Returns `-1` if no index stores a `null` object.
*
* @return An `Int` indicating the first `null` slot in the group.* Call this function to retrieve the first object with `exists == true` in the group.
* This is handy for checking if everything's wiped out, or choosing a squad leader, etc.
*
* @return A `FlxSprite` currently flagged as existing.* Call this function to retrieve the first object with `dead == false` in the group.
* This is handy for checking if everything's wiped out, or choosing a squad leader, etc.
*
* @return A `FlxSprite` currently flagged as not dead.* Call this function to retrieve the first object with `dead == true` in the group.
* This is handy for checking if everything's wiped out, or choosing a squad leader, etc.
*
* @return A `FlxSprite` currently flagged as dead.* Call this function to find out how many members of the group are not dead.
*
* @return The number of `FlxSprite`s flagged as not dead. Returns `-1` if group is empty.* Call this function to find out how many members of the group are dead.
*
* @return The number of `FlxSprite`s flagged as dead. Returns `-1` if group is empty.{ Length : 0, StartIndex : 0 }* Returns a member at random from the group.
*
* @param StartIndex Optional offset off the front of the array.
* Default value is `0`, or the beginning of the array.
* @param Length Optional restriction on the number of values you want to randomly select from.
* @return A `FlxSprite` from the `members` list.* Iterate through every member
*
* @return An iterator{ Recurse : false }* Applies a function to all members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }* Applies a function to all `alive` members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }* Applies a function to all dead members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }* Applies a function to all existing members.
*
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.{ Recurse : false }`.
*
* @param ObjectClass A class that objects will be checked against before Function is applied, ex: `FlxSprite`.
* @param Function A function that modifies one element at a time.
* @param Recurse Whether or not to apply the function to members of subgroups as well.]]>* Remove all instances of `FlxSprite` from the list.
* WARNING: does not `destroy()` or `kill()` any of these objects!* Calls `kill()` on the group's members and then on the group itself.
* You can revive this group later via `revive()` after this.* Revives the group.{ Y : 0, X : 0 }* Helper function to set the coordinates of this object.
* Handy since it only requires one line of code.
*
* @param X The new x position
* @param Y The new y position* This functionality isn't supported in SpriteGroup* Returns the left-most position of the left-most member.
* If there are no members, x is returned.
*
* @since 5.0.0* Returns the right-most position of the right-most member.
* If there are no members, x is returned.
*
* @since 5.0.0* This functionality isn't supported in SpriteGroup* Returns the top-most position of the top-most member.
* If there are no members, y is returned.
*
* @since 5.0.0* Returns the top-most position of the top-most member.
* If there are no members, y is returned.
*
* @since 5.0.0* This functionality isn't supported in SpriteGroup
* @return this sprite group{ Unique : false, Height : 0, Width : 0, Animated : false }* This functionality isn't supported in SpriteGroup
* @return this sprite group{ AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 }* This functionality isn't supported in SpriteGroup
* @return this sprite group{ Unique : false, Color : FlxColor.WHITE }* This functionality isn't supported in SpriteGroup
* @return this sprite group{ RunOnCpp : false }* Internal function to update the current animation frame.
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target* This functionality isn't supported in SpriteGroup{ Y : 0, X : 0 }* This functionality isn't supported in SpriteGroup* This functionality isn't supported in SpriteGroup{ MaxSize : 0, Y : 0, X : 0 }* @param X The initial X position of the group.
* @param Y The initial Y position of the group.
* @param MaxSize Maximum amount of members allowed.* `FlxSpriteGroup` is a special `FlxSprite` that can be treated like
* a single sprite even if it's made up of several member sprites.
* It shares the `FlxTypedGroup` API, but it doesn't inherit from it.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Stores the FlxSprite the trail is attached to.* How often to update the trail.true* Whether to check for X changes or not.true* Whether to check for Y changes or not.true* Whether to check for angle changes or not.true* Whether to check for scale changes or not.true* Whether to check for frame changes of the "parent" FlxSprite or not.
<_counter expr="0">
0* Counts the frames passed.
<_trailLength expr="0">
0* How long is the trail?
<_graphic>
* Stores the trailsprite image.
<_transp expr="1">
1* The alpha value for the next trailsprite.
<_difference>
* How much lower the alpha value of the next trailsprite is.
<_recentPositions expr="[]">
[]
<_recentAngles expr="[]">
[]
<_recentScales expr="[]">
[]
<_recentFrames expr="[]">
[]
<_recentFlipX expr="[]">
[]
<_recentFlipY expr="[]">
[]
<_recentAnimations expr="[]">
[]
<_spriteOrigin>
* Stores the sprite origin (rotation axis)* Updates positions and other values according to the delay that has been set.* A function to add a specific number of sprites to the trail to increase its length.
*
* @param Amount The amount of sprites to add to the trail.* In case you want to change the trailsprite image in runtime...
*
* @param Image The image the sprites should load{ Scale : true, Y : true, X : true }* Handy little function to change which events affect the trail.
*
* @param Angle Whether the trail reacts to angle changes or not.
* @param X Whether the trail reacts to x changes or not.
* @param Y Whether the trail reacts to y changes or not.
* @param Scale Wheater the trail reacts to scale changes or not.{ Diff : 0.05, Alpha : 0.4, Delay : 3, Length : 10 }* Creates a new FlxTrail effect for a specific FlxSprite.
*
* @param Target The FlxSprite the trail is attached to.
* @param Graphic The image to use for the trailsprites. Optional, uses the sprite's graphic if null.
* @param Length The amount of trailsprites to create.
* @param Delay How often to update the trail. 0 updates every frame.
* @param Alpha The alpha value for the very first trailsprite.
* @param Diff How much lower the alpha of the next trailsprite is.* Nothing too fancy, just a handy little class to attach a trail effect to a FlxSprite.
* Inspired by the way "Buck" from the inofficial #flixel IRC channel
* creates a trail effect for the character in his game.
* Feel free to use this class and adjust it to your needs.
* @author Gama11hscript.UsingHandler.build()hscript.ClassExtendMacro.build()2* How often the trail is updated, in frames. Default value is 2, or "every frame".false* If this is true, the render process ignores any color/scale/rotation manipulation of the sprites
* with the advantage of being fasternull* Specifies the blendMode for the trails.
* Ignored in simple render mode. Only works on the flash target.* Stores all sprites that have a trail.1* The bitmap's red value is multiplied by this every update1* The bitmap's green value is multiplied by this every update1* The bitmap's blue value is multiplied by this every update* The bitmap's alpha value is multiplied by this every update0* The bitmap's red value is offsettet by this every update0* The bitmap's green value is offsettet by this every update0* The bitmap's blue value is offsettet by this every update0* The bitmap's alpha value is offsettet by this every update
<_counter expr="0">
0* Counts the frames passed.
<_width expr="1">
1* Internal width variable
* Initialized to 1 to prevent invalid bitmapData during construction
<_height expr="1">
1* Internal height variable
* Initialized to 1 to prevent invalid bitmapData during construction
<_areaPixels>
* Internal helper var, linking to area's pixels* Sets the FlxTrailArea to a new size. Clears the area!
*
* @param Width The new width
* @param Height The new height* Wipes the trail area* Adds a FlxSprite to the FlxTrailArea. Not an add() in the traditional sense,
* this just enables the trail effect for the sprite. You still need to add it to your state for it to update!
*
* @param Sprite The sprite to enable the trail effect for
* @return The FlxSprite, useful for chaining stuff together* Redirects width to _width* Setter for width, defaults to FlxG.width, creates new _rendeBitmap if neccessary* Redirects height to _height* Setter for height, defaults to FlxG.height, creates new _rendeBitmap if neccessary{ Antialiasing : false, SimpleRender : false, Delay : 2, AlphaMultiplier : 0.8, Height : 0, Width : 0, Y : 0, X : 0 }* Creates a new FlxTrailArea, in which all added sprites get a trail effect.
*
* @param X x position of the trail area
* @param Y y position of the trail area
* @param Width The width of the area - defaults to FlxG.width
* @param Height The height of the area - defaults to FlxG.height
* @param AlphaMultiplier By what the area's alpha is multiplied per update
* @param Delay How often to update the trail. 1 updates every frame
* @param SimpleRender If simple rendering should be used. Ignores all sprite transformations
* @param Antialiasing If sprites should be smoothed when drawn to the area. Ignored when simple rendering is on
* @param TrailBlendMode The blend mode used for the area. Only works in flash* This provides an area in which the added sprites have a trail effect. Usage: Create the FlxTrailArea and
* add it to the display. Then add all sprites that should have a trail effect via the add function.
* @author KeyMasterhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Sets the FlxTrailArea to a new size. Clears the area!
*
* @param Width The new width
* @param Height The new height
<_HX_SUPER__setSize public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">* Setter for width, defaults to FlxG.width, creates new _rendeBitmap if neccessary
<_HX_SUPER__set_width set="method" line="148">* Setter for height, defaults to FlxG.height, creates new _rendeBitmap if neccessary
<_HX_SUPER__set_height set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.FlxTrailArea
<_HX_SUPER__destroy public="1" set="method" line="31">* Updates positions and other values according to the delay that has been set.
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__resetTrail public="1" set="method" line="31">* A function to add a specific number of sprites to the trail to increase its length.
*
* @param Amount The amount of sprites to add to the trail.
<_HX_SUPER__increaseLength public="1" set="method" line="31">* In case you want to change the trailsprite image in runtime...
*
* @param Image The image the sprites should load
<_HX_SUPER__changeGraphic public="1" set="method" line="31">{ Scale : true, Y : true, X : true }* Handy little function to change which events affect the trail.
*
* @param Angle Whether the trail reacts to angle changes or not.
* @param X Whether the trail reacts to x changes or not.
* @param Y Whether the trail reacts to y changes or not.
* @param Scale Wheater the trail reacts to scale changes or not.
<_HX_SUPER__changeValuesEnabled public="1" set="method" line="31">
{ Scale : true, Y : true, X : true }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.FlxTrailtrue* Enables and disables the effects update loop.* The target FlxSprite that is used to apply effects.true* Whether to call target's FlxSprite#updateAnimation() every FlxEffectSprite#update(). Set this false if the target is also added to state.* Effects applied to frames
<_effectOffset>
* Use to offset the drawing position of the bitmap.* WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.* Call this function to figure out the on-screen position of the object.
*
* @param Point Takes a FlxPoint object and assigns the post-scrolled X and Y values of this object to it.
* @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @return The Point you passed in, or a new Point if you didn't pass one, containing the screen X and Y position of this object.* Core update loop, and updates each active effect.* Creates a FlxEffectSprite for a specific FlxSprite.
*
* @param Target The target FlxSprite that is used to apply effects.
* @param Effects Effects to be applied to frames.* Use this class to chain bitmap effects to your target FlxSprite frame.
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()* WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it.
* Used to clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Call this function to figure out the on-screen position of the object.
*
* @param Point Takes a FlxPoint object and assigns the post-scrolled X and Y values of this object to it.
* @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @return The Point you passed in, or a new Point if you didn't pass one, containing the screen X and Y position of this object.
<_HX_SUPER__getScreenPosition public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="31">* Core update loop, and updates each active effect.
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.chainable.FlxEffectSpritehscript.UsingHandler.build()hscript.ClassExtendMacro.build()trueFlxPoint.get()1* How thick each glitch segment should be.0.05* Time, in seconds, between glitch updates* Which direction the glitch effect should be applied.2* How strong the glitch effect should be (how much it should move from the center)
<_time expr="0">
0* Current time of the effect.
<_flashPoint expr="new Point()">
new Point()* Internal, reused frequently during drawing and animating.
<_flashRect expr="new Rectangle()">
new Rectangle()* Internal, reused frequently during drawing and animating.
<_pixels>
* The actual Flash BitmapData object representing the current effect state.{ Delay : 0.05, Size : 1, Strength : 4 }* Creates a new FlxGlitchSprite, which applies a Glitch-distortion effect.
* This effect is non-destructive to the target's pixels, and can be used on animated FlxSprites.
*
* @param Strength How strong you want the effect.
* @param Size How 'thick' you want each piece of the glitch.
* @param Delay How long (in seconds) between each glitch update.
* @param Direction Which Direction you want the effect to be applied (HORIZONTAL or VERTICAL).* This is a modified version of FlxGlitchSprite by Tim Hely
*
* @author Tim Hely / tims-world.com
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__apply public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.chainable.FlxGlitchEffectflixel.addons.effects.chainable.FlxGlitchEffect.FlxGlitchDirectiontrueFlxPoint.get()true* Set this flag to true to force the effect to update during the apply() call.
* This effect is too heavy, and must be called just when the main shape of sprite changes.* Which mode we're using for the effect
* @since 2.1.0* Color of the outline.* Stroke thickness in pixels of outline.* Set alpha sensitivity to a number between 0 and 1.* How many iterations do use when drawing the outline. 0: only 1 iteration, 1: one iteration for every pixel in thickness
* A value of 1 will have the best quality for large border sizes, but might reduce performance.
* NOTE: If the thickness is 1, quality of 0 or 1 will have the exact same effect (and performance).
* @since 2.1.0
<_pixels>
* The actual Flash BitmapData object representing the current effect state.
<_borderPixels>
* The actual Flash BitmapData object representing the colored border.
<_flashPoint expr="new Point()">
new Point()* Internal, reused frequently during drawing and animating.
<_matrix expr="new Matrix()">
new Matrix(){ Quality : 1, Threshold : 0, Thickness : 1, Color : FlxColor.WHITE }* Creates an outline around the bitmapData with the specified color and thickness. To update, dirty need to be setted as true.
*
* @param Mode Which Mode you would like to use for the effect. FAST = Optimized using only 4 draw calls, NORMAL = Outline on all 8 sides, PIXEL_BY_PIXEL = Surround every pixel (can affect performance).
* @param Color Color of the outline.
* @param Thickness Outline thickness in pixels.
* @param Quality Outline quality - # of iterations to use when drawing. 0:just 1, 1:equal number to Thickness. Not used with PIXEL_BY_PIXEL mode.
* @param Threshold Alpha sensitivity, only used with PIXEL_BY_PIXEL mode.* This creates an outline around the bitmapData. This is a modified version of FlxOutline by red__hara, with some code get from FlxText's borders.
*
* @author red__hara
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()@since 2.1.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__apply public="1" set="method" line="148">
<_HX_SUPER__drawPixelByPixel set="method" line="31">
<_HX_SUPER__drawNormal set="method" line="31">
<_HX_SUPER__drawFast set="method" line="31">
<_HX_SUPER__surroundPixel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.chainable.FlxOutlineEffectflixel.addons.effects.chainable.FlxOutlineEffect.FlxOutlineModetrue5* How fast the hue should change each tick.1* Set alpha to a number between 0 and 1 to change the opacity of the effect.1* A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright.
<_hue expr="0">
0* The current hue of the effect
<_time expr="0">
0* Used to adjust the hue using speed
<_flashPoint expr="new Point()">
new Point()* Internal, reused frequently during drawing and animating. Always contains (0,0).
<_pixels>
* The actual Flash BitmapData object representing the current effect state.{ StartHue : 0, Speed : 5, Brightness : 1, Alpha : 1 }* Creates a new FlxEffectRainbow, which applies a color-cycling effect, using the target's bitmap as a mask.
*
* @param Alpha A number between 0 and 1 to change the opacity of the effect.
* @param Brightness A number between 0 and 1, indicating how bright the color should be.
* @param Speed How fast the hue should change each tick.
* @param StartHue The initial hue of the effect.* This is a modified version of FlxRainbowSprite by Tim Hely
*
* @author Tim Hely / tims-world.com
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__apply public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.chainable.FlxRainbowEffecttrueFlxPoint.get()0* Value in pixels representing the maximum distance that the bitmapData can move while shaking.* A function you want to run when the shake finishes.XY* On what axes to shake.
<_duration expr="0">
0* The length in seconds that the shaking effect should last.
<_time expr="0">
0* Current time of the effect.{ Force : false }* Reset and start the effect with the same parameters.
*
* @param Force Force the effect to reset.{ Duration : 0.5, Intensity : 5 }* Reset the effect, need to set the parameters again. To use the same parameters call method start().
*
* @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking.
* @param Duration The length in seconds that the shaking effect should last.
* @param OnComplete Optional completion callback function.
* @param Axes On what axes to shake. Default value is XY / both.{ Duration : 0.5, Intensity : 5 }* A shake effect.
*
* @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking.
* @param Duration The length in seconds that the shaking effect should last.
* @param OnComplete Optional completion callback function.
* @param Axes On what axes to shake. Default value is XY / both.* This will shake the bitmapData.
*
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__apply public="1" set="method" line="148">{ Force : false }* Reset and start the effect with the same parameters.
*
* @param Force Force the effect to reset.
<_HX_SUPER__start public="1" set="method" line="31">
{ Force : false }{ Duration : 0.5, Intensity : 5 }* Reset the effect, need to set the parameters again. To use the same parameters call method start().
*
* @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking.
* @param Duration The length in seconds that the shaking effect should last.
* @param OnComplete Optional completion callback function.
* @param Axes On what axes to shake. Default value is XY / both.
<_HX_SUPER__reset public="1" set="method" line="148">
{ Duration : 0.5, Intensity : 5 }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.chainable.FlxShakeEffecttrueFlxPoint.get()* The target FlxEffectSprite that to apply the trail.* The amount of trail images to create.* The alpha value for the first trail.* Number of frames to wait until next updated.* Whether to cache current pixels bitmapData of the target for every trail position.
<_recentPositions expr="[]">
[]* An array containing the 'length' last differences of the target positions.
<_recentPixels expr="[]">
[]* An array containing the 'length' last pixels bitmapData of the target. Only used if cachePixels is enabled.
<_currentFrames expr="0">
0* Current number of frames passed.
<_pixels>
* The actual Flash BitmapData object representing the current effect state.
<_matrix expr="new Matrix()">
new Matrix()
<_colorTransform expr="new ColorTransform()">
new ColorTransform()@since 2.1.0{ CachePixels : true, FramesDelay : 2, Alpha : 0.5, Length : 10 }* Creates a trail effect.
*
* @param Length The amount of trail images to create.
* @param Alpha The alpha value for the first trailsprite.
* @param FramesDelay How many frames wait until next trail updated.
* @param CachePixels Whether to cache current pixels bitmapData of the target for every trail position. Disable if target never update graphics.* This creates a trail copying the bitmapData many times.
*
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__updateRecents public="1" set="method" line="31">
<_HX_SUPER__apply public="1" set="method" line="148">@since 2.1.0
<_HX_SUPER__clear public="1" set="method" line="31">
<_HX_SUPER__disposeCachedPixels set="method" line="148">
<_HX_SUPER__set_length set="method" line="148">
<_HX_SUPER__set_cachePixels set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.chainable.FlxTrailEffecttrueFlxPoint.get()* Which mode we're using for the effect.* How fast should the wave effect be (higher = faster).
* The 'center' of our sprite (where the wave effect should start/end). Ratio based on the bitmapData size.
* Which direction the wave effect should be applied.* How long waves are.* How strong the wave effect should be.* The wave ratio to offset every odd line of the `BitmapData`. Must be a value between 0 and 1.
* @since 2.1.0
<_time expr="0">
0* Current time of the effect.
<_flashPoint expr="new Point()">
new Point()* Internal, reused frequently during drawing and animating.
<_flashRect expr="new Rectangle()">
new Rectangle()* Internal, reused frequently during drawing and animating.
<_pixels>
* The actual Flash BitmapData object representing the current effect state.{ InterlaceOffset : 0, Wavelength : 5, Speed : 3, Center : 0.5, Strength : 10 }* Creates a new FlxEffectWave, which applies a wave-distortion effect.
*
* @param Mode Which Mode you would like to use for the effect. ALL = applies a constant distortion throughout the image, END = makes the effect get stronger towards the bottom of the image, and START = the reverse of END.
* @param Strength How strong you want the effect.
* @param Center The 'center' of the effect when using END or START modes. Anything before(END)/after(START) this point on the image will have no distortion effect. Ratio based on the bitmapData size.
* @param Speed How fast you want the effect to move. Higher values = faster.
* @param Wavelength How long waves are.
* @param Direction Which Direction you want the effect to be applied (HORIZONTAL or VERTICAL).
* @param InterlaceOffset The wave ratio to offset every odd line of the bitmapData. Must be a value between 0 and 1;* This is a modified version of FlxWaveSprite by Tim Hely
*
* @author Tim Hely / tims-world.com
* @author adrianulimahscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__apply public="1" set="method" line="148">
<_HX_SUPER__set_interlaceOffset set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.effects.chainable.FlxWaveEffectflixel.addons.effects.chainable.FlxWaveEffect.FlxWaveModeflixel.addons.effects.chainable.FlxWaveEffect.FlxWaveDirection-1* Use with sort() to sort in ascending order.1* Use with sort() to sort in descending order."y"* The value that the FlxExtendedSprites are sorted by before deciding which is "on-top" for click selectASCENDING* The sorting order. If the sortIndex is "y" and the order is ASCENDING then a sprite with a Y value of 200 would be "on-top" of one with a Y value of 100.false* Is the mouse currently dragging a sprite? If you have just clicked but NOT yet moved the mouse then this might return false.* The FlxExtendedSprite that is currently being dragged, if any.* The speed the mouse is moving on the X axis in pixels per frame* The speed the mouse is moving on the Y axis in pixels per frame* The mouse can be set to only be active within a specific FlxRect region of the game world.
* If outside this FlxRect no clicks, drags or throws will be processed.
* If the mouse leaves this region while still dragging then the sprite is automatically dropped and its release handler is called.
* Set the FlxRect to null to disable the zone.false* Instead of using a mouseZone (which is calculated in world coordinates) you can limit the mouse to the FlxG.camera.deadzone area instead.
* If set to true the mouse will use the camera deadzone. If false (or the deadzone is null) no check will take place.
* Note that this takes priority over the mouseZone above. If the mouseZone and deadzone are set, the deadzone is used.
<_clickStack expr="new Array<FlxExtendedSprite>()" line="80" static="1">
()]]>* The FlxExtendedSprite that currently has the mouse button pressed on it
<_clickCoords static="1">
<_hasClickTarget expr="false" line="83" static="1">
false
<_oldX expr="0" line="85" static="1">
0
<_oldY expr="0" line="86" static="1">
0* Adds the given FlxExtendedSprite to the stack of potential sprites that were clicked, the stack is then sorted and the final sprite is selected from that
*
* @param Item The FlxExtendedSprite that was clicked by the mouse* Removes all references to any click / drag targets and resets this class* Main Update Loop - checks mouse status and updates FlxExtendedSprites accordingly* Internal function used to release the click / drag targets and reset the mouse state* Once the clickStack is created this sorts it and then picks the sprite with the highest priority (based on sortIndex and sortOrder)* Helper function for the sort process.
*
* @param Item1 The first object being sorted.
* @param Item2 The second object being sorted.
*
* @return An integer value: -1 (item1 before item2), 0 (same), or 1 (item1 after item2)* Runs when this plugin is destroyed* FlxMouseControl
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Main Update Loop - checks mouse status and updates FlxExtendedSprites accordingly
<_HX_SUPER__update public="1" set="method" line="31">* Internal function used to release the click / drag targets and reset the mouse state
<_HX_SUPER__releaseMouse set="method" line="31">* Once the clickStack is created this sorts it and then picks the sprite with the highest priority (based on sortIndex and sortOrder)
<_HX_SUPER__assignClickedSprite set="method" line="31">* Helper function for the sort process.
*
* @param Item1 The first object being sorted.
* @param Item2 The second object being sorted.
*
* @return An integer value: -1 (item1 before item2), 0 (same), or 1 (item1 after item2)
<_HX_SUPER__sortHandler set="method" line="148">* Runs when this plugin is destroyed
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.FlxMouseControl
<__pool expr="new ObjectPool<Point>(function() return new Point(), function(p) p.setTo(0, 0))" line="37" static="1">
(function() return new Point(), function(p) p.setTo(0, 0))]]>
<__limeVector2 static="1">
Returns the distance between `pt1` and `pt2`.
@param pt1 The first point.
@param pt2 The second point.
@return The distance between the first and second points.Determines a point between two specified points. The parameter
`f` determines where the new interpolated point is located
relative to the two end points specified by parameters `pt1`
and `pt2`. The closer the value of the parameter `f`
is to `1.0`, the closer the interpolated point is to the first
point(parameter `pt1`). The closer the value of the parameter
`f` is to 0, the closer the interpolated point is to the second
point(parameter `pt2`).
@param pt1 The first point.
@param pt2 The second point.
@param f The level of interpolation between the two points. Indicates
where the new point will be, along the line between
`pt1` and `pt2`. If `f`=1,
`pt1` is returned; if `f`=0,
`pt2` is returned.
@return The new, interpolated point.Converts a pair of polar coordinates to a Cartesian point coordinate.
@param len The length coordinate of the polar pair.
@param angle The angle, in radians, of the polar pair.
@return The Cartesian point.The length of the line segment from(0,0) to this point.The horizontal coordinate of the point. The default value is 0.The vertical coordinate of the point. The default value is 0.Adds the coordinates of another point to the coordinates of this point to
create a new point.
@param v The point to be added.
@return The new point.Creates a copy of this Point object.
@return The new Point object.Copies all of the point data from the source Point object into the calling Point
object.
@param sourcePoint The Point object from which to copy the data.Determines whether two points are equal. Two points are equal if they have
the same _x_ and _y_ values.
@param toCompare The point to be compared.
@return A value of `true` if the object is equal to this Point
object; `false` if it is not equal.Scales the line segment between(0,0) and the current point to a set
length.
@param thickness The scaling value. For example, if the current point is
(0,5), and you normalize it to 1, the point returned is
at(0,1).
@return The normalized point.Offsets the Point object by the specified amount. The value of
`dx` is added to the original value of _x_ to create the
new _x_ value. The value of `dy` is added to the original
value of _y_ to create the new _y_ value.
@param dx The amount by which to offset the horizontal coordinate,
_x_.
@param dy The amount by which to offset the vertical coordinate, _y_.Sets the members of Point to the specified values
@param xa the values to set the point to.
@param yaSubtracts the coordinates of another point from the coordinates of this
point to create a new point.
@param v The point to be subtracted.
@return The new point.Returns a string that contains the values of the _x_ and _y_
coordinates. The string has the form `"(x=_x_,
y=_y_)"`, so calling the `toString()` method for a
point at 23,17 would return `"(x=23, y=17)"`.
@return The string representation of the coordinates.
<__toLimeVector2 set="method" line="254">
{ y : 0, x : 0 }Creates a new point. If you pass no parameters to this method, a point is
created at(0,0).
@param x The horizontal coordinate.
@param y The vertical coordinate.The Point object represents a location in a two-dimensional coordinate
system, where _x_ represents the horizontal axis and _y_
represents the vertical axis.
The following code creates a point at(0,0):
Methods and properties of the following classes use Point objects:
* BitmapData
* DisplayObject
* DisplayObjectContainer
* DisplacementMapFilter
* NativeWindow
* Matrix
* Rectangle
You can use the `new Point()` constructor to create a Point
object."tags=\"haxe,release\""()]]>new Point(0, 0){ loopOnWrap : true, onlyScrollOnscreen : true, text : null, steps : 0, pixels : 1 }* Adds an FlxBitmapTextField to the Scrolling Text Manager and returns an FlxSprite which contains the text scroller in it.
* The FlxSprite will automatically update itself via this plugin, but can be treated as a normal FlxSprite in all other regards
* re: positioning, collision, rotation, etc.
*
* @param bitmapText A pre-prepared FlxBitmapTextField object (see the Test Suite examples for details on how this works)
* @param region A Rectangle that defines the size of the scrolling FlxSprite. The sprite will be placed at region.x/y and be region.width/height in size.
* @param pixels The number of pixels to scroll per step. For a smooth (but slow) scroll use low values. Keep the value proportional to the font width, so if the font width is 16 use a value like 1, 2, 4 or 8.
* @param steps How many steps should pass before the text is next scrolled? Default 0 means every step we scroll. Higher values slow things down.
* @param text The default text for your scrolling message. Can be changed in real-time via the addText method.
* @param onlyScrollOnscreen Only update the text scroller when this FlxSprite is visible on-screen? Default true.
* @param loopOnWrap When the scroller reaches the end of the given "text" should it wrap to the start? Default true. If false it will clear the screen then set itself to not update.
*
* @return An FlxSprite of size region.width/height, positioned at region.x/y, that auto-updates its contents while this plugin runs{ overwrite : false }* Adds or replaces the text in the given Text Scroller.
* Can be called while the scroller is still active.
*
* @param source The FlxSprite Text Scroller you wish to update (must have been added to FlxScrollingText via a call to add()
* @param text The text to add or update to the Scroller
* @param overwrite If true the given text will fully replace the previous scroller text. If false it will be appended to the end (default)* Removes all FlxSprites
* This is called automatically if the plugin is destroyed, but should be called manually by you if you change States
* as all the FlxSprites will be destroyed by Flixel otherwise{ source : null }* Starts scrolling on the given FlxSprite. If no FlxSprite is given it starts scrolling on all FlxSprites currently added.
* Scrolling is enabled by default, but this can be used to re-start it if you have stopped it via stopScrolling.
*
* @param source The FlxSprite to start scrolling on. If left as null it will start scrolling on all sprites.{ source : null }* Stops scrolling on the given FlxSprite. If no FlxSprite is given it stops scrolling on all FlxSprites currently added.
* Scrolling is enabled by default, but this can be used to stop it.
*
* @param source The FlxSprite to stop scrolling on. If left as null it will stop scrolling on all sprites.* Checks to see if the given FlxSprite is a Scrolling Text, and is actively scrolling or not
* Note: If the text is set to only scroll when on-screen, but if off-screen when this is called, it will still return true.
*
* @param source The FlxSprite to check for scrolling on.
* @return Bool true is the FlxSprite was found and is scrolling, otherwise false* Removes an FlxSprite from the Text Scroller. Note that it doesn't restore the sprite bitmapData.
*
* @param source The FlxSprite to remove scrolling for.
* @return Bool true if the FlxSprite was removed, otherwise false.* FlxScrollingText
* -- Part of the Flixel Power Tools set
* -- Works only FLX_BLIT_RENDER mode for now
*
* v1.0 First version released
*
* @version 1.0 - May 5th 2011
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Storm
* @co-author Ungar Djordje / ArtBIT (Haxe port)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.FlxScrollingTextflixel.addons.plugin.FlxScrollingText.ScrollingTextData
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.FlxScrollingTextflixel.addons.plugin.FlxScrollingText.ScrollingTextData
<_members expr="new ObjectMap<FlxControlHandler,FlxControlHandler>()" line="23" static="1">
()]]>{ EnableArrowKeys : true, UpdateFacing : false, Player : 1 }* Creates a new FlxControlHandler. You can have as many FlxControlHandlers as you like, but you usually only have one per player. The first handler you make
* will be assigned to the FlxControl.player1 var. The 2nd to FlxControl.player2 and so on for player3 and player4. Beyond this you need to keep a reference to the
* handler yourself.
*
* @param Sprite The FlxSprite you want this class to control. It can only control one FlxSprite at once.
* @param MovementType Set to either MOVEMENT_INSTANT or MOVEMENT_ACCELERATES
* @param StoppingType Set to STOPPING_INSTANT, STOPPING_DECELERATES or STOPPING_NEVER
* @param UpdateFacing If true it sets the FlxSprite.facing value to the direction pressed (default false)
* @param EnableArrowKeys If true it will enable all arrow keys (default) - see setCursorControl for more fine-grained control
* @return The new FlxControlHandler* Removes a FlxControlHandler
*
* @param ControlHandler The FlxControlHandler to delete
* @return Boolean true if the FlxControlHandler was removed, otherwise false.* Removes all FlxControlHandlers.
* This is called automatically if this plugin is ever destroyed.* Starts updating the given FlxControlHandler, enabling keyboard actions for it. If no FlxControlHandler is given it starts updating all FlxControlHandlers currently added.
* Updating is enabled by default, but this can be used to re-start it if you have stopped it via stop().
*
* @param ControlHandler The FlxControlHandler to start updating on. If left as null it will start updating all handlers.* Stops updating the given FlxControlHandler. If no FlxControlHandler is given it stops updating all FlxControlHandlers currently added.
* Updating is enabled by default, but this can be used to stop it, for example if you paused your game (see start() to restart it again).
*
* @param ControlHandler The FlxControlHandler to stop updating. If left as null it will stop updating all handlers.* Runs update on all currently active FlxControlHandlers* Runs when this plugin is destroyed* FlxControl
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()0* The "Instant" Movement Type means the sprite will move at maximum speed instantly, and will not "accelerate" (or speed-up) before reaching that speed.1* The "Accelerates" Movement Type means the sprite will accelerate until it reaches maximum speed.0* The "Instant" Stopping Type means the sprite will stop immediately when no direction keys are being pressed, there will be no deceleration.1* The "Decelerates" Stopping Type means the sprite will start decelerating when no direction keys are being pressed. Deceleration continues until the speed reaches zero.2* The "Never" Stopping Type means the sprite will never decelerate, any speed built up will be carried on and never reduce.0* The "Instant" Movement Type means the sprite will rotate at maximum speed instantly, and will not "accelerate" (or speed-up) before reaching that speed.1* The "Accelerates" Rotaton Type means the sprite will accelerate until it reaches maximum rotation speed.0* The "Instant" Stopping Type means the sprite will stop rotating immediately when no rotation keys are being pressed, there will be no deceleration.1* The "Decelerates" Stopping Type means the sprite will start decelerating when no rotation keys are being pressed. Deceleration continues until rotation speed reaches zero.2* The "Never" Stopping Type means the sprite will never decelerate, any speed built up will be carried on and never reduce.0* This keymode fires for as long as the key is held down1* This keyboard fires when the key has just been pressed down, and not again until it is released and re-pressed2* This keyboard fires only when the key has been pressed and then released againFlxMath.SQUARE_ROOT_OF_TWO * 0.5falsefalsefalsefalsefalse
<_entity>
<_bounds>
<_up expr="false">
false
<_down expr="false">
false
<_left expr="false">
false
<_right expr="false">
false
<_fire>
<_altFire>
<_jump>
<_altJump>
<_xFacing>
<_yFacing>
<_rotateAntiClockwise>
<_rotateClockwise>
<_upMoveSpeed>
<_downMoveSpeed>
<_leftMoveSpeed>
<_rightMoveSpeed>
<_thrustSpeed>
<_reverseSpeed>
<_thrustEnabled expr="false">
false
<_reverseEnabled>
<_isRotating expr="false">
false
<_antiClockwiseRotationSpeed>
<_clockwiseRotationSpeed>
<_enforceAngleLimits expr="false">
false
<_minAngle>
<_maxAngle>
<_capAngularVelocity>
<_xSpeedAdjust expr="0">
0
<_ySpeedAdjust expr="0">
0
<_gravityX expr="0">
0
<_gravityY expr="0">
0
<_fireRate>
<_nextFireTime expr="0">
0
<_lastFiredTime>
<_fireKeyMode>
<_fireCallback>
<_jumpHeight>
<_jumpRate>
<_jumpKeyMode>
<_nextJumpTime>
<_lastJumpTime>
<_jumpFromFallTime>
<_extraSurfaceTime>
<_jumpSurface>
<_jumpCallback>
<_movement>
<_stopping>
<_rotation>
<_rotationStopping>
<_capVelocity>
<_hotkeys>
<_upKey>
<_downKey>
<_leftKey>
<_rightKey>
<_fireKey>
<_altFireKey>
<_jumpKey>
<_altJumpKey>
<_antiClockwiseKey>
<_clockwiseKey>
<_thrustKey>
<_reverseKey>@since 2.1.0@since 2.1.0
<_jumpSound>
<_fireSound>
<_walkSound>
<_thrustSound>{ DecelerationY : 0, DecelerationX : 0 }* Set the speed at which the sprite will move when a direction key is pressed.
* All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms)
* Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels.
*
* If you need different speed values for left/right or up/down then use setAdvancedMovementSpeed
*
* @param SpeedX The speed in pixels per second in which the sprite will move/accelerate horizontally
* @param SpeedY The speed in pixels per second in which the sprite will move/accelerate vertically
* @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally
* @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically
* @param DecelerationX A deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0)
* @param DecelerationY A deceleration speed in pixels per second to apply to the sprites vertical movement (default 0){ Acceleration : true }* If you know you need the same value for the acceleration, maximum speeds and (optionally) deceleration then this is a quick way to set them.
*
* @param Speed The speed in pixels per second in which the sprite will move/accelerate/decelerate
* @param Acceleration If true it will set the speed value as the deceleration value (default) false will leave deceleration disabled{ DecelerationY : 0, DecelerationX : 0 }* Set the speed at which the sprite will move when a direction key is pressed.
* All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms)
* Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels.
*
* If you don't need different speed values for every direction on its own then use setMovementSpeed
*
* @param LeftSpeed The speed in pixels per second in which the sprite will move/accelerate to the left
* @param RightSpeed The speed in pixels per second in which the sprite will move/accelerate to the right
* @param UpSpeed The speed in pixels per second in which the sprite will move/accelerate up
* @param DownSpeed The speed in pixels per second in which the sprite will move/accelerate down
* @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally
* @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically
* @param DecelerationX Deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0)
* @param DecelerationY Deceleration speed in pixels per second to apply to the sprites vertical movement (default 0)* Set the speed at which the sprite will rotate when a direction key is pressed.
* Use this in combination with setMovementSpeed to create a Thrust like movement system.
* All values are given in pixels per second. So an xSpeed of 100 would rotate the sprite 100 pixels in 1 second (1000ms)
* Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels.* @param RotationType
* @param StoppingType{ LimitVelocity : true }* Sets the maximum speed (in pixels per second) that the FlxSprite can rotate.
* When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value.
* However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity".
*
* @param Speed The maximum speed in pixels per second in which the sprite can rotate
* @param LimitVelocity If true the angular velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything.* Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no rotation is taking place.
* The velocity of the sprite will be reduced until it reaches zero.
*
* @param Speed The speed in pixels per second at which the sprite will have its angular rotation speed decreased* Set minimum and maximum angle limits that the Sprite won't be able to rotate beyond.
* Values must be between -180 and +180. 0 is pointing right, 90 down, 180 left, -90 up.
*
* @param MinimumAngle Minimum angle below which the sprite cannot rotate (must be -180 or above)
* @param MaximumAngle Maximum angle above which the sprite cannot rotate (must be 180 or below)* Disables rotation limits set in place by setRotationLimits(){ CustomClockwise : "", CustomAntiClockwise : "", UpDown : false, LeftRight : true }* Set which keys will rotate the sprite. The speed of rotation is set in setRotationSpeed.
*
* @param LeftRight Use the LEFT and RIGHT arrow keys for anti-clockwise and clockwise rotation respectively.
* @param UpDown Use the UP and DOWN arrow keys for anti-clockwise and clockwise rotation respectively.
* @param CustomAntiClockwise The String value of your own key to use for anti-clockwise rotation (as taken from flixel.system.input.Keyboard)
* @param CustomClockwise The String value of your own key to use for clockwise rotation (as taken from flixel.system.input.Keyboard){ ReverseSpeed : 0 }* If you want to enable a Thrust like motion for your sprite use this to set the speed and keys.
* This is usually used in conjunction with Rotation and it will over-ride anything already defined in setMovementSpeed.
*
* @param ThrustKey Specify the key String (as taken from flixel.system.input.Keyboard) to use for the Thrust action
* @param ThrustSpeed The speed in pixels per second which the sprite will move. Acceleration or Instant movement is determined by the Movement Type.
* @param ReverseKey If you want to be able to reverse, set the key string as taken from flixel.system.input.Keyboard (defaults to null).
* @param ReverseSpeed The speed in pixels per second which the sprite will reverse. Acceleration or Instant movement is determined by the Movement Type.{ LimitVelocity : true }* Sets the maximum speed (in pixels per second) that the FlxSprite can move. You can set the horizontal and vertical speeds independantly.
* When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value.
* However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity".
*
* @param SpeedX The maximum speed in pixels per second in which the sprite can move horizontally
* @param SpeedY The maximum speed in pixels per second in which the sprite can move vertically
* @param LimitVelocity If true the velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything.* Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no acceleration is taking place.
* The velocity of the sprite will be reduced until it reaches zero, and can be configured separately per axis.
*
* @param SpeedX The speed in pixels per second at which the sprite will have its horizontal speed decreased
* @param SpeedY The speed in pixels per second at which the sprite will have its vertical speed decreased* Gravity can be applied to the sprite, pulling it in any direction.
* Gravity is given in pixels per second and is applied as acceleration. The speed the sprite reaches under gravity will never exceed the Maximum Movement Speeds set.
* If you don't want gravity for a specific direction pass a value of zero.
*
* @param ForceX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity.
* @param ForceY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity.* Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up)
* To reset call flipGravity again{ ResetY : true, ResetX : true }* TODO
*
* @param ResetX
* @param ResetY* Set sound effects for the movement events jumping, firing, walking and thrust.
*
* @param Jump The FlxSound to play when the user jumps
* @param Fire The FlxSound to play when the user fires
* @param Walk The FlxSound to play when the user walks
* @param Thrust The FlxSound to play when the user thrusts{ AltKey : "" }* Enable a fire button
*
* @param Key The key to use as the fire button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL")
* @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED)
* @param RepeatDelay Time delay in ms between which the fire action can repeat (0 means instant, 250 would allow it to fire approx. 4 times per second)
* @param Callback A user defined function to call when it fires
* @param AltKey Specify an alternative fire key that works AS WELL AS the primary fire key (TODO){ AltKey : "", JumpFromFall : 0, RepeatDelay : 250 }* Enable a jump button
*
* @param Key The key to use as the jump button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL")
* @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED)
* @param Height The height in pixels/sec that the Sprite will attempt to jump (gravity and acceleration can influence this actual height obtained)
* @param Surface A bitwise combination of all valid surfaces the Sprite can jump off (such as FLOOR)
* @param RepeatDelay Time delay in ms between which the jumping can repeat (250 would be 4 times per second)
* @param JumpFromFall A time in ms that allows the Sprite to still jump even if it's just fallen off a platform, if still within ths time limit
* @param Callback A user defined function to call when the Sprite jumps
* @param AltKey Specify an alternative jump key that works AS WELL AS the primary jump key (TODO)* Limits the sprite to only be allowed within this rectangle. If its x/y coordinates go outside it will be repositioned back inside.
* Coordinates should be given in GAME WORLD pixel values (not screen value, although often they are the two same things)
*
* @param X The x coordinate of the top left corner of the area (in game world pixels)
* @param Y The y coordinate of the top left corner of the area (in game world pixels)
* @param Width The width of the area (in pixels)
* @param Height The height of the area (in pixels)* Clears any previously set sprite bounds* Called by the FlxControl plugin* Sets Custom Key controls. Useful if none of the pre-defined sets work. All String values should be taken from flixel.system.input.Keyboard
* Pass a blank (empty) String to disable that key from being checked.
*
* @param CustomUpKey The String to use for the Up key.
* @param CustomDownKey The String to use for the Down key.
* @param CustomLeftKey The String to use for the Left key.
* @param CustomRightKey The String to use for the Right key.{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables Cursor/Arrow Key controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the UP key
* @param AllowDown Enable the DOWN key
* @param AllowLeft Enable the LEFT key
* @param AllowRight Enable the RIGHT key{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables WASD controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param allowUp Enable the up (W) key
* @param allowDown Enable the down (S) key
* @param allowLeft Enable the left (A) key
* @param allowRight Enable the right (D) key{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables ESDF (home row) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (E) key
* @param AllowDown Enable the down (D) key
* @param AllowLeft Enable the left (S) key
* @param AllowRight Enable the right (F) key{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables IJKL (right-sided or secondary player) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (I) key
* @param AllowDown Enable the down (K) key
* @param AllowLeft Enable the left (J) key
* @param AllowRight Enable the right (L) key{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables HJKL (Rogue / Net-Hack) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (K) key
* @param AllowDown Enable the down (J) key
* @param AllowLeft Enable the left (H) key
* @param AllowRight Enable the right (L) key{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables ZQSD (Azerty keyboard) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (Z) key
* @param AllowDown Enable the down (Q) key
* @param AllowLeft Enable the left (S) key
* @param AllowRight Enable the right (D) key{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables Dvoark Simplified Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (COMMA) key
* @param AllowDown Enable the down (A) key
* @param AllowLeft Enable the left (O) key
* @param AllowRight Enable the right (E) key{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables Numpad (left-handed) Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (NUMPADEIGHT) key
* @param AllowDown Enable the down (NUMPADTWO) key
* @param AllowLeft Enable the left (NUMPADFOUR) key
* @param AllowRight Enable the right (NUMPADSIX) key{ EnableArrowKeys : true, UpdateFacing : false }* Sets the FlxSprite to be controlled by this class, and defines the initial movement and stopping types.
* After creating an instance of this class you should call setMovementSpeed, and one of the enableXControl functions if you need more than basic cursors.
*
* @param Sprite The FlxSprite you want this class to control. It can only control one FlxSprite at once.
* @param MovementType Set to either MOVEMENT_INSTANT or MOVEMENT_ACCELERATES
* @param StoppingType Set to STOPPING_INSTANT, STOPPING_DECELERATES or STOPPING_NEVER
* @param UpdateFacing If true it sets the FlxSprite.facing value to the direction pressed (default false)
* @param EnableArrowKeys If true it will enable all arrow keys (default) - see setCursorControl for more fine-grained control*
* Makes controlling an FlxSprite with the keyboard a LOT easier and quicker to set-up!
* Sometimes it's hard to know what values to set, especially if you want gravity, jumping, sliding, etc.
* This class helps sort that - and adds some cool extra functionality too :)
*
* TODO: Hot Keys
* TODO: Binding of sound effects to keys (seperate from setSounds? as those are event based)
* TODO: Specify animation frames to play based on velocity
* TODO: Variable gravity (based on height, the higher the stronger the effect)
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ DecelerationY : 0, DecelerationX : 0 }* Set the speed at which the sprite will move when a direction key is pressed.
* All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms)
* Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels.
*
* If you need different speed values for left/right or up/down then use setAdvancedMovementSpeed
*
* @param SpeedX The speed in pixels per second in which the sprite will move/accelerate horizontally
* @param SpeedY The speed in pixels per second in which the sprite will move/accelerate vertically
* @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally
* @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically
* @param DecelerationX A deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0)
* @param DecelerationY A deceleration speed in pixels per second to apply to the sprites vertical movement (default 0)
<_HX_SUPER__setMovementSpeed public="1" set="method" line="31">
{ DecelerationY : 0, DecelerationX : 0 }{ Acceleration : true }* If you know you need the same value for the acceleration, maximum speeds and (optionally) deceleration then this is a quick way to set them.
*
* @param Speed The speed in pixels per second in which the sprite will move/accelerate/decelerate
* @param Acceleration If true it will set the speed value as the deceleration value (default) false will leave deceleration disabled
<_HX_SUPER__setStandardSpeed public="1" set="method" line="31">
{ Acceleration : true }{ DecelerationY : 0, DecelerationX : 0 }* Set the speed at which the sprite will move when a direction key is pressed.
* All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms)
* Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels.
*
* If you don't need different speed values for every direction on its own then use setMovementSpeed
*
* @param LeftSpeed The speed in pixels per second in which the sprite will move/accelerate to the left
* @param RightSpeed The speed in pixels per second in which the sprite will move/accelerate to the right
* @param UpSpeed The speed in pixels per second in which the sprite will move/accelerate up
* @param DownSpeed The speed in pixels per second in which the sprite will move/accelerate down
* @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally
* @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically
* @param DecelerationX Deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0)
* @param DecelerationY Deceleration speed in pixels per second to apply to the sprites vertical movement (default 0)
<_HX_SUPER__setAdvancedMovementSpeed public="1" set="method" line="31">
{ DecelerationY : 0, DecelerationX : 0 }* Set the speed at which the sprite will rotate when a direction key is pressed.
* Use this in combination with setMovementSpeed to create a Thrust like movement system.
* All values are given in pixels per second. So an xSpeed of 100 would rotate the sprite 100 pixels in 1 second (1000ms)
* Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels.
<_HX_SUPER__setRotationSpeed public="1" set="method" line="31">* @param RotationType
* @param StoppingType
<_HX_SUPER__setRotationType public="1" set="method" line="31">{ LimitVelocity : true }* Sets the maximum speed (in pixels per second) that the FlxSprite can rotate.
* When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value.
* However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity".
*
* @param Speed The maximum speed in pixels per second in which the sprite can rotate
* @param LimitVelocity If true the angular velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything.
<_HX_SUPER__setMaximumRotationSpeed public="1" set="method" line="31">
{ LimitVelocity : true }* Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no rotation is taking place.
* The velocity of the sprite will be reduced until it reaches zero.
*
* @param Speed The speed in pixels per second at which the sprite will have its angular rotation speed decreased
<_HX_SUPER__setRotationDeceleration public="1" set="method" line="31">* Set minimum and maximum angle limits that the Sprite won't be able to rotate beyond.
* Values must be between -180 and +180. 0 is pointing right, 90 down, 180 left, -90 up.
*
* @param MinimumAngle Minimum angle below which the sprite cannot rotate (must be -180 or above)
* @param MaximumAngle Maximum angle above which the sprite cannot rotate (must be 180 or below)
<_HX_SUPER__setRotationLimits public="1" set="method" line="31">* Disables rotation limits set in place by setRotationLimits()
<_HX_SUPER__disableRotationLimits public="1" set="method" line="31">{ CustomClockwise : "", CustomAntiClockwise : "", UpDown : false, LeftRight : true }* Set which keys will rotate the sprite. The speed of rotation is set in setRotationSpeed.
*
* @param LeftRight Use the LEFT and RIGHT arrow keys for anti-clockwise and clockwise rotation respectively.
* @param UpDown Use the UP and DOWN arrow keys for anti-clockwise and clockwise rotation respectively.
* @param CustomAntiClockwise The String value of your own key to use for anti-clockwise rotation (as taken from flixel.system.input.Keyboard)
* @param CustomClockwise The String value of your own key to use for clockwise rotation (as taken from flixel.system.input.Keyboard)
<_HX_SUPER__setRotationKeys public="1" set="method" line="31">
{ CustomClockwise : "", CustomAntiClockwise : "", UpDown : false, LeftRight : true }{ ReverseSpeed : 0 }* If you want to enable a Thrust like motion for your sprite use this to set the speed and keys.
* This is usually used in conjunction with Rotation and it will over-ride anything already defined in setMovementSpeed.
*
* @param ThrustKey Specify the key String (as taken from flixel.system.input.Keyboard) to use for the Thrust action
* @param ThrustSpeed The speed in pixels per second which the sprite will move. Acceleration or Instant movement is determined by the Movement Type.
* @param ReverseKey If you want to be able to reverse, set the key string as taken from flixel.system.input.Keyboard (defaults to null).
* @param ReverseSpeed The speed in pixels per second which the sprite will reverse. Acceleration or Instant movement is determined by the Movement Type.
<_HX_SUPER__setThrust public="1" set="method" line="31">
{ ReverseSpeed : 0 }{ LimitVelocity : true }* Sets the maximum speed (in pixels per second) that the FlxSprite can move. You can set the horizontal and vertical speeds independantly.
* When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value.
* However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity".
*
* @param SpeedX The maximum speed in pixels per second in which the sprite can move horizontally
* @param SpeedY The maximum speed in pixels per second in which the sprite can move vertically
* @param LimitVelocity If true the velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything.
<_HX_SUPER__setMaximumSpeed public="1" set="method" line="31">
{ LimitVelocity : true }* Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no acceleration is taking place.
* The velocity of the sprite will be reduced until it reaches zero, and can be configured separately per axis.
*
* @param SpeedX The speed in pixels per second at which the sprite will have its horizontal speed decreased
* @param SpeedY The speed in pixels per second at which the sprite will have its vertical speed decreased
<_HX_SUPER__setDeceleration public="1" set="method" line="31">* Gravity can be applied to the sprite, pulling it in any direction.
* Gravity is given in pixels per second and is applied as acceleration. The speed the sprite reaches under gravity will never exceed the Maximum Movement Speeds set.
* If you don't want gravity for a specific direction pass a value of zero.
*
* @param ForceX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity.
* @param ForceY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity.
<_HX_SUPER__setGravity public="1" set="method" line="31">* Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up)
* To reset call flipGravity again
<_HX_SUPER__flipGravity public="1" set="method" line="31">{ ResetY : true, ResetX : true }* TODO
*
* @param ResetX
* @param ResetY
<_HX_SUPER__resetSpeeds public="1" set="method" line="31">
{ ResetY : true, ResetX : true }* Set sound effects for the movement events jumping, firing, walking and thrust.
*
* @param Jump The FlxSound to play when the user jumps
* @param Fire The FlxSound to play when the user fires
* @param Walk The FlxSound to play when the user walks
* @param Thrust The FlxSound to play when the user thrusts
<_HX_SUPER__setSounds public="1" set="method" line="31">{ AltKey : "" }* Enable a fire button
*
* @param Key The key to use as the fire button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL")
* @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED)
* @param RepeatDelay Time delay in ms between which the fire action can repeat (0 means instant, 250 would allow it to fire approx. 4 times per second)
* @param Callback A user defined function to call when it fires
* @param AltKey Specify an alternative fire key that works AS WELL AS the primary fire key (TODO)
<_HX_SUPER__setFireButton public="1" set="method" line="31">
{ AltKey : "" }{ AltKey : "", JumpFromFall : 0, RepeatDelay : 250 }* Enable a jump button
*
* @param Key The key to use as the jump button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL")
* @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED)
* @param Height The height in pixels/sec that the Sprite will attempt to jump (gravity and acceleration can influence this actual height obtained)
* @param Surface A bitwise combination of all valid surfaces the Sprite can jump off (such as FLOOR)
* @param RepeatDelay Time delay in ms between which the jumping can repeat (250 would be 4 times per second)
* @param JumpFromFall A time in ms that allows the Sprite to still jump even if it's just fallen off a platform, if still within ths time limit
* @param Callback A user defined function to call when the Sprite jumps
* @param AltKey Specify an alternative jump key that works AS WELL AS the primary jump key (TODO)
<_HX_SUPER__setJumpButton public="1" set="method" line="31">
{ AltKey : "", JumpFromFall : 0, RepeatDelay : 250 }* Limits the sprite to only be allowed within this rectangle. If its x/y coordinates go outside it will be repositioned back inside.
* Coordinates should be given in GAME WORLD pixel values (not screen value, although often they are the two same things)
*
* @param X The x coordinate of the top left corner of the area (in game world pixels)
* @param Y The y coordinate of the top left corner of the area (in game world pixels)
* @param Width The width of the area (in pixels)
* @param Height The height of the area (in pixels)
<_HX_SUPER__setBounds public="1" set="method" line="31">* Clears any previously set sprite bounds
<_HX_SUPER__removeBounds public="1" set="method" line="31">
<_HX_SUPER__moveUp set="method" line="148">
<_HX_SUPER__moveDown set="method" line="148">
<_HX_SUPER__moveLeft set="method" line="148">
<_HX_SUPER__moveRight set="method" line="148">
<_HX_SUPER__moveAntiClockwise set="method" line="148">
<_HX_SUPER__moveClockwise set="method" line="148">
<_HX_SUPER__moveThrust set="method" line="148">
<_HX_SUPER__moveReverse set="method" line="148">
<_HX_SUPER__runFire set="method" line="148">
<_HX_SUPER__runJump set="method" line="148">* Called by the FlxControl plugin
<_HX_SUPER__update public="1" set="method" line="31">* Sets Custom Key controls. Useful if none of the pre-defined sets work. All String values should be taken from flixel.system.input.Keyboard
* Pass a blank (empty) String to disable that key from being checked.
*
* @param CustomUpKey The String to use for the Up key.
* @param CustomDownKey The String to use for the Down key.
* @param CustomLeftKey The String to use for the Left key.
* @param CustomRightKey The String to use for the Right key.
<_HX_SUPER__setCustomKeys public="1" set="method" line="31">{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables Cursor/Arrow Key controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the UP key
* @param AllowDown Enable the DOWN key
* @param AllowLeft Enable the LEFT key
* @param AllowRight Enable the RIGHT key
<_HX_SUPER__setCursorControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables WASD controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param allowUp Enable the up (W) key
* @param allowDown Enable the down (S) key
* @param allowLeft Enable the left (A) key
* @param allowRight Enable the right (D) key
<_HX_SUPER__setWASDControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables ESDF (home row) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (E) key
* @param AllowDown Enable the down (D) key
* @param AllowLeft Enable the left (S) key
* @param AllowRight Enable the right (F) key
<_HX_SUPER__setESDFControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables IJKL (right-sided or secondary player) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (I) key
* @param AllowDown Enable the down (K) key
* @param AllowLeft Enable the left (J) key
* @param AllowRight Enable the right (L) key
<_HX_SUPER__setIJKLControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables HJKL (Rogue / Net-Hack) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (K) key
* @param AllowDown Enable the down (J) key
* @param AllowLeft Enable the left (H) key
* @param AllowRight Enable the right (L) key
<_HX_SUPER__setHJKLControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables ZQSD (Azerty keyboard) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (Z) key
* @param AllowDown Enable the down (Q) key
* @param AllowLeft Enable the left (S) key
* @param AllowRight Enable the right (D) key
<_HX_SUPER__setZQSDControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables Dvoark Simplified Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (COMMA) key
* @param AllowDown Enable the down (A) key
* @param AllowLeft Enable the left (O) key
* @param AllowRight Enable the right (E) key
<_HX_SUPER__setDvorakSimplifiedControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }* Enables Numpad (left-handed) Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys.
* For example in a Space Invaders game you'd only enable LEFT and RIGHT.
*
* @param AllowUp Enable the up (NUMPADEIGHT) key
* @param AllowDown Enable the down (NUMPADTWO) key
* @param AllowLeft Enable the left (NUMPADFOUR) key
* @param AllowRight Enable the right (NUMPADSIX) key
<_HX_SUPER__setNumpadControl public="1" set="method" line="31">
{ AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.control.FlxControlHandler* Runs update on all currently active FlxControlHandlers
<_HX_SUPER__update public="1" set="method" line="31">* Runs when this plugin is destroyed
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.control.FlxControl
<_hotkeys static="1">
<_autoSave expr="false" line="33" static="1">
false
<_autoHideMouse expr="false" line="34" static="1">
false
<_region static="1"> 1 you need to account for this here.
*
* @param X The x coordinate (in Flash display space, not Flixel game world)
* @param Y The y coordinate (in Flash display space, not Flixel game world)
* @param Width The width of the grab region
* @param Height The height of the grab region]]>* Clears a previously defined capture region{ HideMouse : false, SaveToFile : false }* Specify which key will capture a screen shot. Use the String value of the key in the same way FlxG.keys does (so "F1" for example)
* Optionally save the image to a file immediately. This uses the file systems "Save as" dialog window and pauses your game during the process.
*
* @param Key The key(s) you press to capture the screen (i.e. [F1, SPACE])
* @param SaveToFile If true it will immediately encodes the grab to a PNG and open a "Save As" dialog window when the hotkey is pressed
* @param HideMouse If true the mouse will be hidden before capture and displayed afterwards when the hotkey is pressed* Clears all previously defined hotkeys{ HideMouse : false, SaveToFile : false }* Takes a screen grab immediately of the given region or a previously defined region
*
* @param CaptureRegion A Rectangle area to capture. This over-rides that set by "defineCaptureRegion". If neither are set the full SWF size is used.
* @param SaveToFile Boolean If set to true it will immediately encode the grab to a PNG and open a "Save As" dialog window
* @param HideMouse Boolean If set to true the mouse will be hidden before capture and displayed again afterwards
* @return Bitmap The screen grab as a Flash Bitmap image{ Filename : "" }* Captures a screen grab of the game and stores it locally, optionally saving as a PNG.
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.screengrab.FlxScreenGrab* Method-task to be executed* If true then the task will be deleted from the manager immediately after execution.* If true the task will be completed right after it's first call* Pointer to the next task.* Destroys the list.{ Instant : false, IgnoreCycle : false }* Creates a new FlxTask* @author Anton Karlov
* @since 08.22.2012
* @author Zaphod
* @since 11.19.2012hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* This function will be called when all tasks in the task manager are completed0* Number of tasks in the list
<_taskList>
* The list of active tasks
<_cycle expr="false">
false* Determines whether tasks are performed in a loop
<_delay expr="0">
0* Used to calculate the current pause between tasks{ IgnoreCycle : false }* Adds a task to the end of queue, the method will be executed while it returns false.
* The task will be completed only when the method will return true. And manager will switch to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.{ IgnoreCycle : false }* Adds a task to the end of queue, the method will be executed only ONCE, after that we go to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.{ IgnoreCycle : false }* Adds a task to the top of the queue, the method will be executed while it returns false.
* The task will be completed only when the method will return true, and the manager will move to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.{ IgnoreCycle : false }* Adds a task to the top of the queue, the method will be executed only ONCE, after that we go to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.{ IgnoreCycle : false }* Adds a pause between tasks
*
* @param Delay Pause duration
* @param IgnoreCycle If true, the pause will be executed only once per cycle* Removes all the tasks from manager and stops it{ IgnoreCycle : false }* Move to the next task
*
* @param IgnoreCycle Specifies whether to leave the previous problem in the manager* Current task processing* Method-task for a pause between tasks
*
* @param Delay Delay
* @return Returns true when the task is completed* Adds the specified object to the end of the list
*
* @param Task The FlxTask to be added.
* @return Returns a pointer to the added FlxTask.* Adds task to the top of task list
*
* @param Task The FlxTask to be added.
* @return Returns a pointer to the added FlxTask* Removes first task
*
* @return The task that has been removed{ Cycle : false }* The Task Manager is used to perform tasks (call methods) in specified order.
* Allows you to quickly and easily program any action, such as the appearance of the buttons in the game menus.
* Task Manager is started automatically when you add at least one task, and stops when all tasks are done.
*
* @author Anton Karlov
* @since 08.22.2012
* @author Zaphod
* @since 11.19.2012hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">{ IgnoreCycle : false }* Adds a task to the end of queue, the method will be executed while it returns false.
* The task will be completed only when the method will return true. And manager will switch to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.
<_HX_SUPER__addTask public="1" set="method" line="31">
{ IgnoreCycle : false }{ IgnoreCycle : false }* Adds a task to the end of queue, the method will be executed only ONCE, after that we go to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.
<_HX_SUPER__addInstantTask public="1" set="method" line="31">
{ IgnoreCycle : false }{ IgnoreCycle : false }* Adds a task to the top of the queue, the method will be executed while it returns false.
* The task will be completed only when the method will return true, and the manager will move to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.
<_HX_SUPER__addUrgentTask public="1" set="method" line="31">
{ IgnoreCycle : false }{ IgnoreCycle : false }* Adds a task to the top of the queue, the method will be executed only ONCE, after that we go to the next task.
*
* @param Function Method-task to be executed in sequence.
* @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution.
<_HX_SUPER__addUrgentInstantTask public="1" set="method" line="31">
{ IgnoreCycle : false }{ IgnoreCycle : false }* Adds a pause between tasks
*
* @param Delay Pause duration
* @param IgnoreCycle If true, the pause will be executed only once per cycle
<_HX_SUPER__addPause public="1" set="method" line="31">
{ IgnoreCycle : false }* Removes all the tasks from manager and stops it
<_HX_SUPER__clear public="1" set="method" line="31">{ IgnoreCycle : false }* Move to the next task
*
* @param IgnoreCycle Specifies whether to leave the previous problem in the manager
<_HX_SUPER__nextTask public="1" set="method" line="31">
{ IgnoreCycle : false }* Current task processing
<_HX_SUPER__update public="1" set="method" line="31">* Method-task for a pause between tasks
*
* @param Delay Delay
* @return Returns true when the task is completed
<_HX_SUPER__taskPause set="method" line="148">* Adds the specified object to the end of the list
*
* @param Task The FlxTask to be added.
* @return Returns a pointer to the added FlxTask.
<_HX_SUPER__push set="method" line="148">* Adds task to the top of task list
*
* @param Task The FlxTask to be added.
* @return Returns a pointer to the added FlxTask
<_HX_SUPER__unshift set="method" line="148">* Removes first task
*
* @return The task that has been removed
<_HX_SUPER__shift set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.taskManager.FlxTaskManager* Destroys the list.
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.plugin.taskManager.FlxTask4* 2px gutter on both top and bottom""* The text being displayed.* The size of the text being displayed in pixels.* The font used for this text (assuming that it's using embedded font).* Whether this text field uses an embedded font (by default) or not.
* Read-only - use `systemFont` to specify a system font to use, which then automatically sets this to `false`.* The system font for this text (not embedded). Setting this sets `embedded` to `false`.
* Passing an invalid font name (like `""` or `null`) causes a default font to be used.* Whether to use bold text or not (`false` by default).* Whether to use italic text or not (`false` by default). Only works on Flash.* Whether to use word wrapping and multiline or not (`true` by default).* The alignment of the font. Note: `autoSize` must be set to
* `false` or `alignment` won't show any visual differences.NONE* The border style to useFlxColor.TRANSPARENT* The color of the border in `0xAARRGGBB` format1* The size of the border, in pixels.1* How many iterations do use when drawing the border. `0`: only 1 iteration, `1`: one iteration for every pixel in `borderSize`
* A value of `1` will have the best quality for large border sizes, but might reduce performance when changing text.
* NOTE: If the `borderSize` is `1`, `borderQuality` of `0` or `1` will have the exact same effect (and performance).* Reference to a `TextField` object used internally for rendering -
* be sure to know what you're doing if messing with its properties!* Whether the `fieldWidth` should be determined automatically. Requires `wordWrap` to be `false`.* Offset that is applied to the shadow border style, if active.
* `x` and `y` are multiplied by `borderSize`. Default is `(1, 1)`, or lower-right corner.
<_defaultFormat>
<_formatAdjusted>
<_formatRanges expr="[]">
[]
<_font>
<_regen expr="true">
true* Helper boolean which tells whether to update graphic of this text object or not.
<_borderPixels>
* Helper vars to draw border styles with transparency.
<_borderColorTransform>
<_hasBorderAlpha expr="false">
false* Clean up memory.{ Force : false }* Stamps text onto specified atlas object and loads graphic from this atlas.
* WARNING: Changing text after stamping it on the atlas will break the atlas, so do it only for
* static texts and only after making all the text customizing (like `size`, `alignment`, `color`, etc.)
*
* @param atlas atlas to stamp graphic to.
* @return whether the graphic was stamped on the atlas successfully");
* text.applyMarkup("Hey @Buddy@, what is going @on?@", [yellow, green]);
* ```
*
* @param input The text you want to format
* @param rules `FlxTextFormat`s to selectively apply, paired with marker strings]]>{ End : -1, Start : -1 }* Adds another format to this `FlxText`
*
* @param Format The format to be added.
* @param Start The start index of the string where the format will be applied.
* @param End The end index of the string where the format will be applied.* Removes a specific `FlxTextFormat` from this text.
* If a range is specified, this only removes the format when it touches that range.* Clears all the formats applied.{ EmbeddedFont : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 }* You can use this if you have a lot of text parameters to set instead of the individual properties.
*
* @param Font The name of the font face for the text display.
* @param Size The size of the font (in pixels essentially).
* @param Color The color of the text in `0xRRGGBB` format.
* @param Alignment The desired alignment
* @param BorderStyle Which border style to use
* @param BorderColor Color for the border, `0xAARRGGBB` format
* @param EmbeddedFont Whether this text field uses embedded fonts or not
* @return This `FlxText` instance (nice for chaining stuff together, if you're into that).{ Quality : 1, Size : 1, Color : 0 }* Set border's style (shadow, outline, etc), color, and size all in one go!
*
* @param Style outline style
* @param Color outline color in `0xAARRGGBB` format
* @param Size outline size in pixels
* @param Quality outline quality - # of iterations to use when drawing. `0`: just 1, `1`: equal number to `Size`* Internal function to draw textField to a BitmapData, if flash it calculates every line x to avoid blurry lines.{ RunOnCpp : false }* Internal function to update the current animation frame.
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target* Helper function for `applyBorderStyle()`{ UseBorderColor : false }{ withAlign : true }* A helper function for updating the TextField that we use for rendering.
*
* @return A writable copy of `TextField.defaultTextFormat`.{ EmbeddedFont : true, Size : 8, FieldWidth : 0, Y : 0, X : 0 }* Extends FlxSprite to support rendering text. Can tint, fade, rotate and scale just like a sprite. Doesn't really animate
* though. Also does nice pixel-perfect centering on pixel fonts as long as they are only one-liners.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.{ Y : 0, X : 0 }{ Mask : 0xFF }flixel.FlxCamera* Called by game loop, updates then blits or renders current frame of animation to the screen{ EmbeddedFont : true, Size : 8 }* Creates a new FlxText object at the specified position.
* @param X The X position of the text.
* @param Y The Y position of the text.
* @param Width The width of the text object (height is determined automatically).
* @param Text The actual text you would like to display initially.
* @param EmbeddedFont Whether this text field uses embedded fonts or not* Extends FlxText for better support rendering text on cpp target.
* Doesn't have multicamera support.
* Displays over all other objects.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">{ Y : 0, X : 0 }
<_HX_SUPER__stamp public="1" set="method" line="31">
{ Y : 0, X : 0 }{ Mask : 0xFF }
<_HX_SUPER__pixelsOverlapPoint public="1" set="method" line="148">
{ Mask : 0xFF }
<_HX_SUPER__isSimpleRender public="1" set="method" line="148">
<_HX_SUPER__get_pixels set="method" line="148">
<_HX_SUPER__set_pixels set="method" line="148">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<_HX_SUPER__set_visible set="method" line="148">
<_HX_SUPER__kill public="1" set="method" line="31">
<_HX_SUPER__revive public="1" set="method" line="31">flixel.FlxCamera* Called by game loop, updates then blits or renders current frame of animation to the screen
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__get_camera set="method" line="148">
<_HX_SUPER__set_camera set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.text.FlxTextFieldCreates a new Sound from an AudioBuffer immediately.
@param buffer An AudioBuffer instance
@returns A new SoundCreates a new Sound from a file path synchronously. This means that the
Sound will be returned immediately (if supported).
HTML5 and Flash do not support creating Sound synchronously, so these targets
always return `null`.
In order to load files from a remote web address, use the `loadFromFile` method,
which supports asynchronous loading.
@param path A local file path containing a sound
@returns A new Sound if successful, or `null` if unsuccessfulCreates a new Sound from a file path or web address asynchronously. The file
load will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param path A local file path or web address containing a sound
@returns A Future SoundCreates a new Sound from a set of file paths or web addresses asynchronously.
The audio backend will choose the first compatible file format, and will load the file
it selects in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param paths A set of local file paths or web addresses containing sound
@returns A Future SoundReturns the currently available number of bytes in this sound object. This
property is usually useful only for externally loaded files.Returns the total number of bytes in this sound object.Security.]]>Returns the buffering state of external MP3 files. If the value is
`true`, any playback is currently suspended while the object
waits for more data.The length of the current sound in milliseconds.The URL from which this sound was loaded. This property is applicable only
to Sound objects that were loaded using the `Sound.load()`
method. For Sound objects that are associated with a sound asset from a
SWF file's library, the value of the `url` property is
`null`.
When you first call `Sound.load()`, the `url`
property initially has a value of `null`, because the final URL
is not yet known. The `url` property will have a non-null value
as soon as an `open` event is dispatched from the Sound
object.
The `url` property contains the final, absolute URL from
which a sound was loaded. The value of `url` is usually the
same as the value passed to the `stream` parameter of
`Sound.load()`. However, if you passed a relative URL to
`Sound.load()` the value of the `url` property
represents the absolute URL. Additionally, if the original URL request is
redirected by an HTTP server, the value of the `url` property
reflects the final URL from which the sound file was actually downloaded.
This reporting of an absolute, final URL is equivalent to the behavior of
`LoaderInfo.url`.
In some cases, the value of the `url` property is truncated;
see the `isURLInaccessible` property for details.
<__buffer>
Closes the stream, causing any download of data to cease. No data may
be read from the stream after the `close()` method is called.
@throws IOError The stream could not be closed, or the stream was not
open.{ context : null }Initiates loading of an external MP3 file from the specified URL. If you
provide a valid URLRequest object to the Sound constructor, the
constructor calls `Sound.load()` for you. You only need to call
`Sound.load()` yourself if you don't pass a valid URLRequest
object to the Sound constructor or you pass a `null` value.
Once `load()` is called on a Sound object, you can't later
load a different sound file into that Sound object. To load a different
sound file, create a new Sound object.
When using this method, consider the following security model:
* Calling `Sound.load()` is not allowed if the calling file
is in the local-with-file-system sandbox and the sound is in a network
sandbox.
* Access from the local-trusted or local-with-networking sandbox
requires permission from a website through a URL policy file.
* You cannot connect to commonly reserved ports. For a complete list
of blocked ports, see "Restricting Networking APIs" in the _ActionScript
3.0 Developer's Guide_.
* You can prevent a SWF file from using this method by setting the
`allowNetworking` parameter of the `object` and
`embed` tags in the HTML page that contains the SWF
content.
In Flash Player 10 and later, if you use a multipart Content-Type(for
example "multipart/form-data") that contains an upload(indicated by a
"filename" parameter in a "content-disposition" header within the POST
body), the POST operation is subject to the security rules applied to
uploads:
* The POST operation must be performed in response to a user-initiated
action, such as a mouse click or key press.
* If the POST operation is cross-domain(the POST target is not on the
same server as the SWF file that is sending the POST request), the target
server must provide a URL policy file that permits cross-domain
access.
Also, for any multipart Content-Type, the syntax must be valid
(according to the RFC2046 standards). If the syntax appears to be invalid,
the POST operation is subject to the security rules applied to
uploads.
In Adobe AIR, content in the `application` security sandbox
(content installed with the AIR application) are not restricted by these
security limitations.
For more information related to security, see the Flash Player
Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@param stream A URL that points to an external MP3 file.
@param context An optional SoundLoader context object, which can define
the buffer time(the minimum number of milliseconds of MP3
data to hold in the Sound object's buffer) and can specify
whether the application should check for a cross-domain
policy file prior to loading the sound.
@throws IOError A network error caused the load to fail.
@throws IOError The `digest` property of the
`stream` object is not `null`.
You should only set the `digest` property
of a URLRequest object when calling the
`URLLoader.load()` method when loading a
SWZ file(an Adobe platform component).
@throws SecurityError Local untrusted files may not communicate with the
Internet. You can work around this by reclassifying
this file as local-with-networking or trusted.
@throws SecurityError You cannot connect to commonly reserved ports. For a
complete list of blocked ports, see "Restricting
Networking APIs" in the _ActionScript 3.0
Developer's Guide_.Load MP3 sound data from a ByteArray object into a Sound object. The data will be read from the current
ByteArray position and will leave the ByteArray position at the end of the specified bytes length once
finished. If the MP3 sound data contains ID3 data ID3 events will be dispatched during this function call.
This function will throw an exception if the ByteArray object does not contain enough data.
@param bytes
@param bytesLength{ sampleRate : 44100, stereo : true, format : "float" }= 21, this function throws an exception if the amount of audio data passed into this function is
more than 1800 seconds. That is, samples / sampleRate should be less than or equal to 1800. For swf versions <
21, the runtime fails silently if the amount of audio data passed in is more than 12000 seconds. This is
provided only for backward compatibility.
This function throws an exception if the ByteArray object does not contain enough data.
@param bytes
@param samples
@param format
@param stereo
@param sampleRate]]>0{ sndTransform : null, loops : 0, startTime : 0.0 }Generates a new SoundChannel object to play back the sound. This method
returns a SoundChannel object, which you access to stop the sound and to
monitor volume.(To control the volume, panning, and balance, access the
SoundTransform object assigned to the sound channel.)
@param startTime The initial position in milliseconds at which playback
should start.
@param loops Defines the number of times a sound loops back to the
`startTime` value before the sound channel
stops playback.
@param sndTransform The initial SoundTransform object assigned to the
sound channel.
@return A SoundChannel object, which you use to control the sound. This
method returns `null` if you have no sound card or if
you run out of available sound channels. The maximum number of
sound channels available at once is 32.{ context : null, stream : null }Creates a new Sound object. If you pass a valid URLRequest object to the
Sound constructor, the constructor automatically calls the
`load()` function for the Sound object. If you do not pass a
valid URLRequest object to the Sound constructor, you must call the
`load()` function for the Sound object yourself, or the stream
will not load.
Once `load()` is called on a Sound object, you can't later
load a different sound file into that Sound object. To load a different
sound file, create a new Sound object.
In Flash Player 10 and later and AIR 1.5 and later, instead of using
`load()`, you can use the `sampleData` event handler
to load sound dynamically into the Sound object.
@param stream The URL that points to an external MP3 file.
@param context An optional SoundLoader context object, which can define
the buffer time(the minimum number of milliseconds of MP3
data to hold in the Sound object's buffer) and can specify
whether the application should check for a cross-domain
policy file prior to loading the sound.The Sound class lets you work with sound in an application. The Sound class
lets you create a Sound object, load and play an external MP3 file into
that object, close the sound stream, and access data about the sound, such
as information about the number of bytes in the stream and ID3 metadata.
More detailed control of the sound is performed through the sound source
- the SoundChannel or Microphone object for the sound - and through the
properties in the SoundTransform class that control the output of the sound
to the computer's speakers.
In Flash Player 10 and later and AIR 1.5 and later, you can also use
this class to work with sound that is generated dynamically. In this case,
the Sound object uses the function you assign to a `sampleData`
event handler to poll for sound data. The sound is played as it is
retrieved from a ByteArray object that you populate with sound data. You
can use `Sound.extract()` to extract sound data from a Sound
object, after which you can manipulate it before writing it back to the
stream for playback.
To control sounds that are embedded in a SWF file, use the properties in
the SoundMixer class.
**Note**: The ActionScript 3.0 Sound API differs from ActionScript
2.0. In ActionScript 3.0, you cannot take sound objects and arrange them in
a hierarchy to control their properties.
When you use this class, consider the following security model:
* Loading and playing a sound is not allowed if the calling file is in
a network sandbox and the sound file to be loaded is local.
* By default, loading and playing a sound is not allowed if the calling
file is local and tries to load and play a remote sound. A user must grant
explicit permission to allow this type of access.
* Certain operations dealing with sound are restricted. The data in a
loaded sound cannot be accessed by a file in a different domain unless you
implement a cross-domain policy file. Sound-related APIs that fall under
this restriction are `Sound.id3`,
`SoundMixer.computeSpectrum()`,
`SoundMixer.bufferTime`, and the `SoundTransform`
class.
However, in Adobe AIR, content in the `application` security
sandbox(content installed with the AIR application) are not restricted by
these security limitations.
For more information related to security, see the Flash Player Developer
Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@event complete Dispatched when data has loaded successfully.
@event id3 Dispatched by a Sound object when ID3 data is available
for an MP3 sound.
@event ioError Dispatched when an input/output error occurs that causes
a load operation to fail.
@event open Dispatched when a load operation starts.
@event progress Dispatched when data is received as a load operation
progresses.
@event sampleData Dispatched when the runtime requests new audio data."tags=\"haxe,release\""lime.media.AudioBufferlime.utils.AssetLibraryopenfl.media.SoundMixeropenfl.media.SoundChannel.newopenfl.utils._internal.AssetsMacro.embedSound()"__ASSET__:sound_flixel_addons_text_TypeSound"openfl.utils._internal.AssetsMacro.embedSound()openfl.utils._internal.AssetsMacro.embedSound()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/sounds/type.ogg"""* Helper string to reduce garbage generation.0.05* The delay between each character, in seconds.0.02* The delay between each character erasure, in seconds.false* Set to true to show a blinking cursor at the end of the text."|"* The character to blink at the end of the text.0.5* The speed at which the cursor should blink, if shown at all.""* Text to add at the beginning, without animating.false* Whether or not to erase this message when it is complete.1.0* How long to pause after finishing the text before erasing it. Only used if autoErase is true.false* Whether or not to animate the text. Set to false by start() and erase().* The sounds that are played when letters are added; optional.false* Whether or not to use the default typing sound.false* Whether typing sound effects should always be played in their entirety, or if it's ok to restart them on new letters.
* For longer typing sounds, setting this to `true` usually makes more sense.
* @since 2.4.0[]* An array of keys (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text.* This function is called when the message is done typing.* This function is called when the message is done erasing, if that is enabled.
<_finalText expr="""">
""* The text that will ultimately be displayed.
<_timer expr="0.0">
0.0* This is incremented every frame by elapsed, and when greater than delay, adds the next letter.
<_waitTimer expr="0.0">
0.0* A timer that is used while waiting between typing and erasing.
<_length expr="0">
0* Internal tracker for current string length, not counting the prefix.
<_typing expr="false">
false* Whether or not to type the text. Set to true by start() and false by pause().
<_erasing expr="false">
false* Whether or not to erase the text. Set to true by erase() and false by pause().
<_waiting expr="false">
false* Whether or not we're waiting between the type and erase phases.
<_cursorTimer expr="0.0">
0.0* Internal tracker for cursor blink time.
<_typingVariation expr="false">
false* Whether or not to add a "natural" uneven rhythm to the typing speed.
<_typeVarPercent expr="0.5">
0.5* How much to vary typing speed, as a percent. So, at 0.5, each letter will be "typed" up to 50% sooner or later than the delay variable is set.
<_sound>
* Internal reference to the default sound object.{ AutoErase : false, ForceRestart : false }* Start the text animation.
*
* @param Delay Optionally, set the delay between characters. Can also be set separately.
* @param ForceRestart Whether or not to start this animation over if currently animating; false by default.
* @param AutoErase Whether or not to begin the erase animation when the typing animation is complete.
* Can also be set separately.
* @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text.
* Can also be set separately.
* @param Callback An optional callback function, to be called when the typing animation is complete.* Internal function that replace last space in a line for a line break.
* To prevent a word start typing in a line and jump to next.{ ForceRestart : false }* Begin an animated erase of this text.
*
* @param Delay Optionally, set the delay between characters. Can also be set separately.
* @param ForceRestart Whether or not to start this animation over if currently animating; false by default.
* @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. Can also be set separately.
* @param Callback An optional callback function, to be called when the erasing animation is complete.
* @param Params Optional parameters to pass to the callback function.* Reset the text with a new text string. Automatically cancels typing, and erasing.
*
* @param Text The text that will ultimately be displayed.{ On : true, Amount : 0.5 }0 and <1.
* @param On Whether or not to add the random variation. True by default.]]>* Internal function that is called when typing is complete.* Immediately finishes the animation. Called if any of the skipKeys is pressed.
* Handy for custom skipping behaviour (for example with different inputs like mouse or gamepad).{ EmbeddedFont : true, Size : 8 }* Create a FlxTypeText object, which is very similar to FlxText except that the text is initially hidden and can be
* animated one character at a time by calling start().
*
* @param X The X position for this object.
* @param Y The Y position for this object.
* @param Width The width of this object. Text wraps automatically.
* @param Text The text that will ultimately be displayed.
* @param Size The size of the text.
* @param EmbeddedFont Whether this text field uses embedded fonts or not.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>openfl.utils._internal.AssetsMacro.embedSound()openfl.utils._internal.AssetsMacro.embedSound()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.text.FlxTypeText.TypeSoundflixel.addons.text.FlxTypeText{ AutoErase : false, ForceRestart : false }* Start the text animation.
*
* @param Delay Optionally, set the delay between characters. Can also be set separately.
* @param ForceRestart Whether or not to start this animation over if currently animating; false by default.
* @param AutoErase Whether or not to begin the erase animation when the typing animation is complete.
* Can also be set separately.
* @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text.
* Can also be set separately.
* @param Callback An optional callback function, to be called when the typing animation is complete.
<_HX_SUPER__start public="1" set="method" line="31">
{ AutoErase : false, ForceRestart : false }
<_HX_SUPER__applyMarkup public="1" set="method" line="148">* Internal function that replace last space in a line for a line break.
* To prevent a word start typing in a line and jump to next.
<_HX_SUPER__insertBreakLines set="method" line="148">{ ForceRestart : false }* Begin an animated erase of this text.
*
* @param Delay Optionally, set the delay between characters. Can also be set separately.
* @param ForceRestart Whether or not to start this animation over if currently animating; false by default.
* @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. Can also be set separately.
* @param Callback An optional callback function, to be called when the erasing animation is complete.
* @param Params Optional parameters to pass to the callback function.
<_HX_SUPER__erase public="1" set="method" line="31">
{ ForceRestart : false }* Reset the text with a new text string. Automatically cancels typing, and erasing.
*
* @param Text The text that will ultimately be displayed.
<_HX_SUPER__resetText public="1" set="method" line="31">{ On : true, Amount : 0.5 }0 and <1.
* @param On Whether or not to add the random variation. True by default.]]>
<_HX_SUPER__setTypingVariation public="1" set="method" line="31">
{ On : true, Amount : 0.5 }* Internal function that is called when typing is complete.
<_HX_SUPER__onComplete set="method" line="31">
<_HX_SUPER__onErased set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">* Immediately finishes the animation. Called if any of the skipKeys is pressed.
* Handy for custom skipping behaviour (for example with different inputs like mouse or gamepad).
<_HX_SUPER__skip public="1" set="method" line="31">
<_HX_SUPER__loadDefaultSound set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.text.FlxTypeText.TypeSoundflixel.addons.text.FlxTypeText* Convert a matrix generated via generateCaveMatrix() into data
* that is usable by FlxTilemap.
*
* @param Matrix A matrix of data
* @return A string that is usuable for FlxTilemap.loadMap(){ WallRatio : 0.5, SmoothingIterations : 6 }* Generate the matrix (2-dimensional array of Ints) for a cave.
*
* @param Columns Number of columns for the matrix
* @param Rows Number of rows for the matrix
* @param SmoothingIterations How many times do you want to "smooth" the caev - the higher the smoother, but slower
* @param WallRatio Chance for a tile to become a wall - the closer the value is to 1.0, the more walls there are
* @return Returns a matrix of a cave!{ WallRatio : 0.5, SmoothingIterations : 6 }* Generates a new cave matrix via generateCaveMatrix() and returns it in a format
* usable by FlxTilemap.load() via convertMatrixToString().
*
* @param Columns Number of columns for the matrix
* @param Rows Number of rows for the matrix
* @param SmoothingIterations How many times do you want to "smooth" the caev - the higher the smoother, but slower
* @param WallRatio Chance for a tile to become a wall - the closer the value is to 1.0, the more walls there are
* @return A cave string that is usable by FlxTilemap.loadMap()* Creates a matrix (2-dimensional array of Ints) of an empty cave consisting of zeros only.
*
* @param Columns Number of columns for the matrix
* @param Rows Number of rows for the matrix
* @return Spits out a matrix that is columns * rows big, initiated with zeros{ Distance : 1 }* @param Matrix Matrix of data (0 = empty, 1 = wall)
* @param PosX Column we are examining
* @param PosY Row we are exampining
* @param Distance Radius of how far to check for neighbors
* @return Number of walls around the target, including itself* Use the 4-5 rule to smooth cells* This class uses the cellular automata algorithm
* to generate very sexy caves.
* (Coded by Eddie Lee, October 16, 2010)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.tile.FlxCaveGenerator* String name of the animation (e.g. "walk")* Seconds between frames (basically the framerate)* A list of frames stored as int objects* Whether or not the animation is looped* An array of dynamic elements that let you add arbritary data to each frame* Animation frameRate - the speed in frames per second that the animation should play at.* Clean up memory.{ Looped : true, FrameRate : 0 }* @param Name What this animation should be called (e.g. "run")
* @param Frames An array of numbers indicating what frames to play in what order (e.g. 1, 2, 3)
* @param FrameRate The speed in frames per second that the animation should play at (e.g. 40)
* @param Looped Whether or not the animation is looped or just plays once
* @param FramesData An array of dynamic elements that let you add arbritary data to each framehscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__set_frameRate set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.tile.FlxTileAnimation012falsefalse0
<_tmp_flipH>
<_tmp_flipV>
<_tmp_rot>
<_matrix>
<_currIndex expr="0">
0
<_lastIndex expr="-1">
-1
<_currAnimParam>
<_frameTimer expr="0.0">
0.0true{ frameRate : 30 }* Add an animation to this special tile
* @param tiles An array with the tilesetID of each frame
* @param frameRate The speed of the animation in frames per second (Default: 30)* Creates tile animation and copies data from specified sprite animation (name, frame ids, framerate and looping);
* @param anim Animation to copy data from* Calculates and return the matrix
* @param width the tile width
* @param height the tile height
* @return The matrix calculatedhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__paint public="1" set="method" line="31">{ frameRate : 30 }* Add an animation to this special tile
* @param tiles An array with the tilesetID of each frame
* @param frameRate The speed of the animation in frames per second (Default: 30)
<_HX_SUPER__addAnimation public="1" set="method" line="31">
{ frameRate : 30 }* Creates tile animation and copies data from specified sprite animation (name, frame ids, framerate and looping);
* @param anim Animation to copy data from
<_HX_SUPER__fromSpriteAnimation public="1" set="method" line="31">* Calculates and return the matrix
* @param width the tile width
* @param height the tile height
* @return The matrix calculated
<_HX_SUPER__getMatrix public="1" set="method" line="148">
<_HX_SUPER__set_frames set="method" line="148">
<_HX_SUPER__set_currTileId set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.tile.FlxTileSpecialflixel.addons.tile.FlxTileSpecial.AnimParamsCalculates the distance between two `Vector2` points
@param pt1 A `Vector2` instance
@param pt2 A second `Vector2` instance
@return The distance between each `Vector2`{ result : null }Interpolates between two points, given a specified percentage value
@param pt1 A `Vector2` instance
@param pt2 A second `Vector2` instance
@param f A percentage value to interpolate
@param result (Optional) A `Vector2` instance to use for the result
@return A `Vector2` instance holding the interpolated value{ result : null }Converts a polar coordinate to into a cartesian `Vector2` instance
@param len The length of the polar value
@param angle The angle of the polar value
@param result (Optional) A `Vector2` instance to store the result
@return A `Vector2` instance in cartesian coordinatesGets the length of this vector from (0, 0) to (x, y)Gets the square of the length of this vector, which
avoids use of `Math.sqrt` for faster performanceThe x coodinate for this vectorThe y coodinate for this vector{ result : null }Adds the current vector to a second `Vector2` instance
and returns the result
@param v A `Vector2` instance to add
@param result (Optional) A `Vector2` instance to store the result
@return A `Vector2` instance that combines both vector valuesClones the current `Vector2`
@return A new `Vector2` instance with the same values as the current oneWhether this `Vector2` has the same values as another instance
@param toCompare A `Vector2` instance to compare against
@return Whether the values of each vector are equalNormalizes this vector between the current length and a set scale value
@param thickness The scaling value. . For example, if the current vector is `(0, 5)` and you normalize it to 1, the normalized value will be `(0, 1)`Offsets the current value of this vector
@param dx An offset x value
@param dy An offset y valueSets this `Vector2` to new values
@param xa An `x` value
@param ya A `y` value{ result : null }Subtracts the current vector from another `Vector2` instance
@param v A `Vector2` instance to subtract from the current vector
@param result (Optional) A `Vector2` instance to store the result
@return A `Vector2` instance containing the subtracted values
<__toFlashPoint set="method" line="181">
{ y : 0, x : 0 }Creates a new `Vector` instance
@param x (Optional) An initial `x` value (default is 0)
@param y (Optional) An initial `y` value (default is 0)The `Vector2` class can be used for calculating math with
basic (x, y) coordinates"tags=\"haxe,release\""14
<__supportsBGRA expr="null" line="127" static="1">
null
<__textureFormat static="1">
<__textureInternalFormat static="1">
<__tempVector expr="new Vector2()" line="131" static="1">
new Vector2()Creates a new BitmapData instance from Base64-encoded data synchronously. This means
that the BitmapData will be returned immediately (if supported).
HTML5 and Flash do not support creating BitmapData synchronously, so these targets
always return `null`. Other targets will return `null` if decoding was unsuccessful.
@param base64 Base64-encoded data
@param type The MIME-type for the encoded data ("image/jpeg", etc)
@returns A new BitmapData if successful, or `null` if unsuccessful{ rawAlpha : null }Creates a new BitmapData from bytes (a haxe.io.Bytes or openfl.utils.ByteArray)
synchronously. This means that the BitmapData will be returned immediately (if
supported).
HTML5 and Flash do not support creating BitmapData synchronously, so these targets
always return `null`. Other targets will return `null` if decoding was unsuccessful.
The optional `rawAlpha` parameter makes it easier to process images that have alpha
data stored separately.
@param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance
@param rawAlpha An optional byte array with alpha data
@returns A new BitmapData if successful, or `null` if unsuccessfulCreates a new BitmapData from a file path synchronously. This means that the
BitmapData will be returned immediately (if supported).
HTML5 and Flash do not support creating BitmapData synchronously, so these targets
always return `null`.
In order to load files from a remote web address, use the `loadFromFile` method,
which supports asynchronous loading.
@param path A local file path containing an image
@returns A new BitmapData if successful, or `null` if unsuccessful{ transparent : true }Creates a new BitmapData using an existing Lime Image instance.
@param image A Lime Image object
@param transparent Whether the new BitmapData object should be considered
transparent
@returns A new BitmapData if the Image (and associated ImageBuffer) are not
`null`, otherwise `null` will be returned**BETA**
Creates a new BitmapData instance from a Stage3D rectangle texture.
This method is not supported by the Flash target.
@param texture A Texture or RectangleTexture instance
@returns A new BitmapData if successful, or `null` if unsuccessfulCreates a new BitmapData from Base64-encoded data asynchronously. The data
and (if successful) decoding the data into an image occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param base64 Base64-encoded data
@param type The MIME-type for the encoded data ("image/jpeg", etc)
@returns A Future BitmapData{ rawAlpha : null }Creates a new BitmapData from haxe.io.Bytes or openfl.utils.ByteArray data
asynchronously. The data and image decoding will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
The optional `rawAlpha` parameter makes it easier to process images that have alpha
data stored separately.
@param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance
@param rawAlpha An optional byte array with alpha data
@returns A Future BitmapDataCreates a new BitmapData from a file path or web address asynchronously. The file
load and image decoding will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param path A local file path or web address containing an image
@returns A Future BitmapDataThe height of the bitmap image in pixels."checkstyle:Dynamic"The Lime image that holds the pixels for the current image.
In Flash Player, this property is always `null`.Defines whether the bitmap image is readable. Hardware-only bitmap images
do not support `getPixels`, `setPixels` and other
BitmapData methods, though they can still be used inside a Bitmap object
or other display objects that do not need to modify the pixels.
As an exception to the rule, `bitmapData.draw` is supported for
non-readable bitmap images.
Since non-readable bitmap images do not have a software image buffer, they
will need to be recreated if the current hardware rendering context is lost.The rectangle that defines the size and location of the bitmap image. The
top and left of the rectangle are 0; the width and height are equal to the
width and height in pixels of the BitmapData object.Defines whether the bitmap image supports per-pixel transparency. You can
set this value only when you construct a BitmapData object by passing in
`true` for the `transparent` parameter of the
constructor. Then, after you create a BitmapData object, you can check
whether it supports per-pixel transparency by determining if the value of
the `transparent` property is `true`.The width of the bitmap image in pixels.
<__blendMode>
<__drawableType>
<__framebuffer>
<__framebufferContext>
"checkstyle:Dynamic"
<__indexBuffer>
<__indexBufferContext>
"checkstyle:Dynamic"
<__indexBufferData>
<__indexBufferGrid>
<__isMask>
<__isValid>
<__mask>
<__renderable>
<__renderTransform>
<__scrollRect>
<__stencilBuffer>
<__surface>
"checkstyle:Dynamic"
<__texture>
<__textureContext>
"checkstyle:Dynamic"
<__textureHeight>
<__textureVersion>
<__textureWidth>
<__transform>
<__uvRect>
<__vertexBuffer>
<__vertexBufferContext>
"checkstyle:Dynamic"
<__vertexBufferData>
<__vertexBufferGrid>
<__vertexBufferHeight>
<__vertexBufferScaleX>
<__vertexBufferScaleY>
<__vertexBufferWidth>
<__worldAlpha>
<__worldColorTransform>
<__worldTransform>
Takes a source image and a filter object and generates the filtered image.
This method relies on the behavior of built-in filter objects, which determine the
destination rectangle that is affected by an input source rectangle.
After a filter is applied, the resulting image can be larger than the input image.
For example, if you use a BlurFilter class to blur a source rectangle of(50,50,100,100)
and a destination point of(10,10), the area that changes in the destination image is
larger than(10,10,60,60) because of the blurring. This happens internally during the
applyFilter() call.
If the `sourceRect` parameter of the sourceBitmapData parameter is an
interior region, such as(50,50,100,100) in a 200 x 200 image, the filter uses the source
pixels outside the `sourceRect` parameter to generate the destination rectangle.
If the BitmapData object and the object specified as the `sourceBitmapData`
parameter are the same object, the application uses a temporary copy of the object to
perform the filter. For best performance, avoid this situation.
@param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object or it can refer to the current BitmapData instance.
@param sourceRect A rectangle that defines the area of the source image to use as input.
@param destPoint The point within the destination image(the current BitmapData instance) that corresponds to the upper-left corner of the source rectangle.
@param filter The filter object that you use to perform the filtering operation.Returns a new BitmapData object that is a clone of the original instance with an exact copy of the contained bitmap.
@return A new BitmapData object that is identical to the original.Adjusts the color values in a specified area of a bitmap image by using a `ColorTransform`
object. If the rectangle matches the boundaries of the bitmap image, this method transforms the color
values of the entire image.
@param rect A Rectangle object that defines the area of the image in which the ColorTransform object is applied.
@param colorTransform A ColorTransform object that describes the color transformation values to apply."checkstyle:Dynamic"Compares two BitmapData objects. If the two BitmapData objects have the same dimensions (width and height), the method returns a new BitmapData object, in which each pixel is the "difference" between the pixels in the two source objects:
- If two pixels are equal, the difference pixel is 0x00000000.
- If two pixels have different RGB values (ignoring the alpha value), the difference pixel is 0xFFRRGGBB where RR/GG/BB are the individual difference values between red, green, and blue channels. Alpha channel differences are ignored in this case.
- If only the alpha channel value is different, the pixel value is 0xZZFFFFFF, where ZZ is the difference in the alpha value.
@param otherBitmapData The BitmapData object to compare with the source BitmapData object.
@return If the two BitmapData objects have the same dimensions (width and height), the method returns a new BitmapData object that has the difference between the two objects (see the main discussion).If the BitmapData objects are equivalent, the method returns the number 0. If no argument is passed or if the argument is not a BitmapData object, the method returns -1. If either BitmapData object has been disposed of, the method returns -2. If the widths of the BitmapData objects are not equal, the method returns the number -3. If the heights of the BitmapData objects are not equal, the method returns the number -4.Transfers data from one channel of another BitmapData object or the
current BitmapData object into a channel of the current BitmapData object.
All of the data in the other channels in the destination BitmapData object
are preserved.
The source channel value and destination channel value can be one of
following values:
* `BitmapDataChannel.RED`
* `BitmapDataChannel.GREEN`
* `BitmapDataChannel.BLUE`
* `BitmapDataChannel.ALPHA`
@param sourceBitmapData The input bitmap image to use. The source image
can be a different BitmapData object or it can
refer to the current BitmapData object.
@param sourceRect The source Rectangle object. To copy only channel
data from a smaller area within the bitmap,
specify a source rectangle that is smaller than
the overall size of the BitmapData object.
@param destPoint The destination Point object that represents the
upper-left corner of the rectangular area where
the new channel data is placed. To copy only
channel data from one area to a different area in
the destination image, specify a point other than
(0,0).
@param sourceChannel The source channel. Use a value from the
BitmapDataChannel class
(`BitmapDataChannel.RED`,
`BitmapDataChannel.BLUE`,
`BitmapDataChannel.GREEN`,
`BitmapDataChannel.ALPHA`).
@param destChannel The destination channel. Use a value from the
BitmapDataChannel class
(`BitmapDataChannel.RED`,
`BitmapDataChannel.BLUE`,
`BitmapDataChannel.GREEN`,
`BitmapDataChannel.ALPHA`).
@throws TypeError The sourceBitmapData, sourceRect or destPoint are null.{ mergeAlpha : false, alphaPoint : null, alphaBitmapData : null }Provides a fast routine to perform pixel manipulation between images with
no stretching, rotation, or color effects. This method copies a
rectangular area of a source image to a rectangular area of the same size
at the destination point of the destination BitmapData object.
If you include the `alphaBitmap` and `alphaPoint`
parameters, you can use a secondary image as an alpha source for the
source image. If the source image has alpha data, both sets of alpha data
are used to composite pixels from the source image to the destination
image. The `alphaPoint` parameter is the point in the alpha
image that corresponds to the upper-left corner of the source rectangle.
Any pixels outside the intersection of the source image and alpha image
are not copied to the destination image.
The `mergeAlpha` property controls whether or not the alpha
channel is used when a transparent image is copied onto another
transparent image. To copy pixels with the alpha channel data, set the
`mergeAlpha` property to `true`. By default, the
`mergeAlpha` property is `false`.
@param sourceBitmapData The input bitmap image from which to copy pixels.
The source image can be a different BitmapData
instance, or it can refer to the current
BitmapData instance.
@param sourceRect A rectangle that defines the area of the source
image to use as input.
@param destPoint The destination point that represents the
upper-left corner of the rectangular area where
the new pixels are placed.
@param alphaBitmapData A secondary, alpha BitmapData object source.
@param alphaPoint The point in the alpha BitmapData object source
that corresponds to the upper-left corner of the
`sourceRect` parameter.
@param mergeAlpha To use the alpha channel, set the value to
`true`. To copy pixels with no alpha
channel, set the value to `false`.
@throws TypeError The sourceBitmapData, sourceRect, destPoint are null.Frees memory that is used to store the BitmapData object.
When the `dispose()` method is called on an image, the width
and height of the image are set to 0. All subsequent calls to methods or
properties of this BitmapData instance fail, and an exception is thrown.
`BitmapData.dispose()` releases the memory occupied by the
actual bitmap data, immediately(a bitmap can consume up to 64 MB of
memory). After using `BitmapData.dispose()`, the BitmapData
object is no longer usable and an exception may be thrown if
you call functions on the BitmapData object. However,
`BitmapData.dispose()` does not garbage collect the BitmapData
object(approximately 128 bytes); the memory occupied by the actual
BitmapData object is released at the time the BitmapData object is
collected by the garbage collector.Frees the backing Lime image buffer, if possible.
When using a software renderer, such as Flash Player or desktop targets
without OpenGL, the software buffer will be retained so that the BitmapData
will work properly. When using a hardware renderer, the Lime image
buffer will be available to garbage collection after a hardware texture
has been created internally.
`BitmapData.disposeImage()` will immediately change the value of
the `readable` property to `false`.{ smoothing : false, clipRect : null, blendMode : null, colorTransform : null, matrix : null }Draws the `source` display object onto the bitmap image, using
the OpenFL software renderer. You can specify `matrix`,
`colorTransform`, `blendMode`, and a destination
`clipRect` parameter to control how the rendering performs.
Optionally, you can specify whether the bitmap should be smoothed when
scaled(this works only if the source object is a BitmapData object).
The source display object does not use any of its applied
transformations for this call. It is treated as it exists in the library
or file, with no matrix transform, no color transform, and no blend mode.
To draw a display object(such as a movie clip) by using its own transform
properties, you can copy its `transform` property object to the
`transform` property of the Bitmap object that uses the
BitmapData object.
@param source The display object or BitmapData object to draw to
the BitmapData object.(The DisplayObject and
BitmapData classes implement the IBitmapDrawable
interface.)
@param matrix A Matrix object used to scale, rotate, or translate
the coordinates of the bitmap. If you do not want to
apply a matrix transformation to the image, set this
parameter to an identity matrix, created with the
default `new Matrix()` constructor, or
pass a `null` value.
@param colorTransform A ColorTransform object that you use to adjust the
color values of the bitmap. If no object is
supplied, the bitmap image's colors are not
transformed. If you must pass this parameter but you
do not want to transform the image, set this
parameter to a ColorTransform object created with
the default `new ColorTransform()`
constructor.
@param blendMode A string value, from the openfl.display.BlendMode
class, specifying the blend mode to be applied to
the resulting bitmap.
@param clipRect A Rectangle object that defines the area of the
source object to draw. If you do not supply this
value, no clipping occurs and the entire source
object is drawn.
@param smoothing A Boolean value that determines whether a BitmapData
object is smoothed when scaled or rotated, due to a
scaling or rotation in the `matrix`
parameter. The `smoothing` parameter only
applies if the `source` parameter is a
BitmapData object. With `smoothing` set
to `false`, the rotated or scaled
BitmapData image can appear pixelated or jagged. For
example, the following two images use the same
BitmapData object for the `source`
parameter, but the `smoothing` parameter
is set to `true` on the left and
`false` on the right:

Drawing a bitmap with `smoothing` set
to `true` takes longer than doing so with
`smoothing` set to
`false`.
@throws ArgumentError The `source` parameter is not a
BitmapData or DisplayObject object.
@throws ArgumentError The source is null or not a valid IBitmapDrawable
object.
@throws SecurityError The `source` object and(in the case of a
Sprite or MovieClip object) all of its child objects
do not come from the same domain as the caller, or
are not in a content that is accessible to the
caller by having called the
`Security.allowDomain()` method. This
restriction does not apply to AIR content in the
application security sandbox.{ quality : null, smoothing : false, clipRect : null, blendMode : null, colorTransform : null, matrix : null }Draws the `source` display object onto the bitmap image, using the Flash runtime
vector renderer. You can specify `matrix`, `colorTransform`, `blendMode`, and a
destination `clipRect` parameter to control how the rendering performs.
Optionally, you can specify whether the bitmap should be smoothed when scaled
(this works only if the source object is a BitmapData object).
**Note:** The `drawWithQuality()` method works exactly like the `draw()` method,
but instead of using the `Stage.quality` property to determine the quality of
vector rendering, you specify the `quality` parameter to the `drawWithQuality()`
method.
This method directly corresponds to how objects are drawn with the standard
vector renderer for objects in the authoring tool interface.
The source display object does not use any of its applied transformations for
this call. It is treated as it exists in the library or file, with no matrix
transform, no color transform, and no blend mode. To draw a display object
(such as a movie clip) by using its own transform properties, you can copy its
`transform` property object to the `transform` property of the Bitmap object that
uses the BitmapData object.
This method is supported over RTMP in Flash Player 9.0.115.0 and later and in
Adobe AIR. You can control access to streams on Flash Media Server in a
server-side script. For more information, see the `Client.audioSampleAccess` and
`Client.videoSampleAccess` properties in Server-Side ActionScript Language
Reference for Adobe Flash Media Server.
If the source object and (in the case of a Sprite or MovieClip object) all of
its child objects do not come from the same domain as the caller, or are not in
a content that is accessible to the caller by having called the
`Security.allowDomain()` method, a call to the `drawWithQuality()` throws a
SecurityError exception. This restriction does not apply to AIR content in the
application security sandbox.
There are also restrictions on using a loaded bitmap image as the source. A call
to the `drawWithQuality()` method is successful if the loaded image comes from the
same domain as the caller. Also, a cross-domain policy file on the image's server
can grant permission to the domain of the SWF content calling the
`drawWithQuality()` method. In this case, you must set the `checkPolicyFile` property
of a LoaderContext object, and use this object as the `context` parameter when
calling the `load()` method of the Loader object used to load the image. These
restrictions do not apply to AIR content in the application security sandbox.
On Windows, the `drawWithQuality()` method cannot capture SWF content embedded in an
HTML page in an HTMLLoader object in Adobe AIR.
The `drawWithQuality()` method cannot capture PDF content in Adobe AIR. Nor can it
capture or SWF content embedded in HTML in which the `wmode` attribute is set to
`"window"` in Adobe AIR.
@param source The display object or BitmapData object to draw to the BitmapData
object. (The DisplayObject and BitmapData classes implement the IBitmapDrawable
interface.)
@param matrix A Matrix object used to scale, rotate, or translate the coordinates
of the bitmap. If you do not want to apply a matrix transformation to the image,
set this parameter to an identity matrix, created with the default `new Matrix()`
constructor, or pass a `null` value.
@param colorTransform A ColorTransform object that you use to adjust the color
values of the bitmap. If no object is supplied, the bitmap image's colors are not
transformed. If you must pass this parameter but you do not want to transform the
image, set this parameter to a ColorTransform object created with the default
`new ColorTransform()` constructor.
@param blendMode A string value, from the flash.display.BlendMode class,
specifying the blend mode to be applied to the resulting bitmap.
@param clipRect A Rectangle object that defines the area of the source object
to draw. If you do not supply this value, no clipping occurs and the entire source
object is drawn.
@param smoothing A Boolean value that determines whether a BitmapData object is
smoothed when scaled or rotated, due to a scaling or rotation in the `matrix`
parameter. The smoothing parameter only applies if the `source` parameter is a
BitmapData object. With `smoothing` set to `false`, the rotated or scaled BitmapData
image can appear pixelated or jagged. For example, the following two images use the
same BitmapData object for the `source` parameter, but the `smoothing` parameter is
set to `true` on the left and `false` on the right:

Drawing a bitmap with `smoothing` set to `true` takes longer than doing so with
`smoothing` set to `false`.
@param quality Any of one of the StageQuality values. Selects the antialiasing
quality to be used when drawing vectors graphics.
@throws ArgumentError The source parameter is not a BitmapData or DisplayObject
object.
@throws SecurityError The source object and (in the case of a Sprite or MovieClip
object) all of its child objects do not come from the same domain as the caller,
or are not in a content that is accessible to the caller by having called the
`Security.allowDomain()` method. This restriction does not apply to AIR content
in the application security sandbox.
@throws ArgumentError The source is `null` or not a valid IBitmapDrawable object.{ byteArray : null }Compresses this BitmapData object using the selected compressor algorithm and
returns a new ByteArray object. Optionally, writes the resulting data to the
specified ByteArray. The `compressor` argument specifies the encoding algorithm,
and can be PNGEncoderOptions, JPEGEncoderOptions, or JPEGXREncoderOptions.
The following example compresses a BitmapData object using the JPEGEncoderOptions:
```haxe
// Compress a BitmapData object as a JPEG file.
var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00);
var byteArray:ByteArray = new ByteArray();
bitmapData.encode(new Rectangle(0,0,640,480), new openfl.display.JPEGEncoderOptions(), byteArray);
```
@param rect The area of the BitmapData object to compress.
@param compressor The compressor type to use. Valid values are:
flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions, and
flash.display.JPEGXREncoderOptions.
@param byteArray The output ByteArray to hold the encoded image.
@return A ByteArray containing the encoded image.Fills a rectangular area of pixels with a specified ARGB color.
@param rect The rectangular area to fill.
@param color The ARGB color value that fills the area. ARGB colors are
often specified in hexadecimal format; for example,
0xFF336699.
@throws TypeError The rect is null.Performs a flood fill operation on an image starting at an(_x_,
_y_) coordinate and filling with a certain color. The
`floodFill()` method is similar to the paint bucket tool in
various paint programs. The color is an ARGB color that contains alpha
information and color information.
@param x The _x_ coordinate of the image.
@param y The _y_ coordinate of the image.
@param color The ARGB color to use as a fill.Determines the destination rectangle that the `applyFilter()`
method call affects, given a BitmapData object, a source rectangle, and a
filter object.
For example, a blur filter normally affects an area larger than the
size of the original image. A 100 x 200 pixel image that is being filtered
by a default BlurFilter instance, where `blurX = blurY = 4`
generates a destination rectangle of `(-2,-2,104,204)`. The
`generateFilterRect()` method lets you find out the size of
this destination rectangle in advance so that you can size the destination
image appropriately before you perform a filter operation.
Some filters clip their destination rectangle based on the source image
size. For example, an inner `DropShadow` does not generate a
larger result than its source image. In this API, the BitmapData object is
used as the source bounds and not the source `rect`
parameter.
@param sourceRect A rectangle defining the area of the source image to use
as input.
@param filter A filter object that you use to calculate the
destination rectangle.
@return A destination rectangle computed by using an image, the
`sourceRect` parameter, and a filter.
@throws TypeError The sourceRect or filter are null.{ scale9Grid : null }hide**BETA**
Get the IndexBuffer3D object associated with this BitmapData object
@param context A Stage3D context
@returns An IndexBuffer3D object for use with rendering{ targetObject : null, scale9Grid : null }hide**BETA**
Get the VertexBuffer3D object associated with this BitmapData object
@param context A Stage3D context
@returns A VertexBuffer3D object for use with rendering{ findColor : true }Returns an integer that represents an RGB pixel value from a BitmapData
object at a specific point(_x_, _y_). The
`getPixel()` method returns an unmultiplied pixel value. No
alpha information is returned.
All pixels in a BitmapData object are stored as premultiplied color
values. A premultiplied image pixel has the red, green, and blue color
channel values already multiplied by the alpha data. For example, if the
alpha value is 0, the values for the RGB channels are also 0, independent
of their unmultiplied values. This loss of data can cause some problems
when you perform operations. All BitmapData methods take and return
unmultiplied values. The internal pixel representation is converted from
premultiplied to unmultiplied before it is returned as a value. During a
set operation, the pixel value is premultiplied before the raw image pixel
is set.
@param x The _x_ position of the pixel.
@param y The _y_ position of the pixel.
@return A number that represents an RGB pixel value. If the(_x_,
_y_) coordinates are outside the bounds of the image, the
method returns 0.Returns an ARGB color value that contains alpha channel data and RGB data.
This method is similar to the `getPixel()` method, which
returns an RGB color without alpha channel data.
All pixels in a BitmapData object are stored as premultiplied color
values. A premultiplied image pixel has the red, green, and blue color
channel values already multiplied by the alpha data. For example, if the
alpha value is 0, the values for the RGB channels are also 0, independent
of their unmultiplied values. This loss of data can cause some problems
when you perform operations. All BitmapData methods take and return
unmultiplied values. The internal pixel representation is converted from
premultiplied to unmultiplied before it is returned as a value. During a
set operation, the pixel value is premultiplied before the raw image pixel
is set.
@param x The _x_ position of the pixel.
@param y The _y_ position of the pixel.
@return A number representing an ARGB pixel value. If the(_x_,
_y_) coordinates are outside the bounds of the image, 0 is
returned.Generates a byte array from a rectangular region of pixel data. Writes an
unsigned integer(a 32-bit unmultiplied pixel value) for each pixel into
the byte array.
@param rect A rectangular area in the current BitmapData object.
@return A ByteArray representing the pixels in the given Rectangle.
@throws TypeError The rect is null."checkstyle:Dynamic"hide**BETA**
Get the CairoImageSurface associated with this BitmapData object for use with
Cairo software rendering
@returns The associated CairoImageSurfacehide**BETA**
Get a hardware texture representing this BitmapData instance
@param context A Context3D instance
@returns A Texture or RectangleTexture instanceGenerates a vector array from a rectangular region of pixel data. Returns
a Vector object of unsigned integers(a 32-bit unmultiplied pixel value)
for the specified rectangle.
@param rect A rectangular area in the current BitmapData object.
@return A Vector representing the given Rectangle.
@throws TypeError The rect is null.{ hRect : null } instances (four Vector
objects that contain Float objects). The four Vector instances represent the
red, green, blue and alpha components in order. Each Vector instance contains
256 values that represent the population count of an individual component value,
from 0 to 255.
@param hRect The area of the BitmapData object to use.]]>{ secondAlphaThreshold : 1, secondBitmapDataPoint : null }Performs pixel-level hit detection between one bitmap image and a point,
rectangle, or other bitmap image. A hit is defined as an overlap of a point or
rectangle over an opaque pixel, or two overlapping opaque pixels. No stretching,
rotation, or other transformation of either object is considered when the hit test
is performed.
If an image is an opaque image, it is considered a fully opaque rectangle for this
method. Both images must be transparent images to perform pixel-level hit testing
that considers transparency. When you are testing two transparent images, the alpha
threshold parameters control what alpha channel values, from 0 to 255, are
considered opaque.
@param firstPoint A position of the upper-left corner of the BitmapData image
in an arbitrary coordinate space. The same coordinate space is used in defining
the secondBitmapPoint parameter.
@param firstAlphaThreshold The smallest alpha channel value that is considered
opaque for this hit test.
@param secondObject A Rectangle, Point, Bitmap, or BitmapData object.
@param secondBitmapDataPoint A point that defines a pixel location in the
second BitmapData object. Use this parameter only when the value of `secondObject`
is a BitmapData object.
@param secondAlphaThreshold The smallest alpha channel value that is
considered opaque in the second BitmapData object. Use this parameter only when
the value of `secondObject` is a BitmapData object and both BitmapData objects
are transparent.
@return A value of `true` if a hit occurs; otherwise, `false`.
@throws ArgumentError The `secondObject` parameter is not a Point, Rectangle,
Bitmap, or BitmapData object.
@throws TypeError The `firstPoint` is `null`.Locks an image so that any objects that reference the BitmapData object,
such as Bitmap objects, are not updated when this BitmapData object
changes. To improve performance, use this method along with the
`unlock()` method before and after numerous calls to the
`setPixel()` or `setPixel32()` method.Performs per-channel blending from a source image to a destination image. For
each channel and each pixel, a new value is computed based on the channel
values of the source and destination pixels. For example, in the red channel,
the new value is computed as follows (where `redSrc` is the red channel value
for a pixel in the source image and `redDest` is the red channel value at the
corresponding pixel of the destination image):
```haxe
redDest = [(redSrc * redMultiplier) + (redDest * (256 - redMultiplier))] / 256;
```
The `redMultiplier`, `greenMultiplier`, `blueMultiplier`, and `alphaMultiplier`
values are the multipliers used for each color channel. Use a hexadecimal
value ranging from 0 to 0x100 (256) where 0 specifies the full value from the
destination is used in the result, 0x100 specifies the full value from the
source is used, and numbers in between specify a blend is used (such as 0x80
for 50%).
@param sourceBitmapData The input bitmap image to use. The source image can
be a different BitmapData object, or it can refer to the current BitmapData
object.
@param sourceRect A rectangle that defines the area of the source image to use
as input.
@param destPoint The point within the destination image (the current
BitmapData instance) that corresponds to the upper-left corner of the source
rectangle.
@param redMultiplier A hexadecimal uint value by which to multiply the red
channel value.
@param greenMultiplier A hexadecimal uint value by which to multiply the green
channel value.
@param blueMultiplier A hexadecimal uint value by which to multiply the blue
channel value.
@param alphaMultiplier A hexadecimal uint value by which to multiply the alpha
transparency value.
@throws TypeError The `sourceBitmapData`, `sourceRect` or `destPoint` are `null`.{ grayScale : false, channelOptions : 7, high : 255, low : 0 }Fills an image with pixels representing random noise.
@param randomSeed The random seed number to use. If you keep all other
parameters the same, you can generate different
pseudo-random results by varying the random seed
value. The noise function is a mapping function, not
a true random-number generation function, so it
creates the same results each time from the same
random seed.
@param low The lowest value to generate for each channel(0 to
255).
@param high The highest value to generate for each channel(0 to
255).
@param channelOptions A number that can be a combination of any of the
four color channel values
(`BitmapDataChannel.RED`,
`BitmapDataChannel.BLUE`,
`BitmapDataChannel.GREEN`, and
`BitmapDataChannel.ALPHA`). You can use
the logical OR operator(`|`) to combine
channel values.
@param grayScale A Boolean value. If the value is `true`,
a grayscale image is created by setting all of the
color channels to the same value. The alpha channel
selection is not affected by setting this parameter
to `true`.{ alphaArray : null, blueArray : null, greenArray : null, redArray : null }Remaps the color channel values in an image that has up to four arrays of
color palette data, one for each channel.
Flash runtimes use the following steps to generate the resulting image:
1. After the red, green, blue, and alpha values are computed, they are added
together using standard 32-bit-integer arithmetic.
2. The red, green, blue, and alpha channel values of each pixel are extracted
into separate 0 to 255 values. These values are used to look up new color
values in the appropriate array: `redArray`, `greenArray`, `blueArray`, and
`alphaArray`. Each of these four arrays should contain 256 values.
3. After all four of the new channel values are retrieved, they are combined
into a standard ARGB value that is applied to the pixel.
Cross-channel effects can be supported with this method. Each input array can
contain full 32-bit values, and no shifting occurs when the values are added
together. This routine does not support per-channel clamping.
If no array is specified for a channel, the color channel is copied from the
source image to the destination image.
You can use this method for a variety of effects such as general palette mapping
(taking one channel and converting it to a false color image). You can also use
this method for a variety of advanced color manipulation algorithms, such as
gamma, curves, levels, and quantizing.
@param sourceBitmapData The input bitmap image to use. The source image can
be a different BitmapData object, or it can refer to the current BitmapData
instance.
@param sourceRect A rectangle that defines the area of the source image to use
as input.
@param destPoint The point within the destination image (the current BitmapData
object) that corresponds to the upper-left corner of the source rectangle.
@param redArray If `redArray` is not `null`, `red = redArray[source red value] else red = source rect value`.
@param greenArray If `greenArray` is not `null`, `green = greenArray[source green value] else green = source green value`.
@param blueArray If `blueArray` is not `null, `blue = blueArray[source blue value] else blue = source blue value`.
@param alphaArray If `alphaArray` is not `null, `alpha = alphaArray[source alpha value] else alpha = source alpha value`.
@throws TypeError The `sourceBitmapData`, `sourceRect` or `destPoint` are `null`.{ offsets : null, grayScale : false, channelOptions : 7 }Generates a Perlin noise image.
The Perlin noise generation algorithm interpolates and combines
individual random noise functions(called octaves) into a single function
that generates more natural-seeming random noise. Like musical octaves,
each octave function is twice the frequency of the one before it. Perlin
noise has been described as a "fractal sum of noise" because it combines
multiple sets of noise data with different levels of detail.
You can use Perlin noise functions to simulate natural phenomena and
landscapes, such as wood grain, clouds, and mountain ranges. In most
cases, the output of a Perlin noise function is not displayed directly but
is used to enhance other images and give them pseudo-random
variations.
Simple digital random noise functions often produce images with harsh,
contrasting points. This kind of harsh contrast is not often found in
nature. The Perlin noise algorithm blends multiple noise functions that
operate at different levels of detail. This algorithm results in smaller
variations among neighboring pixel values.
@param baseX Frequency to use in the _x_ direction. For
example, to generate a noise that is sized for a 64
x 128 image, pass 64 for the `baseX`
value.
@param baseY Frequency to use in the _y_ direction. For
example, to generate a noise that is sized for a 64
x 128 image, pass 128 for the `baseY`
value.
@param numOctaves Number of octaves or individual noise functions to
combine to create this noise. Larger numbers of
octaves create images with greater detail. Larger
numbers of octaves also require more processing
time.
@param randomSeed The random seed number to use. If you keep all other
parameters the same, you can generate different
pseudo-random results by varying the random seed
value. The Perlin noise function is a mapping
function, not a true random-number generation
function, so it creates the same results each time
from the same random seed.
@param stitch A Boolean value. If the value is `true`,
the method attempts to smooth the transition edges
of the image to create seamless textures for tiling
as a bitmap fill.
@param fractalNoise A Boolean value. If the value is `true`,
the method generates fractal noise; otherwise, it
generates turbulence. An image with turbulence has
visible discontinuities in the gradient that can
make it better approximate sharper visual effects
like flames and ocean waves.
@param channelOptions A number that can be a combination of any of the
four color channel values
(`BitmapDataChannel.RED`,
`BitmapDataChannel.BLUE`,
`BitmapDataChannel.GREEN`, and
`BitmapDataChannel.ALPHA`). You can use
the logical OR operator(`|`) to combine
channel values.
@param grayScale A Boolean value. If the value is `true`,
a grayscale image is created by setting each of the
red, green, and blue color channels to identical
values. The alpha channel value is not affected if
this value is set to `true`.Scrolls an image by a certain(_x_, _y_) pixel amount. Edge
regions outside the scrolling area are left unchanged.
@param x The amount by which to scroll horizontally.
@param y The amount by which to scroll vertically.Sets a single pixel of a BitmapData object. The current alpha channel
value of the image pixel is preserved during this operation. The value of
the RGB color parameter is treated as an unmultiplied color value.
**Note:** To increase performance, when you use the
`setPixel()` or `setPixel32()` method repeatedly,
call the `lock()` method before you call the
`setPixel()` or `setPixel32()` method, and then call
the `unlock()` method when you have made all pixel changes.
This process prevents objects that reference this BitmapData instance from
updating until you finish making the pixel changes.
@param x The _x_ position of the pixel whose value changes.
@param y The _y_ position of the pixel whose value changes.
@param color The resulting RGB color for the pixel.Sets the color and alpha transparency values of a single pixel of a
BitmapData object. This method is similar to the `setPixel()`
method; the main difference is that the `setPixel32()` method
takes an ARGB color value that contains alpha channel information.
All pixels in a BitmapData object are stored as premultiplied color
values. A premultiplied image pixel has the red, green, and blue color
channel values already multiplied by the alpha data. For example, if the
alpha value is 0, the values for the RGB channels are also 0, independent
of their unmultiplied values. This loss of data can cause some problems
when you perform operations. All BitmapData methods take and return
unmultiplied values. The internal pixel representation is converted from
premultiplied to unmultiplied before it is returned as a value. During a
set operation, the pixel value is premultiplied before the raw image pixel
is set.
**Note:** To increase performance, when you use the
`setPixel()` or `setPixel32()` method repeatedly,
call the `lock()` method before you call the
`setPixel()` or `setPixel32()` method, and then call
the `unlock()` method when you have made all pixel changes.
This process prevents objects that reference this BitmapData instance from
updating until you finish making the pixel changes.
@param x The _x_ position of the pixel whose value changes.
@param y The _y_ position of the pixel whose value changes.
@param color The resulting ARGB color for the pixel. If the bitmap is
opaque(not transparent), the alpha transparency portion of
this color value is ignored.Converts a byte array into a rectangular region of pixel data. For each
pixel, the `ByteArray.readUnsignedInt()` method is called and
the return value is written into the pixel. If the byte array ends before
the full rectangle is written, the function returns. The data in the byte
array is expected to be 32-bit ARGB pixel values. No seeking is performed
on the byte array before or after the pixels are read.
@param rect Specifies the rectangular region of the BitmapData
object.
@param inputByteArray A ByteArray object that consists of 32-bit
unmultiplied pixel values to be used in the
rectangular region.
@throws EOFError The `inputByteArray` object does not include
enough data to fill the area of the `rect`
rectangle. The method fills as many pixels as possible
before throwing the exception.
@throws TypeError The rect or inputByteArray are null.Converts a Vector into a rectangular region of pixel data. For each pixel,
a Vector element is read and written into the BitmapData pixel. The data
in the Vector is expected to be 32-bit ARGB pixel values.
@param rect Specifies the rectangular region of the BitmapData object.
@throws RangeError The vector array is not large enough to read all the
pixel data.{ copySource : false, mask : 0xFFFFFFFF, color : 0x00000000 }", ">=", "==", "!="
@param threshold The value that each pixel is tested against to see
if it meets or exceeds the threshhold.
@param color The color value that a pixel is set to if the
threshold test succeeds. The default value is
0x00000000.
@param mask The mask to use to isolate a color component.
@param copySource If the value is `true`, pixel values
from the source image are copied to the
destination when the threshold test fails. If the
value is `false`, the source image is
not copied when the threshold test fails.
@return The number of pixels that were changed.
@throws ArgumentError The operation string is not a valid operation
@throws TypeError The sourceBitmapData, sourceRect destPoint or
operation are null.]]>{ changeRect : null }Unlocks an image so that any objects that reference the BitmapData object,
such as Bitmap objects, are updated when this BitmapData object changes.
To improve performance, use this method along with the `lock()`
method before and after numerous calls to the `setPixel()` or
`setPixel32()` method.
@param changeRect The area of the BitmapData object that has changed. If
you do not specify a value for this parameter, the
entire area of the BitmapData object is considered
changed.
<__applyAlpha set="method" line="3044">
<__drawCairo set="method" line="3061">
<__drawCanvas set="method" line="3084">
<__drawGL set="method" line="3102">
<__fillRect set="method" line="3125">
<__fromBase64 get="inline" set="null" line="3180">
<__fromBytes get="inline" set="null" line="3188">
{ rawAlpha : null }
<__fromFile set="method" line="3201">
<__fromImage set="method" line="3210">
"checkstyle:Dynamic"
<__getBounds set="method" line="3235">
<__loadFromBase64 get="inline" set="null" line="3270">
<__loadFromBytes get="inline" set="null" line="3283">
{ rawAlpha : null }
<__loadFromFile set="method" line="3302">
<__resize set="method" line="3315">
<__setUVRect set="method" line="3326">
<__sync set="method" line="3359">
<__update set="method" line="3366">
<__updateTransforms set="method" line="3371">
{ overrideTransform : null }{ fillColor : 0xFFFFFFFF, transparent : true }Creates a BitmapData object with a specified width and height. If you specify a value for
the `fillColor` parameter, every pixel in the bitmap is set to that color.
By default, the bitmap is created as transparent, unless you pass the value `false`
for the transparent parameter. After you create an opaque bitmap, you cannot change it
to a transparent bitmap. Every pixel in an opaque bitmap uses only 24 bits of color channel
information. If you define the bitmap as transparent, every pixel uses 32 bits of color
channel information, including an alpha transparency channel.
@param width The width of the bitmap image in pixels.
@param height The height of the bitmap image in pixels.
@param transparent Specifies whether the bitmap image supports per-pixel transparency. The default value is `true`(transparent). To create a fully transparent bitmap, set the value of the `transparent` parameter to `true` and the value of the `fillColor` parameter to 0x00000000(or to 0). Setting the `transparent` property to `false` can result in minor improvements in rendering performance.
@param fillColor A 32-bit ARGB color value that you use to fill the bitmap image area. The default value is 0xFFFFFFFF(solid white).The BitmapData class lets you work with the data (pixels) of a Bitmap
object. You can use the methods of the BitmapData class to create
arbitrarily sized transparent or opaque bitmap images and manipulate them
in various ways at runtime. You can also access the BitmapData for a bitmap
image that you load with the `openfl.Assets` or
`openfl.display.Loader` classes.
This class lets you separate bitmap rendering operations from the
internal display updating routines of OpenFL. By manipulating a
BitmapData object directly, you can create complex images without incurring
the per-frame overhead of constantly redrawing the content from vector
data.
The methods of the BitmapData class support effects that are not
available through the filters available to non-bitmap display objects.
A BitmapData object contains an array of pixel data. This data can
represent either a fully opaque bitmap or a transparent bitmap that
contains alpha channel data. Either type of BitmapData object is stored as
a buffer of 32-bit integers. Each 32-bit integer determines the properties
of a single pixel in the bitmap.
Each 32-bit integer is a combination of four 8-bit channel values (from
0 to 255) that describe the alpha transparency and the red, green, and blue
(ARGB) values of the pixel. (For ARGB values, the most significant byte
represents the alpha channel value, followed by red, green, and blue.)
The four channels (alpha, red, green, and blue) are represented as
numbers when you use them with the `BitmapData.copyChannel()`
method or the `DisplacementMapFilter.componentX` and
`DisplacementMapFilter.componentY` properties, and these numbers
are represented by the following constants in the BitmapDataChannel
class:
* `BitmapDataChannel.ALPHA`
* `BitmapDataChannel.RED`
* `BitmapDataChannel.GREEN`
* `BitmapDataChannel.BLUE`
You can attach BitmapData objects to a Bitmap object by using the
`bitmapData` property of the Bitmap object.
You can use a BitmapData object to fill a Graphics object by using the
`Graphics.beginBitmapFill()` method.
You can also use a BitmapData object to perform batch tile rendering
using the `openfl.display.Tilemap` class.
In Flash Player 10, the maximum size for a BitmapData object
is 8,191 pixels in width or height, and the total number of pixels cannot
exceed 16,777,215 pixels. (So, if a BitmapData object is 8,191 pixels wide,
it can only be 2,048 pixels high.) In Flash Player 9 and earlier, the limitation
is 2,880 pixels in height and 2,880 in width.lime.graphics.opengl.GLlime.graphics.Imagelime.graphics.ImageBufferlime.math.Rectangleopenfl.display3D.textures.TextureBaseopenfl.display3D.Context3Dopenfl.display.DisplayObjectopenfl.display.DisplayObjectShaderopenfl.display.Graphicsopenfl.display.Shaderopenfl.filters.BitmapFilteropenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.Pointopenfl.geom.Rectangle"tags=\"haxe,release\""openfl.utils._internal.AssetsMacro.embedBitmap()"__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/transitions/circle.png""__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/transitions/diamond.png""__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/transitions/square.png"
<_delay>
<_count>
<_starting expr="true">
true
<_finished expr="false">
falseIN
<_newStatus expr="NULL">
NULL{ FrameRate : 40, GraphicHeight : 32, GraphicWidth : 32, Graphic : null, Y : 0, X : 0 }*
* @author Tim Helyhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast -1hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast -1hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.addons.transition.TransitionStatus)cast (1, flixel.addons.transition.TransitionStatus)cast (2, flixel.addons.transition.TransitionStatus)cast (3, flixel.addons.transition.TransitionStatus)cast (-1, flixel.addons.transition.TransitionStatus)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__start public="1" set="method" line="31">
<_HX_SUPER__startStatus set="method" line="31">
<_HX_SUPER__setStatus public="1" set="method" line="31">
<_HX_SUPER__onFinishAnim set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__onTime set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.transition.FlxTransitionSprite.GraphicTransTileCircleflixel.addons.transition.FlxTransitionSprite.GraphicTransTileDiamondflixel.addons.transition.FlxTransitionSprite.GraphicTransTileSquareflixel.addons.transition.FlxTransitionSpriteflixel.addons.transition.FlxTransitionSprite.TransitionStatusflixel.addons.transition.FlxTransitionSprite.TransitionStatusflixel.addons.transition.FlxTransitionSprite.TransitionStatus_HSCnullnullfalsefalse* Starts the in-transition. Can be called manually at any time.* Starts the out-transition. Can be called manually at any time.false
<_exiting expr="false">
false
<_onExit>* Create a state with the ability to do visual transitions
* @param TransIn Plays when the state begins
* @param TransOut Plays when the state ends* A `FlxState` which can perform visual transitions
*
* Usage:
*
* First, extend `FlxTransitionableState` as ie, `FooState`.
*
* Method 1:
*
* ```haxe
* var in:TransitionData = new TransitionData(...); // add your data where "..." is
* var out:TransitionData = new TransitionData(...);
*
* FlxG.switchState(new FooState(in,out));
* ```
*
* Method 2:
*
* ```haxe
* FlxTransitionableState.defaultTransIn = new TransitionData(...);
* FlxTransitionableState.defaultTransOut = new TransitionData(...);
*
* FlxG.switchState(new FooState());
* ```hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__create public="1" set="method" line="31">
<_HX_SUPER__createPost public="1" set="method" line="31">
<_HX_SUPER__switchTo public="1" set="method" line="148">
<_HX_SUPER__transitionToState set="method" line="31">* Starts the in-transition. Can be called manually at any time.
<_HX_SUPER__transitionIn public="1" set="method" line="31">* Starts the out-transition. Can be called manually at any time.
<_HX_SUPER__transitionOut public="1" set="method" line="31">
<_HX_SUPER__get_hasTransIn set="method" line="148">
<_HX_SUPER__get_hasTransOut set="method" line="148">
<_HX_SUPER__createTransition set="method" line="148">
<_HX_SUPER__finishTransIn set="method" line="148">
<_HX_SUPER__finishTransOut set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.transition.FlxTransitionableState
<_effect>* This substate is automatically created to play the actual transition visuals inside a FlxTransitionState.
* To achieve a specific effect, you should use a sub-class of this such as TileTransition or FadeTransition
* @author Tim Hely, larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast "none"cast "tiles"cast "fade"hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast "none"cast "tiles"cast "fade"hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()1.0{ Duration : 1.0, Color : FlxColor.WHITE, TransType : FADE }* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast ("none", flixel.addons.transition.TransitionType)cast ("tiles", flixel.addons.transition.TransitionType)cast ("fade", flixel.addons.transition.TransitionType)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.transition.TransitionData.TransitionTypeflixel.addons.transition.TransitionData.TransitionTypeflixel.addons.transition.TransitionData.TransitionTileDataflixel.addons.transition.TransitionDatafalse
<_started expr="false">
false
<_endStatus>
<_finalDelayTime expr="0.0">
0.0
<_data>* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.addons.transition.Transition
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__start public="1" set="method" line="31">
<_HX_SUPER__setStatus public="1" set="method" line="31">
<_HX_SUPER__delayThenFinish set="method" line="31">
<_HX_SUPER__onFinish set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.transition.TransitionEffect"__ASSET__:bitmap_flixel_addons_transition_GraphicDiagonalGradient"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/transitions/diagonal_gradient.png"""""0000*
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__start public="1" set="method" line="31">
<_HX_SUPER__setTweenValues set="method" line="31">
<_HX_SUPER__makeSprite set="method" line="148">
<_HX_SUPER__getGradient set="method" line="148">
<_HX_SUPER__finishTween set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.transition.TransitionFade.GraphicDiagonalGradientflixel.addons.transition.TransitionFade
<_grpSprites>
<_isCenter expr="false">
false*
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__start public="1" set="method" line="31">
<_HX_SUPER__setStatus public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.transition.TransitionTiles
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__start public="1" set="method" line="31">
<_HX_SUPER__setStatus public="1" set="method" line="31">
<_HX_SUPER__createEffect set="method" line="148">
<_HX_SUPER__get_finishCallback set="method" line="148">
<_HX_SUPER__set_finishCallback set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.transition.Transition"left""right""top""bottom"
"center"
"unknown"* A class that describes how some object should be positioned relative to anotherhscript.UsingHandler.build()hscript.ClassExtendMacro.build()0Anchor.CENTERAnchor.CENTERhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.AnchorPoint
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__anchorThing public="1" set="method" line="31">
<_HX_SUPER__getFlipped public="1" set="method" line="148">
<_HX_SUPER__clone public="1" set="method" line="148">
<_HX_SUPER__flipAnchorSide set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.Anchor{ Quality : 1, Size : 1 }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__clone public="1" set="method" line="148">
<_HX_SUPER__apply public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.BorderDefnullnullnullnullhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__apply public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.ButtonLabelStyle* The code for the main input itself, ie, tab, or the A button* Any other inputs that must be pressed at the same time, ie, shift, alt, etc* Any other inputs, that if pressed at the same time, forbid the press.
* (Forbidden is useful so you can distinguish a "TAB" from a "SHIFT+TAB"
* -- you add "SHIFT" to the first one's forbidden list)* Was the main key JUST pressed, AND are all of the combo keys currently pressed? (and none of the forbiddens?)* Was the main key JUST released, AND are no forbidden keys currently pressed? (Ignore whether combos were just released)* Is the main key and all of the combo keys currently pressed? (and none of the forbiddens?){ forbiddenValue : false, comboValue : true }* Check Combo/Forbidden values. Default--are combos all pressed, AND are forbiddens all NOT pressed?* Makes it easier to check if, say, SHIFT+Tab is being pressed rather than just Tab by itselfhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__checkJustPressed set="method" line="148">
<_HX_SUPER__checkJustReleased set="method" line="148">
<_HX_SUPER__checkPressed set="method" line="148">* Was the main key JUST pressed, AND are all of the combo keys currently pressed? (and none of the forbiddens?)
<_HX_SUPER__justPressed public="1" set="method" line="148">* Was the main key JUST released, AND are no forbidden keys currently pressed? (Ignore whether combos were just released)
<_HX_SUPER__justReleased public="1" set="method" line="148">* Is the main key and all of the combo keys currently pressed? (and none of the forbiddens?)
<_HX_SUPER__pressed public="1" set="method" line="148">
<_HX_SUPER__equals public="1" set="method" line="148">{ forbiddenValue : false, comboValue : true }* Check Combo/Forbidden values. Default--are combos all pressed, AND are forbiddens all NOT pressed?
<_HX_SUPER__passCombosAndForbiddens set="method" line="148">
{ forbiddenValue : false, comboValue : true }
<_HX_SUPER__checkCombos set="method" line="148">
<_HX_SUPER__checkForbiddens set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxBaseMultiInput012FlxColor.WHITE* The 1px thick border color that is drawn around this button* The color gradient of the button in its in-active (not hovered over) state* The color gradient of the button in its hovered state* This function is called when the button is clicked.* This function is called when the button is hovered over* This function is called when the mouse leaves a hovered button (but didn't click)* If this button has text, set this to change the value
<_status expr="NORMAL">
NORMAL* Shows the current state of the button.
<_initialized expr="false">
false* Whether or not the button has initialized itself yet.* If you wish to replace the two buttons (normal and hovered-over) with FlxSprites, then pass them here.
* Note: The pixel data is extract from the passed FlxSprites and assigned locally, it doesn't actually use the sprites
* or keep a reference to them.
*
* @param Normal The FlxSprite to use when the button is in-active (not hovered over)
* @param Highlight The FlxSprite to use when the button is hovered-over by the mouse* Called by the game loop automatically, handles mouseover and click detection.* Basic button update logic* WARNING: This will remove this object entirely. Use kill() if you
* want to disable it temporarily only and reset() it later to revive it.
* Called by the game state when state is changed (if this object belongs to the state)* Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()).* If you want to change the color of this button in its in-active (not hovered over) state, then pass a new array of color values* If you want to change the color of this button in its active (hovered over) state, then pass a new array of color values{ Height : 20, Width : 100, Y : 0, X : 0 }* Creates a new FlxButton object with a gray background
* and a callback function on the UI thread.
*
* @param X The X position of the button.
* @param Y The Y position of the button.
* @param Callback The function to call whenever the button is clicked.
* @param Label Text to display on the button
* @param Width The width of the button.
* @param Height The height of the button.* A simple button class that calls a function when clicked by the mouse.
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* If you wish to replace the two buttons (normal and hovered-over) with FlxSprites, then pass them here.
* Note: The pixel data is extract from the passed FlxSprites and assigned locally, it doesn't actually use the sprites
* or keep a reference to them.
*
* @param Normal The FlxSprite to use when the button is in-active (not hovered over)
* @param Highlight The FlxSprite to use when the button is hovered-over by the mouse
<_HX_SUPER__loadButtonGraphic public="1" set="method" line="31">* Called by the game loop automatically, handles mouseover and click detection.
<_HX_SUPER__update public="1" set="method" line="31">* Basic button update logic
<_HX_SUPER__updateButton set="method" line="31">* WARNING: This will remove this object entirely. Use kill() if you
* want to disable it temporarily only and reset() it later to revive it.
* Called by the game state when state is changed (if this object belongs to the state)
<_HX_SUPER__destroy public="1" set="method" line="31">* Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()).
<_HX_SUPER__onMouseUp set="method" line="31">* If you want to change the color of this button in its in-active (not hovered over) state, then pass a new array of color values
<_HX_SUPER__updateInactiveButtonColors public="1" set="method" line="31">* If you want to change the color of this button in its active (hovered over) state, then pass a new array of color values
<_HX_SUPER__updateActiveButtonColors public="1" set="method" line="31">
<_HX_SUPER__set_text set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxButtonPlus* Shows the current state of the button, either NORMAL,
* HIGHLIGHT or PRESSED* This function is called when the button is released.
* We recommend assigning your main button behavior to this function
* via the FlxClickArea constructor.
<_pressed>
* Tracks whether or not the button is currently pressed.
<_initialized>
* Whether or not the button has initialized itself yet.* Called by the game state when state is changed (if this object belongs to the state)* Called by the game loop automatically, handles mouseover and click detection.* Basic button update logic* Updates status and handles the onDown and onOver logic (callback function).* Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()).{ Height : 20, Width : 80, Y : 0, X : 0 }* Creates a new FlxClickArea object
* and a callback function on the UI thread.
*
* @param X The X position of the button.
* @param Y The Y position of the button.
* @param Width Width of the area
* @param Height Height of the area
* @param OnUp The function to call whenever the button is clicked.* Trimmed-down button, invisible click area, only responds to onUPhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Called by the game state when state is changed (if this object belongs to the state)
<_HX_SUPER__destroy public="1" set="method" line="31">* Called by the game loop automatically, handles mouseover and click detection.
<_HX_SUPER__update public="1" set="method" line="31">* Basic button update logic
<_HX_SUPER__updateButton set="method" line="31">* Updates status and handles the onDown and onOver logic (callback function).
<_HX_SUPER__updateButtonStatus set="method" line="148">* Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()).
<_HX_SUPER__onMouseUp set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxClickArea01234012"backspace""delete""enter""input"true* This regular expression will filter out (remove) everything that matches.
* Automatically sets filterMode = FlxInputText.CUSTOM_FILTER.* A function called whenever the value changes from user input, or enter is pressedfalse* Whether or not the textbox has a background* The caret's color. Has the same color as the text by default.1* Whether or not the textfield is a password textfieldfalse* Whether or not the text box is the active object on the screen.0* The position of the selection cursor. An index of 0 means the carat is before the character at index 0.* callback that is triggered when this text field gets focus
* @since 2.2.0* callback that is triggered when this text field loses focus
* @since 2.2.0ALL_CASES* The Case that's being enforced. Either ALL_CASES, UPPER_CASE or LOWER_CASE.0* Set the maximum length for the field (e.g. "3"
* for Arcade type hi-score initials). 0 means unlimited.* Change the amount of lines that are allowed.NO_FILTER* Defines what text to filter. It can be NO_FILTER, ONLY_ALPHA, ONLY_NUMERIC, ONLY_ALPHA_NUMERIC or CUSTOM_FILTER
* (Remember to append "FlxInputText." as a prefix to those constants)FlxColor.BLACK* The color of the fieldBorders1* The thickness of the fieldBordersFlxColor.WHITE* The color of the background of the textbox.* A FlxSprite representing the background sprite
<_caretTimer>
* A timer for the flashing caret effect.* A FlxSprite representing the flashing caret when editing text.
<_charBoundaries>
* A FlxSprite representing the fieldBorders.* Stores last input text scroll.* Clean up memory* Draw the caret in addition to the text.* Helper function that makes sure sprites are drawn up even though they haven't been added.
* @param Sprite The Sprite to be drawn.* Check for mouse input every tick.* Handles keypresses generated on the stage.* Inserts a substring into a string at a specific index
*
* @param Insert The string to have something inserted into
* @param Insert The string to insert
* @param Index The index to insert at
* @return Returns the joined string for chaining.* Gets the index of the character in this box under the mouse cursor
* @return The index of the character.
* between 0 and the length of the text* Called every time the text is changed (for both flash/cpp) to update scrolling, etc{ RunOnCpp : false }* Draws the frame of animation for the input text.
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target* Turns the caret on/off for the caret flashing animation.* Checks an input string against the current
* filter and returns a filtered string{ EmbeddedFont : true, BackgroundColor : FlxColor.WHITE, TextColor : FlxColor.BLACK, size : 8, Width : 150, Y : 0, X : 0 }* @param X The X position of the text.
* @param Y The Y position of the text.
* @param Width The width of the text object (height is determined automatically).
* @param Text The actual text you would like to display initially.
* @param size Initial size of the font
* @param TextColor The color of the text
* @param BackgroundColor The color of the background (FlxColor.TRANSPARENT for no background color)
* @param EmbeddedFont Whether this text field uses embedded fonts or not* FlxInputText v1.11, ported to Haxe
* @author larsiusprime, (Lars Doucet)
* @link http://github.com/haxeflixel/flixel-ui
*
* FlxInputText v1.10, Input text field extension for Flixel
* @author Gama11, Mr_Walrus, nitram_cero (MartÃn Sebastián Wain)
* @link http://forums.flixel.org/index.php/topic,272.0.html
*
* Copyright (c) 2009 MartÃn Sebastián Wain
* License: Creative Commons Attribution 3.0 United States
* @link http://creativecommons.org/licenses/by/3.0/us/hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory
<_HX_SUPER__destroy public="1" set="method" line="31">* Draw the caret in addition to the text.
<_HX_SUPER__draw public="1" set="method" line="31">* Check for mouse input every tick.
<_HX_SUPER__update public="1" set="method" line="31">* Handles keypresses generated on the stage.
<_HX_SUPER__onKeyDown set="method" line="31">
<_HX_SUPER__onChange set="method" line="31">* Inserts a substring into a string at a specific index
*
* @param Insert The string to have something inserted into
* @param Insert The string to insert
* @param Index The index to insert at
* @return Returns the joined string for chaining.
<_HX_SUPER__insertSubstring set="method" line="148">* Gets the index of the character in this box under the mouse cursor
* @return The index of the character.
* between 0 and the length of the text
<_HX_SUPER__getCaretIndex set="method" line="148">
<_HX_SUPER__getCharBoundaries set="method" line="148">
<_HX_SUPER__set_text set="method" line="148">
<_HX_SUPER__getCharIndexAtPoint set="method" line="148">
<_HX_SUPER__prepareCharBoundaries set="method" line="31">* Called every time the text is changed (for both flash/cpp) to update scrolling, etc
<_HX_SUPER__onSetTextCheck set="method" line="31">{ RunOnCpp : false }* Draws the frame of animation for the input text.
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target
<_HX_SUPER__calcFrame set="method" line="31">
{ RunOnCpp : false }* Turns the caret on/off for the caret flashing animation.
<_HX_SUPER__toggleCaret set="method" line="31">* Checks an input string against the current
* filter and returns a filtered string
<_HX_SUPER__filter set="method" line="148">
<_HX_SUPER__set_params set="method" line="148">
<_HX_SUPER__set_x set="method" line="148">
<_HX_SUPER__set_y set="method" line="148">
<_HX_SUPER__set_hasFocus set="method" line="148">
<_HX_SUPER__getAlignStr set="method" line="148">
<_HX_SUPER__set_caretIndex set="method" line="148">
<_HX_SUPER__set_size set="method" line="148">
<_HX_SUPER__set_maxLength set="method" line="148">
<_HX_SUPER__set_lines set="method" line="148">
<_HX_SUPER__set_passwordMode set="method" line="148">
<_HX_SUPER__set_filterMode set="method" line="148">
<_HX_SUPER__set_fieldBorderColor set="method" line="148">
<_HX_SUPER__set_fieldBorderThickness set="method" line="148">
<_HX_SUPER__set_backgroundColor set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxInputText* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Given a string of the form "left_analog_stick_x_plus", returns a StickInput object with the corresponding values
* @param str
* @return* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__checkJustPressed set="method" line="148">
<_HX_SUPER__checkJustReleased set="method" line="148">
<_HX_SUPER__checkPressed set="method" line="148">
<_HX_SUPER__checkCombos set="method" line="148">
<_HX_SUPER__checkForbiddens set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxMultiGamepadAnalogStickflixel.addons.ui.FlxMultiGamepadAnalogStick.XYflixel.addons.ui.FlxMultiGamepadAnalogStick.StickInput
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__checkJustPressed set="method" line="148">
<_HX_SUPER__checkJustReleased set="method" line="148">
<_HX_SUPER__checkPressed set="method" line="148">
<_HX_SUPER__checkCombos set="method" line="148">
<_HX_SUPER__checkForbiddens set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxMultiGamepad* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__checkJustPressed set="method" line="148">
<_HX_SUPER__checkJustReleased set="method" line="148">
<_HX_SUPER__checkPressed set="method" line="148">
<_HX_SUPER__checkCombos set="method" line="148">
<_HX_SUPER__checkForbiddens set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxMultiKey* The horizontal line in the background.* The dragable handle - loadGraphic() to change its graphic.* The text under the left border - equals minValue by default.* The text under the right border - equals maxValue by default.* A text above the slider that displays its name.* A text under the slider that displays the current value.* Stores the current value of the variable - updated each frame.* Mininum value the variable can be changed to.* Maximum value the variable can be changed to.0* How many decimals the variable can have at max. Default is zero,
* or "only whole numbers".* Sound that's played whenever the slider is clicked.* Sound that's played whenever the slider is hovered over.0.5* The alpha value the slider uses when it's hovered over. 1 to turn the effect off.null* A function to be called when the slider was used.
* The current relativePos is passed as an argument.true* Whether the slider sets the variable it tracks. Can be useful to deactivate this in conjunction with callbacks.* The expected position of the handle based on the current variable value.* The position of the handle relative to the slider / max value.* Stores the variable the slider controls.
<_bounds>
* The dragable area for the handle. Is configured automatically.
<_width>
* The width of the slider.
<_height>
* The height of the slider - make sure to call createSlider() if you
* want to change this.
<_thickness>
* The thickness of the slider - make sure to call createSlider() if you
* want to change this.
<_color>
* The color of the slider - make sure to call createSlider() if you
* want to change this.
<_handleColor>
* The color of the handle - make sure to call createSlider() if you
* want to change this.
<_object>
* Stores a reference to parent object.
<_lastPos>
* Helper var for callbacks.
<_justClicked expr="false">
false* Helper variable to avoid the clickSound playing every frame.
<_justHovered expr="false">
false* Helper variable to avoid the hoverSound playing every frame.* Initially creates the slider with all its objects.* Function that is called whenever the slider is used to either update the variable tracked or call the Callback function.{ Size : 8, Value : true }* Handy function for changing the textfields.
*
* @param Name Text of nameLabel - null to hide
* @param Value Whether to show the valueText or not
* @param Min Text of minLabel - null to hide
* @param Max Text of maxLabel - null to hide
* @param Size Size to use for the texts* Cleaning up memory.{ HandleColor : 0xFF828282, Color : 0xFF000000, Thickness : 3, Height : 15, Width : 100, MaxValue : 10, MinValue : 0, Y : 0, X : 0 }* Creates a new FlxSlider.
*
* @param Object Reference to the parent object of the variable
* @param VarString Variable that the slider controls
* @param X x Position
* @param Y y Position
* @param MinValue Mininum value the variable can be changed to
* @param MaxValue Maximum value the variable can be changed to
* @param Width Width of the slider
* @param Height Height of the slider
* @param Thickness Thickness of the slider
* @param Color Color of the slider background and all texts except for valueText showing the current value
* @param HandleColor Color of the slider handle and the valueText showing the current value* A slider GUI element for float and integer manipulation.
* @author Gama11hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Initially creates the slider with all its objects.
<_HX_SUPER__createSlider set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">* Function that is called whenever the slider is used to either update the variable tracked or call the Callback function.
<_HX_SUPER__updateValue set="method" line="31">{ Size : 8, Value : true }* Handy function for changing the textfields.
*
* @param Name Text of nameLabel - null to hide
* @param Value Whether to show the valueText or not
* @param Min Text of minLabel - null to hide
* @param Max Text of maxLabel - null to hide
* @param Size Size to use for the texts
<_HX_SUPER__setTexts public="1" set="method" line="31">
{ Size : 8, Value : true }* Cleaning up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__get_expectedPos set="method" line="148">
<_HX_SUPER__get_relativePos set="method" line="148">
<_HX_SUPER__set_varString set="method" line="148">
<_HX_SUPER__set_x set="method" line="148">
<_HX_SUPER__set_y set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxSlider* ...
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()*PUBLIC VARS*truetrue*PUBLIC GETTER/SETTERS*{ Splice : false }{ rect : null }* Calculates the bounds of the group and sets width/height
* @param rect (optional) -- if supplied, populates this with the boundaries of the group* Floor the positions of all children{ Y : 0, X : 0 }*PUBLIC FUNCTIONS** A cheap extension of FlxUIGroup that lets you move all the children around
* without having to call reset()
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()*EVENT HANDLING*{ style : "" }* Given something like "verdana" and "bold" returns "assets/fonts/verdanab"
* Also: checks Firetongue (if available) for font replacement rules
* @param str
* @param style
* @since 2.1.0{ extension : ".ttf", style : "" }* Given something like "verdana", "bold", ".ttf", returns "assets/fonts/verdanab.ttf"
* Also: checks Firetongue (if available) for font replacement rules
* @param str
* @param style
* @param extension
* @since 2.1.0
<__getTongue get="inline" set="null" line="226" static="1">
flixel.addons.ui.interfaces.IFlxUIState* Static-level function used to force giving a certain widget focus (useful for e.g. enforcing overlap logic)
* @param b
* @param thing* Drill down to the current state or sub-state, and ensure it is an IFlxUIState (FlxUIState or FlxUISubState)
* @return* Broadcasts an event to the current FlxUIState/FlxUISubState, and expects data in return
* @param name string identifier of the event -- each IFlxUIWidget has a set of string constants
* @param sender the IFlxUIWidget that sent this event
* @param data non-array data (boolean for a checkbox, string for a radiogroup, etc)
* @param params (optional) user-specified array of arbitrary data
* @return some sort of arbitrary data from the recipient
<_delta get="inline" set="null" line="1578" static="1">
{ Y : 0, X : 0 }* Adds to thing.x and/or thing.y with wrappers depending on type
* @param thing
* @param X
* @param Y
<_center get="inline" set="null" line="1589" static="1">
{ Y : true, X : true }* Centers thing in x axis with wrappers depending on type
* @param thing
* @param amt{ combineUniqueChildren : false }* Takes two XML files and combines them, with "data" overriding duplicate attributes found in "definition"
* @param data the local data tag
* @param definition the base definition you are extending
* @param combineUniqueChildren if true, will combine child tags if they are unique. If false, inserts child tags as new ones.
* @return
<_loadBitmapRect get="inline" set="null" line="4324" static="1">* Parses params out of xml and loads them in the correct type
* @param datatrue0.01false0* Whether or not this UI is directly attached to the current top-most FlxStatenullnull
*
*
* ]]>
<_ptr_tongue>
<_data>
<_tongueSet set="method" line="134">
* Make sure to recursively propogate the tongue pointer down to all my members{ suppressed : true }* This causes FlxUI to respond to a specific widget losing focus
* @param widget* Set a pointer to another FlxUI for the purposes of indexing
* @param flxUI{ Active : null }{ Active : null }{ destroy : true }* Removes an asset
* @param key the asset to remove
* @param destroy whether to destroy it
* @return the asset, or null if destroy=true{ recursive : false, group_name : "" }* Adds an asset to this UI, and optionally puts it in a group
* @param asset the IFlxUIWidget asset you want to add
* @param key unique key for this asset. If it already exists, this fails.
* @param group_name string name of group inside this FlxUI you want to add it to.
* @param recursive whether to recursively search through sub-ui's{ destroy_old : true, center_y : true, center_x : true }* Remove all the references and pointers, then destroy everythingXml* Main setup function - pass in a Access(xml) object
* to set up your FlxUI
* @param data
<_loadPointSize set="method" line="988">
<_loadSub set="method" line="1011">
{ iteration : 0 }
<_addTags set="method" line="1083">
<_loadGlobals set="method" line="1100">
<_postLoad set="method" line="1120">
<_sendTo set="method" line="1163">{ recursive : true }* Send an asset to the front of the member list that it's in
* @param name string identifier of the asset
* @param recursive whether to check superIndex if not found{ recursive : true }* Send an asset to either the back of the member list that it's in
* @param name string identifier of the asset
* @param recursive whether to check superIndex if not found{ target_name : "" }* Set a mode for this UI. This lets you show/hide stuff basically.
* @param mode_name The mode you want, say, "empty" or "play" for a save slot
* @param target_name UI element to target - "" for the UI itself, otherwise the name of an element that is itself a FlxUI{ activeStatus : null, visibleStatus : true }{ recursive : true }****UTILITY FUNCTIONS********{ recursive : true }{ recursive : true }{ recursive : true }* Get the group that contains a given IFlxUIWidget
* @param key the asset key of the IFlxUIWidget
* @param thing the IFlxUIWidget itself
* @return{ recursive : true }{ recursive : true }{ recursive : true, op : "==" }{ recursive : true }{ recursive : true }
<_postLoaded expr="false">
falseFlxUI*PRIVATE*
<_pointX expr="1">
1
<_pointY expr="1">
1
<_group_index>
<_asset_index>
<_tag_index>
<_definition_index>
<_variable_index>
<_mode_index>
<_curr_mode expr="""">
""
<_ptr>
<_superIndexUI>
<_safe_input_delay_elapsed expr="0.0">
0.0
<_failure_checks>
<_assetsToCleanUp expr="[]">
[]
<_scaledAssets expr="[]">
[]{ splice : false }* Replace an object in whatever group it is in
* @param original the original object
* @param replace the replacement object
* @param splice if replace is null, whether to splice the entry**********LOADING FUNCTIONS************* Make any necessary changes to data/definition xml objects (such as for locale or haxedef settings)
* @param data Access xml data
* @param nodeName name of the node, "locale", "haxedef", or "resolution"* Load an individual flixel-ui widget from a snippet of xml
* @param type
* @param data
* @return
<_loadThingGetInfo set="method" line="1817">
<_loadTooltip set="method" line="1854">
<_loadTooltipData set="method" line="1873">
<_loadTooltipStyle set="method" line="1941">
<_loadTooltipText set="method" line="1966">
<_loadAnchor set="method" line="2015">
<_loadThing set="method" line="2030">
<_loadX get="inline" set="null" line="2111">
{ default_ : 0 }
<_loadY get="inline" set="null" line="2116">
{ default_ : 0 }
<_loadScale set="method" line="2121">
{ str : "scale", default_ : 1.0 }
<_loadScaleX set="method" line="2126">
{ default_ : 1.0 }
<_loadScaleY set="method" line="2131">
{ default_ : 1.0 }
<_loadWidth set="method" line="2136">
{ defaultRound : "", str : "width", default_ : 10 }
<_loadHeight set="method" line="2143">
{ defaultRound : "", str : "height", default_ : 10 }
<_loadCompass set="method" line="2150">
{ str : "resize_point" }
<_changeParamsThing set="method" line="2187">
<_changeThing set="method" line="2205">
<_alignThing set="method" line="2276">
{ suppressError : false }
<_doAlign set="method" line="2369">
{ allowShrink : true, allowGrow : true }
<_checkFailure set="method" line="2492">
<_resizeThing set="method" line="2586">
<_postLoadThing set="method" line="2620">
<_loadTileTest set="method" line="2759">
<_loadString set="method" line="2836">
<_loadText set="method" line="2845">
<_loadInputText set="method" line="2904">
<_loadRadioGroup set="method" line="3069">
<_loadCheckBox set="method" line="3235">
<_loadDropDownMenu set="method" line="3319">
<_loadTest set="method" line="3455">
<_loadTestSub set="method" line="3505">
<_loadLayout set="method" line="3624">
<_loadTabMenu set="method" line="3669">
<_loadNumericStepper set="method" line="3813">
{ setCallback : true }{ defaultAxis : FlxUISprite.RESIZE_RATIO_Y }
<_loadButton set="method" line="3907">
{ load_code : "", isToggle : false, setCallback : true }flixel.addons.ui.FlxUITypedButton
<_loadRegion set="method" line="4333">
<_load9SliceSprite set="method" line="4353">
{ load_code : "" }{ srcString : "src" }
<_loadTileRule get="inline" set="null" line="4494">
<_loadBox set="method" line="4510">
<_loadLine set="method" line="4580">
<_loadBar set="method" line="4651">
<_loadSprite set="method" line="4762">{ tilesTall : 1, tilesWide : 1, scaleName : "scale", attName : "src" }* For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary
* @param data the xml node in question
* @return the unique key of the scaled bitmap
<_getAnchorPos set="method" line="4999">{ defaultStr : "" }{ height : null, width : null }
<_getDataSize set="method" line="5201">
{ default_ : 0 }
<_getOperation set="method" line="5283">
* @return [:String,:String,:Float]]]>
<_doOperation set="method" line="5350">
<_getStretch set="method" line="5368">
<_loadCursor set="method" line="5525">
<_loadPosition set="method" line="5554">
<_loadBorder set="method" line="5662">
<_loadColor set="method" line="5675">
{ _default : 0xffffffff, colorName : "color" }
<_loadFontDef set="method" line="5690">
<_loadFontFace set="method" line="5699">
<_onFinishLoad set="method" line="5711">{ code : "", safe : true, context : "data" }********UTILITY FUNCTIONS**********{ uiVars_ : null, liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null }* A simple xml-driven user interface
*
* Usage example:
* _ui = new FlxUI(U.xml("save_slot"),this);
* add(_ui);
*
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* ...
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()01-1truenullfalseRESIZE_RATIO_Y{ Unique : false, Height : 0, Width : 0, Animated : false }* Load an image from an embedded graphic file.
*
* @param Graphic The image you want to use.
* @param Animated Whether the Graphic parameter is a single sprite or a row of sprites.
* @param Width Optional, specify the width of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets).
* @param Height Optional, specify the height of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets).
* @param Unique Optional, whether the graphic should be a unique instance in the graphics cache. Default is false.
* @param Key Optional, set this parameter if you're loading BitmapData.
* @return This FlxSprite instance (nice for chaining stuff together, if you're into that).{ Unique : false, Height : 0, Width : 0, Animated : false }
<_originalKey expr="""">
""{ SimpleGraphic : null, Y : 0, X : 0 }* Cheap extension of FlxSprite
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()0true
<_staticPoint expr="new Point()" line="47" static="1">
new Point()
<_staticRect expr="new Rectangle()" line="48" static="1">
new Rectangle()
<_staticRect2 expr="new Rectangle()" line="49" static="1">
new Rectangle()
<_staticPointZero expr="new Point(0, 0)" line="51" static="1">
new Point(0, 0)
<_staticMatrix expr="new Matrix()" line="52" static="1">
new Matrix()
<_staticFlxRect expr="FlxRect.get()" line="54" static="1">
FlxRect.get()
<_staticFlxRect2 expr="FlxRect.get()" line="55" static="1">
FlxRect.get()0x000x110x100x01
<_staticRects static="1">{ smooth : false, tile : TILE_NONE }* Does the actual drawing for a 9-slice scaled graphic
* @param g the graphics object for drawing to (ie, sprite.graphic)
* @param assetID id of bitmapdata asset you are scaling
* @param scale9 int array defining 2 points that define the grid as [x1,y1,x2,y2] (upper-interior-left, lower-interior-right)
* @param rc rectangle object defining how big you want to scale it to
* @param tile if a bit is false, scale those pieces, if true, tile them (default both false)
* @param smooth whether to smooth when scaling or not (default false)
* @param raw raw pixels supplied, if any
* @return the new unique id{ raw : null, smooth : false, tile : TILE_NONE }{ raw : null, smooth : false, tile : TILE_NONE, srcData : null }{ smooth_ : false, tile : TILE_NONE }
<_bmpCanvas>""
<_slice9 expr="null">
null
<_tile expr="TILE_NONE">
TILE_NONE
<_smooth expr="false">
false
<_asset_id expr="""">
""
<_raw_pixels>{ Color : FlxColor.WHITE, DeferResize : false, Resize_axis : FlxUISprite.RESIZE_RATIO_Y, Resize_point : null, Ratio : -1, Id : "", Smooth : false, Tile : TILE_NONE, Slice9 : null } stretch)
* @param smooth When stretching, whether to smooth middle pieces (default false)
* @param id if Graphic is a BitmapData, manually specify its original source id, if any
* @param ratio Resize ratio to force, if desired (W/H)
* @param Resize_point Point for anchoring resizes
* @param Resize_axis Whether resizing is based around the X or Y axis
* @param Color Color to tint this graphic to. (White has no effect.)]]>* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__resize public="1" set="method" line="31">
<_HX_SUPER__noLongerUsingCachedID set="method" line="31">
<_HX_SUPER__purgeSections set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUI9SliceSpriteflixel.addons.ui.FlxUI9SliceSprite.SectionCounter"flixel/flixel-ui/img/button.png""flixel/flixel-ui/img/button_arrow_down.png""flixel/flixel-ui/img/button_arrow_left.png""flixel/flixel-ui/img/button_arrow_right.png""flixel/flixel-ui/img/button_arrow_up.png""flixel/flixel-ui/img/button_thin.png""flixel/flixel-ui/img/button_toggle.png"18"flixel/flixel-ui/img/check_mark.png""flixel/flixel-ui/img/check_box.png""flixel/flixel-ui/img/chrome.png""flixel/flixel-ui/img/chrome_light.png""flixel/flixel-ui/img/chrome_flat.png""flixel/flixel-ui/img/chrome_inset.png""flixel/flixel-ui/img/radio.png""flixel/flixel-ui/img/radio_dot.png""flixel/flixel-ui/img/tab.png""flixel/flixel-ui/img/tab_back.png""flixel/flixel-ui/img/box.png""flixel/flixel-ui/img/dropdown_mark.png""flixel/flixel-ui/img/plus_mark.png""flixel/flixel-ui/img/minus_mark.png""flixel/flixel-ui/img/hilight.png""flixel/flixel-ui/img/invis.png""flixel/flixel-ui/img/swatch.png""flixel/flixel-ui/img/tooltip_arrow.png""flixel/flixel-ui/img/finger_small.png""flixel/flixel-ui/img/finger_big.png""6,6,11,11""2,2,15,15""6,6,11,11""6,6,11,11""flixel/flixel-ui/xml/defaults""flixel/flixel-ui/xml/default_popup""flixel/flixel-ui/xml/default_loading_screen"nullhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIAssetstrue* If false, the bar is tracking its parent
* (the position is synchronized with the parent's position).* How many pixels = 1% of the bar (barWidth (or barHeight) / 100)* The positionOffset controls how far offset the FlxBar is from the parent sprite (if at all)false* If this FlxBar should be killed when its empty* The percentage of how full the bar is (a value between 0 and 100)* The percentage of how full the bar is (a value between 0 and 100)* The current value - must always be between min and max= max)]]>* How wide is the range of this bar? (max - min)* What 1% of the bar is equal to in terms of value (range / 100)100* Number of frames FlxBar will have. Default value is 100.
* The bigger value you set then visual will change smoother.
* @since 4.1.0* This function will be called when value will hit it's minimum* This function will be called when value will hit it's maximum* Object to track value from/* Property of parent object to track.* BarFrames which will be used for filled bar rendering.
* It is recommended to use this property in tile render mode
* (although it will work in blit render mode also).* The direction from which the health bar will fill-up. Default is from left to right. Change takes effect immediately.
<_fillHorizontal>
<_frontFrame>
* FlxSprite which is used for rendering front graphics of bar (showing value) in tile render mode.
<_filledFlxRect>
<_emptyBar>
<_emptyBarRect>
<_filledBar>
<_zeroOffset>
<_filledBarRect>
<_filledBarPoint>
<_maxPercent expr="100">
100* Track the parent FlxSprites x/y coordinates. For example if you wanted your sprite to have a floating health-bar above their head.
* If your health bar is 10px tall and you wanted it to appear above your sprite, then set offsetY to be -10
* If you wanted it to appear below your sprite, and your sprite was 32px tall, then set offsetY to be 32. Same applies to offsetX.
*
* @param offsetX The offset on X in relation to the origin x/y of the parent
* @param offsetY The offset on Y in relation to the origin x/y of the parent
* @see stopTrackingParent{ offsetY : 0, offsetX : 0, track : false }* Sets a parent for this FlxBar. Instantly replaces any previously set parent and refreshes the bar.
*
* @param parentRef A reference to an object in your game that you wish the bar to track
* @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value
* @param track If you wish the FlxBar to track the x/y coordinates of parent set to true (default false)
* @param offsetX The offset on X in relation to the origin x/y of the parent
* @param offsetY The offset on Y in relation to the origin x/y of the parent* Tells the health bar to stop following the parent sprite. The given posX and posY values are where it will remain on-screen.
*
* @param posX X coordinate of the health bar now it's no longer tracking the parent sprite
* @param posY Y coordinate of the health bar now it's no longer tracking the parent sprite{ killOnEmpty : false }* Sets callbacks which will be triggered when the value of this FlxBar reaches min or max.
* Functions will only be called once and not again until the value changes.
* Optionally the FlxBar can be killed if it reaches min, but if will fire the empty callback first (if set)
*
* @param onEmpty The function that is called if the value of this FlxBar reaches min
* @param onFilled The function that is called if the value of this FlxBar reaches max
* @param killOnEmpty If set it will call FlxBar.kill() if the value reaches min* Set the minimum and maximum allowed values for the FlxBar
*
* @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet)
* @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100.{ border : FlxColor.WHITE, showBorder : false }* Creates a solid-colour filled health bar in the given colours, with optional 1px thick border.
* All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values.
*
* @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour)
* @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour)
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated images for front and background.{ border : FlxColor.WHITE, showBorder : false }* Creates a solid-colour filled background for health bar in the given colour, with optional 1px thick border.
*
* @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour)
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering health bar background.{ border : FlxColor.WHITE, showBorder : false }* Creates a solid-colour filled foreground for health bar in the given colour, with optional 1px thick border.
* @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour)
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering actual values.{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }* Creates a gradient filled health bar using the given colour ranges, with optional 1px thick border.
* All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values.
*
* @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour)
* @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated images for front and background.{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }* Creates a gradient filled background for health bar using the given colour range, with optional 1px thick border.
*
* @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for background rendering.{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }* Creates a gradient filled foreground for health bar using the given colour range, with optional 1px thick border.
*
* @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering actual values.{ fillBackground : FlxColor.LIME, emptyBackground : FlxColor.BLACK }* Creates a health bar filled using the given bitmap images.
* You can provide "empty" (background) and "fill" (foreground) images. either one or both images (empty / fill), and use the optional empty/fill colour values
* All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values.
* NOTE: This method doesn't check if the empty image doesn't have the same size as fill image.
*
* @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used
* @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used
* @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format
* @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format
* @return This FlxBar object with generated images for front and background.{ emptyBackground : FlxColor.BLACK }* Loads given bitmap image for health bar background.
*
* @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used
* @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format
* @return This FlxBar object with generated image for background rendering.{ fillBackground : FlxColor.LIME }* Loads given bitmap image for health bar foreground.
*
* @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used
* @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering actual values.* Updates health bar view according its current value.
* Called when the health bar detects a change in the health of the parent.* Stamps health bar background on its pixels* Stamps health bar foreground on its pixels{ showBorder : false, max : 100, min : 0, variable : "", height : 10, width : 100, y : 0, x : 0 }* Create a new FlxBar Object
*
* @param x The x coordinate location of the resulting bar (in world pixels)
* @param y The y coordinate location of the resulting bar (in world pixels)
* @param direction The fill direction, LEFT_TO_RIGHT by default
* @param width The width of the bar in pixels
* @param height The height of the bar in pixels
* @param parentRef A reference to an object in your game that you wish the bar to track
* @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value
* @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet)
* @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100.
* @param showBorder Include a 1px border around the bar? (if true it adds +2 to width and height to accommodate it)* FlxBar is a quick and easy way to create a graphical bar which can
* be used as part of your UI/HUD, or positioned next to a sprite.
* It could represent a loader, progress or health bar.
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Applies a new style to this FlxBar and redraws it{ showBorder : false, max : 100, min : 0, variable : "", height : 10, width : 100, y : 0, x : 0 }* Create a new FlxBar Object
*
* @param x The x coordinate location of the resulting bar (in world pixels)
* @param y The y coordinate location of the resulting bar (in world pixels)
* @param direction The fill direction, LEFT_TO_RIGHT by default
* @param width The width of the bar in pixels
* @param height The height of the bar in pixels
* @param parentRef A reference to an object in your game that you wish the bar to track
* @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value
* @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet)
* @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100.
* @param showBorder Include a 1px border around the bar? (if true it adds +2 to width and height to accommodate it)* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__clone public="1" set="method" line="148">* Applies a new style to this FlxBar and redraws it
<_HX_SUPER__set_style public="1" set="method" line="148">
<_HX_SUPER__resize public="1" set="method" line="31">
<_HX_SUPER__set_params set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIBarflixel.addons.ui.FlxUIBar.FlxBarStylehscript.UsingHandler.build()hscript.ClassExtendMacro.build()[FlxPoint.get(), FlxPoint.get(), FlxPoint.get(0, 1)]* What offsets the `label` should have for each status.[0.8, 1.0, 0.5]* What alpha value the label should have for each status. Default is `[0.8, 1.0, 0.5]`.
* Multiplied with the button's `alpha`.["normal", "highlight", "pressed"]* What animation should be played for each status.
* Default is ["normal", "highlight", "pressed"].true* Whether you can press the button simply by releasing the touch / mouse button over it (default).
* If false, the input has to be pressed while hovering over the button.[FlxMouseButtonID.LEFT]* Which mouse buttons can trigger the button - by default only the left mouse button.Math.POSITIVE_INFINITY* Maximum distance a pointer can move to still trigger event handlers.
* If it moves beyond this limit, onOut is triggered.
* Defaults to `Math.POSITIVE_INFINITY` (i.e. no limit).* Shows the current state of the button, either `FlxButton.NORMAL`,
* `FlxButton.HIGHLIGHT` or `FlxButton.PRESSED`.* The properties of this button's `onUp` event (callback function, sound).* The properties of this button's `onDown` event (callback function, sound).* The properties of this button's `onOver` event (callback function, sound).* The properties of this button's `onOut` event (callback function, sound).
<_spriteLabel>
* We cast label to a `FlxSprite` for internal operations to avoid Dynamic casts in C++* We don't need an ID here, so let's just use `Int` as the type.* The input currently pressing this button, if none, it's `null`. Needed to check for its release.-1* Called by the game state when state is changed (if this object belongs to the state)* Called by the game loop automatically, handles mouseover and click detection.* Just draws the button graphic and text label to the screen.* Stamps button's graphic and label onto specified atlas object and loads graphic from this atlas.
* This method assumes that you're using whole image for button's graphic and image has no spaces between frames.
* And it assumes that label is a single frame sprite.
*
* @param atlas Atlas to stamp graphic to.
* @return Whether the button's graphic and label's graphic were stamped on the atlas successfully.* Basic button update logic - searches for overlaps with touches and
* the mouse cursor and calls `updateStatus()`.* Updates the button status by calling the respective event handler function.* Using an event listener is necessary for security reasons on flash -
* certain things like opening a new window are only allowed when they are user-initiated.* Internal function that handles the onUp event.* Internal function that handles the onDown event.* Internal function that handles the onOver event.* Internal function that handles the onOut event.{ Y : 0, X : 0 }* Creates a new `FlxTypedButton` object with a gray background.
*
* @param X The x position of the button.
* @param Y The y position of the button.
* @param OnClick The function to call whenever the button is clicked.* A simple button class that calls a function when clicked by the mouse.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The cursor can point to one of these
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ frame_indeces : null, src_h : 0, src_w : 0, isToggle : false, Resize_Ratio : -1, Tile : FlxUI9SliceSprite.TILE_NONE, slice9 : null, H : 20, W : 80, assets : null }{ Key : "" }{ for_toggle : false }* This interface keeps me from having to use a Dynamic variable to point to a value holding a FlxUITypedButton
* that could be either a FlxUIButton or a FlxUISpriteButton
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.ui.FlxButton"click_button""over_button""down_button""out_button"-1FlxUISprite.RESIZE_RATIO_YnullFlxUI9SliceSprite.TILE_NONEfalsefalsetruenullnullnullnullnullnulltruetruetruetruetruetruetruefalsefalseflixel.addons.ui.FlxUITypedButton* Set all 3 sets of labelOffsets at once* Offset the statusAnimations-index by 3 when toggled.* Just draws the button graphic and text label to the screen.{ Redraw : true }{ Key : "" }* Provide a list of assets, load states from each one
* @param assets
* @param key string key for caching (optional){ for_toggle : false }* Provide one combined asset, load all 3 state frames from it and infer the width/height
* @param asset graphic to load
* @param for_toggle whether this is for a toggle button or not
* @param key string key for caching (optional){ frame_indeces : null, src_h : 0, src_w : 0, isToggle : false, Resize_Ratio : -1, Tile : FlxUI9SliceSprite.TILE_NONE, slice9 : null, H : 20, W : 80, assets : null }Graphics chopping functions* Sets labelOffset to center the label horizontally and vertically{ key : null, src_h : 0, src_w : 0, for_toggle : false }*UTILITY FUNCTIONS** Combines two stacked button images for a toggle button* Give me three bitmapdatas and I'll return an assembled button bitmapdata for you.
* If overB or downB are missing, it will not include those frames.
<_autoCleanup expr="true">
true*******PRIVATE**********
<_assetsToCleanup expr="[]">
[]
<_no_graphic expr="false">
false
<_src_w expr="0">
0
<_src_h expr="0">
0
<_frame_indeces>
<_slice9_arrays>
<_slice9_assets>
<_centerLabelOffset expr="null">
null{ Y : 0, X : 0 }* Creates a new FlxUITypedButton object with a gray background.
*
* @param X The X position of the button.
* @param Y The Y position of the button.
* @param OnClick The function to call whenever the button is clicked.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* ...
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_noIconGraphicsBkup>nullnullnullnullnullnull{ Embedded : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 }* You can use this if you have a lot of text parameters
* to set instead of the individual properties.
*
* @param Font The name of the font face for the text display.
* @param Size The size of the font (in pixels essentially).
* @param Color The color of the text in traditional flash 0xRRGGBB format.
* @param Alignment The desired alignment
* @param BorderStyle NONE, SHADOW, OUTLINE, or OUTLINE_FAST (use setBorderFormat)
* @param BorderColor Int, color for the border, 0xRRGGBB format
* @param EmbeddedFont Whether this text field uses embedded fonts or not
* @return This FlxText instance (nice for chaining stuff together, if you're into that).For ILabeled:For IResizable:{ center : true, Y : 0, X : 0 }********PRIVATE******** Updates the size of the text field to match the button.{ Color : FlxColor.WHITE, LoadBlank : false, LoadDefaultGraphics : true, Y : 0, X : 0 }* Creates a new FlxUIButton.
*
* @param X The X position of the button.
* @param Y The Y position of the button.
* @param Label The text that you want to appear on the button.
* @param OnClick The function to call whenever the button is clicked.
* @param LoadDefaultGraphics By default it will load up with placeholder graphics. Pass false if you want to skip this (i.e. if you will provide your own graphics subsequently, can save time)
* @param LoadBlank Load this button without ANY visible graphics, but still functions (in case you need an invisible click area)* This class extends FlxUITypedButton and has a Text label, and is thus
* most analagous to the regular FlxButton
*
* Like all FlxUITypedButton's, it can work as a toggle button, and load
* 9-slice sprites for its button images, and be dynamically resized
* accordingly.
*
* Furthermore, you have the ability to set the text's coloring for each
* state just by adjusting a few public variableshscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ Embedded : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 }* You can use this if you have a lot of text parameters
* to set instead of the individual properties.
*
* @param Font The name of the font face for the text display.
* @param Size The size of the font (in pixels essentially).
* @param Color The color of the text in traditional flash 0xRRGGBB format.
* @param Alignment The desired alignment
* @param BorderStyle NONE, SHADOW, OUTLINE, or OUTLINE_FAST (use setBorderFormat)
* @param BorderColor Int, color for the border, 0xRRGGBB format
* @param EmbeddedFont Whether this text field uses embedded fonts or not
* @return This FlxText instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__setLabelFormat public="1" set="method" line="148">
{ Embedded : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 }
<_HX_SUPER__autoCenterLabel public="1" set="method" line="31">
<_HX_SUPER__clone public="1" set="method" line="148">
<_HX_SUPER__copyStyle public="1" set="method" line="31">For ILabeled:
<_HX_SUPER__setLabel public="1" set="method" line="148">
<_HX_SUPER__getLabel public="1" set="method" line="148">For IResizable:
<_HX_SUPER__resize public="1" set="method" line="31">{ center : true, Y : 0, X : 0 }
<_HX_SUPER__addIcon public="1" set="method" line="148">
{ center : true, Y : 0, X : 0 }
<_HX_SUPER__removeIcon public="1" set="method" line="148">
<_HX_SUPER__changeIcon public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">********PRIVATE*******
<_HX_SUPER__loadDefaultGraphic set="method" line="31">* Updates the size of the text field to match the button.
<_HX_SUPER__resetHelpers set="method" line="31">
<_HX_SUPER__onDownHandler set="method" line="31">
<_HX_SUPER__onOverHandler set="method" line="31">
<_HX_SUPER__onOutHandler set="method" line="31">
<_HX_SUPER__onUpHandler set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIButton"click_check_box"-1falsetruefalse002falseFor ILabeled:***GETTER/SETTER*
<_clickCheck set="method" line="283">
***PRIVATE****{ LabelW : 100, Y : 0, X : 0 }* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_skipButtonUpdate set="method" line="148">
<_HX_SUPER__set_params set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">For ILabeled:
<_HX_SUPER__setLabel public="1" set="method" line="148">
<_HX_SUPER__getLabel public="1" set="method" line="148">
<_HX_SUPER__set_visible set="method" line="148">
<_HX_SUPER__anchorTime set="method" line="31">
<_HX_SUPER__set_textX set="method" line="148">
<_HX_SUPER__set_textY set="method" line="148">
<_HX_SUPER__anchorLabelX public="1" set="method" line="31">
<_HX_SUPER__anchorLabelY public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__get_text set="method" line="148">
<_HX_SUPER__set_text set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">***GETTER/SETTER*
<_HX_SUPER__set_checked set="method" line="148">
<_clickCheck set="method" line="110" override="1">
***PRIVATE****
<_HX_SUPER___clickCheck set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUICheckBox"click_color_swatch"SETTERS* Set a color at a specific index in the swatch
* @param Color
* @param index* If true, the swatch will draw itself dynamically based on the four colors provided
<_origKey expr="""">
""
<_skipRefresh expr="false">
false{ Height : -1, Width : -1, Color : 0xFFFFFF }* Creates a new color swatch that can store and display a color value
* @param Color Single color for the swatch
* @param Colors Multiple colors for the swatch
* @param Asset An asset for the swatch graphic (optional)
* @param Callback Function to call when clickedhscript.UsingHandler.build()hscript.ClassExtendMacro.build()"click_color_swatch_selecter"
<_previewSwatch>false{ IgnoreInvisible : true, PickClosest : true }
<_previewGraphic>
<_swatchGraphic>
<_selectedSwatch>
<_selectionSprite>
<_dirtyLayout expr="false">
false{ Swatch : null, Preview : null, MaxColumns : -1, SpacingV : 2, SpacingH : 2 }* A handy little group for selecting color swatches from
* @param X X location
* @param Y Y location
* @param SelectionSprite The selection box sprite (optional, auto-generated if not supplied)
* @param list_colors A list of single-colors to generate swatches from. 1st of 3 alternatives.
* @param list_data A list of swatch data to generate swatches from. 2nd of 3 alternatives.
* @param list_swatches A list of the actual swatch widgets themselves. 3rd of 3 alternatives.
* @param SpacingH Horizontal spacing between swatches
* @param SpacingV Vertical spacing between swatches
* @param MaxColumns Number of horizontal swatches in a row before a line break
* @param Preview Graphic information for the preview swatch
* @param Swatch Graphic information for the regular swatches* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_spacingH set="method" line="148">
<_HX_SUPER__set_spacingV set="method" line="148">
<_HX_SUPER__set_maxColumns set="method" line="148">
<_HX_SUPER__set_skipButtonUpdate set="method" line="148">
<_HX_SUPER__get_numSwatches set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__updateLayout public="1" set="method" line="31">
<_HX_SUPER__changeColors public="1" set="method" line="31">
<_HX_SUPER__get_selectedSwatch set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__selectCallback set="method" line="31">
<_HX_SUPER__selectByIndex public="1" set="method" line="31">
<_HX_SUPER__selectByColor public="1" set="method" line="31">{ IgnoreInvisible : true, PickClosest : true }
<_HX_SUPER__selectByColors public="1" set="method" line="31">
{ IgnoreInvisible : true, PickClosest : true }
<_HX_SUPER__selectByName public="1" set="method" line="31">
<_HX_SUPER__unselect public="1" set="method" line="31">
<_HX_SUPER__updateSelected public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIColorSwatchSelecterflixel.addons.ui.FlxUIColorSwatchSelecter.SwatchGraphicSETTERS
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">* Set a color at a specific index in the swatch
* @param Color
* @param index
<_HX_SUPER__setColorAtIndex public="1" set="method" line="31">
<_HX_SUPER__set_colors set="method" line="148">* If true, the swatch will draw itself dynamically based on the four colors provided
<_HX_SUPER__set_multiColored set="method" line="148">
<_HX_SUPER__set_hilight set="method" line="148">
<_HX_SUPER__set_midtone set="method" line="148">
<_HX_SUPER__set_shadowMid set="method" line="148">
<_HX_SUPER__set_shadowDark set="method" line="148">
<_HX_SUPER__equalsSwatch public="1" set="method" line="148">
<_HX_SUPER__getRawDifferenceSwatch public="1" set="method" line="148">
<_HX_SUPER__refreshColor public="1" set="method" line="31">
<_HX_SUPER__onClick set="method" line="31">
<_HX_SUPER__colorKey public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIColorSwatch0x000000010x000000100x000001000x000010000x000100000x001000000x010000000x100000000x000x010x10true-10* Exactly what it sounds like. The next input that would trigger a jump doesn't happen, then this flag is reset.{ wrap : true, forwardIfInvisible : true }* Same as setting .location, but lets you specificy what to do if that object is invisible
* @param loc the location you want to set the cursor to
* @param forwardIfInvisible if object @ loc is invisible, keep adding 1 until we find a good state. If false, subtract 1.
* @param wrap if true, wrap around if we reach the end of the list. If false, don't.* Returns the current widget the cursor is pointing to, if any
* @since 2.1.0FirstActive* If a gamepad's connection is suddenly lost, what should be done?
<_gamepad>true0x00* Forces the cursor to change its location to point to this widget, if the widget is in its list
* @param widget
* @return whether the widget was found or not* Forces the cursor to to point to whatever widget's center is closest to X,Y -- IF the widget is in its list
* @param X
* @param Y
* @return@since 2.1.0* Set the default key layout quickly using a constant.
* @param code KEYS_TAB, ..._WASD, etc, combine with "|" operator
<_lists>
**PRIVATE**
<_widgets>
<_newMouse>00
<_clickPressed expr="false">
false
<_defaultCode>
<_rightAnchor>
<_topAnchor>
<_leftAnchor>
<_bottomAnchor>
<_clickTime expr="0">
0{ exhaustive : true }
<_sortIDVisible set="method" line="718">
<_sortXYWidgetList set="method" line="731">
<_sortXYVisible set="method" line="744">
<_addToKeys set="method" line="761">
<_clearKeys set="method" line="778">
<_newKeys set="method" line="792">
<_checkKeys set="method" line="801">
<_clickKeysJustPressed set="method" line="873">
<_clickKeysPressed set="method" line="885">
<_getWidgetPoint set="method" line="897">
<_doMouseMove set="method" line="936">
<_doPress set="method" line="971">
<_doRelease set="method" line="1015">
<_findNextY set="method" line="1074">
<_wrapX set="method" line="1147">
<_wrapY set="method" line="1160">
<_doInput set="method" line="1237">
{ recursion : 0 }
<_updateCursor set="method" line="1338">
<_flipAnchor set="method" line="1399">{ DefaultKeys : KEYS_TAB, InputMethod : INPUT_KEYS }****************************** Cursor object that you can use to "click" on interface elements using a keyboard or gamepad
* TODO: need to support gamepad and/or deal with absence of mousehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ wrap : true, forwardIfInvisible : true }* Same as setting .location, but lets you specificy what to do if that object is invisible
* @param loc the location you want to set the cursor to
* @param forwardIfInvisible if object @ loc is invisible, keep adding 1 until we find a good state. If false, subtract 1.
* @param wrap if true, wrap around if we reach the end of the list. If false, don't.
<_HX_SUPER__findVisibleLocation public="1" set="method" line="31">
{ wrap : true, forwardIfInvisible : true }* Returns the current widget the cursor is pointing to, if any
* @since 2.1.0
<_HX_SUPER__getCurrentWidget public="1" set="method" line="148">
<_HX_SUPER__set_listIndex set="method" line="148">
<_HX_SUPER__set_visible set="method" line="148">
<_HX_SUPER__set_location set="method" line="148">
<_HX_SUPER__set_gamepad set="method" line="148">
<_HX_SUPER__get_gamepad set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__addWidgetsFromUI public="1" set="method" line="148">* Forces the cursor to change its location to point to this widget, if the widget is in its list
* @param widget
* @return whether the widget was found or not
<_HX_SUPER__jumpTo public="1" set="method" line="148">* Forces the cursor to to point to whatever widget's center is closest to X,Y -- IF the widget is in its list
* @param X
* @param Y
* @return
<_HX_SUPER__jumpToXY public="1" set="method" line="148">
<_HX_SUPER__addWidgetList public="1" set="method" line="31">
<_HX_SUPER__addWidget public="1" set="method" line="31">
<_HX_SUPER__sortWidgets public="1" set="method" line="31">@since 2.1.0
<_HX_SUPER__clearWidgets public="1" set="method" line="31">
<_HX_SUPER__removeWidget public="1" set="method" line="148">* Set the default key layout quickly using a constant.
* @param code KEYS_TAB, ..._WASD, etc, combine with "|" operator
<_HX_SUPER__setDefaultKeys public="1" set="method" line="31">{ exhaustive : true }
<_HX_SUPER__getGamepad set="method" line="148">
{ exhaustive : true }
<_sortIDVisible set="method" line="74" override="1">
<_HX_SUPER___sortIDVisible set="method" line="148">
<_sortXYWidgetList set="method" line="74" override="1">
<_HX_SUPER___sortXYWidgetList set="method" line="148">
<_sortXYVisible set="method" line="74" override="1">
<_HX_SUPER___sortXYVisible set="method" line="148">
<_addToKeys set="method" line="74" override="1">
<_HX_SUPER___addToKeys set="method" line="148">
<_clearKeys set="method" line="110" override="1">
<_HX_SUPER___clearKeys set="method" line="31">
<_newKeys set="method" line="110" override="1">
<_HX_SUPER___newKeys set="method" line="31">
<_checkKeys set="method" line="110" override="1">
<_HX_SUPER___checkKeys set="method" line="31">
<_clickKeysJustPressed set="method" line="74" override="1">
<_HX_SUPER___clickKeysJustPressed set="method" line="148">
<_clickKeysPressed set="method" line="74" override="1">
<_HX_SUPER___clickKeysPressed set="method" line="148">
<_getWidgetPoint set="method" line="74" override="1">
<_HX_SUPER___getWidgetPoint set="method" line="148">
<_doMouseMove set="method" line="110" override="1">
<_HX_SUPER___doMouseMove set="method" line="31">
<_doPress set="method" line="110" override="1">
<_HX_SUPER___doPress set="method" line="31">
<_doRelease set="method" line="110" override="1">
<_HX_SUPER___doRelease set="method" line="31">
<_findNextY set="method" line="74" override="1">
<_HX_SUPER___findNextY set="method" line="148">
<_wrapX set="method" line="74" override="1">
<_HX_SUPER___wrapX set="method" line="148">
<_wrapY set="method" line="74" override="1">
<_HX_SUPER___wrapY set="method" line="148">
<_doInput set="method" line="110" override="1">
{ recursion : 0 }
<_HX_SUPER___doInput set="method" line="31">
{ recursion : 0 }
<_updateCursor set="method" line="110" override="1">
<_HX_SUPER___updateCursor set="method" line="31">
<_flipAnchor set="method" line="110" override="1">
<_HX_SUPER___flipAnchor set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUICursorflixel.addons.ui.FlxUICursor.WidgetListflixel.addons.ui.FlxUICursor.GamepadAutoConnectPreferenceflixel.addons.ui.FlxUICursor.SortMethod"click_dropdown"{ UseIndexID : false }* Helper function to easily create a data list for a dropdown menu from an array of strings.
*
* @param StringArray The strings to use as data - used for both label and string ID.
* @param UseIndexID Whether to use the integer index of the current string as ID.
* @return The StrIDLabel array ready to be used in FlxUIDropDownMenu's constructor
<_selectedId>
<_selectedLabel>* The header of this dropdown menu.[]* The list of items that is shown when the toggle button is clicked.* The background for the list.Automatic* Change the contents with a new data list
* Replaces the old content with the new content{ Y : 0, X : 0 }* This creates a new dropdown menu.
*
* @param X x position of the dropdown menu
* @param Y y position of the dropdown menu
* @param DataList The data to be displayed
* @param Callback Optional Callback
* @param Header The header of this dropdown menu
* @param DropPanel Optional 9-slice-background for actual drop down menu
* @param ButtonList Optional list of buttons to be used for the corresponding entry in DataList
* @param UIControlCallback Used internally by FlxUI* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The background of the header.* The text that displays the currently selected item.{ Width : 120 }* Creates a new dropdown header to be used in a FlxUIDropDownMenu.
*
* @param Width Width of the dropdown - only relevant when no back sprite was specified
* @param Back Optional sprite to be placed in the background
* @param Text Optional text that displays the current value
* @param Button Optional button that toggles the dropdown list* Header for a FlxUIDropDownMenuhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_skipButtonUpdate set="method" line="148">
<_HX_SUPER__get_selectedId set="method" line="148">
<_HX_SUPER__set_selectedId set="method" line="148">
<_HX_SUPER__get_selectedLabel set="method" line="148">
<_HX_SUPER__set_selectedLabel set="method" line="148">
<_HX_SUPER__set_params set="method" line="148">
<_HX_SUPER__set_dropDirection set="method" line="148">
<_HX_SUPER__updateButtonPositions set="method" line="31">
<_HX_SUPER__set_visible set="method" line="148">
<_HX_SUPER__dropsUp set="method" line="148">
<_HX_SUPER__exceedsHeight set="method" line="148">
<_HX_SUPER__getPanelHeight set="method" line="148">* Change the contents with a new data list
* Replaces the old content with the new content
<_HX_SUPER__setData public="1" set="method" line="31">
<_HX_SUPER__selectSomething set="method" line="31">
<_HX_SUPER__makeListButton set="method" line="148">
<_HX_SUPER__changeLabelByIndex public="1" set="method" line="31">
<_HX_SUPER__changeLabelById public="1" set="method" line="31">
<_HX_SUPER__getBtnByIndex public="1" set="method" line="148">
<_HX_SUPER__getBtnById public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__showList set="method" line="31">
<_HX_SUPER__onDropdown set="method" line="31">
<_HX_SUPER__onClickItem set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIDropDownMenuflixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownHeaderflixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownMenuDropDirection
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIDropDownMenuflixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownHeaderflixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownMenuDropDirection
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__add public="1" set="method" line="148">{ Splice : false }
<_HX_SUPER__remove public="1" set="method" line="148">
{ Splice : false }
<_HX_SUPER__setScrollFactor public="1" set="method" line="31">
<_HX_SUPER__hasThis public="1" set="method" line="148">{ rect : null }* Calculates the bounds of the group and sets width/height
* @param rect (optional) -- if supplied, populates this with the boundaries of the group
<_HX_SUPER__calcBounds public="1" set="method" line="148">
{ rect : null }* Floor the positions of all children
<_HX_SUPER__floorAll public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIGroup"change_input_text""enter_input_text""delete_input_text""input_input_text"true* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__resize public="1" set="method" line="31">
<_HX_SUPER__onChange set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIInputTextHORIZONTAL101* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_axis set="method" line="148">
<_HX_SUPER__set_length set="method" line="148">
<_HX_SUPER__set_thickness set="method" line="148">
<_HX_SUPER__refresh set="method" line="31">
<_HX_SUPER__resize public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUILineflixel.addons.ui.FlxUILine.LineAxis010**PRIVATE**
<_skipRefresh expr="false">
falseflixel.addons.ui.FlxUIRadioGroupflixel.addons.ui.FlxUIRadioGroup more...", H : 0, W : 0, Widgets : null, Y : 0, X : 0 }]]> more..." in your language (must use variable!)
* @param Stacking How to stack the widgets? STACK_HORIZONTAL or STACK_VERTICAL
* @param Spacing Space between widgets
* @param PrevButtonOffset Offset for Scroll - Button
* @param NextButtonOffset Offset for Scroll + Button
* @param PrevButton Button to Scroll -
* @param NextButton Button to Scroll +]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_scrollIndex public="1" set="method" line="148">
<_HX_SUPER__set_stacking public="1" set="method" line="148">
<_HX_SUPER__set_spacing public="1" set="method" line="148">
<_HX_SUPER__set_moreString public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__setSize public="1" set="method" line="31">
<_HX_SUPER__add public="1" set="method" line="148">**PRIVATE**
<_HX_SUPER__safeAdd set="method" line="148">
<_HX_SUPER__getMoreString set="method" line="148">
<_HX_SUPER__set_visible set="method" line="148">
<_HX_SUPER__onClick set="method" line="31">flixel.addons.ui.FlxUIRadioGroup
<_HX_SUPER__refreshList set="method" line="31">
<_HX_SUPER__get_width set="method" line="148">
<_HX_SUPER__get_height set="method" line="148">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIList
<_tongue>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()null
<_makeCursor>* frontend for adding tooltips to things
<_xml_id expr="""">
""
<_ui>
<_tongue>false
<_reload expr="false">
false
<_reload_countdown expr="0">
0null{ Safe : true, Context : "ui" }flixel.addons.ui.FlxUI* Creates a cursor. Makes it easy to override this function in your own FlxUIState.
* @return{ liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null }{ BGColor : 0 }* This is a simple extension of FlxState that does two things:
* 1) It implements the IEventGetter interface
* 2) Automatically creates a FlxUI objects from a single string id
*
* Usage:
* Create a class that extends FlxUIState, override create, and
* before you call super.create(), set _xml_id to the string id
* of the corresponding UI xml file (leave off the extension).
*
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()"click_popup"trueSTUBS TO MAKE THE INTERFACE HAPPY:{ Y : 0, X : 0 }00null1
<_width expr="0">
0
<_height expr="0">
0*********************************** Assuming you use the default format, puts this information in the popup.
* This function ONLY works if you are using the default_popup.xml, OR your
* custom xml contains the following assets:
* 2 texts, ids: "title","body"
* 3 buttons, ids: "btn0","btn1","btn2"
* 3 modes, ids: "1btn","2btn","3btn"
* @param title title text
* @param body body text
* @param button_labels up to three button labels - if fewer, shows less buttons
<_quickSetupParams expr="null">
null{ safe : true, context : "ui" }
<_doQuickSetup set="method" line="260">
<_doQuickSetupButtons set="method" line="280">hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"loading_screen_finished""loading_screen_cancelled""loading_screen_accepted"0{ canCancel_ : false }{ safe : true, context : "ui" }
<_doQuickSetupButtons set="method" line="217" override="1">
<_timeSpentAlive expr="0">
0
<_currTimer>
<_task expr="null">
null
<_sleepTime expr="0">
0
<_closeOnFinished expr="true">
true
<_progress expr="0">
0
<_bar>
<_bar_back>
<_title>
<_body>
<_body_temp_txt expr=""$LOADING_BODY"">
"$LOADING_BODY"
<_title_temp_txt expr=""$LOADING_TITLE"">
"$LOADING_TITLE"* A simple loading screen -- you must drive the churning of tasks externally
*
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__get_body set="method" line="148">
<_HX_SUPER__set_body set="method" line="148">
<_HX_SUPER__get_title set="method" line="148">
<_HX_SUPER__set_title set="method" line="148">
<_HX_SUPER__set_canCancel set="method" line="148">
<_HX_SUPER__get_progress set="method" line="148">
<_HX_SUPER__set_progress set="method" line="148">{ canCancel_ : false }
<_HX_SUPER__set public="1" set="method" line="148">
{ canCancel_ : false }
<_HX_SUPER__create public="1" set="method" line="31">
<_HX_SUPER__getEvent public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">{ safe : true, context : "ui" }
<_HX_SUPER__myGetTextFallback set="method" line="148">
{ safe : true, context : "ui" }
<_doQuickSetupButtons set="method" line="110" override="1">
<_HX_SUPER___doQuickSetupButtons set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUILoadingScreen
<_cachedPoint expr="new FlxPoint()" line="19" static="1">
new FlxPoint()0000
<_globalScreenX expr="0">
0
<_globalScreenY expr="0">
0* Fetch the world position of the pointer on any given camera.
* NOTE: x and y also store the world position of the pointer on the main camera.
*
* @param Camera If unspecified, first/main global camera is used instead.
* @param point An existing point object to store the results (if you don't want a new one created).
* @return The touch point's location in world space.* Fetch the screen position of the pointer on any given camera.
* NOTE: screenX and screenY also store the screen position of the pointer on the main camera.
*
* @param Camera If unspecified, first/main global camera is used instead.
* @param point An existing point object to store the results (if you don't want a new one created).
* @return The touch point's location in screen space.flixel.FlxCamera* Fetch the screen position of the pointer relative to given camera's viewport.
*
* @param Camera If unspecified, first/main global camera is used instead.
* @param point An existing point object to store the results (if you don't want a new one created).
* @return The touch point's location relative to camera's viewport.* Returns a FlxPoint with this input's x and y.flixel.group.FlxTypedGroup.resolveGroup* Checks to see if some FlxObject overlaps this FlxObject or FlxGroup.
* If the group has a LOT of things in it, it might be faster to use FlxG.overlaps().
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param ObjectOrGroup The object or group being tested.
* @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @return Whether or not the two objects overlap.* Directly set the underyling screen position variable. WARNING! You should never use
* this unless you are trying to manually dispatch low-level mouse / touch events to the stage.* Helper function to update the cursor used by update() and playback().
* Updates the x, y, screenX, and screenY variables based on the default camera.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.system.frontEnds.InputFrontEndtrue* Whether or not mouse input is currently enabled.
* @since 4.1.00* Current "delta" value of mouse wheel. If the wheel was just scrolled up,
* it will have a positive value and vice versa. Otherwise the value will be 0.* A display container for the mouse cursor. It is a child of FlxGame and
* sits at the right "height". Not used on flash with the native cursor API.true* Used to toggle the visiblity of the mouse cursor - works on both
* the flixel and the system cursor, depending on which one is active.false* Tells flixel to use the default system mouse cursor instead of custom Flixel mouse cursors.* Check to see if the mouse has just been moved.
* @since 4.4.0* Check to see if the left mouse button is currently pressed.* Check to see if the left mouse button has just been pressed.* Check to see if the left mouse button has just been released.* Time in ticks of last left mouse button press.
* @since 4.3.0* Check to see if the right mouse button is currently pressed.* Check to see if the right mouse button has just been pressed.* Check to see if the right mouse button has just been released.* Time in ticks of last right mouse button press.
* @since 4.3.0* Check to see if the middle mouse button is currently pressed.* Check to see if the middle mouse button has just been pressed.* Check to see if the middle mouse button has just been released.* Time in ticks of last middle mouse button press.
* @since 4.3.0
<_leftButton>
flixel.input.mouse.FlxMouseButton* The left mouse button.
<_middleButton>
flixel.input.mouse.FlxMouseButton* The middle mouse button.
<_rightButton>
flixel.input.mouse.FlxMouseButton* The right mouse button.
<_cursor expr="null">
null* This is just a reference to the current cursor image, if there is one.
<_cursorBitmapData>
<_wheelUsed expr="false">
false
<_visibleWhenFocusLost expr="true">
true
<_lastX expr="0">
0* Helper variables for recording purposes.
<_lastY expr="0">
0
<_lastWheel expr="0">
0
<_lastLeftButtonState>
<_prevX expr="0">
0* Helper variables to see if the mouse has moved since the last update.
<_prevY expr="0">
0
<_stage>{ YOffset : 0, XOffset : 0, Scale : 1 }* Helper variables for flash native cursors* Unload the current cursor graphic. If the current cursor is visible,
* then the default system cursor is loaded up to replace the old one.* Clean up memory. Internal use only.* Resets the just pressed/just released flags and sets mouse to not pressed.* Called by the internal game loop to update the mouse pointer's position in the game world.
* Also updates the just pressed/just released flags.* Called from the main Event.ACTIVATE that is dispatched in FlxGame* Called from the main Event.DEACTIVATE that is dispatched in FlxGame* Internal event handler for input and focus.* We're detecting the mouse leave event to prevent a bug where `pressed` remains true
* for the middle and right mouse button when pressed and dragged outside the window.flixel.system.replay.FlxReplayflixel.system.replay.FlxReplayflixel.FlxG* @param cursorContainer The cursor container sprite passed by FlxGame* This class helps contain and track the mouse pointer in your game.
* Automatically accounts for parallax scrolling, etc.
* Normally accessed via `FlxG.mouse`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()true* Called by the internal game loop to update the mouse pointer's position in the game world.
* Also updates the just pressed/just released flags.* A customized extension to FlxMouse that lets us add in accessibility stuff
* like using the keyboard to control mouse moving/clickinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Called by the internal game loop to update the mouse pointer's position in the game world.
* Also updates the just pressed/just released flags.
<_HX_SUPER__update set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIMouse01"click_numeric_stepper""edit_numeric_stepper""change_numeric_stepper"000100STACK_HORIZONTALfalse
<__textBoxValueChanged expr="false">
false
<_onInputTextEvent set="method" line="281">
<_onPlus set="method" line="311">
<_onMinus set="method" line="318">
<_doCallback set="method" line="325">{ IsPercent : false, Stack : STACK_HORIZONTAL, Decimals : 0, Max : 999, Min : -999, DefaultValue : 0, StepSize : 1, Y : 0, X : 0 }* This creates a new dropdown menu.
*
* @param X x position of the dropdown menu
* @param Y y position of the dropdown menu
* @param StepSize How big is the step
* @param DefaultValue Optional default numerical value for the stepper to display
* @param Min Optional Minimum values for the stepper
* @param Max Optional Maximum and Minimum values for the stepper
* @param Decimals Optional # of decimal places
* @param Stack Stacking method
* @param TextField Optional text field
* @param ButtonPlus Optional button to use for plus
* @param ButtonMinus Optional button to use for minus
* @param IsPercent Whether to portray the number as a percentagehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_params set="method" line="148">
<_HX_SUPER__set_skipButtonUpdate set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__set_min set="method" line="148">
<_HX_SUPER__set_max set="method" line="148">
<_HX_SUPER__set_value set="method" line="148">
<_HX_SUPER__set_decimals set="method" line="148">
<_HX_SUPER__set_isPercent set="method" line="148">
<_HX_SUPER__set_stack set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_onInputTextEvent set="method" line="110" override="1">
<_HX_SUPER___onInputTextEvent set="method" line="31">
<_onPlus set="method" line="110" override="1">
<_HX_SUPER___onPlus set="method" line="31">
<_onMinus set="method" line="110" override="1">
<_HX_SUPER___onMinus set="method" line="31">
<_doCallback set="method" line="110" override="1">
<_HX_SUPER___doCallback set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUINumericStepper
<_HX_SUPER__set_immovable set="method" line="148">
<_HX_SUPER__set_x set="method" line="148">
<_HX_SUPER__set_y set="method" line="148">
<_HX_SUPER__get_width set="method" line="148">
<_HX_SUPER__get_height set="method" line="148">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<_HX_SUPER__set_angle set="method" line="148">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_facing set="method" line="148">
<_HX_SUPER__set_moves set="method" line="148">
<_HX_SUPER__set_offset set="method" line="148">
<_HX_SUPER__set_origin set="method" line="148">
<_HX_SUPER__set_scale set="method" line="148">
<_HX_SUPER__set_scrollFactor set="method" line="148">
<_HX_SUPER__reset public="1" set="method" line="31">{ Y : 0, X : 0 }
<_HX_SUPER__setPosition public="1" set="method" line="31">
{ Y : 0, X : 0 }**********************************
<_HX_SUPER__create public="1" set="method" line="31">
<_HX_SUPER__destroy set="method" line="148">* Assuming you use the default format, puts this information in the popup.
* This function ONLY works if you are using the default_popup.xml, OR your
* custom xml contains the following assets:
* 2 texts, ids: "title","body"
* 3 buttons, ids: "btn0","btn1","btn2"
* 3 modes, ids: "1btn","2btn","3btn"
* @param title title text
* @param body body text
* @param button_labels up to three button labels - if fewer, shows less buttons
<_HX_SUPER__quickSetup public="1" set="method" line="31">
<_HX_SUPER__getEvent public="1" set="method" line="31">
<_HX_SUPER__castParent set="method" line="148">{ safe : true, context : "ui" }
<_HX_SUPER__myGetTextFallback set="method" line="148">
{ safe : true, context : "ui" }
<_doQuickSetup set="method" line="110" override="1">
<_HX_SUPER___doQuickSetup set="method" line="31">
<_doQuickSetupButtons set="method" line="110" override="1">
<_HX_SUPER___doQuickSetupButtons set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIPopup"click_radio_group"false* If this is false, when the size changes it auto-expands the scroll canvas
* If this is true, when the size changes it forces it to scroll*GETTER / SETTER** If you want to show only a portion of the radio group, scrolled line-by-line
* This will scroll the "pane" by that amount and return how many lines are above/below
* the currently visible pane
* @param scroll How many lines DOWN you have scrolled
* @param max_items (optional) Max amount of lines visible
* @return a FlxPoint of off-pane radio lines : (count_above,count_below)
<_list_active>
*PRIVATE*
<_list>
<_box_asset>
<_dot_asset>
<_labels>
<_ids>
<_label_width expr="100">
100
<_width expr="100">
100
<_height expr="20">
20
<_y_space expr="25">
25
<_selected expr="0">
0
<_clickable expr="true">
true
<_list_radios>
<_refreshRadios set="method" line="422">
* Create the radio elements if necessary, and/or just refresh them
<_onCheckBoxEvent set="method" line="560">
<_onClick set="method" line="565"> more...", label_width_ : 100, height_ : 20, width_ : 100, y_space_ : 25, callback_ : null }]]> more..." in your language. MUST have "" token
* @param PrevButtonOffset Offset for the "previous" scroll button
* @param NextButtonOffset Offset for the "next" scroll button
* @param PrevButton Your own custom button for the "previous" scroll button
* @param NextButton Your own custom button for the "next" scroll button]]>* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()null{ CheckColor : null }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_activeStyle set="method" line="148">
<_HX_SUPER__set_inactiveStyle set="method" line="148">
<_HX_SUPER__get_numRadios set="method" line="148">
<_HX_SUPER__set_skipButtonUpdate set="method" line="148">
<_HX_SUPER__set_params set="method" line="148">
<_HX_SUPER__set_width public="1" set="method" line="148">
<_HX_SUPER__set_height public="1" set="method" line="148">
<_HX_SUPER__loadGraphics public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__updateLabel public="1" set="method" line="148">
<_HX_SUPER__updateId public="1" set="method" line="148">
<_HX_SUPER__show public="1" set="method" line="31">
<_HX_SUPER__updateRadios public="1" set="method" line="31">
<_HX_SUPER__getRadios public="1" set="method" line="148">
<_HX_SUPER__getLabel public="1" set="method" line="148">
<_HX_SUPER__getId public="1" set="method" line="148">
<_HX_SUPER__getIsVisible public="1" set="method" line="148">*GETTER / SETTER*
<_HX_SUPER__get_clickable set="method" line="148">
<_HX_SUPER__set_clickable set="method" line="148">
<_HX_SUPER__get_selectedIndex set="method" line="148">
<_HX_SUPER__set_selectedIndex set="method" line="148">
<_HX_SUPER__get_selectedLabel set="method" line="148">
<_HX_SUPER__set_selectedLabel set="method" line="148">
<_HX_SUPER__get_selectedId set="method" line="148">
<_HX_SUPER__set_selectedId set="method" line="148">* If you want to show only a portion of the radio group, scrolled line-by-line
* This will scroll the "pane" by that amount and return how many lines are above/below
* the currently visible pane
* @param scroll How many lines DOWN you have scrolled
* @param max_items (optional) Max amount of lines visible
* @return a FlxPoint of off-pane radio lines : (count_above,count_below)
<_HX_SUPER__setLineScroll public="1" set="method" line="148">
<_HX_SUPER__setRadioActive public="1" set="method" line="31">
<_refreshRadios set="method" line="110" override="1">
* Create the radio elements if necessary, and/or just refresh them
<_HX_SUPER___refreshRadios set="method" line="31">
<_HX_SUPER__updateActives set="method" line="31">
<_HX_SUPER__makeActiveStyle set="method" line="148">
<_onCheckBoxEvent set="method" line="110" override="1">
<_HX_SUPER___onCheckBoxEvent set="method" line="31">
<_onClick set="method" line="74" override="1">
<_HX_SUPER___onClick set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIRadioGroupflixel.addons.ui.FlxUIRadioGroup.CheckStyle
<_HX_SUPER__applyToCheck public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIRadioGroupflixel.addons.ui.FlxUIRadioGroup.CheckStyletrue{ H : 16, W : 16, Y : 0, X : 0 }* A scalable object with width and height that isn't used for display purposeshscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__resize public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIRegion"change_slider"truehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUISliderFor IResizable:{ Y : 0, X : 0 }* Creates a new FlxUISpriteButton.
*
* @param X The X position of the button.
* @param Y The Y position of the button.
* @param Label The text that you want to appear on the button.
* @param OnClick The function to call whenever the button is clicked.* This class extends FlxUISpriteButton and has a Sprite "label"
*
* Like all FlxUITypedButton's, it can work as a toggle button, and load
* 9-slice sprites for its button images, and be dynamically resized
* accordingly.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()For IResizable:
<_HX_SUPER__resize public="1" set="method" line="31">
<_HX_SUPER__autoCenterLabel public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUISpriteButton
<_HX_SUPER__set_resize_ratio set="method" line="148">
<_HX_SUPER__set_resize_point set="method" line="148">
<_HX_SUPER__recycle public="1" set="method" line="31">
<_HX_SUPER__resize public="1" set="method" line="31">
<_HX_SUPER__loadGraphicAtScale public="1" set="method" line="31">{ Unique : false, Height : 0, Width : 0, Animated : false }* Load an image from an embedded graphic file.
*
* @param Graphic The image you want to use.
* @param Animated Whether the Graphic parameter is a single sprite or a row of sprites.
* @param Width Optional, specify the width of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets).
* @param Height Optional, specify the height of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets).
* @param Unique Optional, whether the graphic should be a unique instance in the graphics cache. Default is false.
* @param Key Optional, set this parameter if you're loading BitmapData.
* @return This FlxSprite instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__loadGraphic public="1" set="method" line="148">
{ Unique : false, Height : 0, Width : 0, Animated : false }
<_HX_SUPER__destroy public="1" set="method" line="31">{ Unique : false, Height : 0, Width : 0, Animated : false }
<_HX_SUPER__loadFromScaledGraphic set="method" line="31">
{ Unique : false, Height : 0, Width : 0, Animated : false }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUISpritenullnullfalse
<_cursorHidden expr="false">
false* frontend for adding tooltips to things
<_xml_id expr="""">
""
<_makeCursor>
<_ui_vars>
<_ui>
<_tongue>false
<_reload expr="false">
false
<_reload_countdown expr="0">
0nullflixel.addons.ui.FlxUI
<_cleanupUIVars set="method" line="244">{ height : 600, width : 800 }@since 2.1.0{ Safe : true, Context : "ui" }* Creates a cursor. Makes it easy to override this function in your own FlxUIState.
* @return{ liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null }* This is a simple extension of FlxState that does two things:
* 1) It implements the IFlxUIState interface
* 2) Automatically creates a FlxUI objects from a single string id
*
* Usage:
* Create a class that extends FlxUIState, override create, and
* before you call super.create(), set _xml_id to the string id
* of the corresponding UI xml file (leave off the extension).
*
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">flixel.addons.ui.FlxUI
<_HX_SUPER__cleanup set="method" line="31">
<_cleanupUIVars set="method" line="110" override="1">
<_HX_SUPER___cleanupUIVars set="method" line="31">
<_HX_SUPER__setUIVariable public="1" set="method" line="31">{ height : 600, width : 800 }
<_HX_SUPER__resizeScreen public="1" set="method" line="31">
{ height : 600, width : 800 }
<_HX_SUPER__openSubState public="1" set="method" line="31">
<_HX_SUPER__closeSubState public="1" set="method" line="31">
<_HX_SUPER__onResize public="1" set="method" line="31">@since 2.1.0
<_HX_SUPER__onShowTooltip public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__forceFocus public="1" set="method" line="31">
<_HX_SUPER__onCursorEvent public="1" set="method" line="31">
<_HX_SUPER__getEvent public="1" set="method" line="31">
<_HX_SUPER__getRequest public="1" set="method" line="148">{ Safe : true, Context : "ui" }
<_HX_SUPER__getText public="1" set="method" line="148">
{ Safe : true, Context : "ui" }* Creates a cursor. Makes it easy to override this function in your own FlxUIState.
* @return
<_HX_SUPER__createCursor set="method" line="148">{ liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null }
<_HX_SUPER__createUI set="method" line="148">
{ liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null }
<_HX_SUPER__loadUIFromData set="method" line="31">
<_HX_SUPER__reloadUI set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIState
<_HX_SUPER__forceScrollFactor public="1" set="method" line="31">
<_HX_SUPER__forceFocus public="1" set="method" line="31">
<_HX_SUPER__create public="1" set="method" line="31">
<_HX_SUPER__onCursorEvent public="1" set="method" line="31">
<_HX_SUPER__onShowTooltip public="1" set="method" line="31">
<_HX_SUPER__onResize public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__getEvent public="1" set="method" line="31">
<_HX_SUPER__getRequest public="1" set="method" line="148">{ Safe : true, Context : "ui" }
<_HX_SUPER__getText public="1" set="method" line="148">
{ Safe : true, Context : "ui" }flixel.addons.ui.FlxUI
<_HX_SUPER__cleanup set="method" line="31">* Creates a cursor. Makes it easy to override this function in your own FlxUIState.
* @return
<_HX_SUPER__createCursor set="method" line="148">{ liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null }
<_HX_SUPER__createUI set="method" line="148">
{ liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null }
<_HX_SUPER__reloadUI set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUISubState"tab_menu_click""front""back"To make IEventGetter happyFor IFlxUIClickableFor IResizable
<_onTabEvent set="method" line="331">
<_back>
*PRIVATE*
<_tabs>
<_tab_groups>
<_stretch_tabs expr="false">
false
<_tab_spacing expr="null">
null
<_tab_stacking expr="null">
null
<_tab_offset expr="null">
null
<_selected_tab_id expr="""">
""
<_selected_tab expr="-1">
-1
<_showOnlyGroup set="method" line="448">{ W : -1 }{ tab_stacking : null, tab_spacing : null, stretch_tabs : false }*PUBLIC** @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__get_numTabs public="1" set="method" line="148">To make IEventGetter happy
<_HX_SUPER__getEvent public="1" set="method" line="31">
<_HX_SUPER__getRequest public="1" set="method" line="148">
<_HX_SUPER__set_skipButtonUpdate set="method" line="148">For IResizable
<_HX_SUPER__get_width set="method" line="148">
<_HX_SUPER__get_height set="method" line="148">
<_HX_SUPER__resize public="1" set="method" line="31">
<_HX_SUPER__get_selected_tab set="method" line="148">
<_HX_SUPER__set_selected_tab set="method" line="148">
<_HX_SUPER__get_selected_tab_id set="method" line="148">
<_HX_SUPER__set_selected_tab_id set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__getTab public="1" set="method" line="148">
<_HX_SUPER__getTabGroup public="1" set="method" line="148">
<_HX_SUPER__getBack public="1" set="method" line="148">
<_HX_SUPER__replaceBack public="1" set="method" line="31">
<_HX_SUPER__addGroup public="1" set="method" line="31">
<_onTabEvent set="method" line="110" override="1">
<_HX_SUPER___onTabEvent set="method" line="31">
<_HX_SUPER__stackTabs public="1" set="method" line="31">
<_HX_SUPER__showTabId public="1" set="method" line="31">
<_HX_SUPER__sortTabs set="method" line="148">
<_HX_SUPER__showTabInt set="method" line="31">
<_showOnlyGroup set="method" line="110" override="1">
<_HX_SUPER___showOnlyGroup set="method" line="31">
<_HX_SUPER__getFirstTab set="method" line="148">{ W : -1 }
<_HX_SUPER__distributeTabs set="method" line="31">
{ W : -1 }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUITabMenutrue1{ EmbeddedFont : true, Size : 8, FieldWidth : 0, Y : 0, X : 0 }* Simple extension to the basic text field class.
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__resize public="1" set="method" line="31">
<_HX_SUPER__set_minimumHeight public="1" set="method" line="148">
<_HX_SUPER__set_params public="1" set="method" line="148">
<_HX_SUPER__clone public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIText
<_tilesWide expr="2">
2
<_tilesTall expr="2">
2
<_color1 expr="0">
0
<_color2 expr="0">
0false-1{ color2 : 0xffc4c4c4, color1 : 0xff808080 }{ FloorToEven : false, color2 : 0xc4c4c4, color1 : 0x808080 }* This is mostly just for testing purposes, it is NOT a replacement for FlxTileMaphscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__get_widthInTiles set="method" line="148">
<_HX_SUPER__get_heightInTiles set="method" line="148">{ color2 : 0xffc4c4c4, color1 : 0xff808080 }
<_HX_SUPER__makeTiles set="method" line="31">
{ color2 : 0xffc4c4c4, color1 : 0xff808080 }
<_HX_SUPER__constrain set="method" line="148">
<_HX_SUPER__resize public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUITileTestflixel.addons.ui.FlxUITooltipManager{ ShowArrow : true, AutoSizeHorizontal : true, AutoSizeVertical : true, Body : "", Title : "" }*SETTERS*
<_bkg>
*********
<_titleText>
<_bodyText>
<_arrow>
<_arrowBkg>
<_anchorArrow>* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()true* Turn on flipping the anchor position around in order to keep a tooltip on screennull* Default anchor position for tooltips where no anchor is definednull* Optional fixed position to use for ALL tooltips
* @since 2.1.0null* Default style for tooltips where no style is definedfalse0.1@since 2.1.0@since 2.2.0flixel.addons.ui.FlxUIflixel.addons.ui.FlxUIStateflixel.addons.ui.FlxUISubState* Removes all tooltips* Hides the tooltip that is being displayed right now@since 2.1.0{ checkChildren : true }* Checks whether the currently shown tooltip belongs to a given FlxSprite, or optionally, any of its children (if it is a FlxUIGroup or FlxUI)
* @param thing the FlxSprite to check
* @param checkChildren whether or not to check its children (default: true)
* @return{ sticky : true }* Set an object's tooltip's stickiness (whether it disappears when the mouse moves off of it or not)
* @param thing the thing you want to modify the tooltip for
* @param sticky if true, this tooltip will not disappear until explicitly hidden or until another tooltip is triggered
* @since 2.1.0{ value : true }* Show the tooltip for the given object, if one exists
* @param thing the thing you want to display a tooltip for
* @param value whether to show or hide the tooltip
* @since 2.1.0* Allows you to turn tooltips on or off for an object that has already been added
* @param thing The object you want to turn tooltips on or off for
* @param b On or off
*
* @return true if the object was found and the property set, false if the object has not been added to the tooltip manager* Adds a tooltip for this object, using the specified data.
* NOTE: if thing does not implement IFlxUIButton, a new invisible
* button will be created for it in order to drive tooltips.
*
* @param thing The object you want to add a tooltip to.
* @param data* Remove a tooltip associated with this object, if there is one
* @param thing
<_init expr="false">
false*******PRIVATE***********list of all the tooltip entrieswe actually only ever use one tooltip object :)-1the current tooltipflixel.addons.ui.FlxUITooltip{ anchor : null }* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()false* Intentionally shown by the programmer, when shown will only unshow when explicitly hidden or another tooltip is shownhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.addons.ui.FlxUIflixel.addons.ui.FlxUIStateflixel.addons.ui.FlxUISubState
<_HX_SUPER__init public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="148">* Removes all tooltips
<_HX_SUPER__clear public="1" set="method" line="148">* Hides the tooltip that is being displayed right now
<_HX_SUPER__hideCurrent public="1" set="method" line="148">@since 2.1.0
<_HX_SUPER__isVisible public="1" set="method" line="148">{ checkChildren : true }* Checks whether the currently shown tooltip belongs to a given FlxSprite, or optionally, any of its children (if it is a FlxUIGroup or FlxUI)
* @param thing the FlxSprite to check
* @param checkChildren whether or not to check its children (default: true)
* @return
<_HX_SUPER__doesCurrentTooltipBelongTo public="1" set="method" line="148">
{ checkChildren : true }{ sticky : true }* Set an object's tooltip's stickiness (whether it disappears when the mouse moves off of it or not)
* @param thing the thing you want to modify the tooltip for
* @param sticky if true, this tooltip will not disappear until explicitly hidden or until another tooltip is triggered
* @since 2.1.0
<_HX_SUPER__stickyTooltipFor public="1" set="method" line="31">
{ sticky : true }{ value : true }* Show the tooltip for the given object, if one exists
* @param thing the thing you want to display a tooltip for
* @param value whether to show or hide the tooltip
* @since 2.1.0
<_HX_SUPER__showTooltipFor public="1" set="method" line="31">
{ value : true }* Allows you to turn tooltips on or off for an object that has already been added
* @param thing The object you want to turn tooltips on or off for
* @param b On or off
*
* @return true if the object was found and the property set, false if the object has not been added to the tooltip manager
<_HX_SUPER__enableTooltipFor public="1" set="method" line="148">* Adds a tooltip for this object, using the specified data.
* NOTE: if thing does not implement IFlxUIButton, a new invisible
* button will be created for it in order to drive tooltips.
*
* @param thing The object you want to add a tooltip to.
* @param data
<_HX_SUPER__add public="1" set="method" line="31">* Remove a tooltip associated with this object, if there is one
* @param thing
<_HX_SUPER__remove public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__hide set="method" line="31">
<_HX_SUPER__findThing set="method" line="148">
<_HX_SUPER__findBtn set="method" line="148">
<_HX_SUPER__findObj set="method" line="148">
<_HX_SUPER__set_fixedPosition set="method" line="148">flixel.addons.ui.FlxUITooltip
<_HX_SUPER__set_showTooltipArrow set="method" line="148">
<_HX_SUPER__show set="method" line="31">{ anchor : null }
<_HX_SUPER__checkAutoFlip set="method" line="148">
{ anchor : null }
<_HX_SUPER__set_cameras set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUITooltipManagerflixel.addons.ui.FlxUITooltipManager.FlxUITooltipEntryflixel.addons.ui.FlxUITooltipManager.FlxUITooltipData
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUITooltipManagerflixel.addons.ui.FlxUITooltipManager.FlxUITooltipEntryflixel.addons.ui.FlxUITooltipManager.FlxUITooltipData{ ShowArrow : true, AutoSizeHorizontal : true, AutoSizeVertical : true, Body : "", Title : "" }
<_HX_SUPER__show public="1" set="method" line="31">
{ ShowArrow : true, AutoSizeHorizontal : true, AutoSizeVertical : true, Body : "", Title : "" }
<_HX_SUPER__get_height set="method" line="148">
<_HX_SUPER__hide public="1" set="method" line="31">*SETTERS*
<_HX_SUPER__set_anchor public="1" set="method" line="148">
<_HX_SUPER__set_style public="1" set="method" line="148">
<_HX_SUPER__set_title public="1" set="method" line="148">
<_HX_SUPER__set_body public="1" set="method" line="148">
<_HX_SUPER__refresh set="method" line="148">
<_HX_SUPER__refreshBkg set="method" line="31">
<_HX_SUPER__getStyleKey set="method" line="148">
<_HX_SUPER__makeArrowBkg set="method" line="148">
<_HX_SUPER__getArrowAnchor set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUITooltipflixel.addons.ui.FlxUITooltip.FlxUITooltipStyle
<_HX_SUPER__get_isRoot set="method" line="148">
<_HX_SUPER__get_tongue set="method" line="148">
<_HX_SUPER__set_tongue set="method" line="148">
<_HX_SUPER__set_focus set="method" line="148">
<_tongueSet set="method" line="110" override="1">
* Make sure to recursively propogate the tongue pointer down to all my members
<_HX_SUPER___tongueSet set="method" line="31">
<_HX_SUPER__callEvent public="1" set="method" line="31">
<_HX_SUPER__getEvent public="1" set="method" line="31">
<_HX_SUPER__getRequest public="1" set="method" line="148">
<_HX_SUPER__onFocus public="1" set="method" line="31">{ suppressed : true }
<_HX_SUPER__setWidgetSuppression set="method" line="31">
{ suppressed : true }* This causes FlxUI to respond to a specific widget losing focus
* @param widget
<_HX_SUPER__onFocusLost public="1" set="method" line="31">* Set a pointer to another FlxUI for the purposes of indexing
* @param flxUI
<_HX_SUPER__setSuperIndex public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__toggleShow public="1" set="method" line="148">{ Active : null }
<_HX_SUPER__showGroup public="1" set="method" line="31">
{ Active : null }{ Active : null }
<_HX_SUPER__showAsset public="1" set="method" line="31">
{ Active : null }{ destroy : true }* Removes an asset
* @param key the asset to remove
* @param destroy whether to destroy it
* @return the asset, or null if destroy=true
<_HX_SUPER__removeAsset public="1" set="method" line="148">
{ destroy : true }{ recursive : false, group_name : "" }* Adds an asset to this UI, and optionally puts it in a group
* @param asset the IFlxUIWidget asset you want to add
* @param key unique key for this asset. If it already exists, this fails.
* @param group_name string name of group inside this FlxUI you want to add it to.
* @param recursive whether to recursively search through sub-ui's
<_HX_SUPER__addAsset public="1" set="method" line="148">
{ recursive : false, group_name : "" }{ destroy_old : true, center_y : true, center_x : true }
<_HX_SUPER__replaceAsset public="1" set="method" line="148">
{ destroy_old : true, center_y : true, center_x : true }* Remove all the references and pointers, then destroy everything
<_HX_SUPER__destroy public="1" set="method" line="31">Xml* Main setup function - pass in a Access(xml) object
* to set up your FlxUI
* @param data
<_HX_SUPER__load public="1" set="method" line="31">
<_HX_SUPER__unparentXML set="method" line="148">
<_loadPointSize set="method" line="110" override="1">
<_HX_SUPER___loadPointSize set="method" line="31">
<_loadSub set="method" line="110" override="1">
{ iteration : 0 }
<_HX_SUPER___loadSub set="method" line="31">
{ iteration : 0 }
<_addTags set="method" line="110" override="1">
<_HX_SUPER___addTags set="method" line="31">
<_loadGlobals set="method" line="74" override="1">
<_HX_SUPER___loadGlobals set="method" line="148">
<_postLoad set="method" line="110" override="1">
<_HX_SUPER___postLoad set="method" line="31">
<_sendTo set="method" line="110" override="1">
<_HX_SUPER___sendTo set="method" line="31">{ recursive : true }* Send an asset to the front of the member list that it's in
* @param name string identifier of the asset
* @param recursive whether to check superIndex if not found
<_HX_SUPER__sendToFront public="1" set="method" line="31">
{ recursive : true }{ recursive : true }* Send an asset to either the back of the member list that it's in
* @param name string identifier of the asset
* @param recursive whether to check superIndex if not found
<_HX_SUPER__sendToBack public="1" set="method" line="31">
{ recursive : true }
<_HX_SUPER__get_currMode set="method" line="148">
<_HX_SUPER__set_currMode set="method" line="148">{ target_name : "" }* Set a mode for this UI. This lets you show/hide stuff basically.
* @param mode_name The mode you want, say, "empty" or "play" for a save slot
* @param target_name UI element to target - "" for the UI itself, otherwise the name of an element that is itself a FlxUI
<_HX_SUPER__setMode public="1" set="method" line="31">
{ target_name : "" }{ activeStatus : null, visibleStatus : true }
<_HX_SUPER__showThing set="method" line="31">
{ activeStatus : null, visibleStatus : true }{ recursive : true }****UTILITY FUNCTIONS********
<_HX_SUPER__getGroup public="1" set="method" line="148">
{ recursive : true }{ recursive : true }
<_HX_SUPER__getFlxText public="1" set="method" line="148">
{ recursive : true }
<_HX_SUPER__getAllAssets public="1" set="method" line="148">
<_HX_SUPER__getAssetKeys public="1" set="method" line="148">{ recursive : true }
<_HX_SUPER__hasAsset public="1" set="method" line="148">
{ recursive : true }{ recursive : true }
<_HX_SUPER__getAsset public="1" set="method" line="148">
{ recursive : true }
<_HX_SUPER__getAssetsWithTag public="1" set="method" line="148">* Get the group that contains a given IFlxUIWidget
* @param key the asset key of the IFlxUIWidget
* @param thing the IFlxUIWidget itself
* @return
<_HX_SUPER__getAssetGroup public="1" set="method" line="148">{ recursive : true }
<_HX_SUPER__getMode public="1" set="method" line="148">
{ recursive : true }{ recursive : true }
<_HX_SUPER__getLabelStyleFromDefinition public="1" set="method" line="148">
{ recursive : true }
<_HX_SUPER__getLabelStyleFromData public="1" set="method" line="148">{ recursive : true, op : "==" }
<_HX_SUPER__checkVariable public="1" set="method" line="148">
{ recursive : true, op : "==" }
<_HX_SUPER__setVariable public="1" set="method" line="31">{ recursive : true }
<_HX_SUPER__getVariable public="1" set="method" line="148">
{ recursive : true }{ recursive : true }
<_HX_SUPER__getDefinition public="1" set="method" line="148">
{ recursive : true }
<_HX_SUPER__screenWidth set="method" line="148">
<_HX_SUPER__screenHeight set="method" line="148">{ splice : false }* Replace an object in whatever group it is in
* @param original the original object
* @param replace the replacement object
* @param splice if replace is null, whether to splice the entry
<_HX_SUPER__replaceInGroup set="method" line="148">
{ splice : false }**********LOADING FUNCTIONS************
<_HX_SUPER__applyNodeConditionals set="method" line="148">* Make any necessary changes to data/definition xml objects (such as for locale or haxedef settings)
* @param data Access xml data
* @param nodeName name of the node, "locale", "haxedef", or "resolution"
<_HX_SUPER__applyNodeChanges set="method" line="148">* Load an individual flixel-ui widget from a snippet of xml
* @param type
* @param data
* @return
<_HX_SUPER__loadThing public="1" set="method" line="148">
<_loadThingGetInfo set="method" line="74" override="1">
<_HX_SUPER___loadThingGetInfo set="method" line="148">
<_loadTooltip set="method" line="110" override="1">
<_HX_SUPER___loadTooltip set="method" line="31">
<_loadTooltipData set="method" line="74" override="1">
<_HX_SUPER___loadTooltipData set="method" line="148">
<_loadTooltipStyle set="method" line="110" override="1">
<_HX_SUPER___loadTooltipStyle set="method" line="31">
<_loadTooltipText set="method" line="110" override="1">
<_HX_SUPER___loadTooltipText set="method" line="31">
<_loadAnchor set="method" line="74" override="1">
<_HX_SUPER___loadAnchor set="method" line="148">
<_loadThing set="method" line="74" override="1">
<_HX_SUPER___loadThing set="method" line="148">
<_loadScale set="method" line="74" override="1">
{ str : "scale", default_ : 1.0 }
<_HX_SUPER___loadScale set="method" line="148">
{ str : "scale", default_ : 1.0 }
<_loadScaleX set="method" line="74" override="1">
{ default_ : 1.0 }
<_HX_SUPER___loadScaleX set="method" line="148">
{ default_ : 1.0 }
<_loadScaleY set="method" line="74" override="1">
{ default_ : 1.0 }
<_HX_SUPER___loadScaleY set="method" line="148">
{ default_ : 1.0 }
<_loadWidth set="method" line="74" override="1">
{ defaultRound : "", str : "width", default_ : 10 }
<_HX_SUPER___loadWidth set="method" line="148">
{ defaultRound : "", str : "width", default_ : 10 }
<_loadHeight set="method" line="74" override="1">
{ defaultRound : "", str : "height", default_ : 10 }
<_HX_SUPER___loadHeight set="method" line="148">
{ defaultRound : "", str : "height", default_ : 10 }
<_loadCompass set="method" line="74" override="1">
{ str : "resize_point" }
<_HX_SUPER___loadCompass set="method" line="148">
{ str : "resize_point" }
<_changeParamsThing set="method" line="110" override="1">
<_HX_SUPER___changeParamsThing set="method" line="31">
<_changeThing set="method" line="110" override="1">
<_HX_SUPER___changeThing set="method" line="31">
<_alignThing set="method" line="110" override="1">
{ suppressError : false }
<_HX_SUPER___alignThing set="method" line="31">
{ suppressError : false }
<_doAlign set="method" line="110" override="1">
{ allowShrink : true, allowGrow : true }
<_HX_SUPER___doAlign set="method" line="31">
{ allowShrink : true, allowGrow : true }
<_checkFailure set="method" line="74" override="1">
<_HX_SUPER___checkFailure set="method" line="148">
<_resizeThing set="method" line="110" override="1">
<_HX_SUPER___resizeThing set="method" line="31">
<_postLoadThing set="method" line="110" override="1">
<_HX_SUPER___postLoadThing set="method" line="31">
<_loadTileTest set="method" line="74" override="1">
<_HX_SUPER___loadTileTest set="method" line="148">
<_loadString set="method" line="74" override="1">
<_HX_SUPER___loadString set="method" line="148">
<_loadText set="method" line="74" override="1">
<_HX_SUPER___loadText set="method" line="148">
<_loadInputText set="method" line="74" override="1">
<_HX_SUPER___loadInputText set="method" line="148">
<_loadRadioGroup set="method" line="74" override="1">
<_HX_SUPER___loadRadioGroup set="method" line="148">
<_loadCheckBox set="method" line="74" override="1">
<_HX_SUPER___loadCheckBox set="method" line="148">
<_loadDropDownMenu set="method" line="74" override="1">
<_HX_SUPER___loadDropDownMenu set="method" line="148">
<_loadTest set="method" line="74" override="1">
<_HX_SUPER___loadTest set="method" line="148">
<_loadTestSub set="method" line="74" override="1">
<_HX_SUPER___loadTestSub set="method" line="148">
<_HX_SUPER__parseVarValue set="method" line="148">
<_loadLayout set="method" line="74" override="1">
<_HX_SUPER___loadLayout set="method" line="148">
<_HX_SUPER__addToCleanup set="method" line="31">
<_HX_SUPER__addToScaledAssets set="method" line="31">
<_HX_SUPER__cleanup set="method" line="31">
<_HX_SUPER__createUI set="method" line="148">
<_loadTabMenu set="method" line="74" override="1">
<_HX_SUPER___loadTabMenu set="method" line="148">
<_loadNumericStepper set="method" line="74" override="1">
{ setCallback : true }
<_HX_SUPER___loadNumericStepper set="method" line="148">
{ setCallback : true }{ defaultAxis : FlxUISprite.RESIZE_RATIO_Y }
<_HX_SUPER__getResizeRatio set="method" line="148">
{ defaultAxis : FlxUISprite.RESIZE_RATIO_Y }
<_loadButton set="method" line="74" override="1">
{ load_code : "", isToggle : false, setCallback : true }flixel.addons.ui.FlxUITypedButton
<_HX_SUPER___loadButton set="method" line="148">
{ load_code : "", isToggle : false, setCallback : true }
<_loadRegion set="method" line="74" override="1">
<_HX_SUPER___loadRegion set="method" line="148">
<_load9SliceSprite set="method" line="74" override="1">
{ load_code : "" }
<_HX_SUPER___load9SliceSprite set="method" line="148">
{ load_code : "" }{ srcString : "src" }
<_HX_SUPER__load9SliceSprite_scaleSub set="method" line="148">
{ srcString : "src" }
<_loadBox set="method" line="74" override="1">
<_HX_SUPER___loadBox set="method" line="148">
<_loadLine set="method" line="74" override="1">
<_HX_SUPER___loadLine set="method" line="148">
<_loadBar set="method" line="74" override="1">
<_HX_SUPER___loadBar set="method" line="148">
<_loadSprite set="method" line="74" override="1">
<_HX_SUPER___loadSprite set="method" line="148">
<_HX_SUPER__loadSmooth set="method" line="148">{ tilesTall : 1, tilesWide : 1, scaleName : "scale", attName : "src" }* For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary
* @param data the xml node in question
* @return the unique key of the scaled bitmap
<_HX_SUPER__loadScaledSrc set="method" line="148">
{ tilesTall : 1, tilesWide : 1, scaleName : "scale", attName : "src" }
<_HX_SUPER__thisWidth set="method" line="148">
<_HX_SUPER__thisHeight set="method" line="148">
<_getAnchorPos set="method" line="74" override="1">
<_HX_SUPER___getAnchorPos set="method" line="148">{ defaultStr : "" }
<_HX_SUPER__getRound set="method" line="148">
{ defaultStr : "" }
<_HX_SUPER__doRound set="method" line="148">{ height : null, width : null }
<_HX_SUPER__calcMaxMinSize set="method" line="148">
{ height : null, width : null }
<_getDataSize set="method" line="74" override="1">
{ default_ : 0 }
<_HX_SUPER___getDataSize set="method" line="148">
{ default_ : 0 }
<_getOperation set="method" line="74" override="1">
* @return [:String,:String,:Float]]]>
<_HX_SUPER___getOperation set="method" line="148">
<_doOperation set="method" line="74" override="1">
<_HX_SUPER___doOperation set="method" line="148">
<_getStretch set="method" line="74" override="1">
<_HX_SUPER___getStretch set="method" line="148">
<_HX_SUPER__getAssetProperty set="method" line="148">
<_loadCursor set="method" line="110" override="1">
<_HX_SUPER___loadCursor set="method" line="31">
<_loadPosition set="method" line="110" override="1">
<_HX_SUPER___loadPosition set="method" line="31">
<_loadBorder set="method" line="74" override="1">
<_HX_SUPER___loadBorder set="method" line="148">
<_loadColor set="method" line="74" override="1">
{ _default : 0xffffffff, colorName : "color" }
<_HX_SUPER___loadColor set="method" line="148">
{ _default : 0xffffffff, colorName : "color" }
<_loadFontDef set="method" line="74" override="1">
<_HX_SUPER___loadFontDef set="method" line="148">
<_loadFontFace set="method" line="74" override="1">
<_HX_SUPER___loadFontFace set="method" line="148">
<_onFinishLoad set="method" line="110" override="1">
<_HX_SUPER___onFinishLoad set="method" line="31">{ code : "", safe : true, context : "data" }********UTILITY FUNCTIONS**********
<_HX_SUPER__getText public="1" set="method" line="148">
{ code : "", safe : true, context : "data" }
<_HX_SUPER__formatFromCode set="method" line="148">
<_HX_SUPER__formatButtonText set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FlxUIflixel.addons.ui.FlxUI.UIEventCallbackflixel.addons.ui.FlxUI.Roundingflixel.addons.ui.FlxUI.SortValueflixel.addons.ui.FlxUI.NamedBoolflixel.addons.ui.FlxUI.NamedIntflixel.addons.ui.FlxUI.NamedFloatflixel.addons.ui.FlxUI.NamedStringflixel.addons.ui.FlxUI.MaxMinSizeflixel.addons.ui.FlxUI.VarValue[".ttf", ".otf"]{ recursion : 0 }* Given a str like "verdanab.ttf", reverse-engineer the basic font properties
* @param str a string name of a font, such as "verdanab.ttf"
<_size expr="0">
0* If a recognized font extension exists, remove it from the font str
* @param str font + extension, ie "verdanab.ttf"
* @return font - extension, ie "verdanab"* See if a style is "baked" into the font str, and if so return it
* @param str font string, ie, "verdanab", "verdanai", "verdanaz"
* @return "b" for bold, "i" for italic, "z" for bold-italic, "" for normal{ File : "", Extension : ".ttf" }* ...
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__get_size set="method" line="148">
<_HX_SUPER__set_size set="method" line="148">
<_HX_SUPER__clone public="1" set="method" line="148">
<_HX_SUPER__applyFlx public="1" set="method" line="148">
<_HX_SUPER__apply public="1" set="method" line="31">{ recursion : 0 }* Given a str like "verdanab.ttf", reverse-engineer the basic font properties
* @param str a string name of a font, such as "verdanab.ttf"
<_HX_SUPER__fromStr public="1" set="method" line="31">
{ recursion : 0 }* If a recognized font extension exists, remove it from the font str
* @param str font + extension, ie "verdanab.ttf"
* @return font - extension, ie "verdanab"
<_HX_SUPER__stripFontExtensions set="method" line="148">
<_HX_SUPER__getFontExtension set="method" line="148">
<_HX_SUPER__fixFontName set="method" line="31">* See if a style is "baked" into the font str, and if so return it
* @param str font string, ie, "verdanab", "verdanai", "verdanaz"
* @return "b" for bold, "i" for italic, "z" for bold-italic, "" for normal
<_HX_SUPER__getFontStyle set="method" line="148">
<_HX_SUPER__setFontStyle public="1" set="method" line="31">
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FontDef{ name : "" }* A really simple little class that solves an annoying problem with Flash font file names
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.FontFixer{ Label : "", Name : "" }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__copy public="1" set="method" line="148">
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.StrNameLabelGETTERs/SETTERS{ IgnoreInvisible : false }* ...
* @author Lars A. Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__setColor public="1" set="method" line="148">
<_HX_SUPER__getColor public="1" set="method" line="148">GETTERs/SETTERS
<_HX_SUPER__get_hilight set="method" line="148">
<_HX_SUPER__set_hilight set="method" line="148">
<_HX_SUPER__get_midtone set="method" line="148">
<_HX_SUPER__set_midtone set="method" line="148">
<_HX_SUPER__get_shadowMid set="method" line="148">
<_HX_SUPER__set_shadowMid set="method" line="148">
<_HX_SUPER__get_shadowDark set="method" line="148">
<_HX_SUPER__set_shadowDark set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__copy public="1" set="method" line="148">
<_HX_SUPER__toString public="1" set="method" line="148">{ IgnoreInvisible : false }
<_HX_SUPER__getRawDifference public="1" set="method" line="148">
{ IgnoreInvisible : false }
<_HX_SUPER__doColorsEqual public="1" set="method" line="148">
<_HX_SUPER__getRGBdelta set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.SwatchData{ default_str : "", lower_case : false }* Safety wrapper for reading a string attribute from xml
* @param data the Xml object
* @param att the name of the attribute
* @param lower_case force lower_case or not
* @param what to return if it is ""
* @return the attribute as a string if it exists, otherwise returns ""* For conveniently getting the very common "name" attribute, with backwards-compatibility for the old "id" attribute if name is not found
* @param data
* @return{ defaultColor : null, cast32Bit : true }* Safety wrapper for reading a FlxColor attribute from xml
* @param data the Xml object
* @param att a color string in either 0xRRGGBB or 0xAARRGGBB format
* @param cast32Bit if true adds an alpha channel if not detected{ default_ : null, lowerCase : true }{ cast32Bit : true }* If a string is a number that ends with a % sign, it will return a normalized percent float (0-100% = 0.0-1.0)
* @param str a percentage value, such as "5%" or "236.214%"
* @return a normalized float, or NaN if not valid input{ default_ : 0 }* Safety wrapper for reading a float attribute from xml
* @param data the Xml object
* @param att the name of the attribute
* @param default_ what to return if the value doesn't exist
* @return the attribute as a float if it exists, otherwise returns default{ default_ : 0 }* Safety wrapper for reading an int attribute from xml
* @param data the Xml object
* @param att the name of the attribute
* @param default_ what to return if the value doesn't exist
* @return the attribute as an int if it exists, otherwise returns default{ default_ : null }* Safety wrapper for reading a point attribute from xml
* @param data the Xml object
* @param att the name of the attribute
* @param default_ what to return if the value doesn't exist
* @return the attribute as a point if it exists, otherwise returns default* Parses a point expressed as a string to a FlxPoint object.
* Must be two numbers separated by a "," or an "x"
* This function strips extraneous characters first, ie "(",")"," ","=",":"
* @param str
* @return{ op : "==" }","<=",">="
* @return the value of the comparison]]>{ default_ : false }* Safety wrapper for reading a bool attribute from xml
* @param data the Xml object
* @param att the name of the attribute
* @param what to return if the value doesn't exist
* @return true if att is "true" (case-insensitive) or "1", otherwise false{ test : true }
{ centerY : true, centerX : true }* Center fb2 on fb1's center point
* @param fb1 a FlxObject (does not move)
* @param fb2 a FlxObject (center on fb1)
* @param centerX center X axis?
* @param centerY center Y axis?
{ padChar : "0" }* Return a numeric string with leading zeroes
* @param i any integer
* @param d how many digits
* @param padChar what to pad with ("0") by default
* @return i's value as a string padded with padChar, exactly d digits in length{ default_color : 0x000000, safe : false, cast32Bit : false }* Parses hex string to equivalent integer, with safety checks
* @param hex_str string in format 0xRRGGBB or 0xAARRGGBB
* @param cast32Bit add an alpha channel if none is given
* @param safe don't throw errors, just return -1
* @param default_color what to return if safe is true and it fails
* @return integer value* Parses an individual hexadecimal string character to the equivalent decimal integer value
* @param hex_char hexadecimal character (1-length string)
* @return decimal value of hex_char* Parses hex string to equivalent integer
* @param hex_str string in format RRGGBB or AARRGGBB (no "0x")
* @return integer value* Parses hex pixel value into a 3-length array of [r,g,b] ints
* @param hex
* @return* Returns the hex pixel value of 3 r, g, b ints
* @param r
* @param g
* @param b
* @return* Returns a color somewhere between the given two.
* @param hex1 A hexadecimal color
* @param hex2 A hexadecimal color
* @param amt 0=100% hex1, 1=100% hex2, 0.5=50% of each
* @return{ addHeader : true, wrapData : true }{ folder : "" }{ dir : "assets/json/", extension : "json" }{ _default : null }{ dir : "assets/xml/", getAccess : true, extension : "xml" }* This will remove an array structure, but will leave its contents untouched.
* This can lead to memory leaks! Only use this when you want an array gone but
* you still need the original elements and know what you're doing.
* @param array* This will MURDER an array, removing all traces of both it and its contents
* @param array{ style : "" }* Given something like "verdana" and "bold" returns "assets/fonts/verdanab"
* @param str
* @param style
* @return{ extension : ".ttf", style : "" }* Given something like "verdana", "bold", ".ttf", returns "assets/fonts/verdanab.ttf"
* @param str
* @param style
* @param extension
* @return
<_font get="inline" set="null" line="1052" static="1">
{ style : "" }* Return string with first character uppercase'd
* @param str
* @return* Return string with first character uppercase'd, rest lowercase'd
* @param str
* @return{ smooth : true, H : -1, W : -1 }* This scales an image that contains tiles, being super OCD about it, making sure each tile is
* properly scaled and put in the correct position
* @param orig_id asset id
* @param scale the scale factor
* @param origW original width of the tile
* @param origH original height of the tile
* @param W final width of the tile
* @param H final height of the tile
* @param smooth
* @return{ Smooth : true, TileH : -1, TileW : -1 }* This scales an image that contains tiles, being super OCD about it, making sure each tile is
* properly scaled and put in the correct position, and returns the new asset key
* @param orig_id asset id
* @param scale the scale factor
* @param OrigW original width of the tile
* @param OrigH original height of the tile
* @param TileW final width of the tile
* @param TileH final height of the tile
* @param Smooth
* @return the asset key{ smooth : true }* For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary
* @param src the asset key of the base image
* @param W the final scaled width of the new image
* @param H the final scaled height of the new image
* @return the unique key of the scaled bitmap{ checkFlxBitmap : false, Smooth : true }{ fixAlphaChannel : false, checkFlxBitmap : false, smooth : true }* For grabbing a version of an image src and dynamically scaling (and caching) it as necessary
* @param src the asset key of the base image
* @param Scale the scale factor of the new image
* @param smooth whether to apply smoothing or not
* @param checkFlxBitmap whether to use the FlxG.bitmap.get cache instead of Assets.getBitmapData
* @return the unique key of the scaled bitmap{ suppressError : false, dir4 : "", dir3 : "", dir2 : "", dir1 : "" }* Converts a PNG file to a comma-separated string.
* pixels that match color_index are flagged
* others are ignored
* must be a PERFECT MATCH
*
* @param color_index The matching color index
*
* @return A comma-separated string containing the level data in a FlxTilemap-friendly format.* Converts a comma and hyphen list string of numbers to an int array
* @param str input, ex: "1,2,3", "2-4", "1,2,3,5-10"
* @return int array, ex: [1,2,3], [2,3,4], [1,2,3,5,6,7,8,9,10]* Converts a comma and hyphen list string of numbers to a String array
* @param str input, ex: "1,2,3", "2-4", "1,2,3,5-10"
* @return int array, ex: [1,2,3], [2,3,4], [1,2,3,5,6,7,8,9,10]{ multB : 1, multA : 1 }* Get the dimensions of a bit string* Splits a binary string with endlines into a big long int array@since 2.1.0
<_matrix expr="null" line="2287" static="1">
null* Utility functions, inlined where possible
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.ui.U{ safe : true, context : "data" }* An interface to match FireTongue, so we can use this without making
* a full dependency
* @author Lars Doucethscript.UsingHandler.build()hscript.ClassExtendMacro.build()falsefalse
<_curIndex expr="0">
0
<_iterationsPerUpdate>
<_iterations>
<_callback>* Start the loop (if it's not already started or finished){ IterationsPerUpdate : 100 }* Creates an instance of the FlxAsyncLoop class, used to do a loop while still allowing update() to get called and the screen to refresh.
*
* @param Iterations How many total times should it loop
* @param Callback The function that should be called each loop
* @param IterationsPerUpdate Optional: how many loops before we allow an update() - defaults to 100.* Special class for asynchonously performing a loop.
* @author Timothy Ian Hely / SeiferTimhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Start the loop (if it's not already started or finished)
<_HX_SUPER__start public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.util.FlxAsyncLoop* Called when state becomes active.
*
* @param Owner The object the state controls
* @param FSM The FSM instance this state belongs to. Used for changing the state to another.* Called every update loop.
*
* @param Owner The object the state controls
* @param FSM The FSM instance this state belongs to. Used for changing the state to another.* Called when the state becomes inactive.
*
* @param Owner The object the state controls* A generic FSM State implementation. Extend this class to create new states.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Helper typedef for FlxExtendedFSM's poolshscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The owner of this FSM instance. Gets passed to each state.* Current state* Class of current state* The age of the active state* Name of this FSM. Used for locking/unlocking when in a stack.* Binary flag. Used for locking/unlocking when in a stack.* The stack this FSM belongs to or null* Optional transition table for this FSM* Optional map object containing FlxPools for FlxFSMStates* Updates the active state instance.* Calls exit on current state* A generic Finite-state machine implementation.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_lockSignal static="1">* Sends a message to all active FSMStacks to lock given types.
* @param type You can use `FSMType` abstract for values or build your own.`
* Only function is to create a static `FlxTypedSignal` that's shared between stacks.
* Otherwise signals would be type specific, and `FlxFSMStack` could not dispatch
* to `FlxFSMStack`]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Test if the stack is empty
<_stack>
<_alteredStack>
<_hasLocks>
<_lockedNames>
<_lockedTypes>
<_lockRemaining>* Updates the states that have not been locked* Locks the specified FSM for the duration of the update loop
* @param name* Locks the remaining FSMs for the duration of the update loop* Adds the FSM to the front of the stack
* @param FSM* Removes the first FSM from the stack
* @return The removed FSM* Adds the FSM to the end of the stack
* @param FSM* Removes the first FSM from the stack
* @return The removed FSM* Removes the FSM from the stack and destroys it
* @param The removed FSM* Removes the FSM with given name from the stack and destroys it
* @param The removed FSM* Destroys every member in stack and self* Used for grouping FSM instances and updating them according to the stack's updateMode.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_table>
<_startState>
<_garbagecollect expr="false">
false* Polls the transition table for active states
* @param FSM The FlxFSMState the table belongs to
* @return The state that should become or remain active.* Adds a transition condition to the table.
* @param From The state the condition applies to
* @param To The state to transition
* @param Condition Function that returns true if the transition conditions are met* Adds a global transition condition to the table.
* @param To The state to transition
* @param Condition Function that returns true if the transition conditions are met* Add a transition directly
* @param transition* Sets the starting State
* @param With* Replaces given state class with another.
* @param Target State class to replace
* @param Replacement State class to replace with* Removes a transition condition from the table
* @param From From State
* @param To To State
* @param Condition Condition function
* @return True when removed, false if not in table* Tells if the table contains specific transition or transitions.
* @param From From State
* @param To To State
* @param Condition Condition function
* @return True if match found* Contains the information on when to transition from a given state to another.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* If this function returns true, the transition becomes active.
* Note: you can override this function if you don't want to use functions passed as variables.* The state this transition applies to, or null for global transition, ie. from any state* The state this transition leads to* Function used for evaluation.
* The evaluation function may be overridden, in which case this param may be redundant.false* Used to mark this transition for removalhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Sends a message to all active FSMStacks to lock given types.
* @param type You can use `FSMType` abstract for values or build your own.
<_HX_SUPER__globalLock public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.util.FlxFSM.FlxFSMStateflixel.addons.util.FlxFSM.StatePoolflixel.addons.util.FlxFSMflixel.addons.util.FlxFSM.FlxFSMStackflixel.addons.util.FlxFSM.FlxFSMStackSignalflixel.addons.util.FlxFSM.FlxFSMTransitionTableflixel.addons.util.FlxFSM.Transition attribute.]]> attribute.]]> attribute.]]> attribute.]]> attribute.]]>"assets/"* Base directory for all assets loaded inside FlxScene.* Tilemap reference.
<_constants>
.]]>
<_objects>
* Contains all objects with an "id" attribute.
<_xml>
* Internal XML.
<_fastXml>
* Internal xml.Access.* Set the current scene, loads from XML file.
*
* @param file Location of XML.* Instantiate objects to state.
*
* @param container Add objects to this FlxTypedGroup (layer).
* @param layerId Add objects only from this layer.* Add backgrounds to state.
*
* @param container Add backgrounds to this FlxTypedGroup (layer).* Add tilemap to state.
*
* @param container Add tilemap to this FlxTypedGroup (layer).* Add everything (backgrounds, tilemap and all objects) to the state.* Make constants accesible through function FlxScene.constants("id").* Add an instance into correct destination (a specific group or FlxG.state).
* If has attribute "id" then make it accesible through function: object("id").
*
* @param instance Instance to be added to container.
* @param container FlxTypedGroup.
* @param element XML attributes.* Apply all FlxSprite properties to a given instance.
*
* @param instance Instance to set properties.
* @param element XML attributes.* Apply all FlxText properties to a given instance.
*
* @param instance Instance to set properties.
* @param element XML attributes.* Gets a specific constant by id.
*
* @param id Constant name.
* @return Bool, Int, Float or String.* Helper function to parse Booleans from String to Bool
*
* @param Value String value* Optionally set the scene file already.
*
* @param file Location of XML.* Loads a scene from XML file. Scenes contain layers of entities (custom FlxSprite),
* backgrounds, tilemaps, constants, UI and more.
*
* Any questions tweet me @AndreiRegianihscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Set the current scene, loads from XML file.
*
* @param file Location of XML.
<_HX_SUPER__set public="1" set="method" line="31">* Instantiate objects to state.
*
* @param container Add objects to this FlxTypedGroup (layer).
* @param layerId Add objects only from this layer.
<_HX_SUPER__spawn public="1" set="method" line="31">* Add backgrounds to state.
*
* @param container Add backgrounds to this FlxTypedGroup (layer).
<_HX_SUPER__loadBackgrounds public="1" set="method" line="31">* Add tilemap to state.
*
* @param container Add tilemap to this FlxTypedGroup (layer).
<_HX_SUPER__loadTilemap public="1" set="method" line="31">* Add everything (backgrounds, tilemap and all objects) to the state.
<_HX_SUPER__loadEverything public="1" set="method" line="31">* Make constants accesible through function FlxScene.constants("id").
<_HX_SUPER__loadConstants set="method" line="31">* Add an instance into correct destination (a specific group or FlxG.state).
* If has attribute "id" then make it accesible through function: object("id").
*
* @param instance Instance to be added to container.
* @param container FlxTypedGroup.
* @param element XML attributes.
<_HX_SUPER__addInstance set="method" line="31">* Apply all FlxSprite properties to a given instance.
*
* @param instance Instance to set properties.
* @param element XML attributes.
<_HX_SUPER__applySpriteProperties set="method" line="31">* Apply all FlxText properties to a given instance.
*
* @param instance Instance to set properties.
* @param element XML attributes.
<_HX_SUPER__applyTextProperties set="method" line="31">* Gets a specific constant by id.
*
* @param id Constant name.
* @return Bool, Int, Float or String.
<_HX_SUPER__const public="1" set="method" line="148">
<_HX_SUPER__object public="1" set="method" line="148">* Helper function to parse Booleans from String to Bool
*
* @param Value String value
<_HX_SUPER__parseBool set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.util.FlxScene0.36602540370.21132486540.3090169940.138196601
[[3, 2, 1, 0], [2, 3, 1, 0], [0, 0, 0, 0], [2, 1, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [2, 1, 0, 3], [3, 1, 2, 0], [0, 0, 0, 0], [1, 3, 2, 0], [1, 2, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 2, 0, 3], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [3, 1, 0, 2], [0, 0, 0, 0], [1, 3, 0, 2], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 3, 2], [1, 0, 2, 3], [3, 2, 0, 1], [2, 3, 0, 1], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [2, 0, 3, 1], [0, 0, 0, 0], [2, 0, 1, 3], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [3, 0, 2, 1], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 3, 2, 1], [0, 2, 3, 1], [0, 0, 0, 0], [0, 2, 1, 3], [3, 0, 1, 2], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 3, 1, 2], [0, 0, 0, 0], [0, 1, 3, 2], [0, 1, 2, 3]][0, 0, 0, 0]{ octaves : 1, persistence : 1, scale : 1 }{ octaves : 1, persistence : 1, scale : 1 }* Calculates the simplex noise at a given 2D coordinate.
*
* @param x The x coordinate at which the noise value should be obtained.
* @param y The y coordinate at which the noise value should be obtained.
* @return The value of noise at the input coordinate, ranging from -1 to 1, inclusive.* Private helper that finds the noise contribution of a single corner of a simplex cell.
*
* @param a Which corner to use.
* @return The noise value of the corner.* Calculates the simplex noise at a given 4D coordinate.
* Used internally to generate tileable 2D noise, but it might as well be public.
*
* @param x The x coordinate at which the noise value should be obtained.
* @param y The y coordinate at which the noise value should be obtained.
* @param z The z coordinate at which the noise value should be obtained.
* @param w The w coordinate at which the noise value should be obtained.
* @return The value of noise at the input coordinate, ranging from -1 to 1, inclusive.* Private helper that finds the noise contribution of a single corner of a 4D simplex cell.
*
* @param a Which corner to use next.
* @return The noise value of the corner.* Simplex noise generation.
* A combination of algorithms for very fast noise generation: http://weber.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf, http://www.google.com/patents/US6867776, and http://www.jgallant.com/procedurally-generating-wrapping-world-maps-in-unity-csharp-part-2/#wrap2.
* @author MSGHerohscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_new public="1" set="method" line="357" static="1">
hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_new public="1" set="method" line="357" static="1">
hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.util.FlxSimplexflixel.addons.util.FlxSimplex.SimplexCellflixel.addons.util.FlxSimplex.SimplexCellflixel.addons.util.FlxSimplex.SimplexCell_HSC* Created a PNG image from the specified BitmapData
*
* @param image The BitmapData that will be converted into the PNG format.
* @return a ByteArray representing the PNG encoded image data.
* @langversion ActionScript 3.0
* @playerversion Flash 9.0
* @tiptext* Class that converts BitmapData into a valid PNGhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.addons.util.PNGEncoder* Animation controller this animation belongs to* String name of the animation (e.g. `"walk"`)0* Keeps track of the current index into the tile sheet based on animation or rotation.* @author Zaphodhscript.UsingHandler.build()hscript.ClassExtendMacro.build()nullAnimation prefix used during the creation* Animation frameRate - the speed in frames per second that the animation should play at.0* Keeps track of the current frame of animation.
* This is NOT an index into the tile sheet, but the frame number in the animation object.* Accessor for `frames.length`0* Seconds between frames (basically the framerate)[]*true* Whether the current animation has finished.true* Whether the current animation gets updated or not.true* Whether or not the animation is looped.0* The custom loop point for this animation.
* This allows you to skip the first few frames of an animation when looping.false* Whether or not this animation is being played backwards.false* Whether or not the frames of this animation are horizontally flippedfalse* Whether or not the frames of this animation are vertically flipped* A list of frames stored as int indices
* @since 4.2.0
<_frameTimer expr="0">
0* Internal, used to time each frame of animation.* Clean up memory.{ Frame : 0, Reversed : false, Force : false }* Starts this animation playback.
*
* @param Force Whether to force this animation to restart.
* @param Reversed Whether to play animation backwards or not.
* @param Frame The frame number in this animation you want to start from (`0` by default).
* If you pass a negative value then it will start from a random frame.
* If you `Reversed` is `true`, the frame value will be "reversed"
* (`Frame = numFrames - 1 - Frame`), so `Frame` value will mean frame index
* from the animation's end in this case.{ FlipY : false, FlipX : false, Looped : true, FrameRate : 0 }* @param Name What this animation should be called (e.g. `"run"`).
* @param Frames An array of numbers indicating what frames to play in what order (e.g. `[1, 2, 3]`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40`).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether or not the frames of this animation are horizontally flipped.
* @param FlipY Whether or not the frames of this animation are vertically flipped.* Just a helper structure for the `FlxSprite` animation system.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Property access for currently playing animation (warning: can be `null`).-1* The frame index of the current animation. Can be changed manually.* Tell the sprite to change to a frame with specific name.
* Useful for sprites with loaded TexturePacker atlas.* Gets or sets the currently playing animation (warning: can be `null`).* Pause or resume the current animation.* Whether the current animation has finished playing.* The total number of frames in this image.
* WARNING: assumes each row in the sprite sheet is full!* If assigned, will be called each time the current animation's frame changes.
* A function that has 3 parameters: a string name, a frame number, and a frame index.* If assigned, will be called each time the current animation finishes.
* A function that has 1 parameter: a string name - animation name.
<_sprite>
* Internal, reference to owner sprite.
<_curAnim>
flixel.animation* Internal, currently playing animation.
<_animations set="null">
* Internal, stores all the animation that were added to this sprite.
<_prerotated>{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Frames An array of indices indicating what frames to play in what order (e.g. `[0, 1, 2]`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.* Removes (and destroys) an animation.
*
* @param Name The name of animation to remove.* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the indices of the frames in the atlas are already known.
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Frames An array of indices indicating what frames to append (e.g. `[0, 1, 2]`).{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param FrameNames An array of image names from the atlas indicating what frames to play in what order.
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the exact name of each frame from the atlas is known (e.g. `"walk00.png"`, `"walk01.png"`).
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param FrameNames An array of image names from atlas indicating what frames to append.{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite. Should be slightly faster than `addByIndices()`.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`).
* @param Indices An array of strings indicating what frames to play in what order
* (e.g. `["01", "02", "03"]`).
* @param Postfix Common ending of image names in atlas (e.g. `".png"`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Should be slightly faster than `appendByIndices()`. Use this method when the names of each frame from
* the atlas share a common prefix and postfix (e.g. `"walk00.png"`, `"walk01.png"`).
* The animation must already exist in order to append frames to it. FrameRate and Looped are unchanged.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`).
* @param Indices An array of strings indicating what frames to append (e.g. `["01", "02", "03"]`).
* @param Postfix Common ending of image names in atlas (e.g. `".png"`).{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Prefix Common beginning of image names in the atlas (e.g. "tiles-").
* @param Indices An array of numbers indicating what frames to play in what order (e.g. `[0, 1, 2]`).
* @param Postfix Common ending of image names in the atlas (e.g. `".png"`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the names of each frame from the atlas share a common prefix
* and postfix (e.g. `"walk00.png"`, `"walk01.png"`).
* Leading zeroes are ignored for matching indices (`5` will match `"5"` and `"005"`).
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`).
* @param Indices An array of numbers indicating what frames to append (e.g. `[0, 1, 2]`).
* @param Postfix Common ending of image names in atlas (e.g. `".png"`).* Find a sprite frame so that for `Prefix = "file"; Index = 5; Postfix = ".png"`
* It will find frame with name `"file5.png"`. If it doesn't exist it will try
* to find `"file05.png"`, allowing 99 frames per animation.
* Returns the found frame or `-1` on failure.{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the names of each frame from the atlas share a common prefix
* (e.g. `"walk00.png"`, `"walk01.png"`).
* Frames are sorted numerically while ignoring postfixes (e.g. `".png"`, `".gif"`).
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`){ Frame : 0, Reversed : false, Force : false }* Plays an existing animation (e.g. `"run"`).
* If you call an animation that is already playing, it will be ignored.
*
* @param AnimName The string name of the animation you want to play.
* @param Force Whether to force the animation to restart.
* @param Reversed Whether to play animation backwards or not.
* @param Frame The frame number in the animation you want to start from.
* If a negative value is passed, a random frame is used.* Stops current animation and resets its frame index to zero.* Stops current animation and sets its frame to the last one.* Just stops current animation.* Pauses the current animation.* Resumes the current animation if it exists.* Reverses current animation if it exists.* Gets the FlxAnimation object with the specified name.* Changes to a random animation frame.
* Useful for instantiating particles or other weird things.flixel.animation* Gets a list with all the animations that are added in a sprite.
* WARNING: Do not confuse with `getNameList`, this function returns the animation instances
* @return an array with all the animations.
* @since 4.11.0* Gets a list with all the name animations that are added in a sprite
* WARNING: Do not confuse with `getAnimationList`, this function returns the animation names
* @return an array with all the animation names in it.
* @since 4.11.0* Checks if an animation exists by it's name.
* @param name The animation name.
* @since 4.11.0* Renames the animation with a new name.
* @param oldName the name that is replaced.
* @param newName the name that replaces the old one.
* @since 4.11.0* Helper function used for finding index of `FlxFrame` in `_framesData`'s frames array
*
* @param Frame `FlxFrame` to find
* @return position of specified `FlxFrame` object.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__copyFrom public="1" set="method" line="148">
<_HX_SUPER__createPrerotated public="1" set="method" line="31">
<_HX_SUPER__destroyAnimations public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__clearPrerotated set="method" line="31">
<_HX_SUPER__clearAnimations set="method" line="31">{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Frames An array of indices indicating what frames to play in what order (e.g. `[0, 1, 2]`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.
<_HX_SUPER__add public="1" set="method" line="31">
{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Removes (and destroys) an animation.
*
* @param Name The name of animation to remove.
<_HX_SUPER__remove public="1" set="method" line="31">* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the indices of the frames in the atlas are already known.
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Frames An array of indices indicating what frames to append (e.g. `[0, 1, 2]`).
<_HX_SUPER__append public="1" set="method" line="31">{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param FrameNames An array of image names from the atlas indicating what frames to play in what order.
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.
<_HX_SUPER__addByNames public="1" set="method" line="31">
{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the exact name of each frame from the atlas is known (e.g. `"walk00.png"`, `"walk01.png"`).
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param FrameNames An array of image names from atlas indicating what frames to append.
<_HX_SUPER__appendByNames public="1" set="method" line="31">{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite. Should be slightly faster than `addByIndices()`.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`).
* @param Indices An array of strings indicating what frames to play in what order
* (e.g. `["01", "02", "03"]`).
* @param Postfix Common ending of image names in atlas (e.g. `".png"`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.
<_HX_SUPER__addByStringIndices public="1" set="method" line="31">
{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Should be slightly faster than `appendByIndices()`. Use this method when the names of each frame from
* the atlas share a common prefix and postfix (e.g. `"walk00.png"`, `"walk01.png"`).
* The animation must already exist in order to append frames to it. FrameRate and Looped are unchanged.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`).
* @param Indices An array of strings indicating what frames to append (e.g. `["01", "02", "03"]`).
* @param Postfix Common ending of image names in atlas (e.g. `".png"`).
<_HX_SUPER__appendByStringIndices public="1" set="method" line="31">{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Prefix Common beginning of image names in the atlas (e.g. "tiles-").
* @param Indices An array of numbers indicating what frames to play in what order (e.g. `[0, 1, 2]`).
* @param Postfix Common ending of image names in the atlas (e.g. `".png"`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.
<_HX_SUPER__addByIndices public="1" set="method" line="31">
{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the names of each frame from the atlas share a common prefix
* and postfix (e.g. `"walk00.png"`, `"walk01.png"`).
* Leading zeroes are ignored for matching indices (`5` will match `"5"` and `"005"`).
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`).
* @param Indices An array of numbers indicating what frames to append (e.g. `[0, 1, 2]`).
* @param Postfix Common ending of image names in atlas (e.g. `".png"`).
<_HX_SUPER__appendByIndices public="1" set="method" line="31">* Find a sprite frame so that for `Prefix = "file"; Index = 5; Postfix = ".png"`
* It will find frame with name `"file5.png"`. If it doesn't exist it will try
* to find `"file05.png"`, allowing 99 frames per animation.
* Returns the found frame or `-1` on failure.
<_HX_SUPER__findSpriteFrame set="method" line="148">{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds a new animation to the sprite.
*
* @param Name What this animation should be called (e.g. `"run"`).
* @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`).
* @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps).
* @param Looped Whether or not the animation is looped or just plays once.
* @param FlipX Whether the frames should be flipped horizontally.
* @param FlipY Whether the frames should be flipped vertically.
<_HX_SUPER__addByPrefix public="1" set="method" line="31">
{ FlipY : false, FlipX : false, Looped : true, FrameRate : 30 }* Adds to an existing animation in the sprite by appending the specified frames to the existing frames.
* Use this method when the names of each frame from the atlas share a common prefix
* (e.g. `"walk00.png"`, `"walk01.png"`).
* Frames are sorted numerically while ignoring postfixes (e.g. `".png"`, `".gif"`).
* The animation must already exist in order to append frames to it.
*
* @param Name What the existing animation is called (e.g. `"run"`).
* @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`)
<_HX_SUPER__appendByPrefix public="1" set="method" line="31">{ Frame : 0, Reversed : false, Force : false }* Plays an existing animation (e.g. `"run"`).
* If you call an animation that is already playing, it will be ignored.
*
* @param AnimName The string name of the animation you want to play.
* @param Force Whether to force the animation to restart.
* @param Reversed Whether to play animation backwards or not.
* @param Frame The frame number in the animation you want to start from.
* If a negative value is passed, a random frame is used.
<_HX_SUPER__play public="1" set="method" line="31">
{ Frame : 0, Reversed : false, Force : false }* Stops current animation and sets its frame to the last one.
<_HX_SUPER__finish public="1" set="method" line="31">* Just stops current animation.
<_HX_SUPER__stop public="1" set="method" line="31">* Changes to a random animation frame.
* Useful for instantiating particles or other weird things.
<_HX_SUPER__randomFrame public="1" set="method" line="31">
<_HX_SUPER__byNamesHelper set="method" line="31">
<_HX_SUPER__byStringIndicesHelper set="method" line="31">
<_HX_SUPER__byIndicesHelper set="method" line="31">
<_HX_SUPER__byPrefixHelper set="method" line="31">
<_HX_SUPER__findByPrefix set="method" line="31">
<_HX_SUPER__set_frameIndex set="method" line="148">
<_HX_SUPER__set_frameName set="method" line="148">
<_HX_SUPER__get_name set="method" line="148">
<_HX_SUPER__set_name set="method" line="148">* Gets a list with all the animations that are added in a sprite.
* WARNING: Do not confuse with `getNameList`, this function returns the animation instances
* @return an array with all the animations.
* @since 4.11.0
<_HX_SUPER__getAnimationList public="1" set="method" line="148">* Gets a list with all the name animations that are added in a sprite
* WARNING: Do not confuse with `getAnimationList`, this function returns the animation names
* @return an array with all the animation names in it.
* @since 4.11.0
<_HX_SUPER__getNameList public="1" set="method" line="148">* Checks if an animation exists by it's name.
* @param name The animation name.
* @since 4.11.0
<_HX_SUPER__exists public="1" set="method" line="148">* Renames the animation with a new name.
* @param oldName the name that is replaced.
* @param newName the name that replaces the old one.
* @since 4.11.0
<_HX_SUPER__rename public="1" set="method" line="148">
<_HX_SUPER__get_finished set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.animation.FlxAnimationController* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">{ Frame : 0, Reversed : false, Force : false }* Starts this animation playback.
*
* @param Force Whether to force this animation to restart.
* @param Reversed Whether to play animation backwards or not.
* @param Frame The frame number in this animation you want to start from (`0` by default).
* If you pass a negative value then it will start from a random frame.
* If you `Reversed` is `true`, the frame value will be "reversed"
* (`Frame = numFrames - 1 - Frame`), so `Frame` value will mean frame index
* from the animation's end in this case.
<_HX_SUPER__play public="1" set="method" line="31">
{ Frame : 0, Reversed : false, Force : false }
<_HX_SUPER__restart public="1" set="method" line="31">
<_HX_SUPER__stop public="1" set="method" line="31">
<_HX_SUPER__reset public="1" set="method" line="31">
<_HX_SUPER__finish public="1" set="method" line="31">
<_HX_SUPER__pause public="1" set="method" line="31">
<_HX_SUPER__reverse public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__clone public="1" set="method" line="148">
<_HX_SUPER__set_frameRate set="method" line="148">
<_HX_SUPER__set_curFrame set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.animation.FlxAnimation
<_HX_SUPER__set_curIndex set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__clone public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.animation.FlxBaseAnimation"prerotated_animation"0* @author Zaphodhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__set_angle set="method" line="148">
<_HX_SUPER__set_curIndex set="method" line="148">
<_HX_SUPER__clone public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.animation.FlxPrerotatedAnimation
<_pool expr="new FlxPool<FlxFlicker>(FlxFlicker)" line="15" static="1">
(FlxFlicker)]]>
<_boundObjects expr="new Map<FlxObject,FlxFlicker>()" line="20" static="1">
()]]>* Internal map for looking up which objects are currently flickering and getting their flicker data.{ ForceRestart : true, EndVisibility : true, Interval : 0.04, Duration : 1 }* Returns whether the object is flickering or not.
*
* @param Object The object to test.* Stops flickering of the object. Also it will make the object visible.
*
* @param Object The object to stop flickering.* The final visibility of the object after flicker is complete.* The flicker timer. You can check how many seconds has passed since flickering started etc.* The callback that will be triggered after flicker has completed.* The callback that will be triggered every time object visiblity is changed.* The duration of the flicker (in seconds). `0` means "forever".* The interval of the flicker.* Nullifies the references to prepare object for reuse and avoid memory leaks.* Starts flickering behavior.* Prematurely ends flickering.* Unbinds the object from flicker and releases it into pool for reuse.* Just a helper function for flicker() to update object's visibility.* Internal constructor. Use static methods.* The retro flickering effect with callbacks.
* You can use this as a mixin in any FlxObject subclass or by calling the static functions.
* @author pixelomatichscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Nullifies the references to prepare object for reuse and avoid memory leaks.
<_HX_SUPER__destroy public="1" set="method" line="31">* Starts flickering behavior.
<_HX_SUPER__start set="method" line="31">* Prematurely ends flickering.
<_HX_SUPER__stop public="1" set="method" line="31">* Unbinds the object from flicker and releases it into pool for reuse.
<_HX_SUPER__release set="method" line="31">* Just a helper function for flicker() to update object's visibility.
<_HX_SUPER__flickerProgress set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.effects.FlxFlickerhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast FlxParticle* Set your own particle class type here. The custom class must extend `FlxParticle`. Default is `FlxParticle`.false* Determines whether the emitter is currently emitting particles. It is totally safe to directly toggle this.0.1* How often a particle is emitted (if emitter is started with `Explode == false`).* Sets particle's blend mode. `null` by default. Warning: Expensive on Flash.0* The x position of this emitter.0* The y position of this emitter.0* The width of this emitter. Particles can be randomly generated from anywhere within this box.0* The height of this emitter. Particles can be randomly generated from anywhere within this box.FlxEmitterMode.CIRCLE* How particles should be launched. If `CIRCLE`, particles will use `launchAngle` and `speed`.
* Otherwise, particles will just use `velocity.x` and `velocity.y`.false* Keep the scale ratio of the particle. Uses the `x` values of `scale`.new FlxPointRangeBounds(-100, -100, 100, 100)* Sets the velocity range of particles launched from this emitter. Only used with `FlxEmitterMode.SQUARE`.(0, 100)]]>* Set the speed range of particles launched from this emitter. Only used with `FlxEmitterMode.CIRCLE`.(0, 0)]]>* Set the angular acceleration range of particles launched from this emitter.(0, 0)]]>* Set the angular drag range of particles launched from this emitter.(0, 0)]]>* The angular velocity range of particles launched from this emitter.(0)]]>* The angle range of particles launched from this emitter.
* `angle.end` is ignored unless `ignoreAngularVelocity` is set to `true`.false* Set this if you want to specify the beginning and ending value of angle,
* instead of using `angularVelocity` (or `angularAcceleration`).(-180, 180)]]>* The angle range at which particles will be launched from this emitter.
* Ignored unless `launchMode` is set to `FlxEmitterMode.CIRCLE`.(3)]]>* The life, or duration, range of particles launched from this emitter.new FlxPointRangeBounds(1, 1)* Sets `scale` range of particles launched from this emitter.(1)]]>* Sets `alpha` range of particles launched from this emitter.new FlxRangeBounds(FlxColor.WHITE, FlxColor.WHITE)* Sets `color` range of particles launched from this emitter.new FlxPointRangeBounds(0, 0)* Sets X and Y drag component of particles launched from this emitter.new FlxPointRangeBounds(0, 0)* Sets the `acceleration` range of particles launched from this emitter.
* Set acceleration y-values to give particles gravity.(0)]]>* Sets the `elasticity`, or bounce, range of particles launched from this emitter.false* Sets the `immovable` flag for particles launched from this emitter.false* Sets the `autoUpdateHitbox` flag for particles launched from this emitter.
* If true, the particles' hitbox will be updated to match scale.NONE* Sets the `allowCollisions` value for particles launched from this emitter.
* Set to `NONE` by default. Don't forget to call `FlxG.collide()` in your update loop!* Shorthand for toggling `allowCollisions` between `ANY` (if `true`) and `NONE` (if `false`).
* Don't forget to call `FlxG.collide()` in your update loop!
<_quantity expr="0">
0* Internal helper for deciding how many particles to launch.
<_explode expr="true">
true* Internal helper for the style of particle emission (all at once, or one at a time).
<_timer expr="0">
0* Internal helper for deciding when to launch particles or kill them.
<_counter expr="0">
0* Internal counter for figuring out how many particles to launch.
<_point expr="FlxPoint.get()">
FlxPoint.get()* Internal point object, handy for reusing for memory management purposes.
<_waitForKill expr="false">
false* Internal helper for automatically calling the `kill()` method* Clean up memory.{ AutoBuffer : false, Multiple : false, bakedRotationAngles : 16, Quantity : 50 }* This function generates a new array of particle sprites to attach to the emitter.
*
* @param Graphics If you opted to not pre-configure an array of `FlxParticle` objects,
* you can simply pass in a particle image or sprite sheet.
* @param Quantity The number of particles to generate when using the "create from image" option.
* @param BakedRotations How many frames of baked rotation to use (boosts performance).
* Set to zero to not use baked rotations.
* @param Multiple Whether the image in the `Graphics` param is a single particle or a bunch of particles
* (if it's a bunch, they need to be square!).
* @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners.
* Default is `false`. Will create frames that are 150% larger on each axis than the
* original frame or graphic.
* @return This `FlxEmitter` instance (nice for chaining stuff together).{ AutoBuffer : false, Multiple : false }{ Quantity : 50, Color : FlxColor.WHITE, Height : 2, Width : 2 }* Similar to `FlxSprite#makeGraphic()`, this function allows you to quickly make single-color particles.
*
* @param Width The width of the generated particles. Default is `2` pixels.
* @param Height The height of the generated particles. Default is `2` pixels.
* @param Color The color of the generated particles. Default is white.
* @param Quantity How many particles to generate. Default is `50`.
* @return This `FlxEmitter` instance (nice for chaining stuff together).* Called automatically by the game loop, decides when to launch particles and when to "die".* Call this function to turn off all the particles and the emitter.{ Quantity : 0, Frequency : 0.1, Explode : true }* Call this function to start emitting particles.
*
* @param Explode Whether the particles should all burst out at once.
* @param Frequency Ignored if `Explode` is set to `true`. `Frequency` is how often to emit a particle.
* `0` = never emit, `0.1` = 1 particle every 0.1 seconds, `5` = 1 particle every 5 seconds.
* @param Quantity How many particles to launch. `0` = "all of the particles".
* @return This `FlxEmitter` instance (nice for chaining stuff together).* This function can be used both internally and externally to emit the next particle.* Change the emitter's midpoint to match the midpoint of a `FlxObject`.
*
* @param Object The `FlxObject` that you want to sync up with.{ Y : 0, X : 0 }* Helper function to set the coordinates of this object.{ Size : 0, Y : 0, X : 0 }* Creates a new `FlxTypedEmitter` object at a specific position.
* Does NOT automatically generate or attach particles!
*
* @param X The X position of the emitter.
* @param Y The Y position of the emitter.
* @param Size Optional, specifies a maximum capacity for this emitter.* FlxTypedEmitter is a lightweight particle emitter.
* It can be used for one-time explosions or for continuous fx like rain and fire.
* `FlxEmitter` is not optimized or anything; all it does is launch `FlxParticle` objects out
* at set intervals by setting their positions and velocities accordingly.
* It is easy to use and relatively efficient, relying on `FlxGroup`'s RECYCLE POWERS.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0* How long this particle lives before it disappears. Set to `0` to never `kill()` the particle automatically.
* NOTE: this is a maximum, not a minimum; the object could get recycled before its `lifespan` is up.0* How long this particle has lived so far.0* What percentage progress this particle has made of its total life.
* Essentially just `(age / lifespan)` on a scale from `0` to `1`.false* Whether or not the hitbox should be updated each frame when scaling.* The range of values for `velocity` over this particle's `lifespan`.* The range of values for `angularVelocity` over this particle's `lifespan`.* The range of values for `scale` over this particle's `lifespan`.* The range of values for `alpha` over this particle's `lifespan`.* The range of values for `color` over this particle's `lifespan`.* The range of values for `drag` over this particle's `lifespan`.* The range of values for `acceleration` over this particle's `lifespan`.* The range of values for `elasticity` over this particle's `lifespan`.
<_delta expr="0">
0* The amount of change from the previous frame.* Clean up memory.* The particle's main update logic. Basically updates properties if alive, based on ranged properties.* Triggered whenever this object is launched by a `FlxEmitter`.
* You can override this to add custom behavior like a sound or AI or something.* Instantiate a new particle. Like `FlxSprite`, all meaningful creation
* happens during `loadGraphic()` or `makeGraphic()` or whatever.* This is a simple particle class that extends the default behavior
* of `FlxSprite` to have slightly more specialized behavior
* common to many game scenarios. You can override and extend this class
* just like you would FlxSprite. While FlxEmitter
* used to work with just any old sprite, it now requires a
* `FlxParticle` based class.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* The particle's main update logic. Basically updates properties if alive, based on ranged properties.
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__reset public="1" set="method" line="31">* Triggered whenever this object is launched by a `FlxEmitter`.
* You can override this to add custom behavior like a sound or AI or something.
<_HX_SUPER__onEmit public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.effects.particles.FlxParticleflixel.effects.particles.FlxParticle.IFlxParticlehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__enable public="1" set="method" line="148">
<_HX_SUPER__capture public="1" set="method" line="148">
<_HX_SUPER__rebuild public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__render public="1" set="method" line="148">
<_HX_SUPER__setUniform public="1" set="method" line="148">
<_HX_SUPER__set_to public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.effects.postprocess.PostProcessfalse* The default value for the `persist` variable at creation if none is specified in the constructor.
* @see [FlxGraphic.persist](https://api.haxeflixel.com/flixel/graphics/FlxGraphic.html#persist){ Cache : true, Unique : false }* Creates and caches FlxGraphic object from openfl.Assets key string.
*
* @param Source `openfl.Assets` key string. For example: `"assets/image.png"`.
* @param Unique Ensures that the `BitmapData` uses a new slot in the cache.
* If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory.
* @param Key Force the cache to use a specific key to index the bitmap.
* @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching.
* @return Cached `FlxGraphic` object we just created.{ Cache : true, Unique : false }`.
*
* @param Source `Class` to create `BitmapData` for `FlxGraphic` from.
* @param Unique Ensures that the `BitmapData` uses a new slot in the cache.
* If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory.
* @param Key Force the cache to use a specific key to index the bitmap.
* @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching.
* @return `FlxGraphic` object we just created.]]>{ Cache : true, Unique : false }* Creates and caches `FlxGraphic` object from specified `BitmapData` object.
*
* @param Source `BitmapData` for `FlxGraphic` to use.
* @param Unique Ensures that the `BitmapData` uses a new slot in the cache.
* If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory.
* @param Key Force the cache to use a specific key to index the bitmap.
* @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching.
* @return `FlxGraphic` object we just created.{ Cache : true, Unique : false }* Creates and (optionally) caches a `FlxGraphic` object from the specified `FlxFrame`.
* It uses frame's `BitmapData`, not the `frame.parent.bitmap`.
*
* @param Source `FlxFrame` to get the `BitmapData` from.
* @param Unique Ensures that the bitmap data uses a new slot in the cache.
* If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory.
* @param Key Force the cache to use a specific key to index the bitmap.
* @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching.
* @return `FlxGraphic` object we just created.{ Unique : false }* Creates and caches a FlxGraphic object from the specified `FlxFramesCollection`.
* It uses `frames.parent.bitmap` as a source for the `FlxGraphic`'s `BitmapData`.
* It also copies all the frames collections onto the newly created `FlxGraphic`.
*
* @param Source `FlxFramesCollection` to get the `BitmapData` from.
* @param Unique Ensures that the `BitmapData` uses a new slot in the cache.
* If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory.
* @param Key Force the cache to use a specific key to index the bitmap.
* @return Cached `FlxGraphic` object we just created.{ Unique : false }* Creates and caches a `FlxGraphic` object from the specified `FlxGraphic` object.
* It copies all the frame collections onto the newly created `FlxGraphic`.
*
* @param Source `FlxGraphic` to get the `BitmapData` from.
* @param Unique Ensures that the `BitmapData` uses a new slot in the cache.
* If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory.
* @param Key Force the cache to use a specific key to index the bitmap.
* @return Cached `FlxGraphic` object we just created.{ Unique : false }* Generates and caches new `FlxGraphic` object with a colored rectangle.
*
* @param Width How wide the rectangle should be.
* @param Height How high the rectangle should be.
* @param Color What color the rectangle should have (`0xAARRGGBB`).
* @param Unique Ensures that the `BitmapData` uses a new slot in the cache.
* @param Key Force the cache to use a specific key to index the bitmap.
* @return The `FlxGraphic` object we just created.{ Unique : false }* Helper method for cloning specified `BitmapData` if necessary.
*
* @param Bitmap `BitmapData` to process
* @param Unique Whether we need to clone specified `BitmapData` object or not
* @return Processed `BitmapData`{ Cache : true, Unique : false }* Creates and caches the specified `BitmapData` object.
*
* @param Bitmap `BitmapData` to use as a graphic source for the new `FlxGraphic`.
* @param Key Key to use as a cache key for the created `FlxGraphic`.
* @param Unique Whether the new `FlxGraphic` object uses a unique `BitmapData` or not.
* If `true`, the specified `BitmapData` will be cloned.
* @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching.
* @return Created `FlxGraphic` object.false* Key used in the `BitmapFrontEnd` cache.* The cached `BitmapData` object.0* Width of the cached `BitmapData`.0* Height of the cached `BitmapData`.* Asset name from `openfl.Assets`.* Class name for the `BitmapData`.false* Whether this graphic object should stay in the cache after state changes or not.
* `destroyOnNoUse` has no effect when this is set to `true`.* Whether this `FlxGraphic` should be destroyed when `useCount` becomes zero (defaults to `true`).
* Has no effect when `persist` is `true`.false* Whether the `BitmapData` of this graphic object has been dumped or not.* Whether the `BitmapData` of this graphic object has been loaded or not.* Whether the `BitmapData` of this graphic object can be dumped for decreased memory usage,
* but may cause some issues (when you need direct access to pixels of this graphic.
* If the graphic is dumped then you should call `undump()` and have total access to pixels.* Usage counter for this `FlxGraphic` object.* `FlxImageFrame` object for the whole bitmap.* Atlas frames for this graphic.
* You should fill it yourself with one of `FlxAtlasFrames`'s static methods
* (like `fromTexturePackerJson()`, `fromTexturePackerXml()`, etc).* Storage for all available frame collection of all types for this graphic object.* All types of frames collection which had been added to this graphic object.
* It helps to avoid map iteration, which produces a lot of garbage.false* Shows whether this object unique in cache or not.
*
* Whether undumped `BitmapData` should be cloned or not.
* It is `false` by default, since it significantly increases memory consumption.
<_imageFrame>
* Internal var holding `FlxImageFrame` for the whole bitmap of this graphic.
* Use public `imageFrame` var to access/generate it.
<_useCount expr="0">
0
<_destroyOnNoUse expr="true">
true* Dumps bits of `BitmapData` to decrease memory usage, but you can't read/write pixels on it anymore
* (but you can call `onContext()` (or `undump()`) method which will restore it again).* Undumps bits of the `BitmapData` - regenerates it and regenerate tilesheet data for this object* Use this method to restore cached `BitmapData` (if it's possible).
* It's called automatically when the RESIZE event occurs.* Asset reload callback for this graphic object.
* It regenerated its tilesheet and resets frame bitmaps.* Trying to free the memory as much as possible* Stores specified `FlxFrame` collection in internal map (this helps reduce object creation).
*
* @param collection frame collection to store.* Searches frame collections of specified type for this `FlxGraphic` object.
*
* @param type The type of frames collections to search for.
* @return Array of available frames collections of specified type for this object.* Creates empty frame for this graphic with specified size.
* This method could be useful for tile frames, in case when you'll need empty tile.
*
* @param size dimensions of the frame to add.
* @return Empty frame with specified size which belongs to this `FlxGraphic` object.* Gets the `BitmapData` for this graphic object from OpenFL.
* This method is used for undumping graphic.* `FlxGraphic` constructor
*
* @param Key Key string for this graphic object, with which you can get it from bitmap cache.
* @param Bitmap `BitmapData` for this graphic object.
* @param Persist Whether or not this graphic stay in the cache after resetting it.
* Default value is `false`, which means that this graphic will be destroyed at the cache reset.* `BitmapData` wrapper which is used for rendering.
* It stores info about all frames, generated for specific `BitmapData` object.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Dumps bits of `BitmapData` to decrease memory usage, but you can't read/write pixels on it anymore
* (but you can call `onContext()` (or `undump()`) method which will restore it again).
<_HX_SUPER__dump public="1" set="method" line="31">* Undumps bits of the `BitmapData` - regenerates it and regenerate tilesheet data for this object
<_HX_SUPER__undump public="1" set="method" line="31">* Use this method to restore cached `BitmapData` (if it's possible).
* It's called automatically when the RESIZE event occurs.
<_HX_SUPER__onContext public="1" set="method" line="31">* Asset reload callback for this graphic object.
* It regenerated its tilesheet and resets frame bitmaps.
<_HX_SUPER__onAssetsReload public="1" set="method" line="31">* Trying to free the memory as much as possible
<_HX_SUPER__destroy public="1" set="method" line="31">* Stores specified `FlxFrame` collection in internal map (this helps reduce object creation).
*
* @param collection frame collection to store.
<_HX_SUPER__addFrameCollection public="1" set="method" line="31">* Gets the `BitmapData` for this graphic object from OpenFL.
* This method is used for undumping graphic.
<_HX_SUPER__getBitmapFromSystem set="method" line="148">
<_HX_SUPER__get_useCount set="method" line="148">
<_HX_SUPER__set_useCount set="method" line="148">
<_HX_SUPER__get_destroyOnNoUse set="method" line="148">
<_HX_SUPER__set_destroyOnNoUse set="method" line="148">
<_HX_SUPER__get_imageFrame set="method" line="148">
<_HX_SUPER__get_atlasFrames set="method" line="148">
<_HX_SUPER__set_bitmap set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.FlxGraphicnew Point()new Matrix()new FlxPoint(128, 128)* Default minimum size for atlases.new FlxPoint(1024, 1024)* Default maximum size for atlases.* Root node of the atlas.* Name of this atlas, used as a key in the bitmap cache.* `BitmapData` of this atlas, combines all images into a big one.* Graphic for this atlas.false* Whether this atlas should stay in memory after state switch.
* Default value if `false`.1* Offsets between nodes.* Total width of the atlas.* Total height of the atlas.128* Minimum width for this atlas.128* Minimum height for this atlas1024* Maximum width for this atlas.1024* Maximum height for this atlas.false* Whether to allow image rotation for packing in atlas.false* Whether the size of this atlas should be the power of 2 or not.
<_graphic>
<_tempStorage>
* Internal storage for building atlas from queue`.
* @param Key Image name, optional.
* You can omit it if you pass `String` or `Class` as a `Graphic` source.
* @return Newly created and added node, or `null` if there is no space for it.]]>{ firstGrandChildRotated : false }{ decideHowToDivide : false }`).
* @param Key Optional key for image
* @param tileSize The size of tile in spritesheet
* @param tileSpacing Offsets to add in spritesheet between tiles
* @param tileBorder Border to add around tiles (helps to avoid "tearing" problem)
* @param region Region of source image to use as a source graphic
* @return Generated `FlxTileFrames` for the added node]]>* Gets the `FlxAtlasFrames` object for this atlas.
* It caches graphic of this atlas and generates `FlxAtlasFrames` if it doesn't exist yet.
*
* @return `FlxAtlasFrames` for this atlas* Checks if the atlas already contains node with the same name.
*
* @param nodeName Node name to check.
* @return `true` if atlas already contains node with the name.* Gets a node by it's name.
*
* @param key Node name to search for.
* @return node with searched name. `null` if atlas doesn't contain any node with that name.* Optimized version of method for adding multiple nodes to atlas.
* Uses less of the atlas' area (it sorts images by the size before adding them to atlas).
*
* @param bitmaps `BitmapData`'s to insert
* @param keys Names of these `BitmapData` objects.
* @return `this` `FlxAtlas`* Internal method for sorting bitmaps* Creates a new "queue" for adding new nodes.
* This method should be used with the `addToQueue()` and `generateFromQueue()` methods:
* - first, you create queue, like `atlas.createQueue()`;
* - second, you add several bitmaps to the queue: `atlas.addToQueue(bmd1, "key1").addToQueue(bmd2, "key2");`
* - third, you actually bake those bitmaps onto the atlas: `atlas.generateFromQueue();`* Adds new object to queue for later creation of new node
*
* @param data `BitmapData` to bake on atlas
* @param key "name" of the `BitmapData`. You'll use it as a key for accessing the created node.* Adds all objects in "queue" to existing atlas. Doesn't remove any nodes.* Destroys the atlas. Use only if you want to clear memory and don't need this atlas anymore,
* since it disposes the `BitmapData` and removes it from the cache.* Clears all data in atlas. Use it when you want reuse this atlas.
* WARNING: it will destroy the graphic of this image, so you can get
* null pointer exceptions if you're still using it for your sprites.* Returns atlas data in LibGdx packer format.{ rotate : false, border : 1, powerOfTwo : false }* Atlas constructor
*
* @param name The name of this atlas. It will be used for caching `BitmapData` of this atlas.
* @param powerOfTwo Whether the size of this atlas should be the power of 2 or not.
* @param border Gap between nodes to insert.
* @param rotate Whether to rotate added images for less atlas size.
* @param minSize Min size of atlas.
* @param maxSize Max size of atlas.* Class for packing multiple images in big one and generating frame data for each of them
* so you can easily load regions of atlas in sprites and tilemaps as a source of graphichscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initRoot set="method" line="31">`.
* @param Key Image name, optional.
* You can omit it if you pass `String` or `Class` as a `Graphic` source.
* @return Newly created and added node, or `null` if there is no space for it.]]>
<_HX_SUPER__addNode public="1" set="method" line="148">
<_HX_SUPER__wrapRoot set="method" line="31">
<_HX_SUPER__tryInsert set="method" line="148">
<_HX_SUPER__needToDivideHorizontally set="method" line="148">{ firstGrandChildRotated : false }
<_HX_SUPER__divideNode set="method" line="148">
{ firstGrandChildRotated : false }
<_HX_SUPER__insertFirstNodeInRoot set="method" line="148">
<_HX_SUPER__expand set="method" line="148">{ decideHowToDivide : false }
<_HX_SUPER__expandRoot set="method" line="31">
{ decideHowToDivide : false }
<_HX_SUPER__expandBitmapData set="method" line="31">
<_HX_SUPER__getNextPowerOfTwo set="method" line="148">`).
* @param Key Optional key for image
* @param tileSize The size of tile in spritesheet
* @param tileSpacing Offsets to add in spritesheet between tiles
* @param tileBorder Border to add around tiles (helps to avoid "tearing" problem)
* @param region Region of source image to use as a source graphic
* @return Generated `FlxTileFrames` for the added node]]>
<_HX_SUPER__addNodeWithSpacesAndBorders public="1" set="method" line="148">* Gets the `FlxAtlasFrames` object for this atlas.
* It caches graphic of this atlas and generates `FlxAtlasFrames` if it doesn't exist yet.
*
* @return `FlxAtlasFrames` for this atlas
<_HX_SUPER__getAtlasFrames public="1" set="method" line="148">
<_HX_SUPER__addNodeToAtlasFrames set="method" line="31">* Checks if the atlas already contains node with the same name.
*
* @param nodeName Node name to check.
* @return `true` if atlas already contains node with the name.
<_HX_SUPER__hasNodeWithName public="1" set="method" line="148">* Gets a node by it's name.
*
* @param key Node name to search for.
* @return node with searched name. `null` if atlas doesn't contain any node with that name.
<_HX_SUPER__getNode public="1" set="method" line="148">* Optimized version of method for adding multiple nodes to atlas.
* Uses less of the atlas' area (it sorts images by the size before adding them to atlas).
*
* @param bitmaps `BitmapData`'s to insert
* @param keys Names of these `BitmapData` objects.
* @return `this` `FlxAtlas`
<_HX_SUPER__addNodes public="1" set="method" line="148">
<_HX_SUPER__addFromAtlasObjects set="method" line="31">* Internal method for sorting bitmaps
<_HX_SUPER__bitmapSorter set="method" line="148">* Creates a new "queue" for adding new nodes.
* This method should be used with the `addToQueue()` and `generateFromQueue()` methods:
* - first, you create queue, like `atlas.createQueue()`;
* - second, you add several bitmaps to the queue: `atlas.addToQueue(bmd1, "key1").addToQueue(bmd2, "key2");`
* - third, you actually bake those bitmaps onto the atlas: `atlas.generateFromQueue();`
<_HX_SUPER__createQueue public="1" set="method" line="148">* Adds new object to queue for later creation of new node
*
* @param data `BitmapData` to bake on atlas
* @param key "name" of the `BitmapData`. You'll use it as a key for accessing the created node.
<_HX_SUPER__addToQueue public="1" set="method" line="148">* Adds all objects in "queue" to existing atlas. Doesn't remove any nodes.
<_HX_SUPER__generateFromQueue public="1" set="method" line="148">
<_HX_SUPER__onClear set="method" line="31">* Destroys the atlas. Use only if you want to clear memory and don't need this atlas anymore,
* since it disposes the `BitmapData` and removes it from the cache.
<_HX_SUPER__destroy public="1" set="method" line="31">* Clears all data in atlas. Use it when you want reuse this atlas.
* WARNING: it will destroy the graphic of this image, so you can get
* null pointer exceptions if you're still using it for your sprites.
<_HX_SUPER__clear public="1" set="method" line="31">* Returns atlas data in LibGdx packer format.
<_HX_SUPER__getLibGdxData public="1" set="method" line="148">
<_HX_SUPER__deleteSubtree set="method" line="31">
<_HX_SUPER__findNodeToInsert set="method" line="148">
<_HX_SUPER__set_bitmapData set="method" line="148">
<_HX_SUPER__get_graphic set="method" line="148">
<_HX_SUPER__set_persist set="method" line="148">
<_HX_SUPER__set_minWidth set="method" line="148">
<_HX_SUPER__set_minHeight set="method" line="148">
<_HX_SUPER__get_width set="method" line="148">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__get_height set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<_HX_SUPER__set_maxWidth set="method" line="148">
<_HX_SUPER__set_maxHeight set="method" line="148">
<_HX_SUPER__set_powerOfTwo set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.atlas.FlxAtlasflixel.graphics.atlas.FlxAtlas.TempAtlasObj* Left child of this node.* Right child of this node.* Region of the atlas which this node holds, includes spacings between nodes.* The "name" of this node. You can get access to this node with it:
* `atlas.getNode(key);`* Logical flag showing whether this node has an image in it or not.* Atlas object which contains this node.* The x coordinate of the top-left corner of this node.* The y coordinate of the top-left corner of this node.* The width of this node.* The height of this node.* Logical flag, showing whether this node have any child nodes or image in it.* Whether we place node with specified width and height in this node.* Generates TileFrames object for this node
*
* @param tileSize The size of tile in spritesheet.
* @param tileSpacing Offsets between tiles in spritesheet.
* @param tileBorder Border to add around tiles (helps to avoid "tearing" problem).
* @return Created TileFrames object for this node.* Generates a `FlxImageFrame` object for this node.
*
* @return `FlxImageFrame` for the whole node{ rotated : false, key : "", filled : false }* Node constructor
*
* @param rect Region of atlas this node holds.
* @param atlas Atlas this node belongs to.
* @param filled Whether this node contains image or not.
* @param key The name of image in this node, and the name of this node.* Atlas node holds information about image on Atlas.
* Plus it have few methods for easy frame data generation,
* which can be loaded in sprites and in tilemaps.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Generates TileFrames object for this node
*
* @param tileSize The size of tile in spritesheet.
* @param tileSpacing Offsets between tiles in spritesheet.
* @param tileBorder Border to add around tiles (helps to avoid "tearing" problem).
* @return Created TileFrames object for this node.
<_HX_SUPER__getTileFrames public="1" set="method" line="148">* Generates a `FlxImageFrame` object for this node.
*
* @return `FlxImageFrame` for the whole node
<_HX_SUPER__getImageFrame public="1" set="method" line="148">
<_HX_SUPER__set_width set="method" line="148">
<_HX_SUPER__set_height set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.atlas.FlxNode* Parsing method for TexturePacker atlases in JSON format.
*
* @param Source The image source (can be `FlxGraphic`, `String`, or `BitmapData`).
* @param Description Contents of JSON file with atlas description.
* You can get it with `Assets.getText(path/to/description.json)`.
* Or you can just a pass path to the JSON file in the assets directory.
* You can also directly pass in the parsed object.
* @return Newly created `FlxAtlasFrames` collection.* Internal method for TexturePacker parsing. Parses the actual frame data.
*
* @param FrameName Name of the frame (file name of the original source image).
* @param FrameData The TexturePacker data excluding "filename".
* @param Frames The `FlxAtlasFrames` to add this frame to.* Parsing method for LibGDX atlases.
*
* @param source The image source (can be `FlxGraphic`, `String` or `BitmapData`).
* @param description Contents of the file with atlas description.
* You can get it with `Assets.getText(path/to/description/file)`.
* Or you can just pass path to the description file in the assets directory.
* @return Newly created `FlxAtlasFrames` collection.* Internal method for LibGDX atlas parsing. It tries to extract dimensions info from the specified string.{ useCache : true }* Parsing method for Sparrow texture atlases
* (they can be generated with Shoebox http://renderhjs.net/shoebox/ for example).
*
* @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`).
* @param Description Contents of the XML file with atlas description.
* You can get it with `Assets.getText(path/to/description.xml)`.
* Or you can just pass a path to the XML file in the assets directory.
* @param useCache Will specify whenever the cache should be used.
* @return Newly created `FlxAtlasFrames` collection.* Parsing method for TexturePacker atlases in generic XML format.
*
* @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`).
* @param Description Contents of the XML file with atlas description.
* You can get it with `Assets.getText(path/to/description.xml)`.
* Or you can just pass a path to the XML file in the assets directory.
* @return Newly created `FlxAtlasFrames` collection.* Parsing method for Sprite Sheet Packer atlases (http://spritesheetpacker.codeplex.com/).
*
* @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`).
* @param Description Contents of the file with atlas description.
* You can get it with `Assets.getText(path/to/description/file)`.
* Or you can just pass a path to the description file in the assets directory.
* @return Newly created `FlxAtlasFrames` collection.* Returns the `FlxAtlasFrame` of the specified `FlxGraphic` object.
*
* @param graphic `FlxGraphic` object to find the `FlxAtlasFrames` collection for.
* @return `FlxAtlasFrames` collection for the specified `FlxGraphic` object
* Could be `null` if `FlxGraphic` doesn't have it yet.* Atlas frames collection. It makes possible to use texture atlases in Flixel.
* Plus it contains few packer parser methods for most commonly used atlas formats.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__addBorder public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.frames.FlxAtlasFramesflixel.graphics.frames.FlxAtlasFrames.TexturePackerObject32910"DEFAULT_FONT_KEY"46100001000010010010000000?56111000001001100000000100000000@66011100100010101110101010011100000000A56011001001010010111101001000000B56111001001011100100101110000000C56011001001010000100100110000000D56111001001010010100101110000000E56111101000011000100001111000000F56111101000010000110001000000000G56011001000010110100100111000000H56100101001011110100101001000000I26101010101000J56000100001000010100100110000000K56100101001010010111001001000000L46100010001000100011100000M66100010100010110110101010100010000000N56100101001011010101101001000000O56011001001010010100100110000000P56111001001010010111001000000000Q56011001001010010100100110000010R56111001001010010111001001000000S56011101000001100000101110000000T46111001000100010001000000U56100101001010010100100110000000V56100101001010010101000100000000W66100010100010101010110110100010000000X56100101001001100100101001000000Y56100101001010010011100001001100Z56111100001001100100001111000000[36110100100100110000}46110001000010010011000000]36110010010010110000^46010010100000000000000000_46000000000000000011110000'26101000000000a56000000111010010100100111000000b56100001110010010100101110000000c46000001101000100001100000d56000100111010010100100111000000e56000000110010110110000110000000f46011010001000110010000000g5700000011001001010010011100001001100h56100001110010010100101001000000i26100010101000j37010000010010010010100k56100001001010010111001001000000l26101010101000m66000000111100101010101010101010000000n56000001110010010100101001000000o56000000110010010100100110000000p5700000111001001010010111001000010000q5700000011101001010010011100001000010r46000010101100100010000000s56000000111011000001101110000000t46100011001000100001100000u56000001001010010100100111000000v56000001001010010101000100000000w66000000101010101010101010011110000000x56000001001010010011001001000000y5700000100101001010010011100001001100z56000001111000100010001111000000{46011001001000010001100000|26101010101000}46110001000010010011000000~56010101010000000000000000000000\\46111010101010101011100000"]]>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"]]>* Default letters for XNA font.new Point()new Rectangle()* Retrieves the default `FlxBitmapFont`.
* May work incorrectly on HTML5.
* Utterly unreliable on Brave Browser with shields up.* Loads font data in AngelCode's format.
*
* @param Source Font image source.
* @param Data Font data.
* @return Generated bitmap font object.{ charBGColor : FlxColor.TRANSPARENT }* Load bitmap font in XNA/Pixelizer format.
* May work incorrectly on HTML5.
* Utterly unreliable on Brave Browser with shields up.
*
* @param source Source image for this font.
* @param letters `String` of characters contained in the source image,
* in order (ex. `" abcdefghijklmnopqrstuvwxyz"`). Defaults to `DEFAULT_CHARS`.
* @param charBGColor An additional background color to remove. Defaults to `FlxColor.TRANSPARENT`.
* @return Generated bitmap font object.* Loads a monospaced bitmap font.
*
* @param source Source image for this font.
* Use white pixels if you intend to change the color.
* @param letters The characters used in the font set, in display order.
* You can use the `TEXT_SET` constants for common font set arrangements.
* @param charSiz The size of each character in the font set.
* @param region The region of image to use for the font.
* Default is null which means that the whole image will be used.
* @param spacing Spaces between characters in the font set. Default is `null` which means no spaces.
* @return Generated bitmap font object.0* The size of the font. Can be useful for AngelCode fonts.0falsefalse00* Minimum x offset in this font.
* This is a helper variable for rendering purposes.0* The width of space character.* Helper map where character's frames are stored by char codes.* Helper map where character's xAdvance are stored by char codes.* Atlas frame from which this font has been parsed.* Internal method which creates and add char frames into this font.
*
* @param charCode Char code for char frame.
* @param frame Character region from source image.
* @param offset Offset before rendering this char.
* @param xAdvance How much cursor will jump after this char.* Creates a new bitmap font using specified bitmap data and letter input.* Holds information and bitmap characters for a bitmap font.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.text.FlxBitmapText
<_HX_SUPER__destroy public="1" set="method" line="31">* Internal method which creates and add char frames into this font.
*
* @param charCode Char code for char frame.
* @param frame Character region from source image.
* @param offset Offset before rendering this char.
* @param xAdvance How much cursor will jump after this char.
<_HX_SUPER__addCharFrame set="method" line="31">
<_HX_SUPER__updateSourceHeight set="method" line="31">
<_HX_SUPER__addBorder public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.frames.FlxBitmapFontnew Point()new Rectangle(){ heightInc : 0, widthInc : 0 }* Generates new frames collection from specified frames.
*
* @param frames Frames collection to generate filters for.
* @param widthInc How much frames should expand horizontally.
* @param heightInc How much frames should expend vertically.
* @param filters Optional filters array to apply.
* @return New frames collection which you can apply filters to.* Original frames collection0* How much frames should expand horizontally0* How much frames should expand vertically* Filters applied to these frames{ updateFrames : false, saveAnimations : false }* Just helper method which "centers" sprite offsets
*
* @param spr Sprite to apply this frame collection.
* @param saveAnimations Whether to save sprite's animations or not.
* @param updateFrames Whether to regenerate frame `BitmapData`s or not.* Adds a filter to this frames collection.
*
* @param filter The filter to be added.* Removes a filter from this frames collection.
*
* @param filter The filter to be removed.* Removes all filters from the frames.{ fill : true }{ heightInc : 0, widthInc : 0 }* Frames collection which you can apply bitmap filters to.
* WARNING: this frame collection doesn't use caching, so be careful or you will "leak" out memory very fast.
* You should destroy frames collections of this type manually.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ updateFrames : false, saveAnimations : false }* Just helper method which "centers" sprite offsets
*
* @param spr Sprite to apply this frame collection.
* @param saveAnimations Whether to save sprite's animations or not.
* @param updateFrames Whether to regenerate frame `BitmapData`s or not.
<_HX_SUPER__applyToSprite public="1" set="method" line="31">
{ updateFrames : false, saveAnimations : false }
<_HX_SUPER__genFrames set="method" line="31">* Removes a filter from this frames collection.
*
* @param filter The filter to be removed.
<_HX_SUPER__removeFilter public="1" set="method" line="31">* Removes all filters from the frames.
<_HX_SUPER__clearFilters public="1" set="method" line="31">
<_HX_SUPER__regenAndApplyFilters set="method" line="31">{ fill : true }
<_HX_SUPER__regenBitmaps set="method" line="31">
{ fill : true }
<_HX_SUPER__applyFilter set="method" line="148">
<_HX_SUPER__applyFilters set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__set_filters set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.frames.FlxFilterFrames* Sorts an array of `FlxFrame` objects by their name, e.g.
* `["tiles-001.png", "tiles-003.png", "tiles-002.png"]`
* with `"tiles-".length == prefixLength` and `".png".length == postfixLength`.new Point()new Point()new Rectangle()new FlxMatrix()* Region of the image to render.* UV coordinates for this frame.
* WARNING: For optimization purposes, width and height of this rect
* contain right and bottom coordinates (`x + width` and `y + height`).* Rotation angle of this frame.
* Required for packed atlas images.* Original (uncropped) image size.* Frame offset from top left corner of original image.* The type of this frame.flixel.graphics.frames.FlxFramesCollectionflixel.graphics.frames.FlxBitmapFont{ blit : true }* Applies frame rotation to the specified matrix, which should be used for tiling or blitting.
* Required for rotated frame support.
*
* @param mat Matrix to transform / rotate
* @param blit Whether specified matrix will be used for blitting or for tile rendering.
* @return Transformed matrix.{ flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Rotates and flips matrix. This method expects matrix which was prepared by `prepareBlitMatrix()`.
* Internal use only.
*
* @param mat Matrix to transform
* @param rotation Rotation to apply to specified matrix.
* @param flipX Do we need to flip frame horizontally
* @param flipY Do we need to flip frame vertically
* @return Transformed matrix with applied rotation and flipping{ flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Prepares matrix for frame blitting (see `paint` methods).
*
* @param mat Matrix to transform/prepare.
* @param rotation Rotation to apply to specified matrix.
* @param flipX Do we need to flip frame horizontally.
* @param flipY Do we need to flip frame vertically.
* @return Transformed matrix which can be used for frame painting.{ flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Prepares matrix for frame tile/triangles rendering.
*
* @param mat Matrix to transform/prepare
* @param rotation Rotation to apply to specified matrix.
* @param flipX Do we need to flip frame horizontally
* @param flipY Do we need to flip frame vertically
* @return Transformed matrix which can be used for frame drawing.{ disposeIfNotEqual : false, mergeAlpha : false }* Draws frame on specified `BitmapData` object.
*
* @param bmd `BitmapData` object to draw this frame on.
* If bmd is `null` then new a `BitmapData` is created.
* @param point Where to draw this frame on the specified `BitmapData` object.
* @param mergeAlpha Whether to merge alphas or not.
* (works like with `BitmapData`'s `copyPixels()` method).
* @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't
* equal to frame's original size (`sourceSize`)
* @return Modified or newly created `BitmapData` with frame image on it.{ disposeIfNotEqual : false, mergeAlpha : false, flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Draws rotated and flipped frame on specified BitmapData object.
*
* @param bmd BitmapData object to draw this frame on.
* If `bmd` is `null` then new `BitmapData` created.
* @param point Where to draw this frame on the specified `BitmapData` object
* @param rotation How much rotate the frame.
* @param flipX Do we need to flip frame horizontally.
* @param flipY Do we need to flip frame vertically.
* @param mergeAlpha Whether to merge alphas or not
* (works like with `BitmapData`'s `copyPixels()` method).
* @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't
* equal to frame's original size (`sourceSize`)
* @return Modified or newly created `BitmapData` with frame image on it.{ disposeIfNotEqual : false, mergeAlpha : false, rotation : FlxFrameAngle.ANGLE_0 }* Internal method which runs few checks on specified `BitmapData` object.
*
* @param bmd `BitmapData` object to check against.
* @param point Optional point for mergeAlpha checks
* @param rotation How much we will rotate the frame when we will be
* drawing it on specified `BitmapData`.
* @param mergeAlpha Whether to merge alphas or not
* (works like with `BitmapData`'s `copyPixels()` method).
* @param disposeIfNotEqual Whether dispose passed bmd or not if its size isn't
* equal to frame's original size (`sourceSize`).
* @return Prepared `BitmapData` for further frame blitting. Output `BitmapData` could be a different object.* Internal method which prepares frame rect for blitting.
* Required for rotated frames support.
*
* @param mat Frame transformation matrix (rotated / flipped / translated).
* @return Clipping rectangle which will be used for frame blitting.* Generates frame with specified subregion of this frame.
*
* @param rect Frame region to generate frame for.
* @param frameToFill Frame to fill with data. If `null` then a new frame will be created.
* @return Specified `frameToFill` object but filled with data.* Just a helper method for some frame adjusting.
* Try to not use it, since it may cause memory leaks.
*
* @param border Amount to clip from frame
* @return Clipped frame* Frame clipping
*
* @param clip Clipping rectangle to apply on frame
* @param clippedFrame The frame which will contain result of original frame clipping.
* If `null`, a new frame will be created.
* @return Result of applying frame clipping* Copies data from this frame into specified frame.
*
* @param clone Frame to fill data with. If `null`, a new frame will be created.
* @return Frame with data of this frame.{ flipY : false, flipX : false, angle : FlxFrameAngle.ANGLE_0 }flixel.graphics.FlxGraphicflixel.graphics.frames.FlxFramesCollection* Base class for all frame typeshscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Just enumeration of all types of frames.
* Added for faster type detection with less usage of casting.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 2cast 3hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 2cast 3hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 90cast -90cast -90hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 90cast -90cast -90hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.graphics.frames.FlxFrameAngle)cast (90, flixel.graphics.frames.FlxFrameAngle)cast (-90, flixel.graphics.frames.FlxFrameAngle)cast (-90, flixel.graphics.frames.FlxFrameAngle)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.graphics.frames.FlxFrameType)cast (2, flixel.graphics.frames.FlxFrameType)cast (3, flixel.graphics.frames.FlxFrameType)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.graphics.frames.FlxFramesCollectionflixel.graphics.frames.FlxBitmapFont
<_HX_SUPER__cacheFrameMatrix set="method" line="31">{ flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Prepares matrix for frame blitting (see `paint` methods).
*
* @param mat Matrix to transform/prepare.
* @param rotation Rotation to apply to specified matrix.
* @param flipX Do we need to flip frame horizontally.
* @param flipY Do we need to flip frame vertically.
* @return Transformed matrix which can be used for frame painting.
<_HX_SUPER__prepareTransformedBlitMatrix set="method" line="148">
{ flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }{ flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Prepares matrix for frame tile/triangles rendering.
*
* @param mat Matrix to transform/prepare
* @param rotation Rotation to apply to specified matrix.
* @param flipX Do we need to flip frame horizontally
* @param flipY Do we need to flip frame vertically
* @return Transformed matrix which can be used for frame drawing.
<_HX_SUPER__prepareMatrix public="1" set="method" line="148">
{ flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }{ disposeIfNotEqual : false, mergeAlpha : false }* Draws frame on specified `BitmapData` object.
*
* @param bmd `BitmapData` object to draw this frame on.
* If bmd is `null` then new a `BitmapData` is created.
* @param point Where to draw this frame on the specified `BitmapData` object.
* @param mergeAlpha Whether to merge alphas or not.
* (works like with `BitmapData`'s `copyPixels()` method).
* @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't
* equal to frame's original size (`sourceSize`)
* @return Modified or newly created `BitmapData` with frame image on it.
<_HX_SUPER__paint public="1" set="method" line="148">
{ disposeIfNotEqual : false, mergeAlpha : false }{ disposeIfNotEqual : false, mergeAlpha : false, flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Draws rotated and flipped frame on specified BitmapData object.
*
* @param bmd BitmapData object to draw this frame on.
* If `bmd` is `null` then new `BitmapData` created.
* @param point Where to draw this frame on the specified `BitmapData` object
* @param rotation How much rotate the frame.
* @param flipX Do we need to flip frame horizontally.
* @param flipY Do we need to flip frame vertically.
* @param mergeAlpha Whether to merge alphas or not
* (works like with `BitmapData`'s `copyPixels()` method).
* @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't
* equal to frame's original size (`sourceSize`)
* @return Modified or newly created `BitmapData` with frame image on it.
<_HX_SUPER__paintRotatedAndFlipped public="1" set="method" line="148">
{ disposeIfNotEqual : false, mergeAlpha : false, flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 }* Generates frame with specified subregion of this frame.
*
* @param rect Frame region to generate frame for.
* @param frameToFill Frame to fill with data. If `null` then a new frame will be created.
* @return Specified `frameToFill` object but filled with data.
<_HX_SUPER__subFrameTo public="1" set="method" line="148">* Just a helper method for some frame adjusting.
* Try to not use it, since it may cause memory leaks.
*
* @param border Amount to clip from frame
* @return Clipped frame
<_HX_SUPER__setBorderTo public="1" set="method" line="148">* Frame clipping
*
* @param clip Clipping rectangle to apply on frame
* @param clippedFrame The frame which will contain result of original frame clipping.
* If `null`, a new frame will be created.
* @return Result of applying frame clipping
<_HX_SUPER__clipTo public="1" set="method" line="148">* Copies data from this frame into specified frame.
*
* @param clone Frame to fill data with. If `null`, a new frame will be created.
* @return Frame with data of this frame.
<_HX_SUPER__copyTo public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__toString public="1" set="method" line="148">
<_HX_SUPER__set_frame set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.frames.FlxFrameflixel.graphics.frames.FlxFrame.FlxFrameTypeflixel.graphics.frames.FlxFrame.FlxFrameTypeflixel.graphics.frames.FlxFrame.FlxFrameAngleflixel.graphics.frames.FlxFrame.FlxFrameAngleflixel.graphics.frames.FlxFrame.FlxFrameAngle_HSCflixel.graphics.frames.FlxFrame.FlxFrameType_HSC* An enumeration of all types of frame collections.
* Added for faster type detection with less usage of casting.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Finds frame index by its name.
*
* @param name Name of the frame.
* @return Index of the frame with specified name.
<_HX_SUPER__getIndexByName public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">* Adds empty frame into this frame collection.
* An empty frame is doing almost nothing for all the time.
*
* @param size Dimensions of the frame to add.
* @return Newly added empty frame.
<_HX_SUPER__addEmptyFrame public="1" set="method" line="148">* Adds new regular (not rotated) `FlxFrame` to this frame collection.
*
* @param region Region of image which new frame will display.
* @return Newly created `FlxFrame` object for specified region of image.
<_HX_SUPER__addSpriteSheetFrame public="1" set="method" line="148">{ flipY : false, flipX : false, angle : 0 }* Adds new frame to this frame collection.
* This method runs additional check, and can add rotated frames (from texture atlases).
*
* @param frame Region of image.
* @param sourceSize Original size of packed image
* (if image had been cropped, then original size will be bigger than frame size).
* @param offset How frame region is located on original frame image
* (offset from top left corner of original image).
* @param name Name for this frame (name of packed image file).
* @param angle Rotation of packed image (can be `0`, `90` or `-90`).
* @param flipX If packed image should be horizontally flipped.
* @param flipY If packed image should be vertically flipped.
* @return Newly created and added frame object.
<_HX_SUPER__addAtlasFrame public="1" set="method" line="148">
{ flipY : false, flipX : false, angle : 0 }* Checks if frame's area fits into atlas image, and trims if it's out of atlas image bounds.
*
* @param frame Frame area to check.
* @param name Optional frame name for debugging info.
* @return Checked and trimmed frame rectangle.
<_HX_SUPER__checkFrame set="method" line="148">* Helper method for a adding frame to the collection.
*
* @param frameObj Frame to add.
* @return Added frame.
<_HX_SUPER__pushFrame public="1" set="method" line="148">* Generates new frames collection from this collection but trims frames by specified borders.
*
* @param border How much space trim around the frames.
* @return Generated frames collection.
<_HX_SUPER__addBorder public="1" set="method" line="148">
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.frames.FlxFramesCollectionflixel.graphics.frames.FlxFramesCollection.FlxFrameCollectionType* Generates a `FlxImageFrame` object with empty frame of specified size.
*
* @param graphic Graphic for the `FlxImageFrame`.
* @param frameRect The size of the empty frame to generate
* (only `width` and `height` of the `frameRect` need to be set properly).
* @return Newly created `FlxImageFrame` object with empty frame of specified size.* Generates a `FlxImageFrame` object from the specified `FlxFrame`.
*
* @param source `FlxFrame` to generate `FlxImageFrame` from.
* @return Created `FlxImageFrame` object.* Creates a `FlxImageFrame` object for the whole image.
*
* @param source image graphic for the `FlxImageFrame`.
* @return Newly created `FlxImageFrame` object for specified graphic.* Creates `FlxImageFrame` for the specified region of `FlxGraphic`.
*
* @param graphic Graphic for `FlxImageFrame`.
* @param region Region of image to create the `FlxImageFrame` for.
* @return Newly created `FlxImageFrame` object for the specified region of `FlxGraphic` object.* Creates a `FlxImageFrame` object for specified region of the image.
*
* @param source Image graphic for `FlxImageFrame`.
* @param region Region of the image to create the `FlxImageFrame` for.
* @return Newly created `FlxImageFrame` object for specified region of image.* Gets source BitmapData, generates new BitmapData (if there is no such BitmapData in the cache already)
* and creates FlxImageFrame collection.
*
* @param source The source of graphic for frame collection.
* @param border Border to add around tiles (helps to avoid "tearing" problem).
* @param region Region of image to generate image frame from. Default value is `null`, which means that
* whole image will be used for it.
* @return Newly created image frame collection.* Gets `FlxFrame` object, generates new `BitmapData` with border pixels around
* (if there is no such BitmapData in the cache already) and creates image frame collection.
*
* @param frame Frame to generate tiles from.
* @param border Border to add around frame image (helps to avoid "tearing" problem).
* @return Newly created image frame collection.* Searches `FlxImageFrame` object for specified `FlxGraphic` object which have the same frame rectangle.
*
* @param graphic `FlxGraphic` object to search the `FlxImageFrame` for.
* @param frameRect `FlxImageFrame` object should have frame with
* the same position and dimensions as specified with this argument.
* @return `FlxImageFrame` object which corresponds to specified rectangle.
* Could be `null` if there is no such `FlxImageFrame`.* Searches `FlxImageFrame` object with the empty frame which have specified size.
*
* @param graphic `FlxGraphic` object to search `FlxImageFrame` for.
* @param frameRect The size of empty frame to search for.
* @return `FlxImageFrame` with empty frame.* Single frame of this frame collection.
* Added this var for faster access, so you don't need to type something like: `imageFrame.frames[0]`* `FlxImageFrame` comparison method. For internal use.* Single-frame collection.
* Could be useful for non-animated sprites.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__addBorder public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__get_frame set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.frames.FlxImageFrame* Gets source `BitmapData`, generates new `BitmapData` with spaces between frames
* (if there is no such `BitmapData` in the cache already) and creates `FlxTileFrames` collection.
*
* @param source The source of graphic for frame collection.
* @param tileSize The size of tiles in spritesheet.
* @param tileSpacing Desired offsets between frames in spritesheet
* (this method takes spritesheet bitmap without offsets between frames and adds them).
* @param tileBorder Border to add around tiles (helps to avoid "tearing" problem).
* @param region Region of image to generate spritesheet from. Default value is `null`, which means that
* the whole image will be used for spritesheet generation.
* @return Newly created spritesheet.* Gets `FlxFrame` object, generates new `BitmapData` with spaces between tiles in the frame
* (if there is no such `BitmapData` in the cache already) and creates a `FlxTileFrames` collection.
*
* @param frame Frame to generate tiles from.
* @param tileSize the size of tiles in spritesheet.
* @param tileSpacing desired offsets between frames in spritesheet.
* (this method takes spritesheet bitmap without offsets between frames and adds them).
* @param tileBorder Border to add around tiles (helps to avoid "tearing" problem).
* @return Newly created spritesheet.* Generates spritesheet frame collection from provided frame. Can be useful for spritesheets packed into atlases.
* It can generate spritesheets from rotated and cropped frames also,
* which is important for devices with limited memory.
*
* @param frame Frame, containing spritesheet image
* @param tileSize The size of tiles in spritesheet
* @param tileSpacing Offsets between frames in spritesheet.
* Default value is `null`, which means no offsets between tiles.
* @return Newly created spritesheet frame collection.* Just generates tile frames collection from specified array of frames.
*
* @param Frames `Array` of frames to generate tile frames from.
* They all should have the same source size and parent graphic.
* If not then `null` will be returned.
* @return Generated collection of frames.* Creates new a `FlxTileFrames` collection from atlas frames which begin with
* a common name (e.g. `"tiles-"`) and differ in indices (e.g. `"001"`, `"002"`, etc.).
* This method is similar to `FlxAnimationController`'s `addByPrefix()`.
*
* @param Frames Collection of atlas frames to generate tiles from.
* @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`).
* @return Generated tile frames collection.* Generates spritesheet frame collection from provided region of image.
*
* @param graphic Source graphic for spritesheet.
* @param tileSize The size of tiles in spritesheet.
* @param region Region of image to use for spritesheet generation. Default value is `null`,
* which means that the whole image will be used for it.
* @param tileSpacing Offsets between frames in spritesheet.
* Default value is `null`, which means no offsets between tiles.
* @return Newly created spritesheet frame collection.* Generates a spritesheet frame collection from the provided image region.
*
* @param source Source graphic for the spritesheet.
* @param tileSize The size of tiles in spritesheet.
* @param region Region of image to use for spritesheet generation. Default value is `null`,
* which means that whole image will be used for it.
* @param tileSpacing Offsets between frames in spritesheet.
* Default value is `null`, which means no offsets between tiles.
* @return Newly created spritesheet frame collection.* This method takes array of tileset bitmaps and the size of
* tiles in them and then combine them in one big tileset.
* The order of bitmaps in the array is important.
*
* ```haxe
* var combinedFrames = FlxTileFrames.combineTileSets(bitmaps, FlxPoint.get(16, 16));
* tilemap.loadMapFromCSV(mapData, combinedFrames);
* ```
*
* or
*
* ```haxe
* sprite.frames = combinedFrames;
* ```
*
* @param bitmaps tilesets
* @param tileSize The size of tiles (tilesets should have tiles of the same size).
* @return Atlas frames collection, which you can load in tilemaps or sprites:* This method takes array of tile frames collections and then combine them in one big tileset.
* The order of bitmaps in array is important.
*
*
* ```haxe
* var combinedFrames = FlxTileFrames.combineTileFrames(tileframes);
* tilemap.loadMapFromCSV(mapData, combinedFrames);
* ```
*
* or
*
* ```haxe
* sprite.frames = combinedFrames;
* ```
*
* @param tileframes Tile frames collection to combine tiles from.
* @return Atlas frames collection, which you can load in tilemaps or sprites:* Searches `FlxTileFrames` object for a specified `FlxGraphic` object
* which has the same parameters (frame size, frame spacings, region of image, etc.).
*
* @param graphic `FlxGraphic` object to search `FlxTileFrames` for.
* @param tileSize The size of tiles in TileFrames.
* @param region The region of source image used for spritesheet generation.
* @param atlasFrame Optional `FlxFrame` object used for spritesheet generation.
* @param tileSpacing Spaces between tiles in spritesheet.
* @return `FlxTileFrames` object which corresponds to specified arguments.
* Could be null if there is no such `FlxTileFrames`.* Atlas frame from which this frame collection had been generated.
* Could be `null` if this collection generated from rectangle.* Image region of the image from which this frame collection had been generated.* The size of frame in this spritesheet.* Offsets between frames in this spritesheet.00* Gets frame by its "position" in spritesheet.* TileFrames comparison method. For internal use.* Spritesheet frame collection. It is used for tilemaps and animated sprites.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* TileFrames comparison method. For internal use.
<_HX_SUPER__equals public="1" set="method" line="148">
<_HX_SUPER__addBorder public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.frames.FlxTileFrames0* Tracks the total number of draw calls made each frame.falsefalsefalse0* @author Zaphodhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()4hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__reset public="1" set="method" line="31">
<_HX_SUPER__dispose public="1" set="method" line="31">
<_HX_SUPER__addQuad public="1" set="method" line="31">
<_HX_SUPER__render public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.tile.FlxDrawQuadsItemhscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxPoint.get()FlxRect.get()()]]>()]]>()]]>()]]>000FlxRect.get()* @author Zaphodhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__render public="1" set="method" line="31">
<_HX_SUPER__reset public="1" set="method" line="31">
<_HX_SUPER__dispose public="1" set="method" line="31">
<_HX_SUPER__addTriangles public="1" set="method" line="31">
<_HX_SUPER__addQuad public="1" set="method" line="31">
<_HX_SUPER__get_numVertices set="method" line="148">
<_HX_SUPER__get_numTriangles set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.tile.FlxDrawTrianglesItem.DrawDataflixel.graphics.tile.FlxDrawTrianglesItemThe raw shader bytecode for this Shader instance.Provides access to parameters, input images, and metadata for the
Shader instance. ShaderParameter objects representing parameters for
the shader, ShaderInput objects representing the input images for the
shader, and other values representing the shader's metadata are
dynamically added as properties of the `data` property object when the
Shader instance is created. Those properties can be used to introspect
the shader and to set parameter and input values.
For information about accessing and manipulating the dynamic
properties of the `data` object, see the ShaderData class description.Get or set the fragment source used when compiling with GLSL.
This property is not available on the Flash target."checkstyle:Dynamic"The compiled GLProgram if available.
This property is not available on the Flash target.Get or set the vertex source used when compiling with GLSL.
This property is not available on the Flash target.The precision of math operations performed by the shader.
The set of possible values for the `precisionHint` property is defined
by the constants in the ShaderPrecision class.
The default value is `ShaderPrecision.FULL`. Setting the precision to
`ShaderPrecision.FAST` can speed up math operations at the expense of
precision.
Full precision mode (`ShaderPrecision.FULL`) computes all math
operations to the full width of the IEEE 32-bit floating standard and
provides consistent behavior on all platforms. In this mode, some math
operations such as trigonometric and exponential functions can be
slow.
Fast precision mode (`ShaderPrecision.FAST`) is designed for maximum
performance but does not work consistently on different platforms and
individual CPU configurations. In many cases, this level of precision
is sufficient to create graphic effects without visible artifacts.
The precision mode selection affects the following shader operations.
These operations are faster on an Intel processor with the SSE
instruction set:
* `sin(x)`
* `cos(x)`
* `tan(x)`
* `asin(x)`
* `acos(x)`
* `atan(x)`
* `atan(x, y)`
* `exp(x)`
* `exp2(x)`
* `log(x)`
* `log2(x)`
* `pow(x, y)`
* `reciprocal(x)`
* `sqrt(x)`The compiled Program3D if available.
This property is not available on the Flash target.
<__alpha>
<__bitmap>
<__colorMultiplier>
<__colorOffset>
<__context>
<__data>
<__glFragmentSource>
<__glSourceDirty>
<__glVertexSource>
<__hasColorTransform>
<__inputBitmapData>
<__isGenerated>
<__matrix>
<__numPasses>
<__paramBool>
<__paramFloat>
<__paramInt>
<__position>
<__textureCoord>
<__texture>
<__textureSize>
<__clearUseArray set="method" line="271">
<__createGLShader set="method" line="319">
<__createGLProgram set="method" line="343">
<__disable set="method" line="376">
<__disableGL set="method" line="384">
<__enable set="method" line="422">
<__enableGL set="method" line="432">
<__init set="method" line="452">
<__initGL set="method" line="465">
<__processGLData set="method" line="573">
<__update set="method" line="733">
<__updateFromBuffer set="method" line="741">
<__updateGL set="method" line="749">
<__updateGLFromBuffer set="method" line="775">
{ code : null }Creates a new Shader instance.
@param code The raw shader bytecode to link to the Shader.
AIR Profile Support for more information regarding API support across
multiple profiles.]]>"tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display3D.Program3Dopenfl.display.ShaderInputopenfl.display.ShaderParameteropenfl.utils._internal.ShaderMacro.build()hideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internal{ code : null }"attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;""openfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;""#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}""varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;" 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}"]]>"#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\""
<_camSize public="1">
"\r\n\t\t#pragma header\r\n\t\t\r\n\t\tattribute float alpha;\r\n\t\tattribute vec4 colorMultiplier;\r\n\t\tattribute vec4 colorOffset;\r\n\t\tuniform bool hasColorTransform;\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\t#pragma body\r\n\t\t\t\r\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\r\n\t\t\t\r\n\t\t\tif (hasColorTransform)\r\n\t\t\t{\r\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\r\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\r\n\t\t\t}\r\n\t\t}" 0.0)\r\n\t\t\t{\r\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t\t\t}\r\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t}\r\n\r\n\t\tuniform vec4 _camSize;\r\n\t\t\r\n\t\tfloat map(float value, float min1, float max1, float min2, float max2) {\r\n\t\t return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n\t\t}\r\n\t\t\r\n\t\tvec2 getCamPos(vec2 pos) {\r\n\t\t\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\t\t\treturn vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n\t\t}\r\n\t\tvec2 camToOg(vec2 pos) {\r\n\t\t\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\t\t\treturn vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n\t\t}\r\n\t\tvec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n\t\t\treturn flixel_texture2D(bitmap, camToOg(pos));\r\n\t\t}\r\n\t"]]>"\r\n\t\t#pragma header\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n\t\t}"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__setCamSize public="1" set="method" line="148">
<__interp>openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.graphics.tile.FlxGraphicsShaderhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_groupMembers>
<_filter>
<_cursor>
<_length>* Iterator implementation for groups
* Support a filter method (used for iteratorAlive, iteratorDead and iteratorExists)
* @author Masadowhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__get_ANY set="method" line="148">
<_HX_SUPER__get_NONE set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.FlxBaseKeyListRELEASEDRELEASEDhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast -1cast 0cast 1cast 2hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast -1cast 0cast 1cast 2hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (-1, flixel.input.FlxInputState)cast (0, flixel.input.FlxInputState)cast (1, flixel.input.FlxInputState)cast (2, flixel.input.FlxInputState)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()true* Whether or not keyboard input is currently enabled.[]* List of keys on which preventDefault() is called, useful on HTML5 to stop
* the browser from scrolling when pressing the up or down key for example, or
* on android to prevent the default back key action.* Helper class to check if a key is pressed.* Helper class to check if a key was just pressed.* Helper class to check if a key is released.
* @since 4.8.0* Helper class to check if a key was just released.
<_keyListArray expr="[]">
[]flixel.input.FlxBaseKeyList* Internal storage of input keys as an array, for efficient iteration.
<_keyListMap expr="new Map<Int,FlxInput<Key>>()">
>()]]>* Internal storage of input keys as a map, for efficient indexing.* Check to see if at least one key from an array of keys is pressed.
*
* @param KeyArray An array of key names
* @return Whether at least one of the keys passed in is pressed.* Check to see if at least one key from an array of keys was just pressed.
*
* @param KeyArray An array of key names
* @return Whether at least one of the keys passed was just pressed.* Check to see if at least one key from an array of keys was just released.
*
* @param KeyArray An array of key names
* @return Whether at least one of the keys passed was just released.* Get the ID of the first key which is currently pressed.
*
* @return The ID of the first pressed key or -1 if none are pressed.* Get the ID of the first key which has just been pressed.
*
* @return The ID of the key or -1 if none were just pressed.* Get the ID of the first key which has just been released.
*
* @return The ID of the key or -1 if none were just released.* Check the status of a single of key
*
* @param KeyCode KeyCode to be checked.
* @param Status The key state to check for.
* @return Whether the provided key has the specified status.flixel.input.FlxBaseKeyList* Check the status of a single of key.
* Throws errors on ANY, NONE or invalid keys.
* Use `checkStatus`, for most cases.
*
* @param KeyCode KeyCode to be checked.
* @param Status The key state to check for.
* @return Whether the provided key has the specified status.* Get an Array of Key that are in a pressed state
*
* @return Array of keys that are currently pressed.* Clean up memory.* Resets all the keys.* Updates the key states (for tracking just pressed, just released, etc).* Helper function to check the status of an array of keys
*
* @param KeyArray An array of keys as Strings
* @param State The key state to check for
* @return Whether at least one of the keys has the specified status* Event handler so FlxGame can toggle keys.* Internal event handler for input and focus.* A Helper function to check whether an array of keycodes contains
* a certain key safely (returns false if the array is null).* A helper function to update the key states based on a keycode provided.* Return a key from the key list, if found. Will return null if not found.* Keeps track of what keys are pressed and how with handy Bools or strings.
* Automatically instatiated by flixel as a `FlxKeyboard` and accessed via `FlxG.keys`
* or `FlxAndroidKeys` with `FlxG.android`.
* Example: `FlxG.keys.justPressed.A`hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Fetch the world position of the pointer on any given camera.
* NOTE: x and y also store the world position of the pointer on the main camera.
*
* @param Camera If unspecified, first/main global camera is used instead.
* @param point An existing point object to store the results (if you don't want a new one created).
* @return The touch point's location in world space.
<_HX_SUPER__getWorldPosition public="1" set="method" line="148">* Fetch the screen position of the pointer on any given camera.
* NOTE: screenX and screenY also store the screen position of the pointer on the main camera.
*
* @param Camera If unspecified, first/main global camera is used instead.
* @param point An existing point object to store the results (if you don't want a new one created).
* @return The touch point's location in screen space.
<_HX_SUPER__getScreenPosition public="1" set="method" line="148">flixel.FlxCamera* Fetch the screen position of the pointer relative to given camera's viewport.
*
* @param Camera If unspecified, first/main global camera is used instead.
* @param point An existing point object to store the results (if you don't want a new one created).
* @return The touch point's location relative to camera's viewport.
<_HX_SUPER__getPositionInCameraView public="1" set="method" line="148">* Returns a FlxPoint with this input's x and y.
<_HX_SUPER__getPosition public="1" set="method" line="148">flixel.group.FlxTypedGroup.resolveGroup* Checks to see if some FlxObject overlaps this FlxObject or FlxGroup.
* If the group has a LOT of things in it, it might be faster to use FlxG.overlaps().
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param ObjectOrGroup The object or group being tested.
* @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @return Whether or not the two objects overlap.
<_HX_SUPER__overlaps public="1" set="method" line="148">
<_HX_SUPER__toString public="1" set="method" line="148">* Helper function to update the cursor used by update() and playback().
* Updates the x, y, screenX, and screenY variables based on the default camera.
<_HX_SUPER__updatePositions set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.FlxPointer* Either LEFT_MOUSE, MIDDLE_MOUSE or RIGHT_MOUSE,
* or the touchPointID of a FlxTouch."FlxSwipe.angle is deprecated, use degrees"
<_startTimeInTicks>
<_endTimeInTicks>"FlxSwipe.angle is deprecated, use degrees"hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.mouse.FlxMouseButtonflixel.input.touch.FlxTouch
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.FlxSwipe* Digital or Analog* The name of the action, "jump", "fire", "move", etc.-1* This action's numeric handle for the Steam API (ignored if not using Steam)false* If true, this action has just been triggered* The inputs attached to this action
<_x expr="null">
null
<_y expr="null">
null
<_timestamp expr="0">
0
<_checked expr="false">
falsefalse* Whether the steam controller inputs for this action have changed since the last time origins were polled. Always false if steam isn't active{ Destroy : true }{ Destroy : false }* See if this action has just been triggered* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actions.FlxActionDigitalflixel.input.actions.FlxActionAnalogflixel.input.actions.FlxActionSet* Function to call when this action occurs* Add a digital input (any kind) that will trigger this action
* @param input
* @return This action* Add a generic IFlxInput action input
*
* WARNING: IFlxInput objects are often member variables of some other
* object that is often destructed at the end of a state. If you don't
* destroy() this input (or the action you assign it to), the IFlxInput
* reference will persist forever even after its parent object has been
* destroyed!
*
* @param Input A generic IFlxInput object (ex: FlxButton.input)
* @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action{ GamepadID : FlxInputDeviceID.FIRST_ACTIVE }* Add a gamepad action input for digital (button-like) events
* @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE
* @return This action* Add a keyboard action input
* @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action* Mouse button action input
* @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action 0; False: respond to mouse wheel values < 0
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action]]>{ Name : "" }* Create a new digital action
* @param Name name of the action
* @param Callback function to call when this action occurs* A digital action is a binary on/off event like "jump" or "fire".
* FlxActions let you attach multiple inputs to a single in-game action,
* so "jump" could be performed by a keyboard press, a mouse click,
* or a gamepad button press.
*
* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Function to call when this action occurs* X axis value, or the value of a single-axis analog input.* Y axis value. (If action only has single-axis input this is always == 0)* Add an analog input that will trigger this action{ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER }* Add mouse input -- same as mouse motion, but requires a particular mouse button to be PRESSED
* Very useful for e.g. panning a map or canvas around
* @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT)
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive)
* @param DeadZone Minimum analog value before motion will be reported
* @param InvertY Invert the Y axis
* @param InvertX Invert the X axis
* @return This action{ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER }* Add mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive)
* @param DeadZone Minimum analog value before motion will be reported
* @param InvertY Invert the Y axis
* @param InvertX Invert the X axis
* @return This action{ Axis : EITHER }* Add mouse input -- X/Y is the mouse's absolute screen position
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @return This action{ GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER }* Add gamepad action input for analog (trigger, joystick, touchpad, etc) events
* @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc)
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL
* @return This action{ Name : "" }* Create a new analog action
* @param Name name of the action
* @param Callback function to call when this action occurs* Analog actions are events with continuous (floating-point) values, and up
* to two axes (x,y). This is for events like "move" and "accelerate" where the
* event is not simply on or off.
*
* FlxActions let you attach multiple inputs to a single in-game action,
* so "move" could be performed by a gamepad joystick, a mouse movement, etc.
*
* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Digital or Analog* Mouse, Keyboard, Gamepad, SteamController, etc.false* Input code (FlxMouseButtonID, FlxKey, FlxGamepadInputID, or Steam Controller action handle)* What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)* Check whether this action has just been triggered* Check whether `state` fulfills `condition`. Note: order of operations is
* important here. `compareState(JUST_PRESSED, PRESSED) == false`, while
* `compareState(PRESSED, JUST_PRESSED) == true`.
* @return Whether or not the condition is satisfied by state.{ DeviceID : FlxInputDeviceID.FIRST_ACTIVE }* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputAnalog* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()-1* Means "every connected device of the given type" (ie all gamepads, all steam controllers, etc)-2* Means "the first connected device that has an active input" (ie a pressed button or moved analog stick/trigger/etc)-3* Means "no device"* Just a bucket for some handy sentinel values.
* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ Model : "" }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast cast FlxInputState.JUST_RELEASEDcast cast FlxInputState.RELEASEDcast cast FlxInputState.PRESSEDcast cast FlxInputState.JUST_PRESSEDhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast cast FlxInputState.JUST_RELEASEDcast cast FlxInputState.RELEASEDcast cast FlxInputState.PRESSEDcast cast FlxInputState.JUST_PRESSEDhscript.UsingHandler.build()hscript.ClassExtendMacro.build()truefalse00{ DeviceID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER }* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actions.FlxAction00{ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER }* Mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive)
* @param DeadZone Minimum analog value before motion will be reported
* @param InvertY Invert the Y axis
* @param InvertX Invert the X axis* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER }* Mouse input -- same as FlxActionInputAnalogMouseMotion, but requires a particular mouse button to be PRESSED
* Very useful for e.g. panning a map or canvas around
* @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT)
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive)
* @param DeadZone Minimum analog value before motion will be reported
* @param InvertY Invert the Y axis
* @param InvertX Invert the X axis* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ Axis : EITHER }* Mouse input -- X/Y is the mouse's absolute screen position
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER }* Gamepad action input for analog (trigger, joystick, touchpad, etc) events
* @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc)
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ DeviceID : FlxInputDeviceID.ALL, Axis : EITHER }flixel.input.actions.FlxActionSet* Steam Controller action input for analog (trigger, joystick, touchpad, etc) events
* @param ActionHandle handle received from FlxSteamController.getAnalogActionHandle()
* @param Trigger what state triggers this action (MOVING, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param DeviceHandle handle received from FlxSteamController.getConnectedControllers(), or FlxInputDeviceID.ALL / FlxInputDeviceID.FIRST_ACTIVE* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.input.actions.FlxAnalogAxis)cast (1, flixel.input.actions.FlxAnalogAxis)cast (2, flixel.input.actions.FlxAnalogAxis)cast (3, flixel.input.actions.FlxAnalogAxis)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (cast FlxInputState.JUST_RELEASED, flixel.input.actions.FlxAnalogState)cast (cast FlxInputState.RELEASED, flixel.input.actions.FlxAnalogState)cast (cast FlxInputState.PRESSED, flixel.input.actions.FlxAnalogState)cast (cast FlxInputState.JUST_PRESSED, flixel.input.actions.FlxAnalogState)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__check public="1" set="method" line="148">
<_HX_SUPER__checkAxis set="method" line="148">
<_HX_SUPER__updateValues set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePositionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepadflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteamflixel.input.actions.FlxActionInputAnalogflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSC
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePositionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepadflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteamflixel.input.actions.FlxActionInputAnalogflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSCflixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__updateValues set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePositionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepadflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteamflixel.input.actions.FlxActionInputAnalogflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSCflixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__updateXYPosition set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePositionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepadflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteamflixel.input.actions.FlxActionInputAnalogflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSCflixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC
<_HX_SUPER__updateValues set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePositionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepadflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteamflixel.input.actions.FlxActionInputAnalogflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSCflixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxAnalogStateflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePositionflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepadflixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteamflixel.input.actions.FlxActionInputAnalogflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxisflixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSCflixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC{ DeviceID : FlxInputDeviceID.FIRST_ACTIVE }* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0 0; False: respond to mouse wheel values < 0
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)]]>* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ GamepadID : FlxInputDeviceID.FIRST_ACTIVE }* Gamepad action input for digital (button-like) events
* @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Keyboard action input
* @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Mouse button action input
* @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ DeviceHandle : FlxInputDeviceID.FIRST_ACTIVE }flixel.input.actions.FlxActionSet* Steam Controller action input for digital (button-like) events
* @param ActionHandle handle received from FlxSteamController.getDigitalActionHandle()
* @param Trigger what state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @param DeviceHandle handle received from FlxSteamController.getConnectedControllers(), or FlxInputDeviceID.ALL / FIRST_ACTIVE* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Generic IFlxInput action input
*
* WARNING: IFlxInput objects are often member variables of some other
* object that is often destructed at the end of a state. If you don't
* destroy() this input (or the action you assign it to), the IFlxInput
* reference will persist forever even after its parent object has been
* destroyed!
*
* @param Input A generic IFlxInput object (ex: FlxButton.input)
* @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheelflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepadflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboardflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteamflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput
<_HX_SUPER__check public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheelflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepadflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboardflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteamflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput
<_HX_SUPER__check public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheelflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepadflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboardflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteamflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput
<_HX_SUPER__check public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheelflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepadflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboardflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteamflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput
<_HX_SUPER__toString public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__check public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheelflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepadflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboardflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteamflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput
<_HX_SUPER__check public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheelflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepadflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboardflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteamflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput
<_HX_SUPER__check public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputDigitalflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheelflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepadflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboardflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteamflixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputflixel.input.actions.FlxActionInput.FlxInputTypeflixel.input.actions.FlxActionInput.FlxInputDeviceflixel.input.actions.FlxActionInput.FlxInputDeviceIDflixel.input.actions.FlxActionInput.FlxInputDeviceObject
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputflixel.input.actions.FlxActionInput.FlxInputTypeflixel.input.actions.FlxActionInput.FlxInputDeviceflixel.input.actions.FlxActionInput.FlxInputDeviceIDflixel.input.actions.FlxActionInput.FlxInputDeviceObject
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">* Check whether this action has just been triggered
<_HX_SUPER__check public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionInputflixel.input.actions.FlxActionInput.FlxInputTypeflixel.input.actions.FlxActionInput.FlxInputDeviceflixel.input.actions.FlxActionInput.FlxInputDeviceIDflixel.input.actions.FlxActionInput.FlxInputDeviceObjectnull* The number of registered action sets* A signal fired when a device currently in use is suddenly disconnected. Returns the device type, handle/id, and a string identifier for the device model (if applicable)* A signal fired when a device is connected. Returns the device type, handle/id, and a string identifier for the device model (if applicable)* A signal fired when an action's inputs have been externally changed. Returns a list of all actions whose inputs have changed. For now only used for Steam Controllers.ResetPolicy.DEFAULT_SET_ONLY* Which action sets to remove on state switches.* Activate an action set for a particular device
* @param ActionSet The integer ID for the Action Set you want to activate
* @param Device The device type (Mouse, Keyboard, Gamepad, SteamController, etc)
* @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard){ ActionSet : 0 }* Add actions to a particular action set
* @param Actions The FlxActions you want to add
* @param ActionSet The index of the FlxActionSet you want to add
* @return whether they were all successfully added{ ActionSet : 0 }* Add an action to a particular action set
* @param Action The FlxAction you want to add
* @param ActionSet The index of the FlxActionSet you want to add
* @return whether it was successfully added* Add a FlxActionSet to the manager
* @param set The FlxActionSet you want to add
* @return the index of the FlxActionSet{ DeviceID : FlxInputDeviceID.ALL }* Deactivate an action set for any devices it is currently active for
* @param ActionSet The integer ID for the Action Set you want to deactivate
* @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard)* Get the index of a particular action set
* @param name Action set name
* @return Index number of that set, -1 if not found* Get the name of an action set
* @param Index Action set index
* @return Name of that set, "" if not found* Get an action set
* @param Index Action set index
* @return The FlxActionSet at that location, or null if not found{ deviceID : FlxInputDeviceID.ALL }flixel.input.actions.FlxActionManager.ActionSetRegister* Returns the action set that has been activated for this specific device* Load action sets from a parsed Json object
* @param data Json object parsed from the same format that "exportToJson()" outputs
* @param CallbackDigital Callback function for digital actions
* @param CallbackAnalog Callback function for analog actions
* @return The number of new FlxActionSets created and added. 0 means nothing happened.flixel.input.actions.FlxAction{ Destroy : true }* Remove an action to a particular action set
* @param Action The FlxAction you want to remove
* @param ActionSet The index of the FlxActionSet you want to remove
* @return whether it was successfully removedflixel.input.actions.FlxSteamController* High level input manager for `FlxAction`s. This lets you manage multiple input
* devices and action sets, and is the only supported method for natively using
* the Steam Controller API.
*
* Once you've set up `FlxActionManager`, you can let flixel handle it globally
* with: `FlxG.inputs.add(myFlxActionManager)`;
*
* If you don't add it globally, you will have to call `update()` on it yourself.
*
* If you are using the steamwrap library, `FlxActionManager` can automatically
* create action sets from a steamwrap object derived from the master vdf game
* actions file that Steam makes you set up for native controller support.
* You must then ACTIVATE one of those action sets for any connected steam
* controllers, which will automatically attach the proper steam action inputs
* to the actions in the set. You can also add as many regular `FlxActionInput`s
* as you like to any actions in the sets.
*
* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()-1* The current action set for the mouse-1* The current action set for the keyboard-1* The current action set for ALL gamepads-1* The current action set for ALL steam controllers* Maps individual gamepad ID's to different action sets* Maps individual steam controller handles to different action sets{ DeviceID : FlxInputDeviceID.FIRST_ACTIVE }{ DoActivate : true, DeviceID : FlxInputDeviceID.FIRST_ACTIVE }********PRIVATE*******flixel.input.actions.FlxActionflixel.input.actions.FlxAction* Helper function to properly update the action sets with proper steam inputs* Attach this controller to a new action set, remove it from the old action set, update internal steam inputs accordingly
* @param controllerHandle steam controller handle (guaranteed not to be FlxInputDeviceID.ALL or FlxInputDeviceID.FIRST_ACTIVE)
* @param newSet the action set handle of the new set to attach to* Go through all action sets and mark them as active if any device is
* subscribed to one of their actions. (Assumes you've previously set
* them all to active=false earlier in the udpate loop)
* @param device
* @param sets{ ActionSet : -1 }* internal helper classhscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actions.FlxActionManager* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Do not reset any action sets.* Reset all action sets.* Only reset the default action set (created automatically by adding actions to the action manager without first defining an action set)* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Activate an action set for a particular device
* @param ActionSet The integer ID for the Action Set you want to activate
* @param Device The device type (Mouse, Keyboard, Gamepad, SteamController, etc)
* @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard)
<_HX_SUPER__activateSet public="1" set="method" line="148">{ ActionSet : 0 }* Add actions to a particular action set
* @param Actions The FlxActions you want to add
* @param ActionSet The index of the FlxActionSet you want to add
* @return whether they were all successfully added
<_HX_SUPER__addActions public="1" set="method" line="148">
{ ActionSet : 0 }{ ActionSet : 0 }* Add an action to a particular action set
* @param Action The FlxAction you want to add
* @param ActionSet The index of the FlxActionSet you want to add
* @return whether it was successfully added
<_HX_SUPER__addAction public="1" set="method" line="148">
{ ActionSet : 0 }* Add a FlxActionSet to the manager
* @param set The FlxActionSet you want to add
* @return the index of the FlxActionSet
<_HX_SUPER__addSet public="1" set="method" line="148">{ DeviceID : FlxInputDeviceID.ALL }* Deactivate an action set for any devices it is currently active for
* @param ActionSet The integer ID for the Action Set you want to deactivate
* @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard)
<_HX_SUPER__deactivateSet public="1" set="method" line="148">
{ DeviceID : FlxInputDeviceID.ALL }
<_HX_SUPER__destroy public="1" set="method" line="31">* Get the index of a particular action set
* @param name Action set name
* @return Index number of that set, -1 if not found
<_HX_SUPER__getSetIndex public="1" set="method" line="148">* Get the name of an action set
* @param Index Action set index
* @return Name of that set, "" if not found
<_HX_SUPER__getSetName public="1" set="method" line="148">* Get an action set
* @param Index Action set index
* @return The FlxActionSet at that location, or null if not found
<_HX_SUPER__getSet public="1" set="method" line="148">{ deviceID : FlxInputDeviceID.ALL }flixel.input.actions.FlxActionManager.ActionSetRegister* Returns the action set that has been activated for this specific device
<_HX_SUPER__getSetActivatedForDevice public="1" set="method" line="148">
{ deviceID : FlxInputDeviceID.ALL }* Load action sets from a parsed Json object
* @param data Json object parsed from the same format that "exportToJson()" outputs
* @param CallbackDigital Callback function for digital actions
* @param CallbackAnalog Callback function for analog actions
* @return The number of new FlxActionSets created and added. 0 means nothing happened.
<_HX_SUPER__initFromJson public="1" set="method" line="148">flixel.input.actions.FlxAction
<_HX_SUPER__exportToJson public="1" set="method" line="148">{ Destroy : true }
<_HX_SUPER__removeSet public="1" set="method" line="148">
{ Destroy : true }* Remove an action to a particular action set
* @param Action The FlxAction you want to remove
* @param ActionSet The index of the FlxActionSet you want to remove
* @return whether it was successfully removed
<_HX_SUPER__removeAction public="1" set="method" line="148">
<_HX_SUPER__reset public="1" set="method" line="31">
<_HX_SUPER__get_numSets set="method" line="148">
<_HX_SUPER__onChange set="method" line="31">
<_HX_SUPER__onDeviceConnected set="method" line="148">
<_HX_SUPER__onDeviceDisconnected set="method" line="148">
<_HX_SUPER__onFocus set="method" line="31">
<_HX_SUPER__onFocusLost set="method" line="31">
<_HX_SUPER__onStateSwitched set="method" line="148">
<_HX_SUPER__onSteamConnected set="method" line="148">
<_HX_SUPER__onSteamDisconnected set="method" line="148">flixel.input.actions.FlxSteamController
<_HX_SUPER__updateSteamControllers set="method" line="31">
<_HX_SUPER__updateSteamOrigins set="method" line="31">
<_HX_SUPER__update set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionManagerflixel.input.actions.FlxActionManager.ActionSetRegisterflixel.input.actions.FlxActionManager.ActionSetJsonArrayflixel.input.actions.FlxActionManager.ActionSetJsonflixel.input.actions.FlxActionManager.ResetPolicy
<_HX_SUPER__destroy public="1" set="method" line="148">{ DeviceID : FlxInputDeviceID.FIRST_ACTIVE }
<_HX_SUPER__activate public="1" set="method" line="148">
{ DeviceID : FlxInputDeviceID.FIRST_ACTIVE }
<_HX_SUPER__markActiveSets public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__updateSteam public="1" set="method" line="148">{ DoActivate : true, DeviceID : FlxInputDeviceID.FIRST_ACTIVE }
<_HX_SUPER__setActivate set="method" line="148">
{ DoActivate : true, DeviceID : FlxInputDeviceID.FIRST_ACTIVE }********PRIVATE*******
<_HX_SUPER__updateSteamOrigins set="method" line="148">flixel.input.actions.FlxAction
<_HX_SUPER__updateDigitalActionOrigins set="method" line="148">flixel.input.actions.FlxAction
<_HX_SUPER__updateAnalogActionOrigins set="method" line="148">
<_HX_SUPER__cheapChecksum set="method" line="148">* Helper function to properly update the action sets with proper steam inputs
<_HX_SUPER__updateSteamInputs set="method" line="31">* Attach this controller to a new action set, remove it from the old action set, update internal steam inputs accordingly
* @param controllerHandle steam controller handle (guaranteed not to be FlxInputDeviceID.ALL or FlxInputDeviceID.FIRST_ACTIVE)
* @param newSet the action set handle of the new set to attach to
<_HX_SUPER__changeSteamControllerActionSet set="method" line="148">* Go through all action sets and mark them as active if any device is
* subscribed to one of their actions. (Assumes you've previously set
* them all to active=false earlier in the udpate loop)
* @param device
* @param sets
<_HX_SUPER__syncDevice set="method" line="148">{ ActionSet : -1 }
<_HX_SUPER__clearSetFromArray set="method" line="148">
{ ActionSet : -1 }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionManagerflixel.input.actions.FlxActionManager.ActionSetRegisterflixel.input.actions.FlxActionManager.ActionSetJsonArrayflixel.input.actions.FlxActionManager.ActionSetJsonflixel.input.actions.FlxActionManager.ResetPolicyflixel.input.actions.FlxActionManager* Create an action set from a parsed Json object
*
* @param Data A parsed Json object
* @param CallbackDigital A function to call when digital actions fire
* @param CallbackAnalog A function to call when analog actions fire
* @return An action set""* Name of the action set* Digital actions in this set* Analog actions in this settrue* Whether this action set runs when update() is called{ Attach : true }* Automatically adds or removes inputs for a steam controller
* to any steam-affiliated actions
* @param Handle steam controller handle from FlxSteam.getConnectedControllers(), or FlxInputDeviceID.FIRST_ACTIVE / ALL
* @param Attach true: adds inputs, false: removes inputs{ Destroy : true }* Remove an action from this set
* @param Action a FlxAction
* @param Destroy whether to destroy it as well
* @return whether it was found and removed* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actions.FlxActionManager
<_HX_SUPER__toJson public="1" set="method" line="148">{ Attach : true }* Automatically adds or removes inputs for a steam controller
* to any steam-affiliated actions
* @param Handle steam controller handle from FlxSteam.getConnectedControllers(), or FlxInputDeviceID.FIRST_ACTIVE / ALL
* @param Attach true: adds inputs, false: removes inputs
<_HX_SUPER__attachSteamController public="1" set="method" line="31">
{ Attach : true }
<_HX_SUPER__add public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">{ Destroy : true }* Remove an action from this set
* @param Action a FlxAction
* @param Destroy whether to destroy it as well
* @return whether it was found and removed
<_HX_SUPER__remove public="1" set="method" line="148">
{ Destroy : true }
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__attachSteamControllerSub set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxActionSet
<_HX_SUPER__getFirstSteamOrigin public="1" set="method" line="148">
<_HX_SUPER__getSteamOrigins public="1" set="method" line="148">{ Destroy : true }
<_HX_SUPER__removeAll public="1" set="method" line="31">
{ Destroy : true }{ Destroy : false }
<_HX_SUPER__remove public="1" set="method" line="31">
{ Destroy : false }
<_HX_SUPER__toString public="1" set="method" line="148">* See if this action has just been triggered
<_HX_SUPER__check public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__match public="1" set="method" line="148">
<_HX_SUPER__addGenericInput set="method" line="148">
<_HX_SUPER__checkExists set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxAction.FlxActionDigitalflixel.input.actions.FlxAction.FlxActionAnalogflixel.input.actions.FlxAction* Add a digital input (any kind) that will trigger this action
* @param input
* @return This action
<_HX_SUPER__add public="1" set="method" line="148">* Add a generic IFlxInput action input
*
* WARNING: IFlxInput objects are often member variables of some other
* object that is often destructed at the end of a state. If you don't
* destroy() this input (or the action you assign it to), the IFlxInput
* reference will persist forever even after its parent object has been
* destroyed!
*
* @param Input A generic IFlxInput object (ex: FlxButton.input)
* @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action
<_HX_SUPER__addInput public="1" set="method" line="148">{ GamepadID : FlxInputDeviceID.FIRST_ACTIVE }* Add a gamepad action input for digital (button-like) events
* @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE
* @return This action
<_HX_SUPER__addGamepad public="1" set="method" line="148">
{ GamepadID : FlxInputDeviceID.FIRST_ACTIVE }* Add a keyboard action input
* @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action
<_HX_SUPER__addKey public="1" set="method" line="148">* Mouse button action input
* @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT)
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action
<_HX_SUPER__addMouse public="1" set="method" line="148"> 0; False: respond to mouse wheel values < 0
* @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)
* @return This action]]>
<_HX_SUPER__addMouseWheel public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__check public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxAction.FlxActionDigitalflixel.input.actions.FlxAction.FlxActionAnalogflixel.input.actions.FlxAction* Add an analog input that will trigger this action
<_HX_SUPER__add public="1" set="method" line="148">{ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER }* Add mouse input -- same as mouse motion, but requires a particular mouse button to be PRESSED
* Very useful for e.g. panning a map or canvas around
* @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT)
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive)
* @param DeadZone Minimum analog value before motion will be reported
* @param InvertY Invert the Y axis
* @param InvertX Invert the X axis
* @return This action
<_HX_SUPER__addMouseClickAndDragMotion public="1" set="method" line="148">
{ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER }{ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER }* Add mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive)
* @param DeadZone Minimum analog value before motion will be reported
* @param InvertY Invert the Y axis
* @param InvertX Invert the X axis
* @return This action
<_HX_SUPER__addMouseMotion public="1" set="method" line="148">
{ InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER }{ Axis : EITHER }* Add mouse input -- X/Y is the mouse's absolute screen position
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @return This action
<_HX_SUPER__addMousePosition public="1" set="method" line="148">
{ Axis : EITHER }{ GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER }* Add gamepad action input for analog (trigger, joystick, touchpad, etc) events
* @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc)
* @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED)
* @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH
* @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL
* @return This action
<_HX_SUPER__addGamepad public="1" set="method" line="148">
{ GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER }
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__toString public="1" set="method" line="148">
<_HX_SUPER__check public="1" set="method" line="148">
<_HX_SUPER__get_x set="method" line="148">
<_HX_SUPER__get_y set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxAction.FlxActionDigitalflixel.input.actions.FlxAction.FlxActionAnalogflixel.input.actions.FlxAction* The maximum number of controllers that can be connected* The maximum number of origins (input glyphs, basically) that can be assigned to an action0.25* The wait time between polls for connected controllers1.0* The wait time between polls for action origins (checking which input glyphs are associated with an action, in case the player has re-configured them)nullnullhscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actionshscript.UsingHandler.build()hscript.ClassExtendMacro.build()-1-1false(0)]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actions0.00.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.actions
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxSteamControllerflixel.input.actions.FlxSteamController.DigitalActionDataflixel.input.actions.FlxSteamController.FlxSteamControllerMetadataflixel.input.actions.FlxSteamController.FlxSteamUpdater
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxSteamControllerflixel.input.actions.FlxSteamController.DigitalActionDataflixel.input.actions.FlxSteamController.FlxSteamControllerMetadataflixel.input.actions.FlxSteamController.FlxSteamUpdater
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxSteamControllerflixel.input.actions.FlxSteamController.DigitalActionDataflixel.input.actions.FlxSteamController.FlxSteamControllerMetadataflixel.input.actions.FlxSteamController.FlxSteamUpdater
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__reset public="1" set="method" line="31">
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__onFocus set="method" line="31">
<_HX_SUPER__onFocusLost set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.actions.FlxSteamControllerflixel.input.actions.FlxSteamController.DigitalActionDataflixel.input.actions.FlxSteamController.FlxSteamControllerMetadataflixel.input.actions.FlxSteamController.FlxSteamUpdater* The device name. Used to determine the `model`.* The gamepad model used for the mapping of the IDs.
* Defaults to `detectedModel`, but can be changed manually.* The gamepad model this gamepad has been identified as.* The mapping that is used to map the raw hardware IDs to the values in `FlxGamepadInputID`.
* Determined by the current `model`.
* It's also possible to create a custom mapping and assign it here.true* For gamepads that can have things plugged into them (the Wii Remote, basically).
* Making the user set this helps Flixel properly interpret inputs properly.
* EX: if you plug a nunchuk into the Wii Remote, you will get different values for
* certain buttons than with the Wii Remote alone.
* (This is probably why Wii games ask the player what control scheme they are using.)
*
* In the future, this could also be used for any attachment that exposes new API features
* to the controller, e.g. a microphone or headset* Gamepad deadzone. The lower, the more sensitive the gamepad.
* Should be between 0.0 and 1.0. Defaults to 0.15.INDEPENDENT_AXES* Which dead zone mode to use for analog sticks.* Helper class to check if a button is pressed.* Helper class to check if a button is released* Helper class to check if a button was just pressed.* Helper class to check if a button was just released.* Helper class to get the justMoved, justReleased, and float values of analog input.* Helper class to get the float values of motion-sensing input, if it is supported* Helper class to get the float values of mouse-like pointer input, if it is supported.
* (contains continously updated X and Y coordinates, each between 0.0 and 1.0)[for (i in 0 ... 6) 0]false
<_deadZone expr="0.15">
0.15
<_device>[]* Updates the key states (for tracking just pressed, just released, etc).* Check the status of a "universal" button ID, auto-mapped to this gamepad (something like FlxGamepadInputID.A).
*
* @param ID "universal" gamepad input ID
* @param Status The key state to check for
* @return Whether the provided button has the specified status* Check the status of a raw button ID (like XInputID.A).
*
* @param RawID Index into buttons array.
* @param Status The key state to check for
* @return Whether the provided button has the specified status* Helper function to check the status of an array of buttons
*
* @param IDArray An array of button IDs
* @param State The button state to check for
* @return Whether at least one of the keys has the specified status* Helper function to check the status of an array of buttons
*
* @param IDArray An array of keys as Strings
* @param State The key state to check for
* @return Whether at least one of the keys has the specified status* Check if at least one button from an array of button IDs is pressed.
*
* @param IDArray An array of "universal" gamepad input IDs
* @return Whether at least one of the buttons is pressed* Check if at least one button from an array of raw button IDs is pressed.
*
* @param RawIDArray An array of raw button IDs
* @return Whether at least one of the buttons is pressed* Check if at least one button from an array of universal button IDs was just pressed.
*
* @param IDArray An array of "universal" gamepad input IDs
* @return Whether at least one of the buttons was just pressed* Check if at least one button from an array of raw button IDs was just pressed.
*
* @param RawIDArray An array of raw button IDs
* @return Whether at least one of the buttons was just pressed* Check if at least one button from an array of gamepad input IDs was just released.
*
* @param IDArray An array of "universal" gamepad input IDs
* @return Whether at least one of the buttons was just released* Check if at least one button from an array of raw button IDs was just released.
*
* @param RawArray An array of raw button IDs
* @return Whether at least one of the buttons was just released* Get the first found "universal" ID of the button which is currently pressed.
* Returns NONE if no button is pressed.* Get the first found raw ID of the button which is currently pressed.
* Returns -1 if no button is pressed.* Get the first found "universal" ButtonID of the button which has been just pressed.
* Returns NONE if no button was just pressed.* Get the first found raw ID of the button which has been just pressed.
* Returns -1 if no button was just pressed.* Get the first found "universal" ButtonID of the button which has been just released.
* Returns NONE if no button was just released.* Get the first found raw ID of the button which has been just released.
* Returns -1 if no button was just released.* Gets the value of the specified axis using the "universal" ButtonID -
* use this only for things like FlxGamepadButtonID.LEFT_TRIGGER,
* use getXAxis() / getYAxis() for analog sticks!* Gets the value of the specified axis using the raw ID -
* use this only for things like XInputID.LEFT_TRIGGER,
* use getXAxis() / getYAxis() for analog sticks!* Given a ButtonID for an analog stick, gets the value of its x axis
* @param AxesButtonID an analog stick like FlxGamepadButtonID.LEFT_STICK* Given both raw IDs for the axes of an analog stick, gets the value of its x axis* Given a ButtonID for an analog stick, gets the value of its y axis
* @param AxesButtonID an analog stick like FlxGamepadButtonID.LEFT_STICK* Given both raw ID's for the axes of an analog stick, gets the value of its Y axis
* (should be used in flash to correct the inverted y axis)* Convenience method that wraps `getXAxis()` and `getYAxis()` into a `FlxPoint`.
*
* @param AxesButtonID an analog stick like `FlxGamepadButtonID.LEFT_STICK`
* @since 4.3.0{ state : PRESSED }* Whether any buttons have the specified input state.* Check to see if any buttons are pressed right or Axis, Ball and Hat moved now.{ sign : 1.0 }* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.gamepad* The value of each axis is compared to the deadzone individually.
* Works better when an analog stick is used like arrow keys for 4-directional-input.* X and y are combined against the deadzone combined.
* Works better when an analog stick is used as a two-dimensional control surface.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* @since 4.8.0* @since 4.8.0* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()-1* a raw button input ID, for sending a digital event for "up" alongside the analog event-1* a raw button input ID, for sending a digital event for "down" alongside the analog event-1* a raw button input ID, for sending a digital event for "left" alongside the analog event-1* a raw button input ID, for sending a digital event for "right" alongside the analog event0.5* the absolute value the dpad must be greater than before digital inputs are sentBOTH* when analog inputs are received, how to process them digitallyhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Send both digital and analog events when the analog stick is moved* Send only digital events when the analog stick is moved* Send only analog events when the analog stick is movedhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.FlxGamepadAnalogStickflixel.input.gamepad.FlxGamepadAnalogStick.FlxGamepadAnalogStickSettingsflixel.input.gamepad.FlxGamepadAnalogStick.FlxAnalogToDigitalMode0* Optional analog value, so we can check when the value has changed from the last framehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.FlxGamepadButton* A high-level list of unique values for gamepad inputs.
* These do NOT correspond to any actual hardware values but
* are the basis for all hardware-specific lookups.
*
* Maps enum values and strings to unique integer codeshscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID")FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true)cast -2cast -1cast 0BOTTOM face buttoncast 1RIGHT face buttoncast 2LEFT face buttoncast 3TOP face buttoncast 4left digital "bumper"cast 5right digital "bumper"cast 6also known as "select", the leftmost center buttoncast 7the rightmost center buttoncast 8digital click of the left analog stickcast 9digital click of the right analog stickcast 10this is the "XBox" or "PS" or "home" button in the centercast 11cast 12cast 13cast 14cast 15digital click at end of left analog trigger's squeeze (if available)cast 16digital click at end of right analog trigger's squeeze (if available)cast 17cast 18cast 19identifier for the entire LEFT_ANALOG_STICK itself, not just any particular directioncast 20identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular directioncast 21identifier for the entire DPAD itself, not just any particular buttoncast 26tilting towards or away from the ceiling (think "look up", "look down")cast 27tilting side-to-side (think "twisting", or "do a barrel roll!")cast 28for a mouse-like input such as touch or IR camera. Horizontal axis.cast 29for a mouse-like input such as touch or IR camera. Vertical axis.cast 30an extra digital button that doesn't fit cleanly into the universal templatecast 31an extra digital button that doesn't fit cleanly into the universal templatecast 32an extra digital button that doesn't fit cleanly into the universal templatecast 33an extra digital button that doesn't fit cleanly into the universal templatecast 34left analog stick as a dpad, pushed upcast 35left analog stick as a dpad, pushed rightcast 36left analog stick as a dpad, pushed downcast 37left analog stick as a dpad, pushed leftcast 38left analog stick as a dpad, pushed upcast 39left analog stick as a dpad, pushed rightcast 40left analog stick as a dpad, pushed downcast 41left analog stick as a dpad, pushed lefthscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID")FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true)cast -2cast -1cast 0BOTTOM face buttoncast 1RIGHT face buttoncast 2LEFT face buttoncast 3TOP face buttoncast 4left digital "bumper"cast 5right digital "bumper"cast 6also known as "select", the leftmost center buttoncast 7the rightmost center buttoncast 8digital click of the left analog stickcast 9digital click of the right analog stickcast 10this is the "XBox" or "PS" or "home" button in the centercast 11cast 12cast 13cast 14cast 15digital click at end of left analog trigger's squeeze (if available)cast 16digital click at end of right analog trigger's squeeze (if available)cast 17cast 18cast 19identifier for the entire LEFT_ANALOG_STICK itself, not just any particular directioncast 20identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular directioncast 21identifier for the entire DPAD itself, not just any particular buttoncast 26tilting towards or away from the ceiling (think "look up", "look down")cast 27tilting side-to-side (think "twisting", or "do a barrel roll!")cast 28for a mouse-like input such as touch or IR camera. Horizontal axis.cast 29for a mouse-like input such as touch or IR camera. Vertical axis.cast 30an extra digital button that doesn't fit cleanly into the universal templatecast 31an extra digital button that doesn't fit cleanly into the universal templatecast 32an extra digital button that doesn't fit cleanly into the universal templatecast 33an extra digital button that doesn't fit cleanly into the universal templatecast 34left analog stick as a dpad, pushed upcast 35left analog stick as a dpad, pushed rightcast 36left analog stick as a dpad, pushed downcast 37left analog stick as a dpad, pushed leftcast 38left analog stick as a dpad, pushed upcast 39left analog stick as a dpad, pushed rightcast 40left analog stick as a dpad, pushed downcast 41left analog stick as a dpad, pushed lefthscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID")FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true)cast (-2, flixel.input.gamepad.FlxGamepadInputID)cast (-1, flixel.input.gamepad.FlxGamepadInputID)cast (0, flixel.input.gamepad.FlxGamepadInputID)BOTTOM face buttoncast (1, flixel.input.gamepad.FlxGamepadInputID)RIGHT face buttoncast (2, flixel.input.gamepad.FlxGamepadInputID)LEFT face buttoncast (3, flixel.input.gamepad.FlxGamepadInputID)TOP face buttoncast (4, flixel.input.gamepad.FlxGamepadInputID)left digital "bumper"cast (5, flixel.input.gamepad.FlxGamepadInputID)right digital "bumper"cast (6, flixel.input.gamepad.FlxGamepadInputID)also known as "select", the leftmost center buttoncast (7, flixel.input.gamepad.FlxGamepadInputID)the rightmost center buttoncast (8, flixel.input.gamepad.FlxGamepadInputID)digital click of the left analog stickcast (9, flixel.input.gamepad.FlxGamepadInputID)digital click of the right analog stickcast (10, flixel.input.gamepad.FlxGamepadInputID)this is the "XBox" or "PS" or "home" button in the centercast (11, flixel.input.gamepad.FlxGamepadInputID)cast (12, flixel.input.gamepad.FlxGamepadInputID)cast (13, flixel.input.gamepad.FlxGamepadInputID)cast (14, flixel.input.gamepad.FlxGamepadInputID)cast (15, flixel.input.gamepad.FlxGamepadInputID)digital click at end of left analog trigger's squeeze (if available)cast (16, flixel.input.gamepad.FlxGamepadInputID)digital click at end of right analog trigger's squeeze (if available)cast (17, flixel.input.gamepad.FlxGamepadInputID)cast (18, flixel.input.gamepad.FlxGamepadInputID)cast (19, flixel.input.gamepad.FlxGamepadInputID)identifier for the entire LEFT_ANALOG_STICK itself, not just any particular directioncast (20, flixel.input.gamepad.FlxGamepadInputID)identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular directioncast (21, flixel.input.gamepad.FlxGamepadInputID)identifier for the entire DPAD itself, not just any particular buttoncast (26, flixel.input.gamepad.FlxGamepadInputID)tilting towards or away from the ceiling (think "look up", "look down")cast (27, flixel.input.gamepad.FlxGamepadInputID)tilting side-to-side (think "twisting", or "do a barrel roll!")cast (28, flixel.input.gamepad.FlxGamepadInputID)for a mouse-like input such as touch or IR camera. Horizontal axis.cast (29, flixel.input.gamepad.FlxGamepadInputID)for a mouse-like input such as touch or IR camera. Vertical axis.cast (30, flixel.input.gamepad.FlxGamepadInputID)an extra digital button that doesn't fit cleanly into the universal templatecast (31, flixel.input.gamepad.FlxGamepadInputID)an extra digital button that doesn't fit cleanly into the universal templatecast (32, flixel.input.gamepad.FlxGamepadInputID)an extra digital button that doesn't fit cleanly into the universal templatecast (33, flixel.input.gamepad.FlxGamepadInputID)an extra digital button that doesn't fit cleanly into the universal templatecast (34, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed upcast (35, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed rightcast (36, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed downcast (37, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed leftcast (38, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed upcast (39, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed rightcast (40, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed downcast (41, flixel.input.gamepad.FlxGamepadInputID)left analog stick as a dpad, pushed lefthscript.UsingHandler.build()hscript.ClassExtendMacro.build()trueIndicates whether the current platform supports the GameInput API.0Provides the number of connected input devices. When a device is connected, the
`GameInputEvent.DEVICE_ADDED` event is fired.
<__deviceList expr="new Array()" line="80" static="1">
new Array()
<__instances expr="[]" line="81" static="1">
[]
<__devices expr="new Map()" line="83" static="1">
new Map()Gets the input device at the specified index location in the list of connected
input devices.
The order of devices in the index may change whenever a device is added or removed.
You can check the name and id properties on a GameInputDevice object to match a
specific input device.
@param index The index position in the list of input devices.
@returns The specified GameInputDevice.
@throws RangeError When the provided index is less than zero or greater than
(`numDevices` - 1).
<__getDevice set="method" line="133" static="1">
<__onGamepadAxisMove set="method" line="150" static="1">
<__onGamepadButtonDown set="method" line="172" static="1">
<__onGamepadButtonUp set="method" line="194" static="1">
<__onGamepadConnect set="method" line="216" static="1">
<__onGamepadDisconnect set="method" line="229" static="1">
{ useWeakReference : false, priority : 0, useCapture : false }"checkstyle:Dynamic"The GameInput class is the entry point into the GameInput API. You can use this API to
manage the communications between an application and game input devices (for example:
joysticks, gamepads, and wands).
The main purpose of this class is to provide access to the supported input devices that
are connected to your application platform. This static class enumerates the connected
input devices in a list. You access a device from the list using the
`getDeviceAt(index:Int)` method.
The `numDevices` property provides the number of input devices currently connected to
your platform. Use this value to determine the upper bound of the list of devices.
Use an instance of this class to listen for events that notify you about the addition
and removal of input devices. To listen these events, do the following:
1. Create an instance of the GameInput class.
2. Add event listeners for the `GameInputEvent.DEVICE_ADDED` and
`GameInputEvent.DEVICE_REMOVED` events. (Events can only be registered on an instance
of the class.)
This class also features the `isSupported` flag, which indicates whether the GameInput
API is supported on your platform.
For more information, see the Adobe Air Developer Center article: Game controllers on
Adobe AIR.
For Android, this feature supports a minimum Android OS version of 4.1 and requires the
minimum SWF version 20 and namespace 3.7. For iOS, this feature supports a minimum iOS
version of 9.0 and requires the minimum SWF version 34 and namespace 23.0.
**How to Detect One Game Input Device From Among Identical Devices**
A common requirement for two-or-more player games is detecting one device from among
identical devices. For example, applications sometimes must determine which device
represents "Player 1", "Player 2", ..., "Player N".
Solution:
1. Add event listeners to every control on all undetected input devices. These event
listeners listen for `Event.CHANGE` events, which are dispatched whenever a control
value changes.
2. The first time any control is activated (for example a button press or trigger pull)
the application labels that device.
3. Remove all of the event listeners from the remaining undetected input devices.
4. Repeat steps 1-3 as required to identify the rest of the undetected input devices."tags=\"haxe,release\""openfl.ui.GameInputControlopenfl.ui.GameInputDevice
<_gameInput expr="new GameInput()" line="68" static="1">
new GameInput()* GameInput needs to be statically created, otherwise GameInput.numDevices will be zero during construction.* The first accessed gamepad - can be `null`!* The last accessed gamepad - can be `null`!* A counter for the number of active gamepads* Global Gamepad deadzone. The lower, the more sensitive the gamepad. Should be
* between 0.0 and 1.0. Null by default, overrides the deadzone of gamepads if non-null.* Signal for when a device is connected; returns the connected gamepad object to the attached listener
* @since 4.6.0* Signal for when a device is disconnected; returns the id of the disconnected gamepad to the attached listener
* @since 4.6.0
<_gamepads expr="[]">
[]* Stores all gamepads - can have null entries, but index matches event.device
<_activeGamepads expr="[]">
[]* Stores all gamepads - no null entries, but index does *not* match event.device* Returns a FlxGamepad with the specified ID or null if none was found.
* For example, if there are 4 gamepads connected, they will have the IDs 0-3.* Get array of ids for gamepads with any pressed buttons or moved Axis, Ball and Hat.
*
* @param IDsArray optional array to fill with ids
* @return array filled with active gamepad ids* Get array of gamepads with any pressed buttons or moved Axis, Ball and Hat.
*
* @param GamepadArray optional array to fill with active gamepads
* @return array filled with active gamepads* Get first found active gamepad id (with any pressed buttons or moved Axis, Ball and Hat).
* Returns "-1" if no active gamepad has been found.* Get first found active gamepad (with any pressed buttons or moved Axis, Ball and Hat).
* Returns null if no active gamepad has been found.{ state : PRESSED }* Whether any buttons have the specified input state on any gamepad.* Whether there's any input at all on any gamepad.* Whether this button is pressed on any gamepad.* Whether this button was just pressed on any gamepad.* Whether this button was just released on any gamepad.* Check to see if the X axis is moved on any Gamepad.
*
* @param AxisID The axis id
* @return Float Value from -1 to 1 or 0 if no X axes were moved* Check to see if the Y axis is moved on any Gamepad.
*
* @param AxisID The axis id
* @return Float Value from -1 to 1 or 0 if no Y axes were moved* Clean up memory. Internal use only.* Resets all the keys on all joys.* Updates the key states (for tracking just pressed, just released, etc).flixel.FlxGhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__removeByID set="method" line="31">
<_HX_SUPER__createByID set="method" line="148">* Get array of ids for gamepads with any pressed buttons or moved Axis, Ball and Hat.
*
* @param IDsArray optional array to fill with ids
* @return array filled with active gamepad ids
<_HX_SUPER__getActiveGamepadIDs public="1" set="method" line="148">* Get array of gamepads with any pressed buttons or moved Axis, Ball and Hat.
*
* @param GamepadArray optional array to fill with active gamepads
* @return array filled with active gamepads
<_HX_SUPER__getActiveGamepads public="1" set="method" line="148">* Get first found active gamepad id (with any pressed buttons or moved Axis, Ball and Hat).
* Returns "-1" if no active gamepad has been found.
<_HX_SUPER__getFirstActiveGamepadID public="1" set="method" line="148">* Get first found active gamepad (with any pressed buttons or moved Axis, Ball and Hat).
* Returns null if no active gamepad has been found.
<_HX_SUPER__getFirstActiveGamepad public="1" set="method" line="148">{ state : PRESSED }* Whether any buttons have the specified input state on any gamepad.
<_HX_SUPER__anyButton public="1" set="method" line="148">
{ state : PRESSED }* Whether there's any input at all on any gamepad.
<_HX_SUPER__anyInput public="1" set="method" line="148">
<_HX_SUPER__anyHasState set="method" line="148">* Check to see if the X axis is moved on any Gamepad.
*
* @param AxisID The axis id
* @return Float Value from -1 to 1 or 0 if no X axes were moved
<_HX_SUPER__anyMovedXAxis public="1" set="method" line="148">* Check to see if the Y axis is moved on any Gamepad.
*
* @param AxisID The axis id
* @return Float Value from -1 to 1 or 0 if no Y axes were moved
<_HX_SUPER__anyMovedYAxis public="1" set="method" line="148">* Clean up memory. Internal use only.
<_HX_SUPER__destroy public="1" set="method" line="31">* Resets all the keys on all joys.
<_HX_SUPER__reset public="1" set="method" line="31">
<_HX_SUPER__onDeviceAdded set="method" line="31">
<_HX_SUPER__onDeviceRemoved set="method" line="31">
<_HX_SUPER__findGamepadIndex set="method" line="148">
<_HX_SUPER__addGamepad set="method" line="31">
<_HX_SUPER__getModelFromDeviceName set="method" line="148">
<_HX_SUPER__removeGamepad set="method" line="31">* Updates the key states (for tracking just pressed, just released, etc).
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__get_numActiveGamepads set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.FlxGamepadManager
<_HX_SUPER__getButton set="method" line="148">* Updates the key states (for tracking just pressed, just released, etc).
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__reset public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">* Helper function to check the status of an array of buttons
*
* @param IDArray An array of button IDs
* @param State The button state to check for
* @return Whether at least one of the keys has the specified status
<_HX_SUPER__checkButtonArrayState set="method" line="148">* Helper function to check the status of an array of buttons
*
* @param IDArray An array of keys as Strings
* @param State The key state to check for
* @return Whether at least one of the keys has the specified status
<_HX_SUPER__checkButtonArrayStateRaw set="method" line="148">* Get the first found raw ID of the button which is currently pressed.
* Returns -1 if no button is pressed.
<_HX_SUPER__firstPressedRawID public="1" set="method" line="148">* Get the first found raw ID of the button which has been just pressed.
* Returns -1 if no button was just pressed.
<_HX_SUPER__firstJustPressedRawID public="1" set="method" line="148">* Get the first found raw ID of the button which has been just released.
* Returns -1 if no button was just released.
<_HX_SUPER__firstJustReleasedRawID public="1" set="method" line="148">* Gets the value of the specified axis using the "universal" ButtonID -
* use this only for things like FlxGamepadButtonID.LEFT_TRIGGER,
* use getXAxis() / getYAxis() for analog sticks!
<_HX_SUPER__getAxis public="1" set="method" line="148">
<_HX_SUPER__isAxisForAnalogStick set="method" line="148">* Given both raw ID's for the axes of an analog stick, gets the value of its Y axis
* (should be used in flash to correct the inverted y axis)
<_HX_SUPER__getYAxisRaw public="1" set="method" line="148">* Convenience method that wraps `getXAxis()` and `getYAxis()` into a `FlxPoint`.
*
* @param AxesButtonID an analog stick like `FlxGamepadButtonID.LEFT_STICK`
* @since 4.3.0
<_HX_SUPER__getAnalogAxes public="1" set="method" line="148">{ state : PRESSED }* Whether any buttons have the specified input state.
<_HX_SUPER__anyButton public="1" set="method" line="148">
{ state : PRESSED }* Check to see if any buttons are pressed right or Axis, Ball and Hat moved now.
<_HX_SUPER__anyInput public="1" set="method" line="148">
<_HX_SUPER__getAxisValue set="method" line="148">
<_HX_SUPER__getAnalogXAxisValue set="method" line="148">
<_HX_SUPER__getAnalogYAxisValue set="method" line="148">
<_HX_SUPER__getAnalogAxisValueCircular set="method" line="148">
<_HX_SUPER__getAnalogAxisValueIndependent set="method" line="148">
<_HX_SUPER__handleAxisMove set="method" line="148">{ sign : 1.0 }
<_HX_SUPER__handleAxisMoveSub set="method" line="148">
{ sign : 1.0 }
<_HX_SUPER__createMappingForModel set="method" line="148">
<_HX_SUPER__get_name set="method" line="148">
<_HX_SUPER__set_model set="method" line="148">
<_HX_SUPER__set_attachment set="method" line="148">
<_HX_SUPER__get_deadZone set="method" line="148">
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.FlxGamepadflixel.input.gamepad.FlxGamepad.FlxGamepadDeadZoneModeflixel.input.gamepad.FlxGamepad.FlxGamepadModelflixel.input.gamepad.FlxGamepad.FlxGamepadAttachment0123456789101116171819-5new FlxGamepadAnalogStick(0, 1, { up : 24, down : 25, left : 26, right : 27 })new FlxGamepadAnalogStick(2, 3, { up : 28, down : 29, left : 30, right : 31 })* IDs for Logitech controllers (key codes based on Cordless Rumblepad 2)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.LogitechID67891516101213141117181920new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 })new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 })45* IDs for MFi controllershscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.MFiID8* Things to add:
* - Accelerometer (in both remote and nunchuk)
* - Gyroscope (in Motion-Plus version only)
* - IR camera (position tracking)
* - Rumble
* - Speaker910111213191415456712131910118989101112131415161719-1-1456723new FlxGamepadAnalogStick(0, 1, { up : REMOTE_DPAD_UP, down : REMOTE_DPAD_DOWN, left : REMOTE_DPAD_LEFT, right : REMOTE_DPAD_RIGHT, threshold : 0.5, mode : ONLY_DIGITAL })new FlxGamepadAnalogStick(0, 1, { up : 26, down : 27, left : 28, right : 29 })new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 })4522232425* WiiRemote hardware input ID's when using "Mode 3" of the MayFlash DolphinBar accessory
*
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.MayflashWiiRemoteID6897151613140x010000124519201817new FlxGamepadAnalogStick(0, 1, { up : 23, down : 24, left : 25, right : 26 })new FlxGamepadAnalogStick(2, 3, { up : 27, down : 28, left : 29, right : 30 })* IDs for OUYA controllershscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.OUYAID678911121314151610new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 })new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 })304517181920* IDs for PlayStation 4 controllers
*
*-------
* NOTES
*-------
*
* WINDOWS: seems to work fine without any special drivers on Windows 10 (and I seem to recall the same on Windows 7).
* DS4Windows is the popular 3rd-party utility here, but it will make the PS4 controller look like a 360 controller, which
* means that it will be indistinguishable from an XInput device to flixel (DS4Windows: http://ds4windows.com).
*
* LINUX: the PS4 controller will be detected as an XInput device when using xpad (see notes in XInputID.hx)
*
* MAC: the PS4 controller seemed to work perfectly without anything special installed, and was not detected in the 360Controller
* control panel, so it might just work right out of the box!hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.PS4ID678912151617181920new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 })new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 })* Native PSVita input values.
* (The only way to use these is to actually be using a PSVita with the upcoming openfl vita target!)
*
* This will ONLY work with the gamepad API (available only in OpenFL "next", not "legacy") and will NOT work with the joystick APIhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.PSVitaID46789101213151621new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 })* IDs for Switch's Left JoyCon controllers
*
*-------
* NOTES
*-------
*
* WINDOWS: untested.
*
* LINUX: untested.
*
* MAC: Worked on html out of box for me when connected via microUSB cable or Bluetooth.
* Flash and neko couldn't detect the controller via bluetooth,
* which is weird because The pro worked wirelessly.
*
* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.SwitchJoyconLeftID56789101112131516new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 })* IDs for Switch's Right JoyCon controllers
*
*-------
* NOTES
*-------
*
* WINDOWS: untested.
*
* LINUX: untested.
*
* MAC: Worked on html out of box for me when connected via microUSB cable or Bluetooth.
* Flash and neko couldn't detect the controller via bluetooth,
* which is weird because The pro worked wirelessly.
*
* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.SwitchJoyconRightID456789101112131415161718192021new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 })new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 })* IDs for Switch Pro controllers
*
*-------
* NOTES
*-------
*
* WINDOWS: untested.
*
* LINUX: untested
*
* MAC: Worked out of box for me when connected via microUSB cable or Bluetooth
*
* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.SwitchProID9* Things to add:
* - Accelerometer (in both remote and nunchuk)
* - Gyroscope (in Motion-Plus version only)
* - IR camera (position tracking)
* - Rumble
* - Speaker10111213141591011121314151617567891011121314151617181920215678233244new FlxGamepadAnalogStick(0, 1, { up : REMOTE_DPAD_UP, down : REMOTE_DPAD_DOWN, left : REMOTE_DPAD_LEFT, right : REMOTE_DPAD_RIGHT, threshold : 0.5, mode : ONLY_DIGITAL })new FlxGamepadAnalogStick(0, 1, { up : 28, down : 29, left : 30, right : 31 })* the nunchuk only has the "left" analog sticknew FlxGamepadAnalogStick(2, 3, { up : 32, down : 33, left : 34, right : 35 })* the classic controller has both the "left" and "right" analog sticks45222324252627* WiiRemote hardware input ID's when using the device directly
* Hardware ID's: "Nintendo RVL-CNT-01-TR" and "Nintendo RVL-CNT-01" -- the latter does not have the Motion-Plus attachment
*
* NOTE: On Windows this requires the HID-Wiimote driver by Julian Löhr, available here:
* https://github.com/jloehr/HID-Wiimote
*
* @author larsiusprimehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.WiiRemoteID678910-1121314151617181920new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 })new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 })45* IDs for generic XInput controllers
*
* Compatible with the Xbox 360 controller, the Xbox One controller, and anything that masquerades as either of those.
*
*-------
* NOTES
*-------
*
* WINDOWS: we assume the user is using the default drivers that ship with windows.
*
* LINUX: we assume the user is using the xpad driver, specifically Valve's version, steamos-xpad-dkms
* (we got weird errors when using xboxdrv). For full instructions on installation, see:
* http://askubuntu.com/questions/165210/how-do-i-get-an-xbox-360-controller-working/441548#441548
*
* MAC: we assume the user is using the 360 Controller driver, specifically this one:
* https://github.com/360Controller/360Controller/releaseshscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.id.XInputIDhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__get_ANY set="method" line="148">
<_HX_SUPER__get_ALL set="method" line="148">
<_HX_SUPER__get_NONE set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.lists.FlxBaseGamepadList* A helper class for gamepad input.
* Provides optimized gamepad button checking using direct array access.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.lists.FlxGamepadAnalogList* Checks if the entire stick itself is in the given state* A helper class for gamepad input.
* Provides optimized gamepad button checking using direct array access.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Checks if the entire stick itself is in the given state
<_HX_SUPER__checkXY set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.lists.FlxGamepadAnalogStateList* A helper class for gamepad input.
* Provides optimized gamepad button checking using direct array access.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.lists.FlxGamepadAnalogValueList* A helper class for gamepad input.
* Provides optimized gamepad button checking using direct array access.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.lists.FlxGamepadButtonListflixel.input.gamepad.FlxGamepad* analog value (-1.0 to +1.0) tilting towards or away from the ceiling (think "look up", "look down")* analog value (-1.0 to +1.0) tilting side-to-side (think "twisting", or "do a barrel roll!")* A helper class for gamepad input.
* Provides optimized gamepad button checking using direct array access.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.lists.FlxGamepadMotionValueListflixel.input.gamepad.FlxGamepad* whether or not the current gamepad model supports any pointer features (IR Camera, touch surface, etc)* horizontal position (0.0-1.0) on the touch-surface or pointer-space* vertical position (0.0-1.0) on the touch-surface or pointer-space* A helper class for gamepad input -- returns X/Y analog coordinate values between 0.0 and 1.0
* Provides optimized gamepad button checking using direct array access.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.lists.FlxGamepadPointerValueListfalsefalseNONEflixel.input.gamepad.FlxGamepad* Given a raw hardware code, return the "universal" ID* Given an ID, return the raw hardware code* Whether this axis needs to be flippedhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"checkstyle:MemberName"
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getAnalogStick public="1" set="method" line="148">* Given a raw hardware code, return the "universal" ID
<_HX_SUPER__getID public="1" set="method" line="148">* Given an ID, return the raw hardware code
<_HX_SUPER__getRawID public="1" set="method" line="148">* Whether this axis needs to be flipped
<_HX_SUPER__isAxisFlipped public="1" set="method" line="148">
<_HX_SUPER__isAxisForMotion public="1" set="method" line="148">
<_HX_SUPER__set_attachment set="method" line="148">
<_HX_SUPER__getInputLabel public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.FlxGamepadMappingflixel.input.gamepad.mappings.FlxGamepadMapping.Manufacturerhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.LogitechMappinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.MFiMappinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getIDClassicController set="method" line="148">
<_HX_SUPER__getIDNunchuk set="method" line="148">
<_HX_SUPER__getIDDefault set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getRawClassicController set="method" line="148">
<_HX_SUPER__getRawNunchuk set="method" line="148">
<_HX_SUPER__getRawDefault set="method" line="148">
<_HX_SUPER__set_attachment set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.MayflashWiiRemoteMappinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.OUYAMappinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.PS4Mappinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<_HX_SUPER__isAxisFlipped public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.PSVitaMapping* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.SwitchJoyconLeftMapping* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.SwitchJoyconRightMapping* @since 4.8.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.SwitchProMappinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getIDClassicController set="method" line="148">
<_HX_SUPER__getIDNunchuk set="method" line="148">
<_HX_SUPER__getIDDefault set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<_HX_SUPER__getRawClassicController set="method" line="148">
<_HX_SUPER__getRawNunchuk set="method" line="148">
<_HX_SUPER__getRawDefault set="method" line="148">
<_HX_SUPER__isAxisForMotion public="1" set="method" line="148">
<_HX_SUPER__isAxisFlipped public="1" set="method" line="148">
<_HX_SUPER__set_attachment set="method" line="148">
<_HX_SUPER__getInputLabel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.WiiRemoteMappinghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initValues set="method" line="31">
<_HX_SUPER__getID public="1" set="method" line="148">
<_HX_SUPER__getRawID public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.gamepad.mappings.XInputMapping* Maps enum values and strings to integer keycodes.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey")FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey", true)cast -2cast -1cast 65cast 66cast 67cast 68cast 69cast 70cast 71cast 72cast 73cast 74cast 75cast 76cast 77cast 78cast 79
* A helper class for keyboard input.
* Provides optimized key checking using direct array access.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.keyboard.FlxKeyList
<_nativeCorrection>
* Function and numpad keycodes on native targets are incorrect,
* this workaround fixes that. Thanks @HaxePunk!
* @see https://github.com/openfl/openfl-native/issues/193[]flixel.system.replay.FlxReplay* If any keys are not "released",
* this function will return an array indicating
* which keys are pressed and what state they are in.
*
* @return An array of key state data. Null if there is no data.flixel.system.replay.FlxReplay* Part of the keystroke recording system.
* Takes data about key presses and sets it into array.
*
* @param Record Array of data about key states.* Keeps track of what keys are pressed and how with handy Bools or strings.
* Normally accessed via `FlxG.keys`. Example: `FlxG.keys.justPressed.A`hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__onKeyUp set="method" line="31">
<_HX_SUPER__onKeyDown set="method" line="31">
<_HX_SUPER__resolveKeyCode set="method" line="148">flixel.system.replay.FlxReplay* If any keys are not "released",
* this function will return an array indicating
* which keys are pressed and what state they are in.
*
* @return An array of key state data. Null if there is no data.
<_HX_SUPER__record set="method" line="148">flixel.system.replay.FlxReplay* Part of the keystroke recording system.
* Takes data about key presses and sets it into array.
*
* @param Record Array of data about key states.
<_HX_SUPER__playback set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.keyboard.FlxKeyboardflixel.input.keyboard.FlxKeyboard.FlxKeyInput"__ASSET__:bitmap_flixel_input_mouse_GraphicCursor"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/ui/cursor.png"FlxPoint.get()-1* Updates the last and current state of this mouse button.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* These IDs are negative to avoid overlaps with possible touch point IDs.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast -1cast -2cast -3hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast -1cast -2cast -3hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (-1, flixel.input.mouse.FlxMouseButtonID)cast (-2, flixel.input.mouse.FlxMouseButtonID)cast (-3, flixel.input.mouse.FlxMouseButtonID)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Updates the last and current state of this mouse button.
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__onDown public="1" set="method" line="31">
<_HX_SUPER__onUp public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.mouse.FlxMouseButtonflixel.input.mouse.FlxMouseButton.FlxMouseButtonIDflixel.input.mouse.FlxMouseButton.FlxMouseButtonIDflixel.input.mouse.FlxMouseButton.FlxMouseButtonID_HSC{ pixelPerfect : true, mouseEnabled : true, mouseChildren : false }* Adds an object to the FlxMouseEventManager registry. Automatically initializes the plugin.
*
* @param onMouseDown Callback when mouse is pressed down over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param onMouseUp Callback when mouse is released over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param onMouseOver Callback when mouse is this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param onMouseOut Callback when mouse moves out of this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param mouseChildren If true, other objects overlapped by this will still receive mouse events.
* @param mouseEnabled If true, this object will receive mouse events.
* @param pixelPerfect If true, the collision check will be pixel-perfect. Only works for FlxSprites.
* @param mouseButtons The mouse buttons that can trigger callbacks. Left only by default.* Removes a registered object from the registry.* Removes all registered objects from the registry.* Reorders the registered objects, using the current object drawing order.
* This should be called if you alter the draw/update order of a registered object,
* That is, if you alter the position of a registered object inside its `FlxGroup`.
* It may also be called if the objects are not registered by the same order they are
* added to `FlxGroup`.* Sets the mouseDown callback associated with an object.
*
* @param onMouseDown Callback when mouse is pressed down over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseUp callback associated with an object.
*
* @param onMouseUp Callback when mouse is released over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseClick callback associated with an object.
*
* @param onMouseClick Callback when mouse is pressed and released over this object.
* Must have Object as argument - e.g. `onMouseClick(object:FlxObject)`.
* @since 4.4.0* Sets the mouseDoubleClick callback associated with an object.
*
* @param onMouseDoubleClick Callback when mouse is pressed and released over this object twice.
* Must have Object as argument - e.g. `onMouseDoubleClick(object:FlxObject)`.
* @since 4.4.0* Sets the mouseOver callback associated with an object.
*
* @param onMouseOver Callback when mouse is over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseOut callback associated with an object.
*
* @param OnMouseOver Callback when mouse is moved out of this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseMove callback associated with an object.
*
* @param onMouseMove Callback when the mouse is moved while over this object.
* Must have Object as argument - e.g. `onMouseMove(object:FlxObject)`.
* @since 4.4.0* Sets the mouseWheel callback associated with an object.
*
* @param onMouseWheel Callback when the mouse wheel is moved while over this object.
* Must have Object as argument - e.g. `onMouseWheel(object:FlxObject)`.
* @since 4.4.0* Enables/disables mouse behavior for an object.
*
* @param mouseEnabled Whether this object will be tested for mouse events.* Checks if a registered object is mouseEnabled.* Enables/disables mouseChildren for an object.
*
* @param mouseChildren Whether this object will allow other overlapping object to receive mouse events.* Checks if an object allows mouseChildren.* @param mouseButtons The mouse buttons that can trigger callbacks. Left only by default.flixel.input.mouse.FlxMouseEventManagerhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_list expr="[]">
[]
<_overList expr="[]">
[]
<_downList expr="[]">
[]
<_clickList expr="[]">
[]-1
<_point expr="FlxPoint.get()">
FlxPoint.get()500* The maximum amount of time between two clicks that is considered a double click, in milliseconds.
* @since 4.4.0{ pixelPerfect : true, mouseEnabled : true, mouseChildren : false }* Adds an object to the FlxMouseEventManager registry. Automatically initializes the plugin.
*
* @param onMouseDown Callback when mouse is pressed down over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param onMouseUp Callback when mouse is released over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param onMouseOver Callback when mouse is this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param onMouseOut Callback when mouse moves out of this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.
* @param mouseChildren If true, other objects overlapped by this will still receive mouse events.
* @param mouseEnabled If true, this object will receive mouse events.
* @param pixelPerfect If true, the collision check will be pixel-perfect. Only works for FlxSprites.
* @param mouseButtons The mouse buttons that can trigger callbacks. Left only by default.* Removes a registered object from the registry.* Removes all registered objects from the registry.* Reorders the registered objects, using the current object drawing order.
* This should be called if you alter the draw/update order of a registered object,
* That is, if you alter the position of a registered object inside its `FlxGroup`.
* It may also be called if the objects are not registered by the same order they are
* added to `FlxGroup`.* Sets the mouseDown callback associated with an object.
*
* @param onMouseDown Callback when mouse is pressed down over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseUp callback associated with an object.
*
* @param onMouseUp Callback when mouse is released over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseClick callback associated with an object.
*
* @param onMouseClick Callback when mouse is pressed and released over this object.
* Must have Object as argument - e.g. `onMouseClick(object:FlxObject)`.
* @since 4.4.0* Sets the mouseDoubleClick callback associated with an object.
*
* @param onMouseDoubleClick Callback when mouse is pressed and released over this object twice.
* Must have Object as argument - e.g. `onMouseDoubleClick(object:FlxObject)`.
* @since 4.4.0* Sets the mouseOver callback associated with an object.
*
* @param onMouseOver Callback when mouse is over this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseOut callback associated with an object.
*
* @param onMouseOver Callback when mouse is moved out of this object.
* Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`.* Sets the mouseMove callback associated with an object.
*
* @param onMouseMove Callback when the mouse is moved while over this object.
* Must have Object as argument - e.g. `onMouseMove(object:FlxObject)`.
* @since 4.4.0* Sets the mouseWheel callback associated with an object.
*
* @param onMouseWheel Callback when the mouse wheel is moved while over this object.
* Must have Object as argument - e.g. `onMouseWheel(object:FlxObject)`.
* @since 4.4.0* Enables/disables mouse behavior for an object.
*
* @param MouseEnabled Whether this object will be tested for mouse events.* Checks if a registered object is mouseEnabled.* Enables/disables mouseChildren for an object.
*
* @param mouseChildren Whether this object will allow other overlapping object to receive mouse events.* Checks if an object allows mouseChildren.* @param MouseButtons The mouse buttons that can trigger callbacks. Left only by default.flixel.group.FlxTypedGroup.resolveGroup* Provides mouse event detection for `FlxObject` and `FlxSprite` (pixel-perfect for those).
* To use it, initialize the manager and register objects / sprites.
*
* ```haxe
* FlxG.plugins.add(new FlxMouseEventManager());
* var object = new FlxObject();
* FlxMouseEventManager.add(
* object, onMouseDown, onMouseUp, onMouseOver, onMouseOut);
* ```
*
* Or simply add a new object and this plugin will initialize itself:
*
* ```haxe
* FlxMouseEventManager.add(
* object, onMouseDown, onMouseUp, onMouseOver, onMouseOut);
* ```
*
* Also implement the callbacks with the object's type as parameters:
*
* ```haxe
* function onMouseDown(object:FlxObject) {}
* function onMouseUp(object:FlxObject) {}
* function onMouseOver(object:FlxObject) {}
* function onMouseOut(object:FlxObject) {}
* ```
*
* @author TiagoLr (~~~ ProG4mr ~~~)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">* Removes all registered objects from the registry.
<_HX_SUPER__removeAll public="1" set="method" line="31">* Reorders the registered objects, using the current object drawing order.
* This should be called if you alter the draw/update order of a registered object,
* That is, if you alter the position of a registered object inside its `FlxGroup`.
* It may also be called if the objects are not registered by the same order they are
* added to `FlxGroup`.
<_HX_SUPER__reorder public="1" set="method" line="31">flixel.group.FlxTypedGroup.resolveGroup
<_HX_SUPER__traverseFlxGroup set="method" line="31">
<_HX_SUPER__sortByMouseChildren set="method" line="148">
<_HX_SUPER__clearRegistry set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.mouse.FlxMouseEventManager{ YOffset : 0, XOffset : 0, Scale : 1 }* Helper variables for flash native cursors
<_HX_SUPER__load public="1" set="method" line="31">
{ YOffset : 0, XOffset : 0, Scale : 1 }* Unload the current cursor graphic. If the current cursor is visible,
* then the default system cursor is loaded up to replace the old one.
<_HX_SUPER__unload public="1" set="method" line="31">* Clean up memory. Internal use only.
<_HX_SUPER__destroy public="1" set="method" line="31">* Resets the just pressed/just released flags and sets mouse to not pressed.
<_HX_SUPER__reset public="1" set="method" line="31">* Called by the internal game loop to update the mouse pointer's position in the game world.
* Also updates the just pressed/just released flags.
<_HX_SUPER__update set="method" line="31">* Called from the main Event.ACTIVATE that is dispatched in FlxGame
<_HX_SUPER__onFocus set="method" line="31">* Called from the main Event.DEACTIVATE that is dispatched in FlxGame
<_HX_SUPER__onFocusLost set="method" line="31">
<_HX_SUPER__onGameStart set="method" line="31">* Internal event handler for input and focus.
<_HX_SUPER__onMouseWheel set="method" line="31">
<_HX_SUPER__showSystemCursor set="method" line="31">
<_HX_SUPER__hideSystemCursor set="method" line="31">
<_HX_SUPER__set_useSystemCursor set="method" line="148">
<_HX_SUPER__showCursor set="method" line="31">
<_HX_SUPER__hideCursor set="method" line="31">
<_HX_SUPER__set_visible set="method" line="148">flixel.system.replay.FlxReplay
<_HX_SUPER__record set="method" line="148">flixel.system.replay.FlxReplay
<_HX_SUPER__playback set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.mouse.FlxMouse.GraphicCursorflixel.input.mouse.FlxMouse* The _unique_ ID of this touch. You should not make not any further assumptions
* about this value - IDs are not guaranteed to start from 0 or ascend in order.
* The behavior may vary from device to device.new Point()FlxPoint.get()-1* Resets the justPressed/justReleased flags and sets touch to not pressed.* Called by the internal game loop to update the just pressed/just released flags.* Function for updating touch coordinates. Called by the TouchManager.
*
* @param X stageX touch coordinate
* @param Y stageY touch coordinate{ pointID : 0, y : 0, x : 0 }* @param X stageX touch coordinate
* @param Y stageX touch coordinate
* @param PointID touchPointID of the touch* Helper class, contains and tracks touch points in your game.
* Automatically accounts for parallax scrolling, etc.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.input.touch.FlxTouchManager0* The maximum number of concurrent touch points supported by the current device.* All active touches including just created, moving and just released.
<_inactiveTouches>
* Storage for inactive touches (some sort of cache for them).
<_touchesCache>
* Helper storage for active touches (for faster access)* WARNING: can be null if no active touch with the provided ID could be found* Return the first touch if there is one, beware of null* Clean up memory. Internal use only.* Gets all touches which were just started
*
* @param TouchArray Optional array to fill with touch objects
* @return Array with touches* Gets all touches which were just ended
*
* @param TouchArray Optional array to fill with touch objects
* @return Array with touches* Resets all touches to inactive state.* Event handler so FlxGame can update touches.* Event handler so FlxGame can update touches.* Event handler so FlxGame can update touches.* Internal function for adding new touches to the manager
*
* @param Touch A new FlxTouch object
* @return The added FlxTouch object* Internal function for touch reuse
*
* @param X stageX touch coordinate
* @param Y stageY touch coordinate
* @param PointID id of the touch
* @return A recycled touch object* Called by the internal game loop to update the touch position in the game world.
* Also updates the just pressed/just released flags.flixel.FlxG* @author Zaphodhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Return the first touch if there is one, beware of null
<_HX_SUPER__getFirst public="1" set="method" line="148">* Clean up memory. Internal use only.
<_HX_SUPER__destroy public="1" set="method" line="31">* Gets all touches which were just started
*
* @param TouchArray Optional array to fill with touch objects
* @return Array with touches
<_HX_SUPER__justStarted public="1" set="method" line="148">* Gets all touches which were just ended
*
* @param TouchArray Optional array to fill with touch objects
* @return Array with touches
<_HX_SUPER__justReleased public="1" set="method" line="148">* Resets all touches to inactive state.
<_HX_SUPER__reset public="1" set="method" line="31">* Event handler so FlxGame can update touches.
<_HX_SUPER__handleTouchBegin set="method" line="31">* Event handler so FlxGame can update touches.
<_HX_SUPER__handleTouchEnd set="method" line="31">* Event handler so FlxGame can update touches.
<_HX_SUPER__handleTouchMove set="method" line="31">* Internal function for adding new touches to the manager
*
* @param Touch A new FlxTouch object
* @return The added FlxTouch object
<_HX_SUPER__add set="method" line="148">* Internal function for touch reuse
*
* @param X stageX touch coordinate
* @param Y stageY touch coordinate
* @param PointID id of the touch
* @return A recycled touch object
<_HX_SUPER__recycle set="method" line="148">* Called by the internal game loop to update the touch position in the game world.
* Also updates the just pressed/just released flags.
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__onFocus set="method" line="31">
<_HX_SUPER__onFocusLost set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.touch.FlxTouchManager
<_HX_SUPER__destroy public="1" set="method" line="31">* Resets the justPressed/justReleased flags and sets touch to not pressed.
<_HX_SUPER__recycle public="1" set="method" line="31">* Called by the internal game loop to update the just pressed/just released flags.
<_HX_SUPER__update set="method" line="31">* Function for updating touch coordinates. Called by the TouchManager.
*
* @param X stageX touch coordinate
* @param Y stageY touch coordinate
<_HX_SUPER__setXY set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.input.touch.FlxTouch* Convert radians to degrees by multiplying it with this value.* Convert degrees to radians by multiplying it with this value.* Calculates the angle from (0, 0) to (x, y), in radians
* @param x The x distance from the origin
* @param y The y distance from the origin
* @return The angle in radians between -PI to PI* Calculates the angle from (0, 0) to (x, y), in degrees
* @param x The x distance from the origin
* @param y The y distance from the origin
* @return The angle in degrees between -180 to 180{ asDegrees : false }* Calculates the angle from (0, 0) to (x, y)
* @param x The x distance from the origin
* @param y The y distance from the origin
* @param asDegrees If true, it gives the value in degrees
* @return The angle, either in degrees, between -180 and 180 or in radians, between -PI and PI* Keeps an angle value between -180 and +180 by wrapping it
* e.g an angle of +270 will be converted to -90
* Should be called whenever the angle is updated on a FlxSprite to stop it from going insane.
*
* @param angle The angle value to check
*
* @return The new angle value, returns the same as the input angle if it was within bounds* Converts a Radian value into a Degree
* Converts the radians value into degrees and returns
*
* @param radians The value in radians
* @return Degrees* Converts a Degrees value into a Radian
* Converts the degrees value into radians and returns
*
* @param degrees The value in degrees
* @return Radians{ AsDegrees : false }* Find the angle between the two FlxSprite, taking their x/y and origin into account.
*
* @param SpriteA The FlxSprite to test from
* @param SpriteB The FlxSprite to test to
* @param AsDegrees If you need the value in degrees instead of radians, set to true
* @return The angle (in radians unless asDegrees is true)* Find the angle (in degrees) between the two FlxSprite, taking their x/y and origin into account.
* @since 5.0.0
*
* @param SpriteA The FlxSprite to test from
* @param SpriteB The FlxSprite to test to
* @return The angle in degrees* Find the angle (in radians) between the two FlxSprite, taking their x/y and origin into account.
* @since 5.0.0
*
* @param SpriteA The FlxSprite to test from
* @param SpriteB The FlxSprite to test to
* @return The angle in radians{ AsDegrees : false }* Find the angle between an FlxSprite and an FlxPoint.
* The source sprite takes its x/y and origin into account.
*
* @param Sprite The FlxSprite to test from
* @param Target The FlxPoint to angle the FlxSprite towards
* @param AsDegrees If you need the value in degrees instead of radians, set to true
* @return The angle (in radians unless AsDegrees is true)* Find the angle (in degrees) between an FlxSprite and an FlxPoint.
* The source sprite takes its x/y and origin into account.
* @since 5.0.0
*
* @param Sprite The FlxSprite to test from
* @param Target The FlxPoint to angle the FlxSprite towards
* @return The angle in degrees* Find the angle (in radians) between an FlxSprite and an FlxPoint.
* The source sprite takes its x/y and origin into account.
* @since 5.0.0
*
* @param Sprite The FlxSprite to test from
* @param Target The FlxPoint to angle the FlxSprite towards
* @return The angle in radians{ AsDegrees : false }* Find the angle between an FlxSprite and the mouse,
* taking their **screen** x/y and origin into account.
*
* @param Object The FlxObject to test from
* @param AsDegrees If you need the value in degrees instead of radians, set to true
* @return The angle (in radians unless AsDegrees is true)* Find the angle (in degrees) between an FlxSprite and the mouse,
* taking their **screen** x/y and origin into account.
* @since 5.0.0
*
* @param Object The FlxObject to test from
* @return The angle in degrees* Find the angle (in radians) between an FlxSprite and the mouse,
* taking their **screen** x/y and origin into account.
* @since 5.0.0
*
* @param Object The FlxObject to test from
* @return The angle in radians{ AsDegrees : false }* Find the angle between an FlxSprite and a FlxTouch,
* taking their **screen** x/y and origin into account.
*
* @param Object The FlxObject to test from
* @param Touch The FlxTouch to test to
* @param AsDegrees If you need the value in degrees instead of radians, set to true
* @return The angle (in radians unless AsDegrees is true)* Find the angle (in degrees) between an FlxSprite and a FlxTouch,
* taking their **screen** x/y and origin into account.
* @since 5.0.0
*
* @param Object The FlxObject to test from
* @param Touch The FlxTouch to test to
* @return The angle in degrees* Find the angle (in radians) between an FlxSprite and a FlxTouch,
* taking their **screen** x/y and origin into account.
* @since 5.0.0
*
* @param Object The FlxObject to test from
* @param Touch The FlxTouch to test to
* @return The angle in radians{ AsDegrees : false }"FlxAngle.angleFromFacing is deprecated, use flags.degrees."* Translate an object's facing to angle.
*
* @param FacingBitmask Bitmask from which to calculate the angle, as in FlxSprite::facing
* @param AsDegrees If you need the value in degrees instead of radians, set to true
* @return The angle (in radians unless AsDegrees is true)"FlxAngle.getCartesianCoords is deprecated, use FlxVector.setPolarDegrees"* Convert polar coordinates (radius + angle) to cartesian coordinates (x + y)
*
* @param Radius The radius
* @param Angle The angle, in degrees
* @param point Optional FlxPoint if you don't want a new one created
* @return The point in cartesian coords"FlxAngle.getCartesianCoords is deprecated, use FlxPoint"* Convert cartesian coordinates (x + y) to polar coordinates (radius + angle)
*
* @param X x position
* @param Y y position
* @param point Optional FlxPoint if you don't want a new one created
* @return The point in polar coords (x = Radius, y = Angle (degrees))* A set of functions related to angle calculations.
* In degrees: (down = 90, right = 0, up = -90)
*
* Note: in Flixel 5.0.0 all angle-related tools were changed so that 0 degrees points right, instead of up
* @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxAngleflixel.math.FlxAngle.FlxSinCos5e-324* Minimum value of a floating point number.1.79e+308* Maximum value of a floating point number.-MAX_VALUE_INT* Minimum value of an integer.0x7FFFFFFF* Maximum value of an integer.1.41421356237* Approximation of `Math.sqrt(2)`.0.0000001* Used to account for floating-point inaccuracies.* Round a decimal number to have reduced precision (less decimal numbers).
*
* ```haxe
* roundDecimal(1.2485, 2) = 1.25
* ```
*
* @param Value Any number.
* @param Precision Number of decimals the result should have.
* @return The rounded value of that number.* Bound a number by a minimum and maximum. Ensures that this number is
* no smaller than the minimum, and no larger than the maximum.
* Leaving a bound `null` means that side is unbounded.
*
* @param Value Any number.
* @param Min Any number.
* @param Max Any number.
* @return The bounded value of the number.* Returns the linear interpolation of two numbers if `ratio`
* is between 0 and 1, and the linear extrapolation otherwise.
*
* Examples:
*
* ```haxe
* lerp(a, b, 0) = a
* lerp(a, b, 1) = b
* lerp(5, 15, 0.5) = 10
* lerp(5, 15, -1) = -5
* ```* Checks if number is in defined range. A null bound means that side is unbounded.
*
* @param Value Number to check.
* @param Min Lower bound of range.
* @param Max Higher bound of range.
* @return Returns true if Value is in range.* Returns `true` if the given number is odd.* Returns `true` if the given number is even.* Returns `-1` if `a` is smaller, `1` if `b` is bigger and `0` if both numbers are equal.* Returns true if the given x/y coordinate is within the given rectangular block
*
* @param pointX The X value to test
* @param pointY The Y value to test
* @param rectX The X value of the region to test within
* @param rectY The Y value of the region to test within
* @param rectWidth The width of the region to test within
* @param rectHeight The height of the region to test within
*
* @return true if pointX/pointY is within the region, otherwise false* Returns true if the given x/y coordinate is within the given rectangular block
*
* @param pointX The X value to test
* @param pointY The Y value to test
* @param rect The FlxRect to test within
* @return true if pointX/pointY is within the FlxRect, otherwise false* Returns true if the mouse world x/y coordinate are within the given rectangular block
*
* @param useWorldCoords If true the world x/y coordinates of the mouse will be used, otherwise screen x/y
* @param rect The FlxRect to test within. If this is null for any reason this function always returns true.
*
* @return true if mouse is within the FlxRect, otherwise false* Returns true if the given x/y coordinate is within the Rectangle
*
* @param pointX The X value to test
* @param pointY The Y value to test
* @param rect The Rectangle to test within
* @return true if pointX/pointY is within the Rectangle, otherwise false{ min : 0 }* Adds the given amount to the value, but never lets the value
* go over the specified maximum or under the specified minimum.
*
* @param value The value to add the amount to
* @param amount The amount to add to the value
* @param max The maximum the value is allowed to be
* @param min The minimum the value is allowed to be
* @return The new value* Makes sure that value always stays between 0 and max,
* by wrapping the value around.
*
* @param value The value to wrap around
* @param min The minimum the value is allowed to be
* @param max The maximum the value is allowed to be
* @return The wrapped value* Remaps a number from one range to another.
*
* @param value The incoming value to be converted
* @param start1 Lower bound of the value's current range
* @param stop1 Upper bound of the value's current range
* @param start2 Lower bound of the value's target range
* @param stop2 Upper bound of the value's target range
* @return The remapped value* Finds the dot product value of two vectors
*
* @param ax Vector X
* @param ay Vector Y
* @param bx Vector X
* @param by Vector Y
*
* @return Result of the dot product* Returns the length of the given vector.* Find the distance (in pixels, rounded) between two FlxSprites, taking their origin into account
*
* @param SpriteA The first FlxSprite
* @param SpriteB The second FlxSprite
* @return Distance between the sprites in pixels{ IncludeEqual : false }* Check if the distance between two FlxSprites is within a specified number.
* A faster algorithm than distanceBetween because the Math.sqrt() is avoided.
*
* @param SpriteA The first FlxSprite
* @param SpriteB The second FlxSprite
* @param Distance The distance to check
* @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance
* @return True if the distance between the sprites is less than the given Distance* Find the distance (in pixels, rounded) from an FlxSprite
* to the given FlxPoint, taking the source origin into account.
*
* @param Sprite The FlxSprite
* @param Target The FlxPoint
* @return Distance in pixels{ IncludeEqual : false }* Check if the distance from an FlxSprite to the given
* FlxPoint is within a specified number.
* A faster algorithm than distanceToPoint because the Math.sqrt() is avoided.
*
* @param Sprite The FlxSprite
* @param Target The FlxPoint
* @param Distance The distance to check
* @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance
* @return True if the distance between the sprites is less than the given Distance* Find the distance (in pixels, rounded) from the object x/y and the mouse x/y
*
* @param Sprite The FlxSprite to test against
* @return The distance between the given sprite and the mouse coordinates{ IncludeEqual : false }* Check if the distance from the object x/y and the mouse x/y is within a specified number.
* A faster algorithm than distanceToMouse because the Math.sqrt() is avoided.
*
* @param Sprite The FlxSprite to test against
* @param Distance The distance to check
* @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance
* @return True if the distance between the sprites is less than the given Distance* Find the distance (in pixels, rounded) from the object x/y and the FlxPoint screen x/y
*
* @param Sprite The FlxSprite to test against
* @param Touch The FlxTouch to test against
* @return The distance between the given sprite and the mouse coordinates{ IncludeEqual : false }* Check if the distance from the object x/y and the FlxPoint screen x/y is within a specified number.
* A faster algorithm than distanceToTouch because the Math.sqrt() is avoided.
*
* @param Sprite The FlxSprite to test against
* @param Distance The distance to check
* @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance
* @return True if the distance between the sprites is less than the given Distance* Returns the amount of decimals a `Float` has.{ aDiff : EPSILON }* Returns `-1` if the number is smaller than `0` and `1` otherwise* Checks if two numbers have the same sign (using `FlxMath.signOf()`).* Hyperbolic sine.* Returns the bigger argument.* Returns the smaller argument.* Returns the absolute integer value.* A class containing a set of math-related functions.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxMath* Rotates this matrix, but takes the values of sine and cosine,
* so it might be useful when you rotate multiple matrices by the same angle
* @param cos The cosine value for rotation angle
* @param sin The sine value for rotation angle
* @return this transformed matrix* Adds 180 degrees to rotation of this matrix
* @return rotated matrix* Adds 90 degrees to rotation of this matrix
* @return rotated matrix* Subtract 90 degrees from rotation of this matrix
* @return rotated matrix* Transforms x coordinate of the point.
* Took original code from openfl.geom.Matrix (which isn't available on flash target).
*
* @param px x coordinate of the point
* @param py y coordinate of the point
* @return transformed x coordinate of the point
*
* @since 4.3.0* Transforms y coordinate of the point.
* Took original code from openfl.geom.Matrix (which isn't available on flash target).
*
* @param px x coordinate of the point
* @param py y coordinate of the point
* @return transformed y coordinate of the point
*
* @since 4.3.0* Helper class for making fast matrix calculations for rendering.
* It mostly copies Matrix class, but with some additions for
* faster rotation by 90 degrees.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxMatrix* 2-dimensional point class
*
* ## Pooling
* To avoid creating new instances, unnecessarily, used points can be
* for later use. Rather than creating a new instance directly, call
* `FlxPoint.get(x, y)` and it will retrieve a point from the pool, if
* one exists, otherwise it will create a new instance. Similarly, when
* you're done using a point, call `myPoint.put()` to place it back.
*
* You can disable point pooling entirely with `FLX_NO_POINT_POOL`.
*
* ## Weak points
* Weak points are points meant for a singular use, rather than calling
* `put` on every point you `get`, you can create a weak point, and have
* it placed back once used. All `FlxPoint` methods and Flixel utilities
* automatically call `putWeak()` on every point passed in.
*
* In the following example, a weak point is created, and passed into
* `p.degreesTo` where `putWeak` is called on it, putting it back in the pool.
*
* ```haxe
* var angle = p.degreesTo(FlxPoint.weak(FlxG.mouse.x, FlxG.mouse.y));
* ```
*
* ## Overloaded Operators
*
* - `A += B` adds the value of `B` to `A`
* - `A -= B` subtracts the value of `B` from `A`
* - `A *= k` scales `A` by float `k` in both x and y components
* - `A + B` returns a new point that is sum of `A` and `B`
* - `A - B` returns a new point that is difference of `A` and `B`
* - `A * k` returns a new point that is `A` scaled with coefficient `k`
*
* Note: also accepts `openfl.geom.Point`, but always returns a FlxPoint.
*
* Note: that these operators get points from the pool, but do not put
* points back in the pool, unless they are weak.
*
* Example: 4 total points are created, but only 3 are put into the pool
* ```haxe
* var a = FlxPoint.get(1, 1);
* var b = FlxPoint.get(1, 1);
* var c = (a * 2.0) + b;
* a.put();
* b.put();
* c.put();
* ```
*
* To put all 4 back, it should look like this:
* ```haxe
* var a = FlxPoint.get(1, 1);
* var b = FlxPoint.get(1, 1);
* var c = a * 2.0;
* var d = c + b;
* a.put();
* b.put();
* c.put();
* d.put();
* ```
*
* Otherwise, the remainging points will become garbage, adding to the
* heap, potentially triggering a garbage collection when you don't want.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0.0000001EPSILON * EPSILON
<_point1 expr="new FlxPoint()" line="77" static="1">
new FlxPoint()
<_point2 expr="new FlxPoint()" line="78" static="1">
new FlxPoint()
<_point3 expr="new FlxPoint()" line="79" static="1">
new FlxPoint(){ y : 0, x : 0 }* Recycle or create new FlxPoint.
* Be sure to put() them back into the pool after you're done with them!
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.{ y : 0, x : 0 }* Recycle or create a new FlxPoint which will automatically be released
* to the pool when passed into a flixel function.
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.
* @since 4.6.0A + B* Operator that adds two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A * B* Operator that scales a point by float, returning a new point.A / B* Operator that divides a point by float, returning a new point.A += B* Operator that adds two points, returning a new point.A -= B* Operator that subtracts two points, returning a new point.A *= B* Operator that scales a points by float, returning a new point.A + B* Operator that adds two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A += B* Operator that adds two points, returning a new point.A -= B* Operator that subtracts two points, returning a new point.* The horizontal component of the unit point* The vertical component of the unit point* Length of the point* length of the point squared* The angle formed by the point with the horizontal axis (in degrees)* The angle formed by the point with the horizontal axis (in radians)* The horizontal component of the right normal of the point* The vertical component of the right normal of the point* The horizontal component of the left normal of the point* The vertical component of the left normal of the point
<_new public="1" get="inline" set="null" line="300" static="1">
{ y : 0, x : 0 }{ y : 0, x : 0 }* Set the coordinates of this point object.
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.{ y : 0, x : 0 }* Adds to the coordinates of this point.
*
* @param x Amount to add to x
* @param y Amount to add to y
* @return This point.* Adds the coordinates of another point to the coordinates of this point.
*
* @param point The point to add to this point
* @return This point.{ y : 0, x : 0 }* Subtracts from the coordinates of this point.
*
* @param x Amount to subtract from x
* @param y Amount to subtract from y
* @return This point.* Subtracts the coordinates of another point from the coordinates of this point.
*
* @param point The point to subtract from this point
* @return This point.* Scale this point.
*
* @param x - scale x coefficient
* @param y - scale y coefficient, if omitted, x is used
* @return scaled point* Scale this point by another point.
*
* @param point - The x and y scale coefficient
* @return scaled point* Returns scaled copy of this point.
*
* @param k - scale coefficient
* @return scaled point* Return new point which equals to sum of this point and passed p point.
*
* @param p point to add
* @return addition result* Returns new point which is result of subtraction of p point from this point.
*
* @param p point to subtract
* @return subtraction result* Helper function, just copies the values from the specified point.
*
* @param p Any FlxPoint.
* @return A reference to itself.* Helper function, just copies the values from the specified Flash point.
*
* @param p Any Point.
* @return A reference to itself.* Helper function, just copies the values from this point to the specified point.
*
* @param p optional point to copy this point to
* @return copy of this point* Helper function, just copies the values from this point to the specified Flash point.
*
* @param p Any Point.
* @return A reference to the altered point parameter.* Helper function, just increases the values of the specified Flash point by the values of this point.
*
* @param p Any Point.
* @return A reference to the altered point parameter.* Helper function, just decreases the values of the specified Flash point by the values of this point.
*
* @param p Any Point.
* @return A reference to the altered point parameter.* Rounds x and y using Math.floor()* Rounds x and y using Math.ceil()* Rounds x and y using Math.round()* Returns true if this point is within the given rectangular bounds
*
* @param x The X value of the region to test within
* @param y The Y value of the region to test within
* @param width The width of the region to test within
* @param height The height of the region to test within
* @return True if the point is within the region, otherwise false* Returns true if this point is within the given rectangular block
*
* @param rect The FlxRect to test within
* @return True if pointX/pointY is within the FlxRect, otherwise false"rotate is deprecated, use pivotDegrees"* Rotates this point clockwise in 2D space around another point by the given degrees.
*
* @param pivot The pivot you want to rotate this point around
* @param degrees Rotate the point by this many degrees clockwise.
* @return A FlxPoint containing the coordinates of the rotated point.* Rotates this point clockwise in 2D space around another point by the given radians.
* Note: To rotate a point around 0,0 you can use `p.radians += angle`
* @since 5.0.0
*
* @param pivot The pivot you want to rotate this point around
* @param radians Rotate the point by this many radians clockwise.
* @return A FlxPoint containing the coordinates of the rotated point.* Rotates this point clockwise in 2D space around another point by the given degrees.
* Note: To rotate a point around 0,0 you can use `p.degrees += angle`
* @since 5.0.0
*
* @param pivot The pivot you want to rotate this point around
* @param degrees Rotate the point by this many degrees clockwise.
* @return A FlxPoint containing the coordinates of the rotated point.* Calculate the distance to another point.
*
* @param point A FlxPoint object to calculate the distance to.
* @return The distance between the two points as a Float.* Calculates the angle from this to another point.
* If the point is straight right of this, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in radians, between -PI and PI* Calculates the angle from another point to this.
* If this is straight right of the point, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in radians, between -PI and PI* Calculates the angle from this to another point.
* If the point is straight right of this, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in degrees, between -180 and 180* Calculates the angle from another point to this.
* If this is straight right of the point, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in degrees, between -180 and 180"angleBetween is deprecated, use degreesTo instead"DEPRECATED
*
* Calculates the angle between this and another point. 0 degrees points straight up.
*
* Note: Every other flixel function treats straight right as 0 degrees.
*
* Also Note: The result is very innacurate.
*
* @param point The other point.
* @return The angle in degrees, between -180 and 180.
*
* @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)* Applies transformation matrix to this point
* @param matrix transformation matrix
* @return transformed point* Short for dot product.
*
* @param p point to multiply
* @return dot product of two points* Dot product between two points.
*
* @param p point to multiply
* @return dot product of two points* Dot product between two points.
* Meant for internal use, does not call putWeak.
*
* @param p point to multiply
* @return dot product of two points* Dot product of points with normalization of the second point.
*
* @param p point to multiply
* @return dot product of two points* Check the perpendicularity of two points.
*
* @param p point to check
* @return true - if they are perpendicular* Find the length of cross product between two points.
*
* @param p point to multiply
* @return the length of cross product of two points* Find the length of cross product between two points.
* Meant for internal use, does not call putWeak.
*
* @param p point to multiply
* @return the length of cross product of two points* Check for parallelism of two points.
*
* @param p point to check
* @return true - if they are parallel* Check for parallelism of two points.
* Meant for internal use, does not call putWeak.
*
* @param p point to check
* @return true - if they are parallel* Check if this point has zero length.
*
* @return true - if the point is zero* point reset* Normalization of the point (reduction to unit length)* Check the point for unit length* Rotate the point for a given angle.
*
* @param rads angle to rotate
* @return rotated point* Rotate the point for a given angle.
*
* @param degs angle to rotate
* @return rotated point* Rotate the point with the values of sine and cosine of the angle of rotation.
*
* @param sin the value of sine of the angle of rotation
* @param cos the value of cosine of the angle of rotation
* @return rotated point* Sets the polar coordinates of the point
*
* @param length The length to set the point
* @param radians The angle to set the point, in radians
* @return The rotated point
*
* @since 4.10.0* Sets the polar coordinates of the point
*
* @param length The length to set the point
* @param degrees The angle to set the point, in degrees
* @return The rotated point
*
* @since 4.10.0* Right normal of the point* Left normal of the point* Change direction of the point to opposite* The projection of this point to point that is passed as an argument
* (without modifying the original point!).
*
* @param p point to project
* @param proj optional argument - result point
* @return projection of the point* Projecting this point on the normalized point p.
*
* @param p this point has to be normalized, ie have unit length
* @param proj optional argument - result point
* @return projection of the point* Projecting this point on the normalized point p.
* Meant for internal use, does not call putWeak.
*
* @param p this point has to be normalized, ie have unit length
* @param proj optional argument - result point
* @return projection of the point* Dot product of left the normal point and point p.* Dot product of left the normal point and point p.
* Meant for internal use, does not call putWeak.* Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the ratio between the perpProducts of this point and p point* Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point.
* Meant for internal use, does not call putWeak.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the ratio between the perpProducts of this point and p point* Finding the point of intersection of points.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the point of intersection of points* Finding the point of intersection of points if it is in the "bounds" of the points.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the point of intersection of points if it is in the "bounds" of the points* Limit the length of this point.
*
* @param max maximum length of this point* Get the angle between points (in radians).
*
* @param p second point, which we find the angle
* @return the angle in radians* The angle between points (in degrees).
*
* @param p second point, which we find the angle
* @return the angle in radians* The sign of half-plane of point with respect to the point through the a and b points.
*
* @param a start point of the wall-point
* @param b end point of the wall-point* The distance between points* The squared distance between points{ bounceCoeff : 1 }{ friction : 0, bounceCoeff : 1 }* Checking if this is a valid point.
*
* @return true - if the point is valid* Copies this point.
*
* @param p optional point to copy this point to
* @return copy of this pointhscript.UsingHandler.build()hscript.ClassExtendMacro.build()0.0000001EPSILON * EPSILON
<_point1 expr="new FlxPoint()" line="77" static="1">
new FlxPoint()
<_point2 expr="new FlxPoint()" line="78" static="1">
new FlxPoint()
<_point3 expr="new FlxPoint()" line="79" static="1">
new FlxPoint(){ y : 0, x : 0 }* Recycle or create new FlxPoint.
* Be sure to put() them back into the pool after you're done with them!
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.{ y : 0, x : 0 }* Recycle or create a new FlxPoint which will automatically be released
* to the pool when passed into a flixel function.
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.
* @since 4.6.0A + B* Operator that adds two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A * B* Operator that scales a point by float, returning a new point.A / B* Operator that divides a point by float, returning a new point.A += B* Operator that adds two points, returning a new point.A -= B* Operator that subtracts two points, returning a new point.A *= B* Operator that scales a points by float, returning a new point.A + B* Operator that adds two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A += B* Operator that adds two points, returning a new point.A -= B* Operator that subtracts two points, returning a new point.* The horizontal component of the unit point* The vertical component of the unit point* Length of the point* length of the point squared* The angle formed by the point with the horizontal axis (in degrees)* The angle formed by the point with the horizontal axis (in radians)* The horizontal component of the right normal of the point* The vertical component of the right normal of the point* The horizontal component of the left normal of the point* The vertical component of the left normal of the point
<_new public="1" get="inline" set="null" line="300" static="1">
{ y : 0, x : 0 }{ y : 0, x : 0 }* Set the coordinates of this point object.
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.{ y : 0, x : 0 }* Adds to the coordinates of this point.
*
* @param x Amount to add to x
* @param y Amount to add to y
* @return This point.* Adds the coordinates of another point to the coordinates of this point.
*
* @param point The point to add to this point
* @return This point.{ y : 0, x : 0 }* Subtracts from the coordinates of this point.
*
* @param x Amount to subtract from x
* @param y Amount to subtract from y
* @return This point.* Subtracts the coordinates of another point from the coordinates of this point.
*
* @param point The point to subtract from this point
* @return This point.* Scale this point.
*
* @param x - scale x coefficient
* @param y - scale y coefficient, if omitted, x is used
* @return scaled point* Scale this point by another point.
*
* @param point - The x and y scale coefficient
* @return scaled point* Returns scaled copy of this point.
*
* @param k - scale coefficient
* @return scaled point* Return new point which equals to sum of this point and passed p point.
*
* @param p point to add
* @return addition result* Returns new point which is result of subtraction of p point from this point.
*
* @param p point to subtract
* @return subtraction result* Helper function, just copies the values from the specified point.
*
* @param p Any FlxPoint.
* @return A reference to itself.* Helper function, just copies the values from the specified Flash point.
*
* @param p Any Point.
* @return A reference to itself.* Helper function, just copies the values from this point to the specified point.
*
* @param p optional point to copy this point to
* @return copy of this point* Helper function, just copies the values from this point to the specified Flash point.
*
* @param p Any Point.
* @return A reference to the altered point parameter.* Helper function, just increases the values of the specified Flash point by the values of this point.
*
* @param p Any Point.
* @return A reference to the altered point parameter.* Helper function, just decreases the values of the specified Flash point by the values of this point.
*
* @param p Any Point.
* @return A reference to the altered point parameter.* Rounds x and y using Math.floor()* Rounds x and y using Math.ceil()* Rounds x and y using Math.round()* Returns true if this point is within the given rectangular bounds
*
* @param x The X value of the region to test within
* @param y The Y value of the region to test within
* @param width The width of the region to test within
* @param height The height of the region to test within
* @return True if the point is within the region, otherwise false* Returns true if this point is within the given rectangular block
*
* @param rect The FlxRect to test within
* @return True if pointX/pointY is within the FlxRect, otherwise false"rotate is deprecated, use pivotDegrees"* Rotates this point clockwise in 2D space around another point by the given degrees.
*
* @param pivot The pivot you want to rotate this point around
* @param degrees Rotate the point by this many degrees clockwise.
* @return A FlxPoint containing the coordinates of the rotated point.* Rotates this point clockwise in 2D space around another point by the given radians.
* Note: To rotate a point around 0,0 you can use `p.radians += angle`
* @since 5.0.0
*
* @param pivot The pivot you want to rotate this point around
* @param radians Rotate the point by this many radians clockwise.
* @return A FlxPoint containing the coordinates of the rotated point.* Rotates this point clockwise in 2D space around another point by the given degrees.
* Note: To rotate a point around 0,0 you can use `p.degrees += angle`
* @since 5.0.0
*
* @param pivot The pivot you want to rotate this point around
* @param degrees Rotate the point by this many degrees clockwise.
* @return A FlxPoint containing the coordinates of the rotated point.* Calculate the distance to another point.
*
* @param point A FlxPoint object to calculate the distance to.
* @return The distance between the two points as a Float.* Calculates the angle from this to another point.
* If the point is straight right of this, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in radians, between -PI and PI* Calculates the angle from another point to this.
* If this is straight right of the point, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in radians, between -PI and PI* Calculates the angle from this to another point.
* If the point is straight right of this, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in degrees, between -180 and 180* Calculates the angle from another point to this.
* If this is straight right of the point, 0 is returned.
* @since 5.0.0
*
* @param point The other point.
* @return The angle, in degrees, between -180 and 180"angleBetween is deprecated, use degreesTo instead"DEPRECATED
*
* Calculates the angle between this and another point. 0 degrees points straight up.
*
* Note: Every other flixel function treats straight right as 0 degrees.
*
* Also Note: The result is very innacurate.
*
* @param point The other point.
* @return The angle in degrees, between -180 and 180.
*
* @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)* Applies transformation matrix to this point
* @param matrix transformation matrix
* @return transformed point* Short for dot product.
*
* @param p point to multiply
* @return dot product of two points* Dot product between two points.
*
* @param p point to multiply
* @return dot product of two points* Dot product between two points.
* Meant for internal use, does not call putWeak.
*
* @param p point to multiply
* @return dot product of two points* Dot product of points with normalization of the second point.
*
* @param p point to multiply
* @return dot product of two points* Check the perpendicularity of two points.
*
* @param p point to check
* @return true - if they are perpendicular* Find the length of cross product between two points.
*
* @param p point to multiply
* @return the length of cross product of two points* Find the length of cross product between two points.
* Meant for internal use, does not call putWeak.
*
* @param p point to multiply
* @return the length of cross product of two points* Check for parallelism of two points.
*
* @param p point to check
* @return true - if they are parallel* Check for parallelism of two points.
* Meant for internal use, does not call putWeak.
*
* @param p point to check
* @return true - if they are parallel* Check if this point has zero length.
*
* @return true - if the point is zero* point reset* Normalization of the point (reduction to unit length)* Check the point for unit length* Rotate the point for a given angle.
*
* @param rads angle to rotate
* @return rotated point* Rotate the point for a given angle.
*
* @param degs angle to rotate
* @return rotated point* Rotate the point with the values of sine and cosine of the angle of rotation.
*
* @param sin the value of sine of the angle of rotation
* @param cos the value of cosine of the angle of rotation
* @return rotated point* Sets the polar coordinates of the point
*
* @param length The length to set the point
* @param radians The angle to set the point, in radians
* @return The rotated point
*
* @since 4.10.0* Sets the polar coordinates of the point
*
* @param length The length to set the point
* @param degrees The angle to set the point, in degrees
* @return The rotated point
*
* @since 4.10.0* Right normal of the point* Left normal of the point* Change direction of the point to opposite* The projection of this point to point that is passed as an argument
* (without modifying the original point!).
*
* @param p point to project
* @param proj optional argument - result point
* @return projection of the point* Projecting this point on the normalized point p.
*
* @param p this point has to be normalized, ie have unit length
* @param proj optional argument - result point
* @return projection of the point* Projecting this point on the normalized point p.
* Meant for internal use, does not call putWeak.
*
* @param p this point has to be normalized, ie have unit length
* @param proj optional argument - result point
* @return projection of the point* Dot product of left the normal point and point p.* Dot product of left the normal point and point p.
* Meant for internal use, does not call putWeak.* Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the ratio between the perpProducts of this point and p point* Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point.
* Meant for internal use, does not call putWeak.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the ratio between the perpProducts of this point and p point* Finding the point of intersection of points.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the point of intersection of points* Finding the point of intersection of points if it is in the "bounds" of the points.
*
* @param a start point of the point
* @param b start point of the p point
* @param p the second point
* @return the point of intersection of points if it is in the "bounds" of the points* Limit the length of this point.
*
* @param max maximum length of this point* Get the angle between points (in radians).
*
* @param p second point, which we find the angle
* @return the angle in radians* The angle between points (in degrees).
*
* @param p second point, which we find the angle
* @return the angle in radians* The sign of half-plane of point with respect to the point through the a and b points.
*
* @param a start point of the wall-point
* @param b end point of the wall-point* The distance between points* The squared distance between points{ bounceCoeff : 1 }{ friction : 0, bounceCoeff : 1 }* Checking if this is a valid point.
*
* @return true - if the point is valid* Copies this point.
*
* @param p optional point to copy this point to
* @return copy of this pointhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_setXCallback>
<_setYCallback>
<_setXYCallback>{ y : 0, x : 0 }* If you only specify one callback function, then the remaining two will use the same.
*
* @param setXCallback Callback for set_x()
* @param setYCallback Callback for set_y()
* @param setXYCallback Callback for set()* A FlxPoint that calls a function when set_x(), set_y() or set() is called. Used in FlxSpriteGroup.
* IMPORTANT: Calling set(x, y); is MUCH FASTER than setting x and y separately. Needs to be destroyed unlike simple FlxPoints!hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0.0000001, Float)cast (EPSILON * EPSILON, Float)
<_point1 public="1" expr="cast (new FlxPoint(), flixel.math.FlxPoint)" line="23" static="1">
cast (new FlxPoint(), flixel.math.FlxPoint)
<_point2 public="1" expr="cast (new FlxPoint(), flixel.math.FlxPoint)" line="23" static="1">
cast (new FlxPoint(), flixel.math.FlxPoint)
<_point3 public="1" expr="cast (new FlxPoint(), flixel.math.FlxPoint)" line="23" static="1">
cast (new FlxPoint(), flixel.math.FlxPoint){ y : 0, x : 0 }* Recycle or create new FlxPoint.
* Be sure to put() them back into the pool after you're done with them!
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.{ y : 0, x : 0 }* Recycle or create a new FlxPoint which will automatically be released
* to the pool when passed into a flixel function.
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.
* @since 4.6.0A + B* Operator that adds two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A * B* Operator that scales a point by float, returning a new point.A / B* Operator that divides a point by float, returning a new point.A += B* Operator that adds two points, returning a new point.A -= B* Operator that subtracts two points, returning a new point.A *= B* Operator that scales a points by float, returning a new point.A + B* Operator that adds two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A - B* Operator that subtracts two points, returning a new point.A += B* Operator that adds two points, returning a new point.A -= B* Operator that subtracts two points, returning a new point.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ y : 0, x : 0 }* Set the coordinates of this point object.
*
* @param x The X-coordinate of the point in space.
* @param y The Y-coordinate of the point in space.
<_HX_SUPER__set public="1" set="method" line="148">
{ y : 0, x : 0 }* Add this FlxBasePoint to the recycling pool.
<_HX_SUPER__put public="1" set="method" line="31">* Necessary for IFlxDestroyable.
<_HX_SUPER__destroy public="1" set="method" line="148">* Necessary for FlxCallbackPoint.
<_HX_SUPER__set_x set="method" line="148">* Necessary for FlxCallbackPoint.
<_HX_SUPER__set_y set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxPointflixel.math.FlxPointflixel.math.FlxPoint.FlxBasePointflixel.math.FlxPoint.FlxCallbackPoint{ y : 0, x : 0 }
<_HX_SUPER__set public="1" set="method" line="148">
{ y : 0, x : 0 }
<_HX_SUPER__set_x set="method" line="148">
<_HX_SUPER__set_y set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__put public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxPointflixel.math.FlxPointflixel.math.FlxPoint.FlxBasePointflixel.math.FlxPoint.FlxCallbackPointflixel.math.FlxPoint.FlxPoint_HSC{ Max : FlxMath.MAX_VALUE_INT, Min : 0 }* Returns a pseudorandom integer between Min and Max, inclusive.
* Will not return a number in the Excludes array, if provided.
* Please note that large Excludes arrays can slow calculations.
*
* @param Min The minimum value that should be returned. 0 by default.
* @param Max The maximum value that should be returned. 2,147,483,647 by default.
* @param Excludes Optional array of values that should not be returned.
<_HX_SUPER__int public="1" set="method" line="148">
{ Max : FlxMath.MAX_VALUE_INT, Min : 0 }{ Max : 1, Min : 0 }* Returns a pseudorandom float value between Min (inclusive) and Max (exclusive).
* Will not return a number in the Excludes array, if provided.
* Please note that large Excludes arrays can slow calculations.
*
* @param Min The minimum value that should be returned. 0 by default.
* @param Max The maximum value that should be returned. 1 by default.
* @param Excludes Optional array of values that should not be returned.
<_HX_SUPER__float public="1" set="method" line="148">
{ Max : 1, Min : 0 }{ StdDev : 1, Mean : 0 }* Returns a pseudorandom float value in a statistical normal distribution centered on Mean with a standard deviation size of StdDev.
* (This uses the Box-Muller transform algorithm for gaussian pseudorandom numbers)
*
* Normal distribution: 68% values are within 1 standard deviation, 95% are in 2 StdDevs, 99% in 3 StdDevs.
* See this image: https://github.com/HaxeFlixel/flixel-demos/blob/dev/Performance/FlxRandom/normaldistribution.png
*
* @param Mean The Mean around which the normal distribution is centered
* @param StdDev Size of the standard deviation
<_HX_SUPER__floatNormal public="1" set="method" line="148">
{ StdDev : 1, Mean : 0 }* Pseudorandomly select from an array of weighted options. For example, if you passed in an array of [50, 30, 20]
* there would be a 50% chance of returning a 0, a 30% chance of returning a 1, and a 20% chance of returning a 2.
* Note that the values in the array do not have to add to 100 or any other number.
* The percent chance will be equal to a given value in the array divided by the total of all values in the array.
*
* @param WeightsArray An array of weights.
* @return A value between 0 and (SelectionArray.length - 1), with a probability equivalent to the values in SelectionArray.
<_HX_SUPER__weightedPick public="1" set="method" line="148">{ GreyScale : false }* Returns a random color.
*
* @param Min An optional FlxColor representing the lower bounds for the generated color.
* @param Max An optional FlxColor representing the upper bounds for the generated color.
* @param Alpha An optional value for the alpha channel of the generated color.
* @param GreyScale Whether or not to create a color that is strictly a shade of grey. False by default.
* @return A color value as a FlxColor.
<_HX_SUPER__color public="1" set="method" line="148">
{ GreyScale : false }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxRandom* Calculates the globally aligned bounding box of a `FlxRect` with the given angle and origin.
* @param degrees The rotation, in degrees of the rect.
* @param origin The relative pivot point, or the point that the rectangle rotates around.
* if `null` , the top-left (or 0,0) is used.
* @param newRect Optional output `FlxRect`, if `null`, a new one is created. Note: If you like, you can
* pass in the input rect to manipulate it. ex: `rect.calcRotatedBounds(angle, null, rect)`
* @return A globally aligned `FlxRect` that fully contains the input rectangle.
* @since 4.11.0
<_HX_SUPER__getRotatedBounds public="1" set="method" line="148">* Necessary for IFlxDestroyable.
<_HX_SUPER__destroy public="1" set="method" line="148">* Returns the area of intersection with specified rectangle.
* If the rectangles do not intersect, this method returns an empty rectangle.
*
* @param rect Rectangle to check intersection against.
* @return The area of intersection of two rectangles.
<_HX_SUPER__intersection public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxRect* DEPRECATED - Use `FlxPoint`
* @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"FlxVector utils have been moved to FlxPoint"{ MaxTime : 0, Speed : 60 }* Sets the source FlxSprite x/y velocity so it will move directly towards the destination FlxSprite at the speed given (in pixels per second)
* If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds.
* Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms.
* The source object doesn't stop moving automatically should it ever reach the destination coordinates.
* If you need the object to accelerate, see accelerateTowardsObject() instead
* Note: Doesn't take into account acceleration, maxVelocity or drag (if you set drag or acceleration too high this object may not move at all)
*
* @param Source The FlxSprite on which the velocity will be set
* @param Dest The FlxSprite where the source object will move to
* @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec)
* @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms* Sets the x/y acceleration on the source FlxSprite so it will move towards the destination FlxSprite at the speed given (in pixels per second)
* You must give a maximum speed value, beyond which the FlxSprite won't go any faster.
* If you don't need acceleration look at moveTowardsObject() instead.
*
* @param Source The FlxSprite on which the acceleration will be set
* @param Dest The FlxSprite where the source object will move towards
* @param Acceleration The speed it will accelerate in pixels per second
* @param MaxSpeed The maximum speed in pixels per second in which the sprite can move{ MaxTime : 0, Speed : 60 }* Move the given FlxSprite towards the mouse pointer coordinates at a steady velocity
* If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds.
* Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms.
* The source object doesn't stop moving automatically should it ever reach the destination coordinates.
*
* @param Source The FlxSprite to move
* @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec)
* @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms{ MaxTime : 0, Speed : 60 }* Move the given FlxSprite towards a FlxTouch point at a steady velocity
* If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds.
* Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms.
* The source object doesn't stop moving automatically should it ever reach the destination coordinates.
*
* @param source The FlxSprite to move
* @param speed The speed it will move, in pixels per second (default is 60 pixels/sec)
* @param maxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms* Sets the x/y acceleration on the source FlxSprite so it will move towards the mouse coordinates at the speed given (in pixels per second)
* You must give a maximum speed value, beyond which the FlxSprite won't go any faster.
* If you don't need acceleration look at moveTowardsMouse() instead.
*
* @param Source The FlxSprite on which the acceleration will be set
* @param Acceleration The speed it will accelerate in pixels per second
* @param MaxSpeed The maximum speed in pixels per second in which the sprite can move* Sets the x/y acceleration on the source FlxSprite so it will move towards a FlxTouch at the speed given (in pixels per second)
* You must give a maximum speed value, beyond which the FlxSprite won't go any faster.
* If you don't need acceleration look at moveTowardsMouse() instead.
*
* @param Source The FlxSprite on which the acceleration will be set
* @param Touch The FlxTouch on which to accelerate towards
* @param Acceleration The speed it will accelerate in pixels per second
* @param MaxSpeed The maximum speed in pixels per second in which the sprite can move{ MaxTime : 0, Speed : 60 }* Sets the x/y velocity on the source FlxSprite so it will move towards the target coordinates at the speed given (in pixels per second)
* If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds.
* Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms.
* The source object doesn't stop moving automatically should it ever reach the destination coordinates.
*
* @param Source The FlxSprite to move
* @param Target The FlxPoint coordinates to move the source FlxSprite towards
* @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec)
* @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms* Sets the x/y acceleration on the source FlxSprite so it will move towards the target coordinates at the speed given (in pixels per second)
* You must give a maximum speed value, beyond which the FlxSprite won't go any faster.
* If you don't need acceleration look at moveTowardsPoint() instead.
*
* @param Source The FlxSprite on which the acceleration will be set
* @param Target The FlxPoint coordinates to move the source FlxSprite towards
* @param Acceleration The speed it will accelerate in pixels per second
* @param MaxSpeed The maximum speed in pixels per second in which the sprite can move* Given the angle and speed calculate the velocity and return it as an FlxPoint
*
* @param Angle The angle (in degrees) calculated in clockwise positive direction (down = 90 degrees positive, right = 0 degrees positive, up = 90 degrees negative)
* @param Speed The speed it will move, in pixels per second sq
* @return A FlxPoint where FlxPoint.x contains the velocity x value and FlxPoint.y contains the velocity y value* Given the FlxSprite and speed calculate the velocity and return it as an FlxPoint based on the direction the sprite is facing
*
* @param Parent The FlxSprite to get the facing value from
* @param Speed The speed it will move, in pixels per second
* @return An FlxPoint where FlxPoint.x contains the velocity x value and FlxPoint.y contains the velocity y value* A tween-like function that takes a starting velocity and some other factors and returns an altered velocity.
*
* @param Velocity Any component of velocity (e.g. 20).
* @param Acceleration Rate at which the velocity is changing.
* @param Drag Really kind of a deceleration, this is how much the velocity changes if Acceleration is not set.
* @param Max An absolute value cap for the velocity (0 for no cap).
* @param Elapsed The amount of time passed in to the latest update cycle
* @return The altered Velocity value.{ resetVelocity : true }* Sets the x/y acceleration on the source FlxSprite so it will accelerate in the direction of the specified angle.
* You must give a maximum speed value (in pixels per second), beyond which the FlxSprite won't go any faster.
*
* @param Source The FlxSprite on which the acceleration will be set
* @param Radians The angle in which the FlxPoint will be set to accelerate
* @param Acceleration The speed it will accelerate in pixels per second
* @param MaxSpeed The maximum speed in pixels per second in which the sprite can move
* @param ResetVelocity Whether to reset the FlxSprite velocity to 0 each timehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.math.FlxVelocityFlxPathType.FORWARD"Use FORWARD or FlxPathType.FORWARD instead"* Move from the start of the path to the end then stop.FlxPathType.BACKWARD"Use BACKWARD or FlxPathType.BACKWARD instead"* Move from the end of the path to the start then stop.FlxPathType.LOOP_FORWARD"Use LOOP_FORWARD or FlxPathType.LOOP_FORWARD instead"* Move from the start of the path to the end then directly back to the start, and start over.FlxPathType.LOOP_BACKWARD"Use LOOP_BACKWARD or FlxPathType.LOOP_BACKWARD instead"* Move from the end of the path to the start then directly back to the end, and start over.FlxPathType.YOYO"Use YOYO or FlxPathType.YOYO instead"* Move from the start of the path to the end then turn around and go back to the start, over and over.
<_point expr="FlxPoint.get()" line="87" static="1">
FlxPoint.get()* Path behavior controls: move from the start of the path to the end then stop.* The list of FlxPoints that make up the path data.
<_nodes>
* An actual array, which holds all the path points.0* The speed at which the object is moving on the path.
* When an object completes a non-looping path circuit,
* the path's speed will be zeroed out, but the path reference
* will NOT be nulled out. So `speed` is a good way
* to check if this object is currently following a path or not.false* Whether to make the object immovable while active.0* The angle in degrees between this object and the next node, where -90 is directly upward, and 0 is to the right.true* Whether the object should auto-center the path or at its origin.false* Whether the object's angle should be adjusted to the path angle during path follow behavior.0* The amount of degrees to offset from the path's angle, when `autoRotate` is `true`. To use
* flixel 4.11's autoRotate behavior, set this to `90`, so there is no rotation at 0 degrees.
*
* @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)
* @since 5.0.0false* Pauses or checks the pause state of the path.0* Tracks which node of the path this object is currently moving toward.falseXY* Whether to limit movement to certain axes.
<_mode>
* Internal tracker for path behavior flags (like looping, yoyo, etc).
<_inc expr="1">
1* Internal helper for node navigation, specifically yo-yo and backwards movement.
<_wasObjectImmovable expr="null">
null
<_firstUpdate expr="false">
false* Just resets some debugging related variables (for debugger renderer).
* Also resets `autoCenter` to `true`.
* @return This path object.{ autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 }* Sets the following properties: `speed`, `mode` and auto rotation.
*
* @param speed The speed at which the object is moving on the path.
* @param mode Path following behavior (like looping, horizontal only, etc).
* @param autoRotate Whether the object's angle should be adjusted to the path angle during
* path follow behavior. Note that moving straight right is 0 degrees, when angle
* angleOffset is 0.
* @return This path object.
* @since 4.2.0{ nodesAsReference : false, autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 }* Starts movement along specified path.
*
* @param nodes An optional array of path waypoints. If null then previously added points will be used. Movement is not started if the resulting array has no points.
* @param speed The speed at which the object is moving on the path.
* @param mode Path following behavior (like looping, horizontal only, etc).
* @param autoRotate The object's angle should be adjusted to the path angle during path follow behavior.
* @param nodesAsReference To pass the input array as reference (true) or to copy the points (false). Default is false.
* @return This path object.* Restarts this path. So object starts movement again from the first (or last) path point
* (depends on path movement behavior mode).
*
* @return This path object.* Change the path node this object is currently at.
*
* @param NodeIndex The index of the new node out of path.nodes.* Internal function for moving the object along the path.
* The first half of the function decides if the object can advance to the next node in the path,
* while the second half handles actually picking a velocity toward the next node.{ snap : true }* Internal function that decides what node in the path to aim for next based on the behavior flags.
*
* @return The node (a `FlxPoint`) we are aiming for next.* Stops the path's movement.
*
* @return This path object.* Called when the path ends, either by completing normally or via `cancel()`.* Clean up memory.* Add a new node to the end of the path at the specified location.
*
* @param x X position of the new path point in world coordinates.
* @param y Y position of the new path point in world coordinates.
*
* @return This path object.* Add a new node to the path at the specified location and index within the path.
*
* @param x X position of the new path point in world coordinates.
* @param y Y position of the new path point in world coordinates.
* @param index Where within the list of path nodes to insert this new point.
*
* @return This path object.{ asReference : false }* Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates.
* This also gives you the option of not creating a new node but actually adding that specific
* FlxPoint object to the path. This allows you to do neat things, like dynamic paths.
*
* @param node The point in world coordinates you want to add to the path.
* @param asReference Whether to add the point as a reference, or to create a new point with the specified values.
*
* @return This path object.{ asReference : false }* Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates.
* This also gives you the option of not creating a new node but actually adding that specific
* FlxPoint object to the path. This allows you to do neat things, like dynamic paths.
*
* @param node The point in world coordinates you want to add to the path.
* @param index Where within the list of path nodes to insert this new point.
* @param asReference Whether to add the point as a reference, or to create a new point with the specified values.
*
* @return This path object.* Remove a node from the path.
* NOTE: only works with points added by reference or with references from nodes itself!
*
* @param node The point object you want to remove from the path.
* @return The node that was excised. Returns null if the node was not found.* Remove a node from the path using the specified position in the list of path nodes.
*
* @param index Where within the list of path nodes you want to remove a node.
* @return The node that was excised. Returns null if there were no nodes in the path.* Get the first node in the list.
*
* @return The first node in the path.* Get the last node in the list.
*
* @return The last node in the path. = [new FlxPoint(0, 0), new FlxPoint(100, 0)];
* object.path = path;
* path.start(points, 50, FORWARD);
* ```
*
* You can also do this in one line:
*
* ```haxe
* object.path = new FlxPath().start([new FlxPoint(0, 0), new FlxPoint(100, 0)], 50, FORWARD);
* ```
*
* ...or using some more chaining:
*
* ```haxe
* object.path = new FlxPath().add(0, 0).add(100, 0).start(50, FORWARD);
* ```
*
* If you are fine with the default values of start (speed, mode, auto-rotate) you can also do:
*
* ```haxe
* object.path = new FlxPath([new FlxPoint(0, 0), new FlxPoint(100, 0)]).start();
* ```]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Path behavior controlshscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x000000* Move from the start of the path to the end then stop.cast 0x000001* Move from the end of the path to the start then stop.cast 0x000010* Move from the start of the path to the end then directly back to the start, and start over.cast 0x000100* Move from the end of the path to the start then directly back to the end, and start over.cast 0x001000* Move from the start of the path to the end then turn around and go back to the start, over and over.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x000000* Move from the start of the path to the end then stop.cast 0x000001* Move from the end of the path to the start then stop.cast 0x000010* Move from the start of the path to the end then directly back to the start, and start over.cast 0x000100* Move from the end of the path to the start then directly back to the end, and start over.cast 0x001000* Move from the start of the path to the end then turn around and go back to the start, over and over.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxColor.WHITEFlxColor.WHITEFlxColor.GREENFlxColor.RED1355hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0x000000, flixel.path.FlxPathType)* Move from the start of the path to the end then stop.cast (0x000001, flixel.path.FlxPathType)* Move from the end of the path to the start then stop.cast (0x000010, flixel.path.FlxPathType)* Move from the start of the path to the end then directly back to the start, and start over.cast (0x000100, flixel.path.FlxPathType)* Move from the end of the path to the start then directly back to the end, and start over.cast (0x001000, flixel.path.FlxPathType)* Move from the start of the path to the end then turn around and go back to the start, over and over.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Just resets some debugging related variables (for debugger renderer).
* Also resets `autoCenter` to `true`.
* @return This path object.
<_HX_SUPER__reset public="1" set="method" line="148">{ autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 }* Sets the following properties: `speed`, `mode` and auto rotation.
*
* @param speed The speed at which the object is moving on the path.
* @param mode Path following behavior (like looping, horizontal only, etc).
* @param autoRotate Whether the object's angle should be adjusted to the path angle during
* path follow behavior. Note that moving straight right is 0 degrees, when angle
* angleOffset is 0.
* @return This path object.
* @since 4.2.0
<_HX_SUPER__setProperties public="1" set="method" line="148">
{ autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 }{ nodesAsReference : false, autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 }* Starts movement along specified path.
*
* @param nodes An optional array of path waypoints. If null then previously added points will be used. Movement is not started if the resulting array has no points.
* @param speed The speed at which the object is moving on the path.
* @param mode Path following behavior (like looping, horizontal only, etc).
* @param autoRotate The object's angle should be adjusted to the path angle during path follow behavior.
* @param nodesAsReference To pass the input array as reference (true) or to copy the points (false). Default is false.
* @return This path object.
<_HX_SUPER__start public="1" set="method" line="148">
{ nodesAsReference : false, autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 }* Restarts this path. So object starts movement again from the first (or last) path point
* (depends on path movement behavior mode).
*
* @return This path object.
<_HX_SUPER__restart public="1" set="method" line="148">* Change the path node this object is currently at.
*
* @param NodeIndex The index of the new node out of path.nodes.
<_HX_SUPER__setNode public="1" set="method" line="148">* Internal function for moving the object along the path.
* The first half of the function decides if the object can advance to the next node in the path,
* while the second half handles actually picking a velocity toward the next node.
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__calculateVelocity set="method" line="31">{ snap : true }* Internal function that decides what node in the path to aim for next based on the behavior flags.
*
* @return The node (a `FlxPoint`) we are aiming for next.
<_HX_SUPER__advancePath set="method" line="148">
{ snap : true }* Stops the path's movement.
*
* @return This path object.
<_HX_SUPER__cancel public="1" set="method" line="148">* Called when the path ends, either by completing normally or via `cancel()`.
<_HX_SUPER__onEnd set="method" line="31">* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Add a new node to the end of the path at the specified location.
*
* @param x X position of the new path point in world coordinates.
* @param y Y position of the new path point in world coordinates.
*
* @return This path object.
<_HX_SUPER__add public="1" set="method" line="148">* Add a new node to the path at the specified location and index within the path.
*
* @param x X position of the new path point in world coordinates.
* @param y Y position of the new path point in world coordinates.
* @param index Where within the list of path nodes to insert this new point.
*
* @return This path object.
<_HX_SUPER__addAt public="1" set="method" line="148">{ asReference : false }* Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates.
* This also gives you the option of not creating a new node but actually adding that specific
* FlxPoint object to the path. This allows you to do neat things, like dynamic paths.
*
* @param node The point in world coordinates you want to add to the path.
* @param asReference Whether to add the point as a reference, or to create a new point with the specified values.
*
* @return This path object.
<_HX_SUPER__addPoint public="1" set="method" line="148">
{ asReference : false }{ asReference : false }* Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates.
* This also gives you the option of not creating a new node but actually adding that specific
* FlxPoint object to the path. This allows you to do neat things, like dynamic paths.
*
* @param node The point in world coordinates you want to add to the path.
* @param index Where within the list of path nodes to insert this new point.
* @param asReference Whether to add the point as a reference, or to create a new point with the specified values.
*
* @return This path object.
<_HX_SUPER__addPointAt public="1" set="method" line="148">
{ asReference : false }* Remove a node from the path.
* NOTE: only works with points added by reference or with references from nodes itself!
*
* @param node The point object you want to remove from the path.
* @return The node that was excised. Returns null if the node was not found.
<_HX_SUPER__remove public="1" set="method" line="148">* Remove a node from the path using the specified position in the list of path nodes.
*
* @param index Where within the list of path nodes you want to remove a node.
* @return The node that was excised. Returns null if there were no nodes in the path.
<_HX_SUPER__removeAt public="1" set="method" line="148">* Get the first node in the list.
*
* @return The first node in the path.
<_HX_SUPER__head public="1" set="method" line="148">* Get the last node in the list.
*
* @return The last node in the path.
<_HX_SUPER__tail public="1" set="method" line="148">
<_HX_SUPER__get_nodes set="method" line="148">
<_HX_SUPER__set_nodes set="method" line="148">
<_HX_SUPER__set_immovable set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.path.FlxPathflixel.path.FlxPath.FlxPathTypeflixel.path.FlxPath.FlxPathTypeflixel.path.FlxPath.FlxPathDrawData
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.path.FlxPathflixel.path.FlxPath.FlxPathTypeflixel.path.FlxPath.FlxPathTypeflixel.path.FlxPath.FlxPathDrawData* Used to find paths in a FlxBaseTilemap. extend this class and override
* `getNeighbors` and `getDistance` to create you're own! For top-down maps, it may
* be wiser to extend FlxDiagonalPathfinder, as it already has a lot of basic helpers.
* @since 5.0.0
*
* To use, either call `myPathfinder.findPath(myMap, start, end)` or
* `myMap.findPathCustom(myPathfinder, start, end)`hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The path data created whenever a `FlxPathfinderData` is used.
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()Data currently being processed by the pathfinder{ simplify : LINE }* Find a path through the tilemap. Any tile with any collision flags set is treated as impassable.
* If no path is discovered then a null reference is returned.
*
* @param map The map we're moving through.
* @param start The start point in world coordinates.
* @param end The end point in world coordinates.
* @param simplify The simplification method to run on the raw path. Default value is LINE.
* @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path
* could be found, then a null reference is returned.* Find a path through the tilemap. Any tile with any collision flags set is treated as impassable.
* If no path is discovered then a null reference is returned.
*
* @param map The map we're moving through.
* @param startIndex The start point in world coordinates.
* @param endIndex The end point in world coordinates.
* @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path could be found,
* then a null reference is returned.* Helper for findPathIndices, after a data instance is already created.
*
* @param data The pathfinder data for this current search.* Pathfinding helper function, strips out extra points on the same line.
*
* @param data The pathfinder data for this current search.
* @param points An array of FlxPoint nodes.* Pathfinding helper function, strips out extra points on the same line.
*
* @param data The pathfinder data for this current search.
* @param points An array of FlxPoint nodes.* Pathfinding helper function, strips out even more points by raycasting from one
* point to the next and dropping unnecessary points.
*
* @param data The pathfinder data for this current search.
* @param points An array of FlxPoint nodes.* Pathfinding helper function, strips out even more points by raycasting from one
* point to the next and dropping unnecessary points.
*
* @param data The pathfinder data for this current search.
* @param points An array of FlxPoint nodes.* Pathfinding helper function, strips out even more points by rayStepping from one
* point to the next and dropping unnecessary points.
*
* @param data The pathfinder data for this current search.
* @param points An array of FlxPoint nodes.
* @param reolution Defaults to 1, meaning check every tile or so. Higher means more checks!{ stopOnEnd : true }* Pathfinding helper function, floods a grid with distance information until it finds the end point.
* NOTE: Currently this process does NOT use any kind of fancy heuristic! It's pretty brute.
*
* @param map The map we're moving through.
* @param startIndex The starting tile's map index.
* @param endIndex The ending tile's map index.
* @param stopOnEnd Whether to stop at the end or not. default true.
* @return An array of FlxPoint nodes. If the end tile could not be found, then a null Array is returned instead.{ stopOnEnd : true }* Actually begins the brute pathfinding process.
*
* @param data The pathfinder data for this current search.
* @param stopOnEnd Whether to stop at the end or not. default true.
* @return The pathfinder data that was passed in.* Intended to be overriden according to your pathfinder extension's needs.
* Returns all neighbors this tile can travel to in a single "move".
*
* @param from The tile we're moving from.
* @return A list of tile indices.* Intended to be overriden according to your pathfinder extension's needs. Otherwise throws an error
*
* Determines the weight or value of moving from one tile to another (lower being more valuable).
*
* @param from The tile we moved from.
* @param to The tile we moved to.
* @return Float used for comparisons in finding the best route.* Intended to be overriden according to your pathfinder extension's needs.
*
* Determines whether the path has found the solution and can stop. By default it
* checks if there is any valid move to the end posiion.
*
* Note: The pathfinder will still continue computing paths if `stopOnEnd` is false.* Intended to be overriden according to your pathfinder extension's needs.
*
* Determines whether the tile has found the shortest path and can be avoided.
* By default it returns true.* Intended to be overriden according to your pathfinder extension's needs.
*
* Determines whether the pathfinder should even bother computing paths. By default it
* makes sure the supplied start and end positions are valid and have collision:NONE.* Creates a FlxTilemapPathPolicy.
*
* @param factory A method to create `FlxTypedPathfinderData` instances.
* Note: You don't need to create a new instances of the same policy for different maps.* Typed version of `FlxPathfinder` in case you're using
* a different `FlxPathfinderData` or FlxTilemap type.
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Determines which neighbors are inside the maps bounds.
*
* @param from The tile index we're moving from.
* @return Direction flags indicating the direction.{ dir : ANY }* Useful If you want to extend this with slight changes.
*
* @param data The pathfinder data for this current search.
* @param to The tile index we're moving from.
* @param dir The direction we came from.{ diagonalPolicy : NONE }* A basic implementation of FlxPathfinder that allows for different diagonal policies.
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Usually just FlxPathfinderData.new, but can be any function that takes a map and 2
* indices and returns whatever FlxPathfinderData you're looking for.
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()The start index of pathThe end index of pathThe distance of every tile from the starting positionEvery index has the tileIndex that reached it first while computing the pathEvery index has the tileIndex that reached it first while computing the pathWhether a path from startIndex to endIndex was found* If possible, this returns the tile indices used to get there the fastest.
* If impossible, null is returned.* If the desired start to end path was successful, this returns the tile indices used
* to get there the fastest. If unsuccessful, null is returned.* Whether the specified index is excluded as a possible path.
* Meaning no shorter paths to it can be found.* Helper for converting a tile index to a X index.* Helper for converting a tile index to a Y index.* Helper that gets the collision properties of a tile by it's index.* Mainly a helper class for FlxTilemapPathPolicy. Used to store data while the paths
* are computed, but also useful for analyzing the data once it's done somputing.
*
* @param mapSize The total number of tiles in the map
* @param startIndex The start index of the path
* @param endIndex The end index of the path* The data used by Pathfinders to "solve" a single pathfinding request. A new Instance
* gets created whenever you request pathfinder computations. Extend this class if your
* pathfinding needs require special iterative data.
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.path.FlxTypedPathfinder* No simplification* Removes nodes that are directly in line with it's neighbors* Removes nodes who'with neighbors that have no walls directly blocking
* Uses `tilemap.ray`.* Removes nodes who'with neighbors that have no walls directly blocking
* Uses `tilemap.rayStep`.* Removes nodes who'with neighbors that have no walls directly
* blocking a box of the given size. Assumes centered origin
* Uses `tilemap.ray`.* calls the method to simplifyhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The policy to use with `FlxDiagonalPathfinder`.
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0* No diagonal movement allowed when calculating the pathcast 1* Diagonal movement costs the same as orthogonal movementcast 2* Diagonal movement costs one more than orthogonal movementhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0* No diagonal movement allowed when calculating the pathcast 1* Diagonal movement costs the same as orthogonal movementcast 2* Diagonal movement costs one more than orthogonal movementhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0, flixel.path.FlxTilemapDiagonalPolicy)* No diagonal movement allowed when calculating the pathcast (1, flixel.path.FlxTilemapDiagonalPolicy)* Diagonal movement costs the same as orthogonal movementcast (2, flixel.path.FlxTilemapDiagonalPolicy)* Diagonal movement costs one more than orthogonal movementhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__getNeighbors set="method" line="148">* Determines which neighbors are inside the maps bounds.
*
* @param from The tile index we're moving from.
* @return Direction flags indicating the direction.
<_HX_SUPER__getInBoundDirections set="method" line="148">{ dir : ANY }* Useful If you want to extend this with slight changes.
*
* @param data The pathfinder data for this current search.
* @param to The tile index we're moving from.
* @param dir The direction we came from.
<_HX_SUPER__canGo set="method" line="148">
{ dir : ANY }
<_HX_SUPER__getDistance set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.path.FlxPathfinderflixel.path.FlxPathfinder.FlxPathfinderDataflixel.path.FlxPathfinder.FlxTypedPathfinderflixel.path.FlxPathfinder.FlxDiagonalPathfinderflixel.path.FlxPathfinder.FlxPathfinderDataFactoryflixel.path.FlxPathfinder.FlxTypedPathfinderDataflixel.path.FlxPathfinder.FlxPathSimplifierflixel.path.FlxPathfinder.FlxTilemapDiagonalPolicyflixel.path.FlxPathfinder.FlxTilemapDiagonalPolicyflixel.path.FlxPathfinder.FlxTilemapDiagonalPolicy_HSC"__ASSET__:bitmap_flixel_system_GraphicLogo"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/logo/logo.png""__ASSET__:bitmap_flixel_system_GraphicVirtualInput"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/ui/virtual-input.png"The byte order for the data, either the `BIG_ENDIAN` or `LITTLE_ENDIAN` constant
from the Endian class.Used to determine whether the `AMF3` or `AMF0` format is used when writing or
reading binary data using the `writeObject()` method. The value is a constant from
the ObjectEncoding class.Writes a Boolean value. A single byte is written according to the `value` parameter,
either 1 if `true` or 0 if `false`.
@param value A Boolean value determining which byte is written. If the parameter
is `true`, 1 is written; if `false`, 0 is written.Writes a byte. The low 8 bits of the parameter are used; the high 24 bits are
ignored.
@param value A byte value as an integer.{ length : 0, offset : 0 }Writes a sequence of bytes from the specified byte array, bytes, starting at the
byte specified by `offset` (using a zero-based index) with a length specified by
`length`, into the file stream, byte stream, or byte array.
If the `length` parameter is omitted, the default length of 0 is used and the
entire buffer starting at `offset` is written. If the `offset` parameter is also
omitted, the entire buffer is written.
If the `offset` or `length` parameter is out of range, they are clamped to the
beginning and end of the bytes array.
@param bytes The byte array to write.
@param offset A zero-based index specifying the position into the array to begin
writing.
@param length An unsigned integer specifying how far into the buffer to write.Writes an IEEE 754 double-precision (64-bit) floating point number.
@param value A double-precision (64-bit) floating point number.Writes an IEEE 754 single-precision (32-bit) floating point number.
@param value A single-precision (32-bit) floating point number.Writes a 32-bit signed integer.
@param value A byte value as a signed integer.Writes a multibyte string to the file stream, byte stream, or byte array, using
the specified character set.
@param value The string value to be written.
@param charSet The string denoting the character set to use. Possible character
set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete
list, see Supported Character Sets.Writes an object to the file stream, byte stream, or byte array, in AMF
serialized format.
@param object The object to be serialized.Writes a 16-bit integer. The low 16 bits of the parameter are used; the high 16
bits are ignored.
@param value A byte value as an integer.Writes a 32-bit unsigned integer.
@param value A byte value as an unsigned integer.Writes a UTF-8 string to the file stream, byte stream, or byte array. The length
of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by
the bytes representing the characters of the string.
@param value The string value to be written.
@throws RangeError If the `length` is larger than 65535.Writes a UTF-8 string. Similar to `writeUTF()`, but does not prefix the string with
a 16-bit `length` word.
@param value The string value to be written.The IDataOutput interface provides a set of methods for writing binary data. This
interface is the I/O counterpart to the IDataInput interface, which reads binary data. The IDataOutput interface is implemented by the FileStream, Socket and ByteArray
classes.
All IDataInput and IDataOutput operations are "bigEndian" by default (the most
significant byte in the sequence is stored at the lowest or first storage address),
and are nonblocking.
Sign extension matters only when you read data, not when you write it. Therefore, you
do not need separate write methods to work with `IDataInput.readUnsignedByte()` and `IDataInput.readUnsignedShort()`. In other words:
* Use `IDataOutput.writeByte()` with `IDataInput.readUnsignedByte()` and
`IDataInput.readByte()`.
* Use `IDataOutput.writeShort()` with `IDataInput.readUnsignedShort()` and
`IDataInput.readShort()`.Returns the number of bytes of data available for reading in the input buffer.
User code must call `bytesAvailable` to ensure that sufficient data is available
before trying to read it with one of the read methods.The byte order for the data, either the `BIG_ENDIAN` or `LITTLE_ENDIAN` constant
from the Endian class.Used to determine whether the `AMF3` or `AMF0` format is used when writing or
reading binary data using the `readObject()` method. The value is a constant from
the ObjectEncoding class.Reads a Boolean value from the file stream, byte stream, or byte array. A single
byte is read and `true` is returned if the byte is nonzero, `false` otherwise.
@returns A Boolean value, `true` if the byte is nonzero, `false` otherwise.
@throws EOFError There is not sufficient data available to read.Reads a signed byte from the file stream, byte stream, or byte array.
@returns The returned value is in the range -128 to 127.
@throws EOFError There is not sufficient data available to read.{ length : 0, offset : 0 }Reads the number of data bytes, specified by the `length` parameter, from the file
stream, byte stream, or byte array. The bytes are read into the ByteArray objected
specified by the `bytes` parameter, starting at the position specified by `offset`.
@param bytes The ByteArray object to read data into.
@param offset The offset into the `bytes` parameter at which data read should
begin.
@param length The number of bytes to read. The default value of 0 causes all
available data to be read.
@throws EOFError There is not sufficient data available to read.Reads an IEEE 754 double-precision floating point number from the file stream, byte
stream, or byte array.
@returns An IEEE 754 double-precision floating point number.
@throws EOFError There is not sufficient data available to read.Reads an IEEE 754 single-precision floating point number from the file stream, byte
stream, or byte array.
@returns An IEEE 754 single-precision floating point number.
@throws EOFError There is not sufficient data available to read.Reads a signed 32-bit integer from the file stream, byte stream, or byte array.
@returns The returned value is in the range -2147483648 to 2147483647.
@throws EOFError There is not sufficient data available to read.Reads a multibyte string of specified length from the file stream, byte stream, or
byte array using the specified character set.
@param length The number of bytes from the byte stream to read.
@param charSet The string denoting the character set to use to interpret the
bytes. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1",
and others. For a complete list, see Supported Character Sets.
**Note:** If the value for the `charSet` parameter is not recognized by the current
system, then Adobe® Flash® Player or Adobe® AIR® uses the system's default code page
as the character set. For example, a value for the `charSet` parameter, as in
`myTest.readMultiByte(22, "iso-8859-01")`, that uses `01` instead of `1` might work
on your development system, but not on another system. On the other system, Flash
Player or the AIR runtime will use the system's default code page.
@returns UTF-8 encoded string.
@throws EOFError There is not sufficient data available to read.Reads an object from the file stream, byte stream, or byte array, encoded in AMF
serialized format.
@returns The deserialized object
@throws EOFError There is not sufficient data available to read.Reads a signed 16-bit integer from the file stream, byte stream, or byte array.
@returns The returned value is in the range -32768 to 32767.
@throws EOFError There is not sufficient data available to read.Reads an unsigned byte from the file stream, byte stream, or byte array.
@returns The returned value is in the range 0 to 255.
@throws EOFError There is not sufficient data available to read.Reads an unsigned 32-bit integer from the file stream, byte stream, or byte array.
@returns The returned value is in the range 0 to 4294967295.
@throws EOFError There is not sufficient data available to read.Reads an unsigned 16-bit integer from the file stream, byte stream, or byte array.
@returns The returned value is in the range 0 to 65535.
@throws EOFError There is not sufficient data available to read.Reads a UTF-8 string from the file stream, byte stream, or byte array. The string
is assumed to be prefixed with an unsigned short indicating the length in bytes.
This method is similar to the `readUTF()` method in the Java® IDataInput interface.
@returns A UTF-8 string produced by the byte representation of characters.
@throws EOFError There is not sufficient data available to read.Reads a sequence of UTF-8 bytes from the byte stream or byte array and returns a
string.
@param length The number of bytes to read.
@returns A UTF-8 string produced by the byte representation of characters of
the specified length.
@throws EOFError There is not sufficient data available to read.The IDataInput interface provides a set of methods for reading binary data. This
interface is the I/O counterpart to the IDataOutput interface, which writes binary data.
All IDataInput and IDataOutput operations are "bigEndian" by default (the most
significant byte in the sequence is stored at the lowest or first storage address), and
are nonblocking. If insufficient data is available, an `EOFError` exception is thrown.
Use the `IDataInput.bytesAvailable` property to determine how much data is available
to read.
Sign extension matters only when you read data, not when you write it. Therefore you
do not need separate write methods to work with `IDataInput.readUnsignedByte()` and
`IDataInput.readUnsignedShort()`. In other words:
* Use `IDataOutput.writeByte()` with `IDataInput.readUnsignedByte()` and
`IDataInput.readByte()`.
* Use `IDataOutput.writeShort()` with `IDataInput.readUnsignedShort()` and
`IDataInput.readShort()`.ObjectEncoding.DEFAULT
<__defaultEndian expr="null" line="1069" static="1">
null
<__endian>
<__length>
{ algorithm : ZLIB }{ length : 0, offset : 0 }{ algorithm : ZLIB }{ length : 0, offset : 0 }
<__fromBytes set="method" line="1730">
<__resize set="method" line="1740">
<__setData get="inline" set="null" line="1776">
{ length : 0 }lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()"tags=\"haxe,release\"""checkstyle:FieldDocComment"lime._internal.macros.AssetsMacro.embedByteArray()hide"__ASSET__:file_flixel_system_VirtualInputData"{ length : 0 }lime._internal.macros.AssetsMacro.embedByteArray()lime._internal.macros.AssetsMacro.embedByteArray()lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/ui/virtual-input.txt"hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"Nokia Cellphone FC Small""Monsterrat"* Generates BitmapData from specified class. Less typing.
*
* @param source BitmapData class to generate BitmapData object from.
* @return Newly instantiated BitmapData object., then it will create BitmapData from this class;
* 3) if the input is String, then it will get BitmapData from openfl.Assets;
* 4) it will return null in any other case.
*
* @param Graphic input data to get BitmapData object for.
* @return BitmapData for specified Dynamic object.]]>, then it will return the name of this class;
* 3) if the input is String, then it will return it;
* 4) it will return null in any other case.
*
* @param Graphic input data to get string key for.
* @param Key optional key string.
* @return Key String for specified Graphic object.]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedBytes()lime._internal.macros.AssetsMacro.embedByteArray()lime._internal.macros.AssetsMacro.embedByteArray()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxAssets.GraphicLogoflixel.system.FlxAssets.GraphicVirtualInputflixel.system.FlxAssets.VirtualInputDataflixel.system.FlxAssets.FlxAngelCodeSourceflixel.system.FlxAssets.FlxTexturePackerSourceflixel.system.FlxAssets.FlxSoundAssetflixel.system.FlxAssets.FlxGraphicAssetflixel.system.FlxAssets.FlxGraphicSourceflixel.system.FlxAssets.FlxTilemapGraphicAssetflixel.system.FlxAssets.FlxBitmapFontGraphicAssetflixel.system.FlxAssets.FlxShaderflixel.system.FlxAssets
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxAssets.GraphicLogoflixel.system.FlxAssets.GraphicVirtualInputflixel.system.FlxAssets.VirtualInputDataflixel.system.FlxAssets.FlxAngelCodeSourceflixel.system.FlxAssets.FlxTexturePackerSourceflixel.system.FlxAssets.FlxSoundAssetflixel.system.FlxAssets.FlxGraphicAssetflixel.system.FlxAssets.FlxGraphicSourceflixel.system.FlxAssets.FlxTilemapGraphicAssetflixel.system.FlxAssets.FlxBitmapFontGraphicAssetflixel.system.FlxAssets.FlxShaderflixel.system.FlxAssetsflixel.FlxCamera* Called by game loop, updates then blits or renders current frame of animation to the screenhscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.FlxCamera* Called by game loop, updates then blits or renders current frame of animation to the screen
<_HX_SUPER__draw public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxBGSpriteopenfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"localhost"* Add this string to allowedURLs array if you want to be able to test game with enabled site-locking on local machine0* Change this if you want the flixel logo to show for more or less time. Default value is 0 seconds (no delay).* List of allowed URLs for built-in site-locking.
* Set it in FlxPreloader's constructor as: `['http://adamatomic.com/canabalt/', FlxPreloader.LOCAL]`;0* The index of which URL in allowedURLs will be triggered when a user clicks on the Site-lock Message.
* For example, if allowedURLs is `['mysite.com', 'othersite.com']`, and `siteLockURLIndex = 1`, then
* the user will go to 'othersite.com' when they click the message, but sitelocking will allow either of those URLs to work.
* Defaults to 0."Sorry."* The title text to display on the sitelock failure screen.
* NOTE: This string should be reviewed for accuracy and may need to be localized.
*
* To customize this variable, create a class extending `FlxBasePreloader`, and override its value in the constructor:
*
* ```haxe
* class Preloader extends FlxBasePreloader
* {
* public function new():Void
* {
* super(0, ["http://placeholder.domain.test/path/document.html"]);
*
* siteLockTitleText = "Custom title text.";
* siteLockBodyText = "Custom body text.";
* }
* }
* ```
* @since 4.3.0"It appears the website you are using is hosting an unauthorized copy of this game. " + "Storage or redistribution of this content, without the express permission of the " + "developer or other copyright holder, is prohibited under copyright law.\n\n" + "Thank you for your interest in this game! Please support the developer by " + "visiting the following website to play the game:"* The body text to display on the sitelock failure screen.
* NOTE: This string should be reviewed for accuracy and may need to be localized.
*
* To customize this variable, create a class extending `FlxBasePreloader`, and override its value in the constructor.
* @see `siteLockTitleText`
* @since 4.3.0
<_percent expr="0">
0
<_width>
<_height>
<_loaded expr="false">
false
<_urlChecked expr="false">
false
<_destroyed expr="false">
false
<_startTime>* Override this to create your own preloader objects.* This function is called externally to initialize the Preloader.* This function is called each update to check the load status of the project.
* It is highly recommended that you do NOT override this.* This function is triggered on each 'frame'.
* It is highly recommended that you do NOT override this.* This function is called when the project has finished loading.
* Override it to remove all of your objects.* Override to draw your preloader objects in response to the Percent
*
* @param Percent How much of the program has loaded.* This function is called EXTERNALLY once the movie has actually finished being loaded.
* Highly recommended you DO NOT override.* This should be used whenever you want to create a Bitmap that uses BitmapData embedded with the
* @:bitmap metadata, if you want to support both Flash and HTML5. Because the embedded data is loaded
* asynchronously in HTML5, any code that depends on the pixel data or size of the bitmap should be
* in the onLoad function; any such code executed before it is called will fail on the HTML5 target.
*
* @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used.
* @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new Bitmap instance is passed as an argument.
* @return The Bitmap instance that was created.* This should be used whenever you want to create a BitmapData object from a class containing data embedded with
* the @:bitmap metadata. Often, you'll want to use the BitmapData in a Bitmap object; in this case, createBitmap()
* can should be used instead. Because the embedded data is loaded asynchronously in HTML5, any code that depends on
* the pixel data or size of the bitmap should be in the onLoad function; any such code executed before it is called
* will fail on the HTML5 target.
*
* @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used.
* @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new BitmapData instance is passed as an argument.
* @return The BitmapData instance that was created.* Site-locking Functionality{ MinDisplayTime : 0 }* FlxBasePreloader Constructor.
* @param MinDisplayTime Minimum time (in seconds) the preloader should be shown. (Default = 0)
* @param AllowedURLs Allowed URLs used for Site-locking. If the game is run anywhere else, a message will be displayed on the screen (Default = [])openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__onAddedToStage public="1" set="method" line="148">
<_HX_SUPER__onComplete set="method" line="31">
<_HX_SUPER__onProgress public="1" set="method" line="31">
<_HX_SUPER__onInit public="1" set="method" line="148">
<_HX_SUPER__onLoaded public="1" set="method" line="148">
<_HX_SUPER__onUpdate public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxBasePreloaderflixel.system.FlxBasePreloader.DefaultPreloader* Override this to create your own preloader objects.
<_HX_SUPER__create set="method" line="31">* This function is called externally to initialize the Preloader.
<_HX_SUPER__onInit public="1" set="method" line="148">* This function is called each update to check the load status of the project.
* It is highly recommended that you do NOT override this.
<_HX_SUPER__onUpdate public="1" set="method" line="148">* This function is triggered on each 'frame'.
* It is highly recommended that you do NOT override this.
<_HX_SUPER__onEnterFrame set="method" line="31">* This function is called when the project has finished loading.
* Override it to remove all of your objects.
<_HX_SUPER__destroy set="method" line="31">* Override to draw your preloader objects in response to the Percent
*
* @param Percent How much of the program has loaded.
<_HX_SUPER__update set="method" line="31">* This function is called EXTERNALLY once the movie has actually finished being loaded.
* Highly recommended you DO NOT override.
<_HX_SUPER__onLoaded public="1" set="method" line="148">* This should be used whenever you want to create a Bitmap that uses BitmapData embedded with the
* @:bitmap metadata, if you want to support both Flash and HTML5. Because the embedded data is loaded
* asynchronously in HTML5, any code that depends on the pixel data or size of the bitmap should be
* in the onLoad function; any such code executed before it is called will fail on the HTML5 target.
*
* @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used.
* @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new Bitmap instance is passed as an argument.
* @return The Bitmap instance that was created.
<_HX_SUPER__createBitmap set="method" line="148">* This should be used whenever you want to create a BitmapData object from a class containing data embedded with
* the @:bitmap metadata. Often, you'll want to use the BitmapData in a Bitmap object; in this case, createBitmap()
* can should be used instead. Because the embedded data is loaded asynchronously in HTML5, any code that depends on
* the pixel data or size of the bitmap should be in the onLoad function; any such code executed before it is called
* will fail on the HTML5 target.
*
* @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used.
* @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new BitmapData instance is passed as an argument.
* @return The BitmapData instance that was created.
<_HX_SUPER__loadBitmapData set="method" line="148">* Site-locking Functionality
<_HX_SUPER__checkSiteLock set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxBasePreloaderflixel.system.FlxBasePreloader.DefaultPreloader
<_NUM_CACHED_FLX_LIST public="1" expr="0" line="17" static="1">
0* Pooling mechanism, when FlxLinkedLists are destroyed, they get added
* to this collection, and when they get recycled they get removed.
<_cachedListsHead static="1">* Recycle a cached Linked List, or creates a new one if needed.* Clear cached List nodes. You might want to do this when loading new levels
* (probably not though, no need to clear cache unless you run into memory problems).* Stores a reference to the next link in the list.true* Clean up memory.* Private, use recycle instead.* A miniature linked list class.
* Useful for optimizing time-critical or highly repetitive tasks!
* See FlxQuadTree for how to use it, IF YOU DARE.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxLinkedList"__ASSET__:bitmap_flixel_system_GraphicLogoLight"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/preloader/light.png""__ASSET__:bitmap_flixel_system_GraphicLogoCorners"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/preloader/corners.png"
<_buffer>
<_bmpBar>
<_text>
<_logo>
<_logoGlow>* This class is called as soon as the FlxPreloaderBase has finished initializing.
* Override it to draw all your graphics and things - make sure you also override update
* Make sure you call super.create()* Cleanup your objects!
* Make sure you call super.destroy()!* Update is called every frame, passing the current percent loaded. Use this to change your loading bar or whatever.
* @param Percent The percentage that the project is loaded{ MinDisplayTime : 0 }* Initialize your preloader here.
*
* ```haxe
* super(0, ["test.com", FlxPreloaderBase.LOCAL]); // example of site-locking
* super(10); // example of long delay (10 seconds)
* ````]]>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* This class is called as soon as the FlxPreloaderBase has finished initializing.
* Override it to draw all your graphics and things - make sure you also override update
* Make sure you call super.create()
<_HX_SUPER__create set="method" line="31">* Cleanup your objects!
* Make sure you call super.destroy()!
<_HX_SUPER__destroy set="method" line="31">* Update is called every frame, passing the current percent loaded. Use this to change your loading bar or whatever.
* @param Percent The percentage that the project is loaded
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxPreloader.GraphicLogoLightflixel.system.FlxPreloader.GraphicLogoCornersflixel.system.FlxPreloader0* Flag for specifying that you want to add an object to the A list.1* Flag for specifying that you want to add an object to the B list.* Controls the granularity of the quad tree. Default is 6 (decent performance on large and small worlds).
<_min static="1">
* Internal, governs and assists with the formation of the tree.
<_object static="1">
* Internal, used to reduce recursive method parameters during object placement and tree formation.
<_objectLeftEdge static="1">
* Internal, used to reduce recursive method parameters during object placement and tree formation.
<_objectTopEdge static="1">
* Internal, used to reduce recursive method parameters during object placement and tree formation.
<_objectRightEdge static="1">
* Internal, used to reduce recursive method parameters during object placement and tree formation.
<_objectBottomEdge static="1">
* Internal, used to reduce recursive method parameters during object placement and tree formation.
<_list static="1">
* Internal, used during tree processing and overlap checks.
<_useBothLists static="1">
* Internal, used during tree processing and overlap checks.
<_processingCallback static="1">
* Internal, used during tree processing and overlap checks.
<_notifyCallback static="1">
* Internal, used during tree processing and overlap checks.
<_iterator static="1">
* Internal, used during tree processing and overlap checks.
<_objectHullX static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_objectHullY static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_objectHullWidth static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_objectHullHeight static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_checkObjectHullX static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_checkObjectHullY static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_checkObjectHullWidth static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_checkObjectHullHeight static="1">
* Internal, helpers for comparing actual object-to-object overlap - see overlapNode().
<_NUM_CACHED_QUAD_TREES public="1" expr="0" line="222" static="1">
0* Pooling mechanism, turn FlxQuadTree into a linked list, when FlxQuadTrees are destroyed, they get added to the list, and when they get recycled they get removed.
<_cachedTreesHead static="1">* Recycle a cached Quad Tree node, or creates a new one if needed.
* @param X The X-coordinate of the point in space.
* @param Y The Y-coordinate of the point in space.
* @param Width Desired width of this node.
* @param Height Desired height of this node.
* @param Parent The parent branch or node. Pass null to create a root.* Clear cached Quad Tree nodes. You might want to do this when loading new levels (probably not though, no need to clear cache unless you run into memory problems).
<_canSubdivide>
* Whether this branch of the tree can be subdivided or not.
<_headA>
* Refers to the internal A and B linked lists,
* which are used to store objects in the leaves.
<_tailA>
* Refers to the internal A and B linked lists,
* which are used to store objects in the leaves.
<_headB>
* Refers to the internal A and B linked lists,
* which are used to store objects in the leaves.
<_tailB>
* Refers to the internal A and B linked lists,
* which are used to store objects in the leaves.
<_northWestTree>
* Internal, governs and assists with the formation of the tree.
<_northEastTree>
* Internal, governs and assists with the formation of the tree.
<_southEastTree>
* Internal, governs and assists with the formation of the tree.
<_southWestTree>
* Internal, governs and assists with the formation of the tree.
<_leftEdge>
* Internal, governs and assists with the formation of the tree.
<_rightEdge>
* Internal, governs and assists with the formation of the tree.
<_topEdge>
* Internal, governs and assists with the formation of the tree.
<_bottomEdge>
* Internal, governs and assists with the formation of the tree.
<_halfWidth>
* Internal, governs and assists with the formation of the tree.
<_halfHeight>
* Internal, governs and assists with the formation of the tree.
<_midpointX>
* Internal, governs and assists with the formation of the tree.
<_midpointY>
* Internal, governs and assists with the formation of the tree.* Clean up memory.* Load objects and/or groups into the quad tree, and register notify and processing callbacks.
* @param ObjectOrGroup1 Any object that is or extends FlxObject or FlxGroup.
* @param ObjectOrGroup2 Any object that is or extends FlxObject or FlxGroup. If null, the first parameter will be checked against itself.
* @param NotifyCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):void that is called whenever two objects are found to overlap in world space, and either no ProcessCallback is specified, or the ProcessCallback returns true.
* @param ProcessCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):Boolean that is called whenever two objects are found to overlap in world space. The NotifyCallback is only called if this function returns true. See FlxObject.separate().flixel.group.FlxTypedGroup.resolveGroup* Call this function to add an object to the root of the tree.
* This function will recursively add all group members, but
* not the groups themselves.
* @param ObjectOrGroup FlxObjects are just added, FlxGroups are recursed and their applicable members added accordingly.
* @param List A int flag indicating the list to which you want to add the objects. Options are A_LIST and B_LIST.* Internal function for recursively navigating and creating the tree
* while adding objects to the appropriate nodes.* Internal function for recursively adding objects to leaf lists.* FlxQuadTree's other main function. Call this after adding objects
* using FlxQuadTree.load() to compare the objects that you loaded.
* @return Whether or not any overlaps were found.* An internal function for comparing an object against the contents of a node.
* @return Whether or not any overlaps were found.* Private, use recycle instead.* A fairly generic quad tree structure for rapid overlap checks.
* FlxQuadTree is also configured for single or dual list operation.
* You can add items either to its A list or its B list.
* When you do an overlap check, you can compare the A list to itself,
* or the A list against the B list. Handy for different things!hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__reset public="1" set="method" line="31">* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Load objects and/or groups into the quad tree, and register notify and processing callbacks.
* @param ObjectOrGroup1 Any object that is or extends FlxObject or FlxGroup.
* @param ObjectOrGroup2 Any object that is or extends FlxObject or FlxGroup. If null, the first parameter will be checked against itself.
* @param NotifyCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):void that is called whenever two objects are found to overlap in world space, and either no ProcessCallback is specified, or the ProcessCallback returns true.
* @param ProcessCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):Boolean that is called whenever two objects are found to overlap in world space. The NotifyCallback is only called if this function returns true. See FlxObject.separate().
<_HX_SUPER__load public="1" set="method" line="31">flixel.group.FlxTypedGroup.resolveGroup* Call this function to add an object to the root of the tree.
* This function will recursively add all group members, but
* not the groups themselves.
* @param ObjectOrGroup FlxObjects are just added, FlxGroups are recursed and their applicable members added accordingly.
* @param List A int flag indicating the list to which you want to add the objects. Options are A_LIST and B_LIST.
<_HX_SUPER__add public="1" set="method" line="31">* Internal function for recursively navigating and creating the tree
* while adding objects to the appropriate nodes.
<_HX_SUPER__addObject set="method" line="31">* Internal function for recursively adding objects to leaf lists.
<_HX_SUPER__addToList set="method" line="31">* FlxQuadTree's other main function. Call this after adding objects
* using FlxQuadTree.load() to compare the objects that you loaded.
* @return Whether or not any overlaps were found.
<_HX_SUPER__execute public="1" set="method" line="148">* An internal function for comparing an object against the contents of a node.
* @return Whether or not any overlaps were found.
<_HX_SUPER__overlapNode set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxQuadTree* The x position of this sound in world coordinates.
* Only really matters if you are doing proximity/panning stuff.* The y position of this sound in world coordinates.
* Only really matters if you are doing proximity/panning stuff.* Whether or not this sound should be automatically destroyed when you switch states.* The ID3 song name. Defaults to null. Currently only works for streamed sounds.* The ID3 artist name. Defaults to null. Currently only works for streamed sounds.* Stores the average wave amplitude of both stereo channels* Just the amplitude of the left stereo channel* Just the amplitude of the left stereo channel* Whether to call `destroy()` when the sound has finished playing.* Tracker for sound complete callback. If assigned, will be called
* each time when sound reaches its end.* Pan amount. -1 = full left, 1 = full right. Proximity based panning overrides this.* Whether or not the sound is currently playing.* Set volume to a value between 0 and 1 to change how this sound is.* Set pitch, which also alters the playback speed. Default is 1.* The length of the sound in milliseconds.
* @since 4.2.0* The sound group this sound belongs to* Whether or not this sound should loop.0* In case of looping, the point (in milliseconds) from where to restart the sound when it loops back
* @since 4.1.0* At which point to stop playing the sound, in milliseconds.
* If not set / `null`, the sound completes normally.
* @since 4.2.0* The tween used to fade this sound's volume in and out (set via `fadeIn()` and `fadeOut()`)
* @since 4.1.0
<_sound>
flixel.system.frontEnds.SoundFrontEnd.load* Internal tracker for a Flash sound object.
<_channel>
* Internal tracker for a Flash sound channel object.
<_transform>
* Internal tracker for a Flash sound transform object.
<_paused>
* Internal tracker for whether the sound is paused or not (not the same as stopped).
<_volume>
* Internal tracker for volume.
<_time expr="0">
0* Internal tracker for sound channel position.
<_length expr="0">
0* Internal tracker for sound length, so that length can still be obtained while a sound is paused, because _sound becomes null.
<_pitch expr="1.0">
1.0* Internal tracker for pitch.
<_volumeAdjust expr="1.0">
1.0* Internal tracker for total volume adjustment.
<_target>
* Internal tracker for the sound's "target" (for proximity and panning).
<_radius>
* Internal tracker for the maximum effective radius of this sound (for proximity and panning).
<_proximityPan>
* Internal tracker for whether to pan the sound left and right. Default is false.
<_alreadyPaused expr="false">
false* Helper var to prevent the sound from playing after focus was regained when it was already paused.* An internal function for clearing all the variables used by sounds.* Handles fade out, fade in, panning, proximity, and amplitude operations each frame.{ AutoDestroy : false, Looped : false }* One of the main setup functions for sounds, this function loads a sound from an embedded MP3.
*
* @param EmbeddedSound An embedded Class object representing an MP3 file.
* @param Looped Whether or not this sound should loop endlessly.
* @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing.
* Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default.
* @param OnComplete Called when the sound finished playing
* @return This FlxSound instance (nice for chaining stuff together, if you're into that).{ AutoDestroy : false, Looped : false }* One of the main setup functions for sounds, this function loads a sound from a URL.
*
* @param SoundURL A string representing the URL of the MP3 file you want to play.
* @param Looped Whether or not this sound should loop endlessly.
* @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing.
* Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default.
* @param OnComplete Called when the sound finished playing
* @param OnLoad Called when the sound finished loading.
* @return This FlxSound instance (nice for chaining stuff together, if you're into that).{ AutoDestroy : false, Looped : false }{ Pan : true }* Call this function if you want this sound's volume to change
* based on distance from a particular FlxObject.
*
* @param X The X position of the sound.
* @param Y The Y position of the sound.
* @param TargetObject The object you want to track.
* @param Radius The maximum distance this sound can travel.
* @param Pan Whether panning should be used in addition to the volume changes.
* @return This FlxSound instance (nice for chaining stuff together, if you're into that).{ StartTime : 0.0, ForceRestart : false }* Call this function to play the sound - also works on paused sounds.
*
* @param ForceRestart Whether to start the sound over or not.
* Default value is false, meaning if the sound is already playing or was
* paused when you call play(), it will continue playing from its current
* position, NOT start again from the beginning.
* @param StartTime At which point to start playing the sound, in milliseconds.
* @param EndTime At which point to stop playing the sound, in milliseconds.
* If not set / `null`, the sound completes normally.* Unpause a sound. Only works on sounds that have been paused.* Call this function to pause this sound.* Call this function to stop this sound.{ To : 0, Duration : 1 }* Helper function that tweens this sound's volume.
*
* @param Duration The amount of time the fade-out operation should take.
* @param To The volume to tween to, 0 by default.{ To : 1, From : 0, Duration : 1 }* Helper function that tweens this sound's volume.
*
* @param Duration The amount of time the fade-in operation should take.
* @param From The volume to tween from, 0 by default.
* @param To The volume to tween to, 1 by default.* Returns the currently selected "real" volume of the sound (takes fades and proximity into account).
*
* @return The adjusted volume of the sound.{ Y : 0, X : 0 }* Helper function to set the coordinates of this object.
* Sound positioning is used in conjunction with proximity/panning.
*
* @param X The new x position
* @param Y The new y positionflixel.system.FlxSoundGroup* Call after adjusting the volume to update the sound channel's settings.* An internal helper function used to attempt to start playing
* the sound and populate the _channel variable.* An internal helper function used to help Flash
* clean up finished sounds or restart looped sounds.{ resetPosition : true }* An internal helper function used to help Flash clean up (and potentially re-use) finished sounds.
* Will stop the current sound and destroy the associated SoundChannel, plus,
* any other commands ordered by the passed in parameters.
*
* @param destroySound Whether or not to destroy the sound. If this is true,
* the position and fading will be reset as well.
* @param resetPosition Whether or not to reset the position of the sound.* Internal event handler for ID3 info (i.e. fetching the song name).flixel.system.frontEnds.SoundFrontEndflixel.system.frontEnds.SoundFrontEnd* The FlxSound constructor gets all the variables initialized, but NOT ready to play a sound yet.* This is the universal flixel sound object, used for streaming, music, and sound effects.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()[]* The sounds in this group* The volume of this group* Add a sound to this group
* @param sound The sound to add to this group
* @return True if sound was successfully added, false otherwise* Remove a sound from this group
* @param sound The sound to remove
* @return True if sound was successfully removed, false otherwise* Call this function to pause all sounds in this group.
* @since 4.3.0* Unpauses all sounds in this group. Only works on sounds that have been paused.
* @since 4.3.0{ volume : 1 }* Create a new sound group
* @param volume The initial volume of this group* A way of grouping sounds for things such as collective volume controlhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Add a sound to this group
* @param sound The sound to add to this group
* @return True if sound was successfully added, false otherwise
<_HX_SUPER__add public="1" set="method" line="148">* Remove a sound from this group
* @param sound The sound to remove
* @return True if sound was successfully removed, false otherwise
<_HX_SUPER__remove public="1" set="method" line="148">* Call this function to pause all sounds in this group.
* @since 4.3.0
<_HX_SUPER__pause public="1" set="method" line="31">* Unpauses all sounds in this group. Only works on sounds that have been paused.
* @since 4.3.0
<_HX_SUPER__resume public="1" set="method" line="31">
<_HX_SUPER__set_volume set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxSoundGroup* An internal function for clearing all the variables used by sounds.
<_HX_SUPER__reset set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">* Handles fade out, fade in, panning, proximity, and amplitude operations each frame.
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__kill public="1" set="method" line="31">{ AutoDestroy : false, Looped : false }* One of the main setup functions for sounds, this function loads a sound from an embedded MP3.
*
* @param EmbeddedSound An embedded Class object representing an MP3 file.
* @param Looped Whether or not this sound should loop endlessly.
* @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing.
* Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default.
* @param OnComplete Called when the sound finished playing
* @return This FlxSound instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__loadEmbedded public="1" set="method" line="148">
{ AutoDestroy : false, Looped : false }{ AutoDestroy : false, Looped : false }* One of the main setup functions for sounds, this function loads a sound from a URL.
*
* @param SoundURL A string representing the URL of the MP3 file you want to play.
* @param Looped Whether or not this sound should loop endlessly.
* @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing.
* Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default.
* @param OnComplete Called when the sound finished playing
* @param OnLoad Called when the sound finished loading.
* @return This FlxSound instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__loadStream public="1" set="method" line="148">
{ AutoDestroy : false, Looped : false }{ AutoDestroy : false, Looped : false }
<_HX_SUPER__init set="method" line="148">
{ AutoDestroy : false, Looped : false }{ Pan : true }* Call this function if you want this sound's volume to change
* based on distance from a particular FlxObject.
*
* @param X The X position of the sound.
* @param Y The Y position of the sound.
* @param TargetObject The object you want to track.
* @param Radius The maximum distance this sound can travel.
* @param Pan Whether panning should be used in addition to the volume changes.
* @return This FlxSound instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__proximity public="1" set="method" line="148">
{ Pan : true }{ StartTime : 0.0, ForceRestart : false }* Call this function to play the sound - also works on paused sounds.
*
* @param ForceRestart Whether to start the sound over or not.
* Default value is false, meaning if the sound is already playing or was
* paused when you call play(), it will continue playing from its current
* position, NOT start again from the beginning.
* @param StartTime At which point to start playing the sound, in milliseconds.
* @param EndTime At which point to stop playing the sound, in milliseconds.
* If not set / `null`, the sound completes normally.
<_HX_SUPER__play public="1" set="method" line="148">
{ StartTime : 0.0, ForceRestart : false }* Unpause a sound. Only works on sounds that have been paused.
<_HX_SUPER__resume public="1" set="method" line="148">* Call this function to pause this sound.
<_HX_SUPER__pause public="1" set="method" line="148">
<_HX_SUPER__volumeTween set="method" line="31">flixel.system.FlxSoundGroup* Call after adjusting the volume to update the sound channel's settings.
<_HX_SUPER__updateTransform set="method" line="31">* An internal helper function used to attempt to start playing
* the sound and populate the _channel variable.
<_HX_SUPER__startSound set="method" line="31">* An internal helper function used to help Flash
* clean up finished sounds or restart looped sounds.
<_HX_SUPER__stopped set="method" line="31">{ resetPosition : true }* An internal helper function used to help Flash clean up (and potentially re-use) finished sounds.
* Will stop the current sound and destroy the associated SoundChannel, plus,
* any other commands ordered by the passed in parameters.
*
* @param destroySound Whether or not to destroy the sound. If this is true,
* the position and fading will be reset as well.
* @param resetPosition Whether or not to reset the position of the sound.
<_HX_SUPER__cleanup set="method" line="31">
{ resetPosition : true }* Internal event handler for ID3 info (i.e. fetching the song name).
<_HX_SUPER__gotID3 set="method" line="31">flixel.system.frontEnds.SoundFrontEnd
<_HX_SUPER__onFocus set="method" line="31">flixel.system.frontEnds.SoundFrontEnd
<_HX_SUPER__onFocusLost set="method" line="31">
<_HX_SUPER__set_group set="method" line="148">
<_HX_SUPER__set_volume set="method" line="148">
<_HX_SUPER__set_pitch set="method" line="148">
<_HX_SUPER__set_time set="method" line="148">
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxSoundfalse* @since 4.8.0
<_sprite>
<_gfx>
<_text>
<_times>
<_colors>
<_functions>
<_curPart expr="0">
0
<_cachedBgColor>
<_cachedTimestep>
<_cachedAutoPause>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__onResize public="1" set="method" line="31">
<_HX_SUPER__timerCallback set="method" line="31">
<_HX_SUPER__drawGreen set="method" line="31">
<_HX_SUPER__drawYellow set="method" line="31">
<_HX_SUPER__drawRed set="method" line="31">
<_HX_SUPER__drawBlue set="method" line="31">
<_HX_SUPER__drawLightBlue set="method" line="31">
<_HX_SUPER__onComplete set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxSplash* Formats the version in the format "HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA",
* e.g. HaxeFlixel 3.0.4.
* If this is a dev version, the git sha is included.
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.FlxVersion{ Size : 12, Color : FlxColor.WHITE, Y : 0, X : 0 }{ Size : 12, Color : FlxColor.WHITE, Y : 0, X : 0 }flixel.systemhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.DebuggerUtil"__ASSET__:bitmap_flixel_system_debug_GraphicFlixel"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/flixel.png""__ASSET__:bitmap_flixel_system_debug_GraphicDrawDebug"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/drawDebug.png""__ASSET__:bitmap_flixel_system_debug_GraphicLog"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/log.png""__ASSET__:bitmap_flixel_system_debug_GraphicStats"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/stats.png""__ASSET__:bitmap_flixel_system_debug_GraphicWatch"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/watch.png""__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/bitmapLog.png""__ASSET__:bitmap_flixel_system_debug_GraphicConsole"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/console.png""__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/arrowLeft.png""__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/arrowRight.png""__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/close.png""__ASSET__:bitmap_flixel_system_debug_GraphicInteractive"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/interactive.png"* Container for the new debugger overlay. Most of the functionality is in the debug folder widgets,
* but this class instantiates the widgets and handles their basic formatting and arrangement.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.FlxDebugger.GraphicFlixelflixel.system.debug.FlxDebugger.GraphicDrawDebugflixel.system.debug.FlxDebugger.GraphicLogflixel.system.debug.FlxDebugger.GraphicStatsflixel.system.debug.FlxDebugger.GraphicWatchflixel.system.debug.FlxDebugger.GraphicBitmapLogflixel.system.debug.FlxDebugger.GraphicConsoleflixel.system.debug.FlxDebugger.GraphicArrowLeftflixel.system.debug.FlxDebugger.GraphicArrowRightflixel.system.debug.FlxDebugger.GraphicCloseButtonflixel.system.debug.FlxDebugger.GraphicInteractiveflixel.system.debug.FlxDebuggerflixel.system.debug.FlxDebugger.FlxDebuggerLayout
<_tooltips expr="[]" line="18" static="1">
[]
<_container static="1">* Manages tooltips to be used within the debugger.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0xFF3A3A3A* The background color of all tooltips.0.8* Alpha applied to the tooltips text.10* How many pixels the tooltip should be away from the target in the x axis.10* How many pixels the tooltip should be away from the target in the y axis.
<_width>
* Width of the tooltip. Using Sprite.width is super unreliable for some reason!
<_height>
* Height of the tooltip. Using Sprite.height is super unreliable for some reason!
<_background>
* Main elements
<_shadow>* Texfield used by the tooltip to display text. If you change anything in the textfield,
* be sure to call the proper methods of the tooltip to ensure it keeps a correct size, etc.
* If you just want to change the text of the tooltip, use the method `setText()` instead, since
* it takes care of properly resizing and positioning the tooltip after the text changes.* The element the tooltip is monitoring.* Maximum size allowed for the tooltip. A negative value (or zero) makes
* the tooltip auto-adjust its size to properly house its text.* Clean up memory.* Resize the tooltip. Subject to pre-specified minimums, maximums, and bounding rectangles.
*
* @param Width How wide to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text.
* @param Height How tall to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text.* Change the position of the tooltip.
*
* @param X Desired X position of top left corner of the tooltip.
* @param Y Desired Y position of top left corner of the tooltip.* Change the text of the tooltip.
*
* @param Text Text to be used in the tooltip.* Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly.{ height : 0, width : 0 }* Creates a new tooltip.
*
* @param target Element the tooltip will monitor. If the tooltip is being used in "stand alone" fashion, i.e. not monitoring any element, then use `null` as the target.
* @param text Text displayed with this tooltip.
* @param width Width of the tooltip. If a negative value (or zero) is specified, the tooltip will adjust its width to properly accommodate the text.
* @param height Height of the tooltip. If a negative value (or zero) is specified, the tooltip will adjust its height to properly accommodate the text.* A generic, Flash-based tooltip class, created for use in FlxDebugger.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.Tooltipflixel.system.debug.Tooltip.TooltipOverlay* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Resize the tooltip. Subject to pre-specified minimums, maximums, and bounding rectangles.
*
* @param Width How wide to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text.
* @param Height How tall to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text.
<_HX_SUPER__resize public="1" set="method" line="31">* Change the position of the tooltip.
*
* @param X Desired X position of top left corner of the tooltip.
* @param Y Desired Y position of top left corner of the tooltip.
<_HX_SUPER__reposition public="1" set="method" line="31">
<_HX_SUPER__setVisible public="1" set="method" line="31">* Change the text of the tooltip.
*
* @param Text Text to be used in the tooltip.
<_HX_SUPER__setText public="1" set="method" line="31">
<_HX_SUPER__toggleVisible public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">* Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly.
<_HX_SUPER__updateSize set="method" line="31">
<_HX_SUPER__ensureOnScreen set="method" line="31">
<_HX_SUPER__handleMouseEvents set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.Tooltipflixel.system.debug.Tooltip.TooltipOverlay"__ASSET__:bitmap_flixel_system_debug_GraphicWindowHandle"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/windowHandle.png"0xDD5F5F5F* The background color of the window.0xBB0000000.8150* How many windows there are currently in total.
<_width>
* Width of the window. Using Sprite.width is super unreliable for some reason!
<_height>
* Height of the window. Using Sprite.height is super unreliable for some reason!
<_bounds>
* Controls where the window is allowed to be positioned.
<_background>
* Window elements
<_header>
<_shadow>
<_title>
<_handle>
<_icon>
<_closeButton>
<_overHeader>
* Interaction helpers.
<_overHandle>
<_drag>
<_dragging>
<_resizing>
<_resizable>
<_closable>
<_alwaysOnTop>
<_id>
* The ID of this window.* Clean up memory.* Resize the window. Subject to pre-specified minimums, maximums, and bounding rectangles.
*
* @param Width How wide to make the window.
* @param Height How tall to make the window.* Change the position of the window. Subject to pre-specified bounding rectangles.
*
* @param X Desired X position of top left corner of the window.
* @param Y Desired Y position of top left corner of the window.* Used to set up basic mouse listeners..* Mouse movement handler. Figures out if mouse is over handle or header bar or what.* Figure out if window is being repositioned (clicked on header) or resized (clicked on handle).* User let go of header bar or handler (or nothing), so turn off drag and resize behaviors.* Keep the window within the pre-specified bounding rectangle.* Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly.{ AlwaysOnTop : true, Closable : false, Resizable : true, Height : 0, Width : 0 }* Creates a new window object. This Flash-based class is mainly (only?) used by FlxDebugger.
*
* @param Title The name of the window, displayed in the header bar.
* @param Icon The icon to use for the window header.
* @param Width The initial width of the window.
* @param Height The initial height of the window.
* @param Resizable Whether you can change the size of the window with a drag handle.
* @param Bounds A rectangle indicating the valid screen area for the window.
* @param Closable Whether this window has a close button that removes the window.
* @param AlwaysOnTop Whether this window should be forcibly put in front of any other window when clicked.* A generic, Flash-based window class, created for use in FlxDebugger.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Resize the window. Subject to pre-specified minimums, maximums, and bounding rectangles.
*
* @param Width How wide to make the window.
* @param Height How tall to make the window.
<_HX_SUPER__resize public="1" set="method" line="31">* Change the position of the window. Subject to pre-specified bounding rectangles.
*
* @param X Desired X position of top left corner of the window.
* @param Y Desired Y position of top left corner of the window.
<_HX_SUPER__reposition public="1" set="method" line="31">
<_HX_SUPER__updateBounds public="1" set="method" line="31">
<_HX_SUPER__setVisible public="1" set="method" line="31">
<_HX_SUPER__toggleVisible public="1" set="method" line="31">
<_HX_SUPER__loadSaveData set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">* Used to set up basic mouse listeners..
<_HX_SUPER__init set="method" line="31">* Mouse movement handler. Figures out if mouse is over handle or header bar or what.
<_HX_SUPER__onMouseMove set="method" line="31">* Figure out if window is being repositioned (clicked on header) or resized (clicked on handle).
<_HX_SUPER__onMouseDown set="method" line="31">* User let go of header bar or handler (or nothing), so turn off drag and resize behaviors.
<_HX_SUPER__onMouseUp set="method" line="31">* Keep the window within the pre-specified bounding rectangle.
<_HX_SUPER__bound public="1" set="method" line="31">* Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly.
<_HX_SUPER__updateSize set="method" line="31">
<_HX_SUPER__close public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.Window.GraphicWindowHandleflixel.system.debug.Window"Entry Value""Entry Type"falsehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__getTextUntilCaret set="method" line="148">
<_HX_SUPER__getCaretIndex set="method" line="148">
<_HX_SUPER__onKeyUp set="method" line="148">
<_HX_SUPER__invokeCompletion set="method" line="148">
<_HX_SUPER__getGlobals set="method" line="148">
<_HX_SUPER__getCharXPosition set="method" line="148">
<_HX_SUPER__getCompletedText set="method" line="148">
<_HX_SUPER__completed set="method" line="148">
<_HX_SUPER__selectionChanged set="method" line="148">
<_HX_SUPER__getReadableType set="method" line="148">
<_HX_SUPER__completionClosed set="method" line="148">
<_HX_SUPER__getPathBeforeDot set="method" line="148">
<_HX_SUPER__getWordAfterDot set="method" line="148">
<_HX_SUPER__getLastWord set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.completion.CompletionHandler[]000 closer to the filter) have a higher priority]]>* Custom startsWith() that ignores leading underscores.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()150200xFF5F5F5F0xFF6D6D6D4falseopenfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__initBitmapDatas set="method" line="148">
<_HX_SUPER__setItem public="1" set="method" line="148">
<_HX_SUPER__set_selected set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.completion.CompletionListEntry0xFF4444440xFF222222openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__updateHandle public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.completion.CompletionListScrollBar
<_HX_SUPER__show public="1" set="method" line="148">
<_HX_SUPER__setY public="1" set="method" line="148">
<_HX_SUPER__close public="1" set="method" line="148">
<_HX_SUPER__createPopupEntries set="method" line="148">
<_HX_SUPER__createScrollBar set="method" line="148">
<_HX_SUPER__onKeyDown set="method" line="148">
<_HX_SUPER__updateIndices set="method" line="148">
<_HX_SUPER__bound set="method" line="148">
<_HX_SUPER__updateEntries set="method" line="148">
<_HX_SUPER__updateLabels set="method" line="148">
<_HX_SUPER__updateSelectedItem set="method" line="148">
<_HX_SUPER__setItems set="method" line="148">
<_HX_SUPER__filterItems set="method" line="148"> closer to the filter) have a higher priority]]>
<_HX_SUPER__sortItems set="method" line="148">* Custom startsWith() that ignores leading underscores.
<_HX_SUPER__startsWithExt set="method" line="148">
<_HX_SUPER__set_filter set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.completion.CompletionList500hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__getPreviousCommand public="1" set="method" line="148">
<_HX_SUPER__getNextCommand public="1" set="method" line="148">
<_HX_SUPER__addCommand public="1" set="method" line="148">
<_HX_SUPER__clear public="1" set="method" line="148">
<_HX_SUPER__get_isEmpty set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.console.ConsoleHistory* The hscript parser to make strings into haxe code.* The custom hscript interpreter to run the haxe code from the parser.* Sets up the hscript parser and interpreter.* Converts the input string into its AST form to be executed.
*
* @param Input The user's input command.
* @return The parsed out AST.* Parses and runs the input command.
*
* @param Input The user's input command.
* @return Whatever the input code evaluates to.* Runs the input expression.
* @param Parsed The parsed form of the user's input command.
* @return Whatever the input code evaluates to.* Register a new object to use in any command.
*
* @param ObjectAlias The name with which you want to access the object.
* @param AnyObject The object to register.* Register a new function to use in any command.
*
* @param FunctionAlias The name with which you want to access the function.
* @param Function The function to register.* Shortcut to log a text with the Console LogStyle.
*
* @param Text The text to log.* A set of helper functions used by the console.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()[][]0falsetruefalsefalse[]
<__instanceFields expr="[]">
[]{ rethrow : false }{ doException : true }* hscript doesn't use property access by default... have to make our own.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.console.ConsoleUtilflixel.system.debug.console.ConsoleUtil.Interp
<_HX_SUPER__getGlobals public="1" set="method" line="148">
<_HX_SUPER__get set="method" line="148">
<_HX_SUPER__set set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.console.ConsoleUtilflixel.system.debug.console.ConsoleUtil.Interpnew FlxTypedGroup()new FlxPoint()falsefalsefalsetrue* Control if an outline should be drawn on selected elements.
* Tools can set this property to `false` if they want to draw custom
* selection marks, for instance.
<_container>
<_customCursor>
<_tools expr="[]">
[]
<_turn expr="2">
2
<_keysDown expr="new Map()">
new Map()
<_keysUp expr="new Map()">
new Map()
<_wasMouseVisible>
<_wasUsingSystemCursor>
<_debuggerInteraction expr="false">
false
<_flixelPointer expr="new FlxPointer()">
new FlxPointer()* Add a new tool to the interaction system.
*
* Any tool added to the interaction system must extend the class
* `flixel.system.debug.interaction.tools.Tool`. The class contains several methods
* that can be used to provide new funcionalities to the interaction, or they can be
* overridden to alter existing behavior. For instance, tools can draw things on the
* screen, they can be activated when the user clicks a button, and so on. Check
* the classes in the package `flixel.system.debug.interaction.tools` for examples.
*
* @param tool instance of a tool that will be added to the interaction system.* Clean up memory.* Called after the game state has been drawn.* Obtain a reference to a tool that has been added to the interaction system and is
* available for use. This method can be used to access information provided by any
* tool in the system, or to change their behavior.
*
* @param className name of the class to be fetched, e.g. `flixel.system.debug.interaction.tools.Pointer`.
* @return Tool reference to the first tool found whose type matches the class name provided. If no tool is found, `null` is returned.* Informs whether the interactive debug is in use or not. Usage is defined
* as the interactive debug being visible and one of its tools is selected/active.
*
* @return `true` if the interactive debug is visible and one of its tools is selected/active.flixel.group.FlxTypedGroup* Find all items within an area. In order to improve performance and reduce temporary allocations,
* the method has no return, you must pass an array where items will be placed. The method decides
* if an item is within the searching area or not by checking if the item's hitbox (obtained from
* `getHitbox()`) overlaps the area parameter.
*
* @param items array where the method will place all found items. Any previous content in the array will be preserved.
* @param members array where the method will recursively search for items.
* @param area a rectangle that describes the area where the method should search within.* Adds a new functionality to Flixel debugger that allows any object
* on the screen to be dragged, moved or deleted while the game is
* still running.
*
* @author Fernando Bevilacqua (dovyski@gmail.com)openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__handleDebuggerVisibilityChanged set="method" line="31">
<_HX_SUPER__updateMouse set="method" line="31">
<_HX_SUPER__handleMouseClick set="method" line="31">
<_HX_SUPER__belongsToDebugger set="method" line="148">
<_HX_SUPER__handleMouseInDebugger set="method" line="31">
<_HX_SUPER__handleKeyEvent set="method" line="31">
<_HX_SUPER__countToolsWithUIButton set="method" line="148">* Add a new tool to the interaction system.
*
* Any tool added to the interaction system must extend the class
* `flixel.system.debug.interaction.tools.Tool`. The class contains several methods
* that can be used to provide new funcionalities to the interaction, or they can be
* overridden to alter existing behavior. For instance, tools can draw things on the
* screen, they can be activated when the user clicks a button, and so on. Check
* the classes in the package `flixel.system.debug.interaction.tools` for examples.
*
* @param tool instance of a tool that will be added to the interaction system.
<_HX_SUPER__addTool public="1" set="method" line="31">* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__isActive public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">* Called after the game state has been drawn.
<_HX_SUPER__postDraw set="method" line="31">
<_HX_SUPER__getDebugGraphics public="1" set="method" line="148">
<_HX_SUPER__drawItemsSelection set="method" line="31">* Obtain a reference to a tool that has been added to the interaction system and is
* available for use. This method can be used to access information provided by any
* tool in the system, or to change their behavior.
*
* @param className name of the class to be fetched, e.g. `flixel.system.debug.interaction.tools.Pointer`.
* @return Tool reference to the first tool found whose type matches the class name provided. If no tool is found, `null` is returned.
<_HX_SUPER__getTool public="1" set="method" line="148">
<_HX_SUPER__toggleVisible public="1" set="method" line="31">
<_HX_SUPER__registerCustomCursor public="1" set="method" line="31">
<_HX_SUPER__updateCustomCursors public="1" set="method" line="31">
<_HX_SUPER__saveSystemCursorInfo set="method" line="31">
<_HX_SUPER__restoreSystemCursor set="method" line="31">
<_HX_SUPER__setActiveTool public="1" set="method" line="31">
<_HX_SUPER__setSystemCursorVisibility set="method" line="31">
<_HX_SUPER__setToolsCursorVisibility set="method" line="31">
<_HX_SUPER__clearSelection public="1" set="method" line="31">
<_HX_SUPER__keyPressed public="1" set="method" line="148">
<_HX_SUPER__keyJustPressed public="1" set="method" line="148">* Informs whether the interactive debug is in use or not. Usage is defined
* as the interactive debug being visible and one of its tools is selected/active.
*
* @return `true` if the interactive debug is visible and one of its tools is selected/active.
<_HX_SUPER__isInUse public="1" set="method" line="148">
<_HX_SUPER__findItemsWithinState public="1" set="method" line="31">flixel.group.FlxTypedGroup* Find all items within an area. In order to improve performance and reduce temporary allocations,
* the method has no return, you must pass an array where items will be placed. The method decides
* if an item is within the searching area or not by checking if the item's hitbox (obtained from
* `getHitbox()`) overlaps the area parameter.
*
* @param items array where the method will place all found items. Any previous content in the array will be preserved.
* @param members array where the method will recursively search for items.
* @param area a rectangle that describes the area where the method should search within.
<_HX_SUPER__findItemsWithinArea public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.interaction.Interaction"__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicEraserTool"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/eraser.png"""
<_name expr=""(Unknown tool)"">
"(Unknown tool)"
<_shortcut>
<_brain>* Set the default icon for the tool. The default icon is used when
* the tool is selected in the interaction window toolbar. Tools
* can have more than one cursor, e.g. a custom cursor to indicate
* that a specific action is happening. Use `setCursorInUse()` to
* learn more about custom cursors.* Make the tool use a custom cursor that it is not its default one.
* This is particularly useful to indicate to users that a particular
* action of the tool is happening, e.g. rotating something.
* Any custom cursor to be used must be previously registed via
* `Interaction#registerCustomCursor()`.
*
* @param customCursorName Name of the custom cursor that will be used from now on for the tool. If an empty string is informed, the tool's default icon (informed via `setCursor()`) will be used.* Make the tool use its default cursor, which was informed via `setCursor()`.* The base class of all tools in the interactive debug.
*
* @author Fernando Bevilacqua (dovyski@gmail.com)openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ remove : false }* A tool to delete items from the screen.
*
* @author Fernando Bevilacqua (dovyski@gmail.com)openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__init public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__activate public="1" set="method" line="31">
<_HX_SUPER__doDeletion set="method" line="31">{ remove : false }
<_HX_SUPER__findAndDelete set="method" line="31">
{ remove : false }
<_HX_SUPER__removeFromMemory set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.interaction.tools.Eraser.GraphicEraserToolflixel.system.debug.interaction.tools.Eraser"__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicMoverTool"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/mover.png"
<_dragging expr="false">
false
<_lastCursorPosition>* A tool to move selected items.
*
* @author Fernando Bevilacqua (dovyski@gmail.com)openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__init public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__stopDragging set="method" line="31">
<_HX_SUPER__startDragging set="method" line="31">
<_HX_SUPER__doDragging set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.interaction.tools.Mover.GraphicMoverToolflixel.system.debug.interaction.tools.Mover"__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/cursorCross.png"
<_selectionStartPoint expr="new FlxPoint()">
new FlxPoint()
<_selectionEndPoint expr="new FlxPoint()">
new FlxPoint()
<_selectionHappening expr="false">
false
<_selectionCancelled expr="false">
false
<_selectionArea expr="new FlxRect()">
new FlxRect()
<_itemsInSelectionArea expr="[]">
[]* Start a selection area. A selection area is a rectangular shaped area
* whose boundaries will be used to select game elements.* Cancel any selection activity that is happening, removing the selection rectangle from the screen.
* Any item within the (canceled) selection area will be ignored. If you want to stop the selection
* and actually process the action/items, use `stopSelection()`.{ findItems : true }* Stop any selection activity that is happening.
*
* @param findItems If `true` (default), all items within the (stopped) selection area will be included in the list of selected items of the tool.* We register the current selection to the console for easy interaction.* A tool to use the mouse cursor to select game elements.
*
* @author Fernando Bevilacqua (dovyski@gmail.com)openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__init public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__calculateSelectionArea set="method" line="31">* Start a selection area. A selection area is a rectangular shaped area
* whose boundaries will be used to select game elements.
<_HX_SUPER__startSelection public="1" set="method" line="31">* Cancel any selection activity that is happening, removing the selection rectangle from the screen.
* Any item within the (canceled) selection area will be ignored. If you want to stop the selection
* and actually process the action/items, use `stopSelection()`.
<_HX_SUPER__cancelSelection public="1" set="method" line="31">{ findItems : true }* Stop any selection activity that is happening.
*
* @param findItems If `true` (default), all items within the (stopped) selection area will be included in the list of selected items of the tool.
<_HX_SUPER__stopSelection public="1" set="method" line="31">
{ findItems : true }* We register the current selection to the console for easy interaction.
<_HX_SUPER__updateConsoleSelection set="method" line="148">
<_HX_SUPER__handleItemAddition set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.interaction.tools.Pointer.GraphicCursorCrossflixel.system.debug.interaction.tools.Pointer
<_HX_SUPER__init public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__activate public="1" set="method" line="31">
<_HX_SUPER__deactivate public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__isActive public="1" set="method" line="148">
<_HX_SUPER__setButton set="method" line="31">* Set the default icon for the tool. The default icon is used when
* the tool is selected in the interaction window toolbar. Tools
* can have more than one cursor, e.g. a custom cursor to indicate
* that a specific action is happening. Use `setCursorInUse()` to
* learn more about custom cursors.
<_HX_SUPER__setCursor set="method" line="31">* Make the tool use a custom cursor that it is not its default one.
* This is particularly useful to indicate to users that a particular
* action of the tool is happening, e.g. rotating something.
* Any custom cursor to be used must be previously registed via
* `Interaction#registerCustomCursor()`.
*
* @param customCursorName Name of the custom cursor that will be used from now on for the tool. If an empty string is informed, the tool's default icon (informed via `setCursor()`) will be used.
<_HX_SUPER__setCursorInUse set="method" line="31">* Make the tool use its default cursor, which was informed via `setCursor()`.
<_HX_SUPER__useDefaultCursor set="method" line="31">
<_HX_SUPER__onButtonClicked set="method" line="31">
<_HX_SUPER__getName public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.interaction.tools.Tool"__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformTool"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/transform.png""__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorDefault"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/cursorCross.png""__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/cursors/transformScaleY.png""__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/cursors/transformScaleX.png""__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/cursors/transformScaleXY.png""__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorRotate"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/cursors/transformRotate.png"5.03.05.010.0"transformRotate""transformScaleX""transformScaleY""transformScaleXY"0123
<_actionTargetStartScale expr="new FlxPoint()">
new FlxPoint()
<_actionTargetStartAngle>
<_actionStartPoint expr="new FlxPoint()">
new FlxPoint()
<_actionHappening>
<_actionMarker>
<_actionScaleDirection expr="new FlxPoint()">
new FlxPoint()
<_tooltip>
<_markers expr="[]">
[]
<_target>
<_targetArea expr="new FlxRect()">
new FlxRect()
<_mouseCursor expr="new FlxPoint()">
new FlxPoint()* Start an interaction with a marker. Depending on the marker being used, the interaction
* can be to resize or rotate something.* Stop any interaction activity that is happening with any marker.* A tool to scale and rotate selected game elements.
*
* @author Fernando Bevilacqua (dovyski@gmail.com)openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__init public="1" set="method" line="148">
<_HX_SUPER__updateTargetArea set="method" line="31">* Start an interaction with a marker. Depending on the marker being used, the interaction
* can be to resize or rotate something.
<_HX_SUPER__startAction set="method" line="31">* Stop any interaction activity that is happening with any marker.
<_HX_SUPER__stopAction set="method" line="31">
<_HX_SUPER__getCursorNameByMarker set="method" line="148">
<_HX_SUPER__handleInteractionsWithMarkersUI set="method" line="31">
<_HX_SUPER__formatFloat set="method" line="148">
<_HX_SUPER__showTooltip set="method" line="31">
<_HX_SUPER__updateScaleActionDirection set="method" line="31">
<_HX_SUPER__updateScaleAction set="method" line="31">
<_HX_SUPER__updateRotateAction set="method" line="31">
<_HX_SUPER__updateAction set="method" line="31">
<_HX_SUPER__updateMarkersPosition set="method" line="31">
<_HX_SUPER__updateMarkersRotation set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__drawTargetAreaOutline set="method" line="31">
<_HX_SUPER__drawMarkers set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__activate public="1" set="method" line="31">
<_HX_SUPER__deactivate public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.interaction.tools.Transform.GraphicTransformToolflixel.system.debug.interaction.tools.Transform.GraphicTransformCursorDefaultflixel.system.debug.interaction.tools.Transform.GraphicTransformCursorScaleYflixel.system.debug.interaction.tools.Transform.GraphicTransformCursorScaleXflixel.system.debug.interaction.tools.Transform.GraphicTransformCursorScaleXYflixel.system.debug.interaction.tools.Transform.GraphicTransformCursorRotateflixel.system.debug.interaction.tools.Transformnew LogStyle()new LogStyle("[WARNING] ", "D9F85C", 12, false, false, false, "flixel/sounds/beep", true)new LogStyle("[ERROR] ", "FF8888", 12, false, false, false, "flixel/sounds/beep", true)new LogStyle("[NOTICE] ", "5CF878", 12, false) ", "5A96FA", 12, false)]]>* A prefix which is always attached to the start of the logged data.* A sound to be played when this LogStyle is used.* Whether the console should be forced to open when this LogStyle is used.* A callback function that is called when this LogStyle is used.{ OpenConsole : false, Underlined : false, Italic : false, Bold : false, Size : 12, Color : "FFFFFF", Prefix : "" }* Create a new LogStyle to be used in conjunction with FlxG.log.advanced()
*
* @param Prefix A prefix which is always attached to the start of the logged data.
* @param Color The text color.
* @param Size The text size.
* @param Bold Whether the text is bold or not.
* @param Italic Whether the text is italic or not.
* @param Underlined Whether the text is underlined or not.
* @param ErrorSound A sound to be played when this LogStyle is used.
* @param OpenConsole Whether the console should be forced to open when this LogStyle is used.
* @param CallbackFunction A callback function that is called when this LogStyle is used.* A class that allows you to create a custom style for FlxG.log.advanced().
* Also used internally for the pre-defined styles.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.log.LogStyle"__ASSET__:bitmap_flixel_system_debug_stats_GraphicMinimizeButton"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/minimize.png""__ASSET__:bitmap_flixel_system_debug_stats_GraphicMaximizeButton"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/debugger/buttons/maximize.png"
<__defaultTextFormat static="1">
<__missingFontWarning expr="new Map()" line="128" static="1">
new Map()When set to `true` and the text field is not in focus, Flash Player
highlights the selection in the text field in gray. When set to
`false` and the text field is not in focus, Flash Player does not
highlight the selection in the text field.
@default falseControls automatic sizing and alignment of text fields. Acceptable values
for the `TextFieldAutoSize` constants:
`TextFieldAutoSize.NONE`(the default),
`TextFieldAutoSize.LEFT`, `TextFieldAutoSize.RIGHT`,
and `TextFieldAutoSize.CENTER`.
If `autoSize` is set to `TextFieldAutoSize.NONE`
(the default) no resizing occurs.
If `autoSize` is set to `TextFieldAutoSize.LEFT`,
the text is treated as left-justified text, meaning that the left margin
of the text field remains fixed and any resizing of a single line of the
text field is on the right margin. If the text includes a line break(for
example, `"\n"` or `"\r"`), the bottom is also
resized to fit the next line of text. If `wordWrap` is also set
to `true`, only the bottom of the text field is resized and the
right side remains fixed.
If `autoSize` is set to
`TextFieldAutoSize.RIGHT`, the text is treated as
right-justified text, meaning that the right margin of the text field
remains fixed and any resizing of a single line of the text field is on
the left margin. If the text includes a line break(for example,
`"\n" or "\r")`, the bottom is also resized to fit the next
line of text. If `wordWrap` is also set to `true`,
only the bottom of the text field is resized and the left side remains
fixed.
If `autoSize` is set to
`TextFieldAutoSize.CENTER`, the text is treated as
center-justified text, meaning that any resizing of a single line of the
text field is equally distributed to both the right and left margins. If
the text includes a line break(for example, `"\n"` or
`"\r"`), the bottom is also resized to fit the next line of
text. If `wordWrap` is also set to `true`, only the
bottom of the text field is resized and the left and right sides remain
fixed.
@throws ArgumentError The `autoSize` specified is not a member
of openfl.text.TextFieldAutoSize.Specifies whether the text field has a background fill. If
`true`, the text field has a background fill. If
`false`, the text field has no background fill. Use the
`backgroundColor` property to set the background color of a
text field.
@default falseThe color of the text field background. The default value is
`0xFFFFFF`(white). This property can be retrieved or set, even
if there currently is no background, but the color is visible only if the
text field has the `background` property set to
`true`.Specifies whether the text field has a border. If `true`, the
text field has a border. If `false`, the text field has no
border. Use the `borderColor` property to set the border color.
@default falseThe color of the text field border. The default value is
`0x000000`(black). This property can be retrieved or set, even
if there currently is no border, but the color is visible only if the text
field has the `border` property set to `true`.An integer(1-based index) that indicates the bottommost line that is
currently visible in the specified text field. Think of the text field as
a window onto a block of text. The `scrollV` property is the
1-based index of the topmost visible line in the window.
All the text between the lines indicated by `scrollV` and
`bottomScrollV` is currently visible in the text field.The index of the insertion point(caret) position. If no insertion point
is displayed, the value is the position the insertion point would be if
you restored focus to the field(typically where the insertion point last
was, or 0 if the field has not had focus).
Selection span indexes are zero-based(for example, the first position
is 0, the second position is 1, and so on).false` and `
` to place line breaks in the text field.
Set the `condenseWhite` property before setting the `htmlText`
property.]]>
Specifies the format applied to newly inserted text, such as text entered
by a user or text inserted with the `replaceSelectedText()`
method.
**Note:** When selecting characters to be replaced with
`setSelection()` and `replaceSelectedText()`, the
`defaultTextFormat` will be applied only if the text has been
selected up to and including the last character. Here is an example:
```
var my_txt:TextField new TextField();
my_txt.text = "Flash Macintosh version"; var my_fmt:TextFormat = new
TextFormat(); my_fmt.color = 0xFF0000; my_txt.defaultTextFormat = my_fmt;
my_txt.setSelection(6,15); // partial text selected - defaultTextFormat
not applied my_txt.setSelection(6,23); // text selected to end -
defaultTextFormat applied my_txt.replaceSelectedText("Windows version");
```
When you access the `defaultTextFormat` property, the
returned TextFormat object has all of its properties defined. No property
is `null`.
**Note:** You can't set this property if a style sheet is applied to
the text field.
@throws Error This method cannot be used on a text field with a style
sheet.Specifies whether the text field is a password text field. If the value of
this property is `true`, the text field is treated as a
password text field and hides the input characters using asterisks instead
of the actual characters. If `false`, the text field is not
treated as a password text field. When password mode is enabled, the Cut
and Copy commands and their corresponding keyboard shortcuts will not
function. This security mechanism prevents an unscrupulous user from using
the shortcuts to discover a password on an unattended computer.
@default falseSpecifies whether to render by using embedded font outlines. If
`false`, Flash Player renders the text field by using device
fonts.
If you set the `embedFonts` property to `true`
for a text field, you must specify a font for that text by using the
`font` property of a TextFormat object applied to the text
field. If the specified font is not embedded in the SWF file, the text is
not displayed.
@default falseThe type of grid fitting used for this text field. This property
applies only if the `openfl.text.AntiAliasType` property of the text
field is set to `openfl.text.AntiAliasType.ADVANCED`.
The type of grid fitting used determines whether Flash Player forces
strong horizontal and vertical lines to fit to a pixel or subpixel
grid, or not at all.
For the `openfl.text.GridFitType` property, you can use the following
string values:
| String value | Description |
| --- | --- |
| `openfl.text.GridFitType.NONE` | Specifies no grid fitting. Horizontal and vertical lines in the glyphs are not forced to the pixel grid. This setting is recommended for animation or for large font sizes. |
| `openfl.text.GridFitType.PIXEL` | Specifies that strong horizontal and vertical lines are fit to the pixel grid. This setting works only for left-aligned text fields. To use this setting, the `openfl.dispaly.AntiAliasType` property of the text field must be set to `openfl.text.AntiAliasType.ADVANCED`. This setting generally provides the best legibility for left-aligned text. |
| `openfl.text.GridFitType.SUBPIXEL` | Specifies that strong horizontal and vertical lines are fit to the subpixel grid on an LCD monitor. To use this setting, the `openfl.text.AntiAliasType` property of the text field must be set to `openfl.text.AntiAliasType.ADVANCED`. The `openfl.text.GridFitType.SUBPIXEL` setting is often good for right-aligned or centered dynamic text, and it is sometimes a useful trade-off for animation versus text quality. |
@default pixel` tag creates a hypertext link and supports the following attributes:
`target`: Specifies the name of the target window where you load the page. Options include `_self`, `_blank`, `_parent`, and `_top`. The `_self` option specifies the current frame in the current window, `_blank` specifies a new window, `_parent` specifies the parent of the current frame, and `_top` specifies the top-level frame in the current window.
`href`: Specifies a URL or an ActionScript `link` event.The URL can be either absolute or relative to the location of the SWF file that is loading the page. An example of an absolute reference to a URL is `http://www.adobe.com`; an example of a relative reference is `/index.html`. Absolute URLs must be prefixed with http://; otherwise, Flash Player or AIR treats them as relative URLs. You can use the `link` event to cause the link to execute an ActionScript function in a SWF file instead of opening a URL. To specify a `link` event, use the event scheme instead of the http scheme in your `href` attribute. An example is `href="event:myText"` instead of `href="http://myURL"`; when the user clicks a hypertext link that contains the event scheme, the text field dispatches a `link` TextEvent with its `text` property set to "`myText`". You can then create an ActionScript function that executes whenever the link TextEvent is dispatched. You can also define `a:link`, `a:hover`, and `a:active` styles for anchor tags by using style sheets.
|
| Bold tag | The `` tag renders text as bold. A bold typeface must be available for the font used. |
| Break tag | The ` ` tag creates a line break in the text field. Set the text field to be a multiline text field to use this tag. |
| Font tag | The `` tag specifies a font or list of fonts to display the text.The font tag supports the following attributes:
`color`: Only hexadecimal color (`#FFFFFF`) values are supported.
`face`: Specifies the name of the font to use. As shown in the following example, you can specify a list of comma-delimited font names, in which case Flash Player selects the first available font. If the specified font is not installed on the local computer system or isn't embedded in the SWF file, Flash Player selects a substitute font.
`size`: Specifies the size of the font. You can use absolute pixel sizes, such as 16 or 18, or relative point sizes, such as +2 or -4.
|
| Image tag | The `` tag lets you embed external image files (JPEG, GIF, PNG), SWF files, and movie clips inside text fields. Text automatically flows around images you embed in text fields. You must set the text field to be multiline to wrap text around an image. The `` tag supports the following attributes:
`src`: Specifies the URL to an image or SWF file, or the linkage identifier for a movie clip symbol in the library. This attribute is required; all other attributes are optional. External files (JPEG, GIF, PNG, and SWF files) do not show until they are downloaded completely.
`width`: The width of the image, SWF file, or movie clip being inserted, in pixels.
`height`: The height of the image, SWF file, or movie clip being inserted, in pixels.
`align`: Specifies the horizontal alignment of the embedded image within the text field. Valid values are `left` and `right`. The default value is `left`.
`hspace`: Specifies the amount of horizontal space that surrounds the image where no text appears. The default value is 8.
`vspace`: Specifies the amount of vertical space that surrounds the image where no text appears. The default value is 8.
`id`: Specifies the name for the movie clip instance (created by Flash Player) that contains the embedded image file, SWF file, or movie clip. This approach is used to control the embedded content with ActionScript.
`checkPolicyFile`: Specifies that Flash Player checks for a URL policy file on the server associated with the image domain. If a policy file exists, SWF files in the domains listed in the file can access the data of the loaded image, for example, by calling the `BitmapData.draw()` method with this image as the `source` parameter. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
Flash displays media embedded in a text field at full size. To specify the dimensions of the media you are embedding, use the `` tag `height` and `width` attributes. In general, an image embedded in a text field appears on the line following the `` tag. However, when the `` tag is the first character in the text field, the image appears on the first line of the text field. For AIR content in the application security sandbox, AIR ignores `img` tags in HTML content in ActionScript TextField objects. This is to prevent possible phishing attacks. |
| Italic tag | The `` tag displays the tagged text in italics. An italic typeface must be available for the font used. |
| List item tag | The `
` tag places a bullet in front of the text that it encloses. **Note:** Because Flash Player and AIR do not recognize ordered and unordered list tags (`` and `
`, they do not modify how your list is rendered. All lists are unordered and all list items use bullets. |
| Paragraph tag | The `
` tag creates a new paragraph. The text field must be set to be a multiline text field to use this tag. The `
` tag supports the following attributes:
align: Specifies alignment of text within the paragraph; valid values are `left`, `right`, `justify`, and `center`.
class: Specifies a CSS style class defined by a openfl.text.StyleSheet object.
|
| Span tag | The `` tag is available only for use with CSS text styles. It supports the following attribute:
class: Specifies a CSS style class defined by a openfl.text.StyleSheet object.
|
| Text format tag | The `` tag lets you use a subset of paragraph formatting properties of the TextFormat class within text fields, including line leading, indentation, margins, and tab stops. You can combine `` tags with the built-in HTML tags. The `` tag has the following attributes:
`blockindent`: Specifies the block indentation in points; corresponds to `TextFormat.blockIndent`.
`indent`: Specifies the indentation from the left margin to the first character in the paragraph; corresponds to `TextFormat.indent`. Both positive and negative numbers are acceptable.
`leading`: Specifies the amount of leading (vertical space) between lines; corresponds to `TextFormat.leading`. Both positive and negative numbers are acceptable.
`leftmargin`: Specifies the left margin of the paragraph, in points; corresponds to `TextFormat.leftMargin`.
`rightmargin`: Specifies the right margin of the paragraph, in points; corresponds to `TextFormat.rightMargin`.
`tabstops`: Specifies custom tab stops as an array of non-negative integers; corresponds to `TextFormat.tabStops`.
|
| Underline tag | The `` tag underlines the tagged text. |
Flash Player and AIR support the following HTML entities:
| Entity | Description |
| --- | --- |
| < | < (less than) |
| > | > (greater than) |
| & | & (ampersand) |
| " | " (double quotes) |
| ' | ' (apostrophe, single quote) |
Flash Player and AIR also support explicit character codes, such as
& (ASCII ampersand) and € (Unicode € symbol).]]>
The number of characters in a text field. A character such as tab
(`\t`) counts as one character.The maximum number of characters that the text field can contain, as
entered by a user. A script can insert more text than
`maxChars` allows; the `maxChars` property indicates
only how much text a user can enter. If the value of this property is
`0`, a user can enter an unlimited amount of text.
@default 0The maximum value of `scrollH`.The maximum value of `scrollV`.A Boolean value that indicates whether Flash Player automatically scrolls
multiline text fields when the user clicks a text field and rolls the mouse wheel.
By default, this value is `true`. This property is useful if you want to prevent
mouse wheel scrolling of text fields, or implement your own text field scrolling.Indicates whether field is a multiline text field. If the value is
`true`, the text field is multiline; if the value is
`false`, the text field is a single-line text field. In a field
of type `TextFieldType.INPUT`, the `multiline` value
determines whether the `Enter` key creates a new line(a value
of `false`, and the `Enter` key is ignored). If you
paste text into a `TextField` with a `multiline`
value of `false`, newlines are stripped out of the text.
@default falseDefines the number of text lines in a multiline text field. If
`wordWrap` property is set to `true`, the number of
lines increases when text wraps.This property does
not synchronize with the Embed font options in the Property inspector.
If the string begins with a caret(^) character, all characters are
initially accepted and succeeding characters in the string are excluded
from the set of accepted characters. If the string does not begin with a
caret(^) character, no characters are initially accepted and succeeding
characters in the string are included in the set of accepted
characters.
The following example allows only uppercase characters, spaces, and
numbers to be entered into a text field:
`my_txt.restrict = "A-Z 0-9";`
The following example includes all characters, but excludes lowercase
letters:
`my_txt.restrict = "^a-z";`
You can use a backslash to enter a ^ or - verbatim. The accepted
backslash sequences are \-, \^ or \\. The backslash must be an actual
character in the string, so when specified in ActionScript, a double
backslash must be used. For example, the following code includes only the
dash(-) and caret(^):
`my_txt.restrict = "\\-\\^";`
The ^ can be used anywhere in the string to toggle between including
characters and excluding characters. The following code includes only
uppercase letters, but excludes the uppercase letter Q:
`my_txt.restrict = "A-Z^Q";`
You can use the `\u` escape sequence to construct
`restrict` strings. The following code includes only the
characters from ASCII 32(space) to ASCII 126(tilde).
`my_txt.restrict = "\u0020-\u007E";`
@default null]]>The current horizontal scrolling position. If the `scrollH`
property is 0, the text is not horizontally scrolled. This property value
is an integer that represents the horizontal position in pixels.
The units of horizontal scrolling are pixels, whereas the units of
vertical scrolling are lines. Horizontal scrolling is measured in pixels
because most fonts you typically use are proportionally spaced; that is,
the characters can have different widths. Flash Player performs vertical
scrolling by line because users usually want to see a complete line of
text rather than a partial line. Even if a line uses multiple fonts, the
height of the line adjusts to fit the largest font in use.
**Note: **The `scrollH` property is zero-based, not
1-based like the `scrollV` vertical scrolling property.The vertical position of text in a text field. The `scrollV`
property is useful for directing users to a specific paragraph in a long
passage, or creating scrolling text fields.
The units of vertical scrolling are lines, whereas the units of
horizontal scrolling are pixels. If the first line displayed is the first
line in the text field, scrollV is set to 1(not 0). Horizontal scrolling
is measured in pixels because most fonts are proportionally spaced; that
is, the characters can have different widths. Flash performs vertical
scrolling by line because users usually want to see a complete line of
text rather than a partial line. Even if there are multiple fonts on a
line, the height of the line adjusts to fit the largest font in use.A Boolean value that indicates whether the text field is selectable. The
value `true` indicates that the text is selectable. The
`selectable` property controls whether a text field is
selectable, not whether a text field is editable. A dynamic text field can
be selectable even if it is not editable. If a dynamic text field is not
selectable, the user cannot select its text.
If `selectable` is set to `false`, the text in
the text field does not respond to selection commands from the mouse or
keyboard, and the text cannot be copied with the Copy command. If
`selectable` is set to `true`, the text in the text
field can be selected with the mouse or keyboard, and the text can be
copied with the Copy command. You can select text this way even if the
text field is a dynamic text field instead of an input text field.
@default trueThe zero-based character index value of the first character in the current
selection. For example, the first character is 0, the second character is
1, and so on. If no text is selected, this property is the value of
`caretIndex`.The zero-based character index value of the last character in the current
selection. For example, the first character is 0, the second character is
1, and so on. If no text is selected, this property is the value of
`caretIndex`.The sharpness of the glyph edges in this text field. This property applies
only if the `openfl.text.AntiAliasType` property of the text
field is set to `openfl.text.AntiAliasType.ADVANCED`. The range
for `sharpness` is a number from -400 to 400. If you attempt to
set `sharpness` to a value outside that range, Flash sets the
property to the nearest value in the range(either -400 or 400).
@default 0Attaches a style sheet to the text field. For information on creating
style sheets, see the StyleSheet class and the _ActionScript 3.0
Developer's Guide_.
You can change the style sheet associated with a text field at any
time. If you change the style sheet in use, the text field is redrawn
with the new style sheet. You can set the style sheet to `null` or
`undefined` to remove the style sheet. If the style sheet in use is
removed, the text field is redrawn without a style sheet.
**Note:** If the style sheet is removed, the contents of both
`TextField.text` and ` TextField.htmlText` change to incorporate the
formatting previously applied by the style sheet. To preserve the
original `TextField.htmlText` contents without the formatting, save
the value in a variable before removing the style sheet.A string that is the current text in the text field. Lines are separated
by the carriage return character(`'\r'`, ASCII 13). This
property contains unformatted text in the text field, without HTML tags.
To get the text in HTML form, use the `htmlText`
property.The color of the text in a text field, in hexadecimal format. The
hexadecimal color system uses six digits to represent color values. Each
digit has 16 possible values or characters. The characters range from 0-9
and then A-F. For example, black is `0x000000`; white is
`0xFFFFFF`.
@default 0(0x000000)The height of the text in pixels.The interaction mode property, Default value is
TextInteractionMode.NORMAL. On mobile platforms, the normal mode
implies that the text can be scrolled but not selected. One can switch
to the selectable mode through the in-built context menu on the text
field. On Desktop, the normal mode implies that the text is in
scrollable as well as selection mode.The type of the text field. Either one of the following TextFieldType
constants: `TextFieldType.DYNAMIC`, which specifies a dynamic
text field, which a user cannot edit, or `TextFieldType.INPUT`,
which specifies an input text field, which a user can edit.
@default dynamic
@throws ArgumentError The `type` specified is not a member of
openfl.text.TextFieldType.Specifies whether to copy and paste the text formatting along with the
text. When set to `true`, Flash Player copies and pastes formatting
(such as alignment, bold, and italics) when you copy and paste between
text fields. Both the origin and destination text fields for the copy
and paste procedure must have `useRichTextClipboard` set to `true`.
The default value is `false`.
<__bounds>
<__caretIndex>
<__cursorTimer>
<__dirty>
<__displayAsPassword>
<__domRender>
<__inputEnabled>
<__isHTML>
<__layoutDirty>
<__mouseScrollVCounter expr="0">
0
<__mouseWheelEnabled>
<__offsetX>
<__offsetY>
<__selectionIndex>
<__showCursor>
<__styleSheet>
<__text>
<__htmlText>
<__textEngine>
<__textFormat>
Appends the string specified by the `newText` parameter to the
end of the text of the text field. This method is more efficient than an
addition assignment(`+=`) on a `text` property
(such as `someTextField.text += moreText`), particularly for a
text field that contains a significant amount of content.
@param newText The string to append to the existing text.Returns a rectangle that is the bounding box of the character.
@param charIndex The zero-based index value for the character (for
example, the first position is 0, the second position is
1, and so on).
@return A rectangle with `x` and `y` minimum and
maximum values defining the bounding box of the character.Returns the zero-based index value of the character at the point specified
by the `x` and `y` parameters.
@param x The _x_ coordinate of the character.
@param y The _y_ coordinate of the character.
@return The zero-based index value of the character(for example, the
first position is 0, the second position is 1, and so on). Returns
-1 if the point is not over any character.Given a character index, returns the index of the first character in
the same paragraph.
@param charIndex The zero-based index value of the character (for
example, the first character is 0, the second
character is 1, and so on).
@return The zero-based index value of the first character in the same
paragraph.
@throws RangeError The character index specified is out of range.` tag. The `` tag is in the following format:
```html
```
@param id The `id` to match (in the `id` attribute of the ``
tag).
@return The display object corresponding to the image or SWF file with
the matching `id` attribute in the `` tag of the text
field. For media loaded from an external source, this object
is a Loader object, and, once loaded, the media object is a
child of that Loader object. For media embedded in the SWF
file, it is the loaded object. If no `` tag with the
matching `id` exists, the method returns `null`.]]>Returns the zero-based index value of the line containing the
character specified by the `charIndex` parameter.
@param charIndex The zero-based index value of the character (for
example, the first character is 0, the second
character is 1, and so on).
@return The zero-based index value of the line.
@throws RangeError The character index specified is out of range.Returns the number of characters in a specific text line.
@param lineIndex The line number for which you want the length.
@return The number of characters in the line.
@throws RangeError The line number specified is out of range.Returns metrics information about a given text line.
@param lineIndex The line number for which you want metrics information.
@return A TextLineMetrics object.
@throws RangeError The line number specified is out of range.Returns the character index of the first character in the line that the
`lineIndex` parameter specifies.
@param lineIndex The zero-based index value of the line(for example, the
first line is 0, the second line is 1, and so on).
@return The zero-based index value of the first character in the line.
@throws RangeError The line number specified is out of range.Returns the text of the line specified by the `lineIndex`
parameter.
@param lineIndex The zero-based index value of the line(for example, the
first line is 0, the second line is 1, and so on).
@return The text string contained in the specified line.
@throws RangeError The line number specified is out of range.Given a character index, returns the length of the paragraph
containing the given character. The length is relative to the first
character in the paragraph (as returned by
`getFirstCharInParagraph()`), not to the character index passed in.
@param charIndex The zero-based index value of the character (for
example, the first character is 0, the second
character is 1, and so on).
@return Returns the number of characters in the paragraph.
@throws RangeError The character index specified is out of range.{ endIndex : -1, beginIndex : -1 }Returns a TextFormat object that contains formatting information for
the range of text that the `beginIndex` and `endIndex` parameters
specify. Only properties that are common to the entire text specified
are set in the resulting TextFormat object. Any property that is
_mixed_, meaning that it has different values at different points in
the text, has a value of `null`.
If you do not specify values for these parameters, this method is
applied to all the text in the text field.
The following table describes three possible usages:
| Usage | Description |
| --- | --- |
| `my_textField.getTextFormat()` | Returns a TextFormat object containing formatting information for all text in a text field. Only properties that are common to all text in the text field are set in the resulting TextFormat object. Any property that is _mixed_, meaning that it has different values at different points in the text, has a value of `null`. |
| `my_textField.getTextFormat(beginIndex:Number)` | Returns a TextFormat object containing a copy of the text format of the character at the `beginIndex` position. |
| `my_textField.getTextFormat(beginIndex:Number,endIndex:Number)` | Returns a TextFormat object containing formatting information for the span of text from `beginIndex` to `endIndex-1`. Only properties that are common to all of the text in the specified range are set in the resulting TextFormat object. Any property that is mixed (that is, has different values at different points in the range) has its value set to `null`. |
@return The TextFormat object that represents the formatting
properties for the specified text.
@throws RangeError The `beginIndex` or `endIndex` specified is out of
range.Returns true if an embedded font is available with the specified
`fontName` and `fontStyle` where `Font.fontType` is
`openfl.text.FontType.EMBEDDED`. Starting with Flash Player 10, two
kinds of embedded fonts can appear in a SWF file. Normal embedded
fonts are only used with TextField objects. CFF embedded fonts are
only used with the openfl.text.engine classes. The two types are
distinguished by the `fontType` property of the `Font` class, as
returned by the `enumerateFonts()` function.
TextField cannot use a font of type `EMBEDDED_CFF`. If `embedFonts` is
set to `true` and the only font available at run time with the
specified name and style is of type `EMBEDDED_CFF`, Flash Player fails
to render the text, as if no embedded font were available with the
specified name and style.
If both `EMBEDDED` and `EMBEDDED_CFF` fonts are available with the
same name and style, the `EMBEDDED` font is selected and text renders
with the `EMBEDDED` font.
@param fontName The name of the embedded font to check.
@param fontStyle Specifies the font style to check. Use
`openfl.text.FontStyle`
@return `true` if a compatible embedded font is available, otherwise
`false`.
@throws ArgumentError The `fontStyle` specified is not a member of
`openfl.text.FontStyle`.Replaces the range of characters that the `beginIndex` and `endIndex`
parameters specify with the contents of the `newText` parameter. As
designed, the text from `beginIndex` to `endIndex-1` is replaced.
**Note:** This method does not work if a style sheet is applied to the
text field.
@param beginIndex The zero-based index value for the start position of
the replacement range.
@param endIndex The zero-based index position of the first character
after the desired text span.
@param newText The text to use to replace the specified range of
characters.
@throws Error This method cannot be used on a text field with a style
sheet.Sets as selected the text designated by the index values of the first and
last characters, which are specified with the `beginIndex` and
`endIndex` parameters. If the two parameter values are the
same, this method sets the insertion point, as if you set the
`caretIndex` property.
@param beginIndex The zero-based index value of the first character in the
selection(for example, the first character is 0, the
second character is 1, and so on).
@param endIndex The zero-based index value of the last character in the
selection.{ endIndex : -1, beginIndex : -1 }Applies the text formatting that the `format` parameter
specifies to the specified text in a text field. The value of
`format` must be a TextFormat object that specifies the desired
text formatting changes. Only the non-null properties of
`format` are applied to the text field. Any property of
`format` that is set to `null` is not applied. By
default, all of the properties of a newly created TextFormat object are
set to `null`.
**Note:** This method does not work if a style sheet is applied to
the text field.
The `setTextFormat()` method changes the text formatting
applied to a range of characters or to the entire body of text in a text
field. To apply the properties of format to all text in the text field, do
not specify values for `beginIndex` and `endIndex`.
To apply the properties of the format to a range of text, specify values
for the `beginIndex` and the `endIndex` parameters.
You can use the `length` property to determine the index
values.
The two types of formatting information in a TextFormat object are
character level formatting and paragraph level formatting. Each character
in a text field can have its own character formatting settings, such as
font name, font size, bold, and italic.
For paragraphs, the first character of the paragraph is examined for
the paragraph formatting settings for the entire paragraph. Examples of
paragraph formatting settings are left margin, right margin, and
indentation.
Any text inserted manually by the user, or replaced by the
`replaceSelectedText()` method, receives the default text field
formatting for new text, and not the formatting specified for the text
insertion point. To set the default formatting for new text, use
`defaultTextFormat`.
@param format A TextFormat object that contains character and paragraph
formatting information.
@throws Error This method cannot be used on a text field with a style
sheet.
@throws RangeError The `beginIndex` or `endIndex`
specified is out of range.
<__allowMouseFocus set="method" line="1597" override="1">
<__caretBeginningOfLine set="method" line="1604">
<__caretBeginningOfNextLine set="method" line="1609">
<__caretBeginningOfPreviousLine set="method" line="1623">
<__caretEndOfLine set="method" line="1642">
<__caretNextCharacter set="method" line="1656">
<__caretNextLine set="method" line="1664">
<__caretPreviousCharacter set="method" line="1674">
<__caretPreviousLine set="method" line="1682">
<__disableInput set="method" line="1692">
<__dispatch set="method" line="1707" override="1">
<__enableInput set="method" line="1735">
<__getAdvance get="inline" set="null" line="1776">
<__getBounds set="method" line="1785" override="1">
<__getCharBoundaries set="method" line="1799">
<__getCharIndexOnDifferentLine set="method" line="1831">
<__getCursor set="method" line="1868" override="1">
<__getGroup set="method" line="1884">
{ precise : false }
<__getPosition set="method" line="1933">
<__hitTest set="method" line="1965" override="1">
<__hitTestMask set="method" line="1989" override="1">
<__replaceSelectedText set="method" line="2005">
{ restrict : true }
<__replaceText set="method" line="2028">
<__startCursorTimer set="method" line="2158">
<__startTextInput set="method" line="2174">
<__stopCursorTimer set="method" line="2190">
<__stopTextInput set="method" line="2206">
<__updateLayout set="method" line="2216">
<__updateScrollH set="method" line="2248">
<__updateScrollV set="method" line="2322">
<__updateMouseDrag set="method" line="2384">
<__updateText set="method" line="2414">
<__updateTransforms set="method" line="2474" override="1">
{ overrideTransform : null }Creates a new TextField instance. After you create the TextField instance,
call the `addChild()` or `addChildAt()` method of
the parent DisplayObjectContainer object to add the TextField instance to
the display list.
The default size for a text field is 100 x 100 pixels.You can use the TextField class to
perform low-level text rendering. However, in Flex, you typically use the
Label, Text, TextArea, and TextInput controls to process text. You can give a text field an instance name in the
Property inspector and use the methods and properties of the TextField
class to manipulate it with ActionScript. TextField instance names are
displayed in the Movie Explorer and in the Insert Target Path dialog box in
the Actions panel.
To create a text field dynamically, use the `TextField()`
constructor.
The methods of the TextField class let you set, select, and manipulate
text in a dynamic or input text field that you create during authoring or
at runtime.
ActionScript provides several ways to format your text at runtime. The
TextFormat class lets you set character and paragraph formatting for
TextField objects. You can apply Cascading Style Sheets(CSS) styles to
text fields by using the `TextField.styleSheet` property and the
StyleSheet class. You can use CSS to style built-in HTML tags, define new
formatting tags, or apply styles. You can assign HTML formatted text, which
optionally uses CSS styles, directly to a text field. HTML text that you
assign to a text field can contain embedded media(movie clips, SWF files,
GIF files, PNG files, and JPEG files). The text wraps around the embedded
media in the same way that a web browser wraps text around media embedded
in an HTML document.
Flash Player supports a subset of HTML tags that you can use to format
text. See the list of supported HTML tags in the description of the
`htmlText` property.
@event change Dispatched after a control value is
modified, unlike the
`textInput` event, which is
dispatched before the value is modified.
Unlike the W3C DOM Event Model version of
the `change` event, which
dispatches the event only after the
control loses focus, the ActionScript 3.0
version of the `change` event
is dispatched any time the control
changes. For example, if a user types text
into a text field, a `change`
event is dispatched after every keystroke.
@event link Dispatched when a user clicks a hyperlink
in an HTML-enabled text field, where the
URL begins with "event:". The remainder of
the URL after "event:" is placed in the
text property of the LINK event.
**Note:** The default behavior,
adding the text to the text field, occurs
only when Flash Player generates the
event, which in this case happens when a
user attempts to input text. You cannot
put text into a text field by sending it
`textInput` events.
@event scroll Dispatched by a TextField object
_after_ the user scrolls.
@event textInput Flash Player dispatches the
`textInput` event when a user
enters one or more characters of text.
Various text input methods can generate
this event, including standard keyboards,
input method editors(IMEs), voice or
speech recognition systems, and even the
act of pasting plain text with no
formatting or style information.
@event textInteractionModeChange Flash Player dispatches the
`textInteractionModeChange`
event when a user changes the interaction
mode of a text field. for example on
Android, one can toggle from NORMAL mode
to SELECTION mode using context menu
options]]>"tags=\"haxe,release\""openfl.display.Graphicsopenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.Rectangleopenfl.text._internal.TextEngineopenfl.text.TextFormathscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__onMouseUp set="method" line="31">
<_HX_SUPER__onKeyUp set="method" line="31">
<_HX_SUPER__onKeyDown set="method" line="31">
<_HX_SUPER__cycleValue set="method" line="31">
<_HX_SUPER__selectEnd set="method" line="31">
<_HX_SUPER__cycleNumericValue set="method" line="31">
<_HX_SUPER__cycleEnumValue set="method" line="31">
<_HX_SUPER__onFocusLost set="method" line="148">
<_HX_SUPER__submit public="1" set="method" line="31">
<_HX_SUPER__setIsEditing set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.watch.EditableTextField* A Visual Studio-style "watch" window, for use in the debugger overlay.
* Track the values of any public variable in real-time, and/or edit their values on the fly.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.watch.Trackerflixel.system.debug.watch.Tracker.TrackerProfile
<_HX_SUPER__toString public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.watch.Trackerflixel.system.debug.watch.Tracker.TrackerProfile420125openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* `object.field` resolved via `Reflect.getProperty()`.* Manually updated values.* Haxe expression evaluated with hscript.* A function that returns the value to display.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__getTextColor set="method" line="148">
<_HX_SUPER__updateSize public="1" set="method" line="31">
<_HX_SUPER__updateName set="method" line="148">
<_HX_SUPER__setNameText set="method" line="148">
<_HX_SUPER__getValue set="method" line="148">
<_HX_SUPER__getFormattedValue set="method" line="148">
<_HX_SUPER__submitValue set="method" line="31">
<_HX_SUPER__updateValue public="1" set="method" line="148">
<_HX_SUPER__getNameWidth public="1" set="method" line="148">
<_HX_SUPER__getMinWidth public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.watch.WatchEntry
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.debug.watch.Watch
<_HX_SUPER__onAssetsReload public="1" set="method" line="31">* New context handler.
* Regenerates tilesheets for all dumped graphics objects in the cache.
<_HX_SUPER__onContext public="1" set="method" line="31">* Dumps bits of all graphics in the cache. This frees some memory, but you can't read/write pixels on those graphics anymore.
* You can call undump() method for each FlxGraphic (or undumpCache()) object which will restore it again.
<_HX_SUPER__dumpCache public="1" set="method" line="31">* Restores graphics of all dumped objects in the cache.
<_HX_SUPER__undumpCache public="1" set="method" line="31">{ Unique : false }* Generates a new BitmapData object (a colored rectangle) and caches it.
*
* @param Width How wide the rectangle should be.
* @param Height How high the rectangle should be.
* @param Color What color the rectangle should be (0xAARRGGBB)
* @param Unique Ensures that the bitmap data uses a new slot in the cache.
* @param Key Force the cache to use a specific Key to index the bitmap.
* @return The BitmapData we just created.
<_HX_SUPER__create public="1" set="method" line="148">
{ Unique : false }{ Unique : false }* Loads a bitmap from a file, clones it if necessary and caches it.
* @param Graphic Optional FlxGraphics object to create FlxGraphic from.
* @param Frames Optional FlxFramesCollection object to create FlxGraphic from.
* @param Bitmap Optional BitmapData object to create FlxGraphic from.
* @param BitmapClass Optional Class for BitmapData to create FlxGraphic from.
* @param Str Optional String key to use for FlxGraphic instantiation.
* @param Unique Ensures that the bitmap data uses a new slot in the cache.
* @param Key Force the cache to use a specific Key to index the bitmap.
* @return The FlxGraphic we just created.
<_HX_SUPER__add public="1" set="method" line="148">
{ Unique : false }* Gets key from bitmap cache for specified BitmapData
*
* @param bmd BitmapData to find in cache
* @return BitmapData's key or null if there isn't such BitmapData in cache
<_HX_SUPER__findKeyForBitmap public="1" set="method" line="148">{ unique : false }* Creates string key for further caching.
*
* @param systemKey The first string key to use as a base for a new key. It's usually a key from openfl.Assets ("assets/image.png").
* @param userKey The second string key to use as a base for a new key. It's usually a key provided by the user
* @param unique Whether generated key should be unique or not.
* @return Created key.
<_HX_SUPER__generateKey public="1" set="method" line="148">
{ unique : false }* Gets unique key for bitmap cache
*
* @param baseKey key's prefix
* @return unique key
<_HX_SUPER__getUniqueKey public="1" set="method" line="148">* Generates key from provided base key and information about tile size and offsets in spritesheet
* and the region of image to use as spritesheet graphics source.
*
* @param baseKey Beginning of the key. Usually it is the key for original spritesheet graphics (like "assets/tile.png")
* @param frameSize the size of tile in spritesheet
* @param frameSpacing offsets between tiles in offsets
* @param region region of image to use as spritesheet graphics source
* @return Generated key for spritesheet with inserted spaces between tiles
<_HX_SUPER__getKeyWithSpacesAndBorders public="1" set="method" line="148">* Totally removes specified FlxGraphic object.
* @param FlxGraphic object you want to remove and destroy.
<_HX_SUPER__remove public="1" set="method" line="31">* Totally removes FlxGraphic object with specified key.
* @param key the key for cached FlxGraphic object.
<_HX_SUPER__removeByKey public="1" set="method" line="31">
<_HX_SUPER__removeIfNoUse public="1" set="method" line="31">* Clears image cache (and destroys those images).
* Graphics object will be removed and destroyed only if it shouldn't persist in the cache and its useCount is 0.
<_HX_SUPER__clearCache public="1" set="method" line="31">* Maps the entire cache as destroyable, aka must be cleared.
<_HX_SUPER__mapCacheAsDestroyable public="1" set="method" line="148">* Completely resets bitmap cache, which means destroying ALL of the cached FlxGraphic objects.
<_HX_SUPER__reset public="1" set="method" line="31">* Removes all unused graphics from cache,
* but skips graphics which should persist in cache and shouldn't be destroyed on no use.
<_HX_SUPER__clearUnused public="1" set="method" line="31">
<_HX_SUPER__get_maxTextureSize set="method" line="148">
<_HX_SUPER__get_whitePixel set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.BitmapFrontEnd* Clears the bitmapLog window and adds the entire cache to it.
<_HX_SUPER__viewCache public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.BitmapLogFrontEnd{ Destroy : true }* Remove a camera from the game.
*
* @param Camera The camera you want to remove.
* @param Destroy Whether to call destroy() on the camera, default value is true.
<_HX_SUPER__remove public="1" set="method" line="31">
{ Destroy : true }* If set to true, the camera is listed as a default draw target, meaning `FlxBasics`
* render to the specified camera if the `FlxBasic` has a null `cameras` value.
* @see flixel.FlxBasic.cameras
*
* @param camera The camera you wish to change.
* @param value If false, FlxBasics will not render to it unless you add it to their `cameras` list.
* @since 4.9.0
<_HX_SUPER__setDefaultDrawTarget public="1" set="method" line="148">* Dumps all the current cameras and resets to just one camera.
* Handy for doing split-screen especially.
*
* @param NewCamera Optional; specify a specific camera object to be the new main camera.
<_HX_SUPER__reset public="1" set="method" line="31">{ Force : false, Duration : 1, Color : FlxColor.WHITE }* All screens are filled with this color and gradually return to normal.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the flash to fade.
* @param OnComplete A function you want to run when the flash finishes.
* @param Force Force the effect to reset.
<_HX_SUPER__flash public="1" set="method" line="31">
{ Force : false, Duration : 1, Color : FlxColor.WHITE }{ Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK }* The screen is gradually filled with this color.
*
* @param Color The color you want to use.
* @param Duration How long it takes for the fade to finish.
* @param FadeIn True fades from a color, false fades to it.
* @param OnComplete A function you want to run when the fade finishes.
* @param Force Force the effect to reset.
<_HX_SUPER__fade public="1" set="method" line="31">
{ Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK }{ Force : true, Duration : 0.5, Intensity : 0.05 }* A simple screen-shake effect.
*
* @param Intensity Percentage of screen size representing the maximum distance that the screen can move while shaking.
* @param Duration The length in seconds that the shaking effect should last.
* @param OnComplete A function you want to run when the shake effect finishes.
* @param Force Force the effect to reset (default = true, unlike flash() and fade()!).
* @param Axes On what axes to shake. Default value is XY / both.
<_HX_SUPER__shake public="1" set="method" line="31">
{ Force : true, Duration : 0.5, Intensity : 0.05 }flixel.FlxGame* Resizes and moves cameras when the game resizes (onResize signal).
<_HX_SUPER__resize set="method" line="31">
<_HX_SUPER__get_bgColor set="method" line="148">
<_HX_SUPER__set_bgColor set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.CameraFrontEnd
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.ConsoleFrontEnd{ UpdateLayout : true, ToggleMode : false }* Create and add a new debugger button.
*
* @param Position Either LEFT, CENTER or RIGHT.
* @param Icon The icon to use for the button
* @param UpHandler The function to be called when the button is pressed.
* @param ToggleMode Whether this is a toggle button or not.
* @param UpdateLayout Whether to update the button layout.
* @return The added button.
<_HX_SUPER__addButton public="1" set="method" line="148">
{ UpdateLayout : true, ToggleMode : false }
<_HX_SUPER__track public="1" set="method" line="148">{ UpdateLayout : true }* Removes and destroys a button from the debugger.
*
* @param Button The FlxSystemButton instance to remove.
* @param UpdateLayout Whether to update the button layout.
<_HX_SUPER__removeButton public="1" set="method" line="31">
{ UpdateLayout : true }
<_HX_SUPER__set_drawDebug set="method" line="148">flixel.FlxGame.onFocus
<_HX_SUPER__set_visible set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.DebuggerFrontEnd
<_HX_SUPER__reset public="1" set="method" line="31">flixel.FlxGameflixel.FlxState.resetSubState
<_HX_SUPER__onStateSwitch set="method" line="31">
<_HX_SUPER__destroy set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.InputFrontEnd{ FireOnce : false }* Add an advanced log message to the debugger by also specifying a LogStyle. Backend to FlxG.log.add(), FlxG.log.warn(), FlxG.log.error() and FlxG.log.notice().
*
* @param Data Any Data to log.
* @param Style The LogStyle to use, for example LogStyle.WARNING. You can also create your own by importing the LogStyle class.
* @param FireOnce Whether you only want to log the Data in case it hasn't been added already
<_HX_SUPER__advanced public="1" set="method" line="31">
{ FireOnce : false }* Internal function used as a interface between trace() and add().
*
* @param Data The data that has been traced
* @param Inf Information about the position at which trace() was called
<_HX_SUPER__processTraceData set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.LogFrontEnd[]* An array container for plugins.* Retrieves a plugin based on its class name from the global plugin array.
*
* @param ClassType The class name of the plugin you want to retrieve. See the FlxPath or FlxTimer constructors for example usage.
* @return The plugin object, or null if no matching plugin was found.* Removes an instance of a plugin from the global plugin array.
*
* @param Plugin The plugin instance you want to remove.
* @return The same FlxPlugin-based plugin you passed in.* Removes all instances of a plugin from the global plugin array.
*
* @param ClassType The class name of the plugin type you want removed from the array.
* @return Whether or not at least one instance of this plugin type was removed.flixel.FlxGame* Used by the game object to call update() on all the plugins.flixel.FlxGame* Used by the game object to call draw() on all the plugins.flixel.FlxG* Accessed via `FlxG.plugins`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Removes all instances of a plugin from the global plugin array.
*
* @param ClassType The class name of the plugin type you want removed from the array.
* @return Whether or not at least one instance of this plugin type was removed.
<_HX_SUPER__removeType public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.PluginFrontEnd
<_HX_SUPER__get_stateSwitched set="method" line="148">
<_HX_SUPER__get_gameStarted set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.SignalFrontEnd* A handy container for a background music object.false* Whether or not the game sounds are muted.* Set this hook to get a callback whenever the volume changes.
* Function should take the form myVolumeHandler(volume:Float).[PLUS, NUMPADPLUS]* The key codes used to increase volume (see FlxG.keys for the keys available).
* Default keys: + (and numpad +). Set to null to deactivate.[MINUS, NUMPADMINUS]* The keys to decrease volume (see FlxG.keys for the keys available).
* Default keys: - (and numpad -). Set to null to deactivate.[ZERO, NUMPADZERO]* The keys used to mute / unmute the game (see FlxG.keys for the keys available).
* Default keys: 0 (and numpad 0). Set to null to deactivate.true* Whether or not the soundTray should be shown when any of the
* volumeUp-, volumeDown- or muteKeys is pressed.new FlxSoundGroup()* The group sounds played via playMusic() are added to unless specified otherwise.new FlxSoundGroup()* The group sounds in load() / play() / stream() are added to unless specified otherwise.()]]>* A list of all the sounds being played in the game.1* Set this to a number between 0 and 1 to change the global volume.true* Whenever switching volume is enabled or not.{ Looped : true, Volume : 1 }* Set up and play a looping background soundtrack.
*
* @param Music The sound file you want to loop in the background.
* @param Volume How loud the sound should be, from 0 to 1.
* @param Looped Whether to loop this music.
* @param Group The group to add this sound to.{ AutoPlay : false, AutoDestroy : false, Looped : false, Volume : 1 }* Creates a new FlxSound object.
*
* @param EmbeddedSound The embedded sound resource you want to play. To stream, use the optional URL parameter instead.
* @param Volume How loud to play it (0 to 1).
* @param Looped Whether to loop this sound.
* @param Group The group to add this sound to.
* @param AutoDestroy Whether to destroy this sound when it finishes playing.
* Leave this value set to "false" if you want to re-use this FlxSound instance.
* @param AutoPlay Whether to play the sound.
* @param URL Load a sound from an external web resource instead. Only used if EmbeddedSound = null.
* @param OnComplete Called when the sound finished playing.
* @param OnLoad Called when the sound finished loading. Called immediately for succesfully loaded embedded sounds.
* @return A FlxSound object.{ AutoPlay : false }* Method for sound caching (especially useful on mobile targets). The game may freeze
* for some time the first time you try to play a sound if you don't use this method.
*
* @param EmbeddedSound Name of sound assets specified in your .xml project file
* @return Cached Sound object* Calls FlxG.sound.cache() on all sounds that are embedded.
* WARNING: can lead to high memory usage.{ AutoDestroy : true, Looped : false, Volume : 1 }* Plays a sound from an embedded sound. Tries to recycle a cached sound first.
*
* @param EmbeddedSound The embedded sound resource you want to play.
* @param Volume How loud to play it (0 to 1).
* @param Looped Whether to loop this sound.
* @param Group The group to add this sound to.
* @param AutoDestroy Whether to destroy this sound when it finishes playing.
* Leave this value set to "false" if you want to re-use this FlxSound instance.
* @param OnComplete Called when the sound finished playing
* @return A FlxSound object.{ AutoDestroy : true, Looped : false, Volume : 1 }* Plays a sound from a URL. Tries to recycle a cached sound first.
* NOTE: Just calls FlxG.sound.load() with AutoPlay == true.
*
* @param URL Load a sound from an external web resource instead.
* @param Volume How loud to play it (0 to 1).
* @param Looped Whether to loop this sound.
* @param Group The group to add this sound to.
* @param AutoDestroy Whether to destroy this sound when it finishes playing.
* Leave this value set to "false" if you want to re-use this FlxSound instance.
* @param OnComplete Called when the sound finished playing
* @param OnLoad Called when the sound finished loading.
* @return A FlxSound object.* Pause all sounds currently playing.* Resume playing existing sounds.{ ForceDestroy : false }* Called by FlxGame on state changes to stop and destroy sounds.
*
* @param ForceDestroy Kill sounds even if persist is true.* Toggles muted, also activating the sound tray.* Changes the volume by a certain amount, also activating the sound tray.* Shows the sound tray if it is enabled.flixel.FlxGame* Called by the game loop to make sure the sounds get updated each frame.flixel.FlxGameflixel.FlxGame* Loads saved sound preferences if they exist.* Accessed via `FlxG.sound`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.FlxG{ Looped : true, Volume : 1 }* Set up and play a looping background soundtrack.
*
* @param Music The sound file you want to loop in the background.
* @param Volume How loud the sound should be, from 0 to 1.
* @param Looped Whether to loop this music.
* @param Group The group to add this sound to.
<_HX_SUPER__playMusic public="1" set="method" line="31">
{ Looped : true, Volume : 1 }{ AutoPlay : false, AutoDestroy : false, Looped : false, Volume : 1 }* Creates a new FlxSound object.
*
* @param EmbeddedSound The embedded sound resource you want to play. To stream, use the optional URL parameter instead.
* @param Volume How loud to play it (0 to 1).
* @param Looped Whether to loop this sound.
* @param Group The group to add this sound to.
* @param AutoDestroy Whether to destroy this sound when it finishes playing.
* Leave this value set to "false" if you want to re-use this FlxSound instance.
* @param AutoPlay Whether to play the sound.
* @param URL Load a sound from an external web resource instead. Only used if EmbeddedSound = null.
* @param OnComplete Called when the sound finished playing.
* @param OnLoad Called when the sound finished loading. Called immediately for succesfully loaded embedded sounds.
* @return A FlxSound object.
<_HX_SUPER__load public="1" set="method" line="148">
{ AutoPlay : false, AutoDestroy : false, Looped : false, Volume : 1 }{ AutoPlay : false }
<_HX_SUPER__loadHelper set="method" line="148">
{ AutoPlay : false }* Calls FlxG.sound.cache() on all sounds that are embedded.
* WARNING: can lead to high memory usage.
<_HX_SUPER__cacheAll public="1" set="method" line="31">{ AutoDestroy : true, Looped : false, Volume : 1 }* Plays a sound from an embedded sound. Tries to recycle a cached sound first.
*
* @param EmbeddedSound The embedded sound resource you want to play.
* @param Volume How loud to play it (0 to 1).
* @param Looped Whether to loop this sound.
* @param Group The group to add this sound to.
* @param AutoDestroy Whether to destroy this sound when it finishes playing.
* Leave this value set to "false" if you want to re-use this FlxSound instance.
* @param OnComplete Called when the sound finished playing
* @return A FlxSound object.
<_HX_SUPER__play public="1" set="method" line="148">
{ AutoDestroy : true, Looped : false, Volume : 1 }{ AutoDestroy : true, Looped : false, Volume : 1 }* Plays a sound from a URL. Tries to recycle a cached sound first.
* NOTE: Just calls FlxG.sound.load() with AutoPlay == true.
*
* @param URL Load a sound from an external web resource instead.
* @param Volume How loud to play it (0 to 1).
* @param Looped Whether to loop this sound.
* @param Group The group to add this sound to.
* @param AutoDestroy Whether to destroy this sound when it finishes playing.
* Leave this value set to "false" if you want to re-use this FlxSound instance.
* @param OnComplete Called when the sound finished playing
* @param OnLoad Called when the sound finished loading.
* @return A FlxSound object.
<_HX_SUPER__stream public="1" set="method" line="148">
{ AutoDestroy : true, Looped : false, Volume : 1 }* Pause all sounds currently playing.
<_HX_SUPER__pause public="1" set="method" line="31">* Resume playing existing sounds.
<_HX_SUPER__resume public="1" set="method" line="31">{ ForceDestroy : false }* Called by FlxGame on state changes to stop and destroy sounds.
*
* @param ForceDestroy Kill sounds even if persist is true.
<_HX_SUPER__destroy public="1" set="method" line="31">
{ ForceDestroy : false }
<_HX_SUPER__destroySound set="method" line="31">* Toggles muted, also activating the sound tray.
<_HX_SUPER__toggleMuted public="1" set="method" line="31">* Changes the volume by a certain amount, also activating the sound tray.
<_HX_SUPER__changeVolume public="1" set="method" line="31">* Shows the sound tray if it is enabled.
<_HX_SUPER__showSoundTray public="1" set="method" line="31">flixel.FlxGame* Called by the game loop to make sure the sounds get updated each frame.
<_HX_SUPER__update set="method" line="31">flixel.FlxGame
<_HX_SUPER__onFocusLost set="method" line="31">flixel.FlxGame
<_HX_SUPER__onFocus set="method" line="31">* Loads saved sound preferences if they exist.
<_HX_SUPER__loadSavedPrefs set="method" line="31">
<_HX_SUPER__set_volume set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.SoundFrontEndfalse* Whether the debugger has been paused.false* Whether a "1 frame step forward" was requested.* Pause the main game loop* Resume the main game loop from FlxG.vcr.pause();flixel.FlxG* Accessed via `FlxG.vcr`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Pause the main game loop
<_HX_SUPER__pause public="1" set="method" line="31">* Resume the main game loop from FlxG.vcr.pause();
<_HX_SUPER__resume public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.VCRFrontEnd* Add an expression to the watch list in the debugger.
* The expression gets evaluated with hscript, and you can see its current value all the time.
*
* @param expression A Haxe expression written as a string that will be evaluated and watched.
* @param displayName Optional, display your own string instead of the expression string: e.g. "enemy count".
* @since 4.1.0
<_HX_SUPER__addExpression public="1" set="method" line="31">* Remove an expression from the watch list in the debugger.
*
* @param displayName The display name of the registered expression, if you supplied one, or the Haxe expression that you want to remove, in string form.
* @since 4.1.0
<_HX_SUPER__removeExpression public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.frontEnds.WatchFrontEndhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.macros.FlxMacroUtilhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.replay.CodeValuePair* The random number generator seed value for this recording.* The current frame for this recording.* The number of frames in this recording.* Whether the replay has finished playing or not.
<_frames>
* Internal container for all the frames in this replay.
<_capacity>
* Internal tracker for max number of frames we can fit before growing the _frames again.
<_marker>
* Internal helper variable for keeping track of where we are in _frames during recording or replay.* Clean up memory.* Create a new gameplay recording. Requires the current random number generator seed.
*
* @param Seed The current seed from the random number generator.* Load replay data from a String object.
* Strings can come from embedded assets or external
* files loaded through the debugger overlay.
* @param FileContents A String object containing a gameplay recording.* Save the current recording data off to a String object.
* Basically goes through and calls FrameRecord.save() on each frame in the replay.
* return The gameplay recording in simple ASCII format.* Get the current input data from the input managers and store it in a new frame record.* Get the current frame record data and load it into the input managers.* Reset the replay back to the first frame.* Common initialization terms used by both create() and load() to set up the replay object.* Instantiate a new replay object. Doesn't actually do much until you call create() or load().* The replay object both records and replays game recordings,
* as well as handle saving and loading replays to and from files.
* Gameplay recordings are essentially a list of keyboard and mouse inputs,
* but since Flixel is fairly deterministic, we can use these to play back
* recordings of gameplay with a decent amount of fidelity.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Create a new gameplay recording. Requires the current random number generator seed.
*
* @param Seed The current seed from the random number generator.
<_HX_SUPER__create public="1" set="method" line="31">* Load replay data from a String object.
* Strings can come from embedded assets or external
* files loaded through the debugger overlay.
* @param FileContents A String object containing a gameplay recording.
<_HX_SUPER__load public="1" set="method" line="31">* Save the current recording data off to a String object.
* Basically goes through and calls FrameRecord.save() on each frame in the replay.
* return The gameplay recording in simple ASCII format.
<_HX_SUPER__save public="1" set="method" line="148">* Get the current input data from the input managers and store it in a new frame record.
<_HX_SUPER__recordFrame public="1" set="method" line="31">* Get the current frame record data and load it into the input managers.
<_HX_SUPER__playNextFrame public="1" set="method" line="31">* Reset the replay back to the first frame.
<_HX_SUPER__rewind public="1" set="method" line="31">* Common initialization terms used by both create() and load() to set up the replay object.
<_HX_SUPER__init set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.replay.FlxReplay* Which frame of the game loop this record is from or for.* An array of simple integer pairs referring to what key is pressed, and what state its in.* A container for the 4 mouse state integers.* Load this frame record with input data from the input managers.
* @param Frame What frame it is.
* @param Keys Keyboard data from the keyboard manager.
* @param Mouse Mouse data from the mouse manager.
* @return A reference to this FrameRecord object.* Clean up memory.* Save the frame record data to array simple ASCII string.
* @return A String object containing the relevant frame record data.* Load the frame record data from array simple ASCII string.
* @param Data A String object containing the relevant frame record data.* Instantiate array new frame record.* Helper class for the new replay system. Represents all the game inputs for one "frame" or "step" of the game loop.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Load this frame record with input data from the input managers.
* @param Frame What frame it is.
* @param Keys Keyboard data from the keyboard manager.
* @param Mouse Mouse data from the mouse manager.
* @return A reference to this FrameRecord object.
<_HX_SUPER__create public="1" set="method" line="148">* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Save the frame record data to array simple ASCII string.
* @return A String object containing the relevant frame record data.
<_HX_SUPER__save public="1" set="method" line="148">* Load the frame record data from array simple ASCII string.
* @param Data A String object containing the relevant frame record data.
<_HX_SUPER__load public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.replay.FrameRecord* The state of the mouse wheel.* Instantiate a new mouse input record.
*
* @param X The main X value of the mouse in screen space.
* @param Y The main Y value of the mouse in screen space.
* @param Button The state of the left mouse button.
* @param Wheel The state of the mouse wheel.* A helper class for the frame records, part of the replay/demo/recording system.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.replay.MouseRecord
<_HX_SUPER__onMeasure public="1" set="method" line="31">
<_HX_SUPER__updateGameSize set="method" line="31">
<_HX_SUPER__updateDeviceSize set="method" line="31">
<_HX_SUPER__updateScaleOffset set="method" line="31">
<_HX_SUPER__updateOffsetX set="method" line="31">
<_HX_SUPER__updateOffsetY set="method" line="31">
<_HX_SUPER__updateGamePosition set="method" line="31">
<_HX_SUPER__set_horizontalAlign set="method" line="148">
<_HX_SUPER__set_verticalAlign set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.BaseScaleMode* `FillScaleMode` is a scaling mode which stretches and squashes the game to exactly fit the provided window.
* This may result in the graphics of your game being distorted if the user resizes their game window.
*
* To enable it in your project, use `FlxG.scaleMode = new FillScaleMode();`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__updateGamePosition set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.FillScaleModefalsefalse{ fixedHeight : false, fixedWidth : false }* `FixedScaleAdjustSizeScaleMode` is a scaling mode which maintains the game's scene at a fixed size.
* This will clip off the edges of the scene for dimensions which are too small.
* However, unlike `FixedScaleMode`, this mode will extend the width of the current scene to match the window scale.
* The result is that objects that would be offscreen on smaller window sizes will be visible in larger ones.
*
* Note that compared with `StageSizeScaleMode`, this scale mode aligns with the center of the game's screen,
* so the coordinates 0,0 may not be located at the top left of your game window.
*
* To enable it in your project, use `FlxG.scaleMode = new FixedScaleAdjustSizeScaleMode();`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__onMeasure public="1" set="method" line="31">
<_HX_SUPER__updateGameSize set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.FixedScaleAdjustSizeScaleMode* `FixedScaleMode` is a scaling mode which maintains the game's scene at a fixed size.
* This will clip off the edges of the scene for dimensions which are too small,
* and leave black margins on the sides for dimensions which are too large.
*
* To enable it in your project, use `FlxG.scaleMode = new FixedScaleMode();`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__updateGameSize set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.FixedScaleMode* `PixelPerfectScaleMode` is a scaling mode which maintains the game's aspect ratio.
* When you shrink or grow the window, the width and height of the game will adjust,
* either scaling the game or adding black bars as needed.
*
* However, it will only scale the game by integer factors, to maintain pixel perfect rendering.
* This may cause the game window to be windowboxed on all sides, scaling the game up only when there is
* enough room to exactly double the render scale.
*
* To enable it in your project, use `FlxG.scaleMode = new PixelPerfectScaleMode();`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__updateGameSize set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.PixelPerfectScaleMode
<_HX_SUPER__updateGameSize set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.RatioScaleMode
<_widthScale>
<_heightScale>* `RelativeScaleMode` is a scaling mode which stretches and squashes the game to exactly fit the provided window.
* It acts similar to the `FillScaleMode`, however there is one major difference.
* `RelativeScaleMode` takes two parameters, which represent the width scale and height scale.
*
* For example, `RelativeScaleMode(1, 0.5)` will cause the game to take up 100% of the window width,
* but only 50% of the window height, filling in the remaining space with a black margin.
*
* To enable it in your project, use `FlxG.scaleMode = new RelativeScaleMode();`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__setScale public="1" set="method" line="31">
<_HX_SUPER__updateGameSize set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.RelativeScaleMode* `StageSizeScaleMode` is a scaling mode which maintains the game's scene at a fixed size.
* This will clip off the edges of the scene for dimensions which are too small.
* However, unlike `FixedScaleMode`, this mode will extend the width of the current scene to match the window scale.
* The result is that objects that would be offscreen on smaller window sizes will be visible in larger ones.
*
* Note that compared with `FixedScaleAdjustSizeScaleMode`, this scale mode aligns with the top left of the game's screen.
* The coordinates 0,0 are always located at the top left of your game window.
*
* To enable it in your project, use `FlxG.scaleMode = new StageSizeScaleMode();`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__onMeasure public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.scaleModes.StageSizeScaleMode* Redraws the big arrow on the focus lost screen.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Redraws the big arrow on the focus lost screen.
<_HX_SUPER__draw public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.ui.FlxFocusLostScreen"flixel/sounds/beep"The sound that'll play when you change volume.new TextField()* "VOLUME" text.* Because reading any data from DisplayObject is insanely expensive in hxcpp, keep track of whether we need to update it or not.
<_timer>
* Helps us auto-hide the sound tray after a volume change.
<_bars>
* Helps display the volume bars on the sound tray.
<_width expr="80">
80* How wide the sound tray background is.
<_defaultScale expr="2.0">
2.0* This function just updates the soundtray object.{ Silent : false }* Makes the little volume tray slide out.
*
* @param Silent Whether or not it should beep.* Sets up the "sound tray", the little volume meter that pops down sometimes.* The flixel sound tray, the little volume meter that pops down sometimes.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* This function just updates the soundtray object.
<_HX_SUPER__update public="1" set="method" line="31">{ Silent : false }* Makes the little volume tray slide out.
*
* @param Silent Whether or not it should beep.
<_HX_SUPER__show public="1" set="method" line="31">
{ Silent : false }
<_HX_SUPER__screenCenter public="1" set="method" line="31">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.ui.FlxSoundTray* The function to be called when the button is pressed.true* Whether or not the downHandler function will be called when
* the button is clicked.false* Whether this is a toggle button or not. If so, a Boolean representing the current
* state will be passed to the callback function, and the alpha value will be lowered when toggled.false* Whether the button has been toggled in toggleMode.
<_icon>
* The icon this button uses.
<_mouseDown expr="false">
false* Whether the mouse has been pressed while over this button.* Change the Icon of the button
*
* @param Icon The new icon to use for the button.{ ToggleMode : false }* Create a new FlxSystemButton
*
* @param Icon The icon to use for the button.
* @param UpHandler The function to be called when the button is pressed.
* @param ToggleMode Whether this is a toggle button or not.* A basic button for the debugger, extends flash.display.Sprite.
* Cannot be used in a FlxState.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Change the Icon of the button
*
* @param Icon The new icon to use for the button.
<_HX_SUPER__changeIcon public="1" set="method" line="31">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__onMouseUp set="method" line="31">
<_HX_SUPER__onMouseDown set="method" line="31">
<_HX_SUPER__set_toggled set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.system.ui.FlxSystemButton* Font for text rendering.""* Text to display.
<_colorParams expr="new ColorTransform()">
new ColorTransform()* Helper object to avoid many ColorTransform allocations
<_lines expr="[]">
[]* Helper array which contains actual strings for rendering.
<_linesWidth expr="[]">
[]* Helper array which contains width of each displayed lines.FlxTextAlign.LEFT* Specifies how the text field should align text.
* JUSTIFY alignment isn't supported.
* Note: 'autoSize' must be set to false or alignment won't show any visual differences.0* The distance to add between lines.0* The distance to add between letters.false* Whether to convert text to upper case or not.true* A Boolean value that indicates whether the text field has word wrap.true* Whether word wrapping algorithm should wrap lines by words or by single character.
* Default value is true.true* Whether this text field have fixed width or not.
* Default value if true.0* Number of pixels between text and text field border* Width of the text in this text field.* Height of the text in this text field.* Height of the single line of text (without lineSpacing).4* Number of space characters in one tab.FlxColor.WHITE* The color of the text in 0xAARRGGBB format.
* Result color of text will be multiplication of textColor and color.false* Whether to use textColor while rendering or not.NONE* Use a border styleFlxColor.BLACK* The color of the border in 0xAARRGGBB format1* The size of the border, in pixels.0* How many iterations do use when drawing the border. 0: only 1 iteration, 1: one iteration for every pixel in borderSize
* A value of 1 will have the best quality for large border sizes, but might reduce performance when changing text.
* NOTE: If the borderSize is 1, borderQuality of 0 or 1 will have the exact same effect (and performance).* Offset that is applied to the shadow border style, if active.
* x and y are multiplied by borderSize. Default is (1, 1), or lower-right corner.false* Specifies whether the text should have backgroundFlxColor.TRANSPARENT* Specifies the color of backgroundtrue* Specifies whether the text field will break into multiple lines or not on overflow.* Reflects how many lines have this text field.
<_fieldWidth>truetruetrue* Helper bitmap buffer for text pixels but without any color transformations* Clears all resources used.{ Force : false }* Forces graphic regeneration for this text field.{ useTiles : false }{ RunOnCpp : false }* Calculates the size of text field.* Calculates width of the line with provided index
*
* @param lineIndex index of the line in _lines array
* @return The width of the line* Calculates width of provided string (for current font).
*
* @param str String to calculate width for
* @return The width of result bitmap text.* Just cuts the lines which are too long to fit in the field.* Automatically wraps text by figuring out how many characters can fit on a
* single line, and splitting the remainder onto a new line.* Helper function for splitting line of text into separate words.
*
* @param line line to split.
* @param words result array to fill with words.* Wraps provided line by words.
*
* @param words The array of words in the line to process.
* @param newLines Array to fill with result lines.* Wraps provided line by characters (as in standart flash text fields).
*
* @param words The array of words in the line to process.
* @param newLines Array to fill with result lines.{ useTiles : false }* Internal method for updating helper data for text rendering{ useTiles : false }{ useTiles : false }{ useTiles : false, isFront : true }{ isFront : true }{ isFront : true }{ Quality : 1, Size : 1, Color : 0 }* Set border's style (shadow, outline, etc), color, and size all in one go!
*
* @param Style outline style
* @param Color outline color in flash 0xAARRGGBB format
* @param Size outline size in pixels
* @param Quality outline quality - # of iterations to use when drawing. 0:just 1, 1:equal number to BorderSize* Sets the width of the text field. If the text does not fit, it will spread on multiple lines.* Checks if the specified code is one of the Unicode Combining Diacritical Marks
* @param Code The charactercode we want to check
* @return Bool Returns true if the code is a Unicode Combining Diacritical Mark* Constructs a new text field component.
* Warning: The default font may work incorrectly on HTML5
* and is utterly unreliable on Brave Browser with shields up.
*
* @param font Optional parameter for component's font prop* Extends FlxSprite to support rendering text.
* Can tint, fade, rotate and scale just like a sprite.
* Doesn't really animate though, as far as I know.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clears all resources used.
<_HX_SUPER__destroy public="1" set="method" line="31">{ Force : false }* Forces graphic regeneration for this text field.
<_HX_SUPER__drawFrame public="1" set="method" line="31">
{ Force : false }
<_HX_SUPER__updateHitbox set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__set_clipRect set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_textColor set="method" line="148">
<_HX_SUPER__set_useTextColor set="method" line="148">{ RunOnCpp : false }
<_HX_SUPER__calcFrame set="method" line="31">
{ RunOnCpp : false }
<_HX_SUPER__set_text set="method" line="148">
<_HX_SUPER__updateText set="method" line="31">* Calculates the size of text field.
<_HX_SUPER__computeTextSize set="method" line="31">* Calculates width of the line with provided index
*
* @param lineIndex index of the line in _lines array
* @return The width of the line
<_HX_SUPER__getLineWidth public="1" set="method" line="148">* Calculates width of provided string (for current font).
*
* @param str String to calculate width for
* @return The width of result bitmap text.
<_HX_SUPER__getStringWidth public="1" set="method" line="148">* Just cuts the lines which are too long to fit in the field.
<_HX_SUPER__cutLines set="method" line="31">* Automatically wraps text by figuring out how many characters can fit on a
* single line, and splitting the remainder onto a new line.
<_HX_SUPER__wrap set="method" line="31">* Helper function for splitting line of text into separate words.
*
* @param line line to split.
* @param words result array to fill with words.
<_HX_SUPER__splitLineIntoWords set="method" line="31">* Wraps provided line by words.
*
* @param words The array of words in the line to process.
* @param newLines Array to fill with result lines.
<_HX_SUPER__wrapLineByWord set="method" line="31">* Wraps provided line by characters (as in standart flash text fields).
*
* @param words The array of words in the line to process.
* @param newLines Array to fill with result lines.
<_HX_SUPER__wrapLineByCharacter set="method" line="31">{ useTiles : false }* Internal method for updating helper data for text rendering
<_HX_SUPER__updateTextBitmap set="method" line="31">
{ useTiles : false }{ useTiles : false }
<_HX_SUPER__drawLine set="method" line="31">
{ useTiles : false }
<_HX_SUPER__blitLine set="method" line="31">
<_HX_SUPER__tileLine set="method" line="31">{ useTiles : false }
<_HX_SUPER__updatePixels set="method" line="31">
{ useTiles : false }{ useTiles : false, isFront : true }
<_HX_SUPER__drawText set="method" line="31">
{ useTiles : false, isFront : true }{ isFront : true }
<_HX_SUPER__blitText set="method" line="31">
{ isFront : true }{ isFront : true }
<_HX_SUPER__tileText set="method" line="31">
{ isFront : true }
<_HX_SUPER__get_fieldWidth set="method" line="148">* Sets the width of the text field. If the text does not fit, it will spread on multiple lines.
<_HX_SUPER__set_fieldWidth set="method" line="148">
<_HX_SUPER__set_alignment set="method" line="148">
<_HX_SUPER__set_multiLine set="method" line="148">
<_HX_SUPER__set_font set="method" line="148">
<_HX_SUPER__set_lineSpacing set="method" line="148">
<_HX_SUPER__set_letterSpacing set="method" line="148">
<_HX_SUPER__set_autoUpperCase set="method" line="148">
<_HX_SUPER__set_wordWrap set="method" line="148">
<_HX_SUPER__set_wrapByWord set="method" line="148">
<_HX_SUPER__set_autoSize set="method" line="148">
<_HX_SUPER__set_padding set="method" line="148">
<_HX_SUPER__set_numSpacesInTab set="method" line="148">
<_HX_SUPER__set_background set="method" line="148">
<_HX_SUPER__set_backgroundColor set="method" line="148">
<_HX_SUPER__set_borderStyle set="method" line="148">
<_HX_SUPER__set_borderColor set="method" line="148">
<_HX_SUPER__set_borderSize set="method" line="148">
<_HX_SUPER__set_borderQuality set="method" line="148">
<_HX_SUPER__get_numLines set="method" line="148">
<_HX_SUPER__get_textWidth set="method" line="148">
<_HX_SUPER__get_textHeight set="method" line="148">
<_HX_SUPER__get_lineHeight set="method" line="148">
<_HX_SUPER__get_width set="method" line="148">
<_HX_SUPER__get_height set="method" line="148">* Checks if the specified code is one of the Unicode Combining Diacritical Marks
* @param Code The charactercode we want to check
* @return Bool Returns true if the code is a Unicode Combining Diacritical Mark
<_HX_SUPER__isUnicodeComboMark set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.text.FlxBitmapText* The leading (vertical space between lines) of the text.
* @since 4.10.0* The border color if the text has a shadow or a border* @param FontColor Font color, in `0xRRGGBB` format. Inherits from the default format by default.
* @param Bold Whether the text should be bold (must be supported by the font). `false` by default.
* @param Italic Whether the text should be in italics (must be supported by the font). Only works on Flash. `false` by default.
* @param BorderColor Border color, in `0xAARRGGBB` format. By default, no border (`null` / transparent).hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.text.FlxText.applyFormatshscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* A simple shadow to the lower-right.
* Use `FlxText.shadowOffset` for custom placement.* Outline on all 8 sides* Outline, optimized using only 4 draw calls (might not work for narrow and/or 1-pixel fonts)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast "left"
cast "center"* Warning: on Flash, this can have a negative impact on performance
* of multiline texts that are frequently regenerated (especially with
* `borderStyle == OUTLINE`) due to a workaround for blurry rendering.
cast "center"* Warning: on Flash, this can have a negative impact on performance
* of multiline texts that are frequently regenerated (especially with
* `borderStyle == OUTLINE`) due to a workaround for blurry rendering.
cast ("center", flixel.text.FlxTextAlign)* Warning: on Flash, this can have a negative impact on performance
* of multiline texts that are frequently regenerated (especially with
* `borderStyle == OUTLINE`) due to a workaround for blurry rendering.
cast ("right", flixel.text.FlxTextAlign)cast ("justify", flixel.text.FlxTextAlign)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.text.FlxTextflixel.text.FlxText.FlxTextFormatflixel.text.FlxText.FlxTextFormatRangeflixel.text.FlxText.FlxTextFormatMarkerPairflixel.text.FlxText.FlxTextBorderStyleflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.AlignType
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.text.FlxTextflixel.text.FlxText.FlxTextFormatflixel.text.FlxText.FlxTextFormatRangeflixel.text.FlxText.FlxTextFormatMarkerPairflixel.text.FlxText.FlxTextBorderStyleflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.AlignType
<_HX_SUPER__set_leading set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.text.FlxTextflixel.text.FlxText.FlxTextFormatflixel.text.FlxText.FlxTextFormatRangeflixel.text.FlxText.FlxTextFormatMarkerPairflixel.text.FlxText.FlxTextBorderStyleflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.AlignType* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">{ Force : false }
<_HX_SUPER__drawFrame public="1" set="method" line="31">
{ Force : false }* Stamps text onto specified atlas object and loads graphic from this atlas.
* WARNING: Changing text after stamping it on the atlas will break the atlas, so do it only for
* static texts and only after making all the text customizing (like `size`, `alignment`, `color`, etc.)
*
* @param atlas atlas to stamp graphic to.
* @return whether the graphic was stamped on the atlas successfully
<_HX_SUPER__stampOnAtlas public="1" set="method" line="148">");
* text.applyMarkup("Hey @Buddy@, what is going @on?@", [yellow, green]);
* ```
*
* @param input The text you want to format
* @param rules `FlxTextFormat`s to selectively apply, paired with marker strings]]>
<_HX_SUPER__applyMarkup public="1" set="method" line="148">{ End : -1, Start : -1 }* Adds another format to this `FlxText`
*
* @param Format The format to be added.
* @param Start The start index of the string where the format will be applied.
* @param End The end index of the string where the format will be applied.
<_HX_SUPER__addFormat public="1" set="method" line="148">
{ End : -1, Start : -1 }* Removes a specific `FlxTextFormat` from this text.
* If a range is specified, this only removes the format when it touches that range.
<_HX_SUPER__removeFormat public="1" set="method" line="148">* Clears all the formats applied.
<_HX_SUPER__clearFormats public="1" set="method" line="148">{ EmbeddedFont : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 }* You can use this if you have a lot of text parameters to set instead of the individual properties.
*
* @param Font The name of the font face for the text display.
* @param Size The size of the font (in pixels essentially).
* @param Color The color of the text in `0xRRGGBB` format.
* @param Alignment The desired alignment
* @param BorderStyle Which border style to use
* @param BorderColor Color for the border, `0xAARRGGBB` format
* @param EmbeddedFont Whether this text field uses embedded fonts or not
* @return This `FlxText` instance (nice for chaining stuff together, if you're into that).
<_HX_SUPER__setFormat public="1" set="method" line="148">
{ EmbeddedFont : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 }
<_HX_SUPER__updateHitbox set="method" line="148">
<_HX_SUPER__set_fieldWidth set="method" line="148">
<_HX_SUPER__get_fieldWidth set="method" line="148">
<_HX_SUPER__set_autoSize set="method" line="148">
<_HX_SUPER__get_autoSize set="method" line="148">
<_HX_SUPER__set_text set="method" line="148">
<_HX_SUPER__set_size set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__set_font set="method" line="148">
<_HX_SUPER__set_systemFont set="method" line="148">
<_HX_SUPER__set_bold set="method" line="148">
<_HX_SUPER__set_italic set="method" line="148">
<_HX_SUPER__set_wordWrap set="method" line="148">
<_HX_SUPER__set_alignment set="method" line="148">
<_HX_SUPER__set_borderStyle set="method" line="148">
<_HX_SUPER__set_borderColor set="method" line="148">
<_HX_SUPER__set_borderSize set="method" line="148">
<_HX_SUPER__set_borderQuality set="method" line="148">
<_HX_SUPER__set_graphic set="method" line="148">
<_HX_SUPER__get_width set="method" line="148">
<_HX_SUPER__get_height set="method" line="148">
<_HX_SUPER__updateColorTransform set="method" line="31">
<_HX_SUPER__regenGraphic set="method" line="31">* Internal function to draw textField to a BitmapData, if flash it calculates every line x to avoid blurry lines.
<_HX_SUPER__drawTextFieldTo set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">{ RunOnCpp : false }* Internal function to update the current animation frame.
*
* @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target
<_HX_SUPER__calcFrame set="method" line="31">
{ RunOnCpp : false }
<_HX_SUPER__applyBorderStyle set="method" line="31">{ UseBorderColor : false }
<_HX_SUPER__applyFormats set="method" line="31">
{ UseBorderColor : false }{ withAlign : true }
<_HX_SUPER__copyTextFormat set="method" line="31">
{ withAlign : true }* A helper function for updating the TextField that we use for rendering.
*
* @return A writable copy of `TextField.defaultTextFormat`.
<_HX_SUPER__dtfCopy set="method" line="148">
<_HX_SUPER__set_frames set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.text.FlxTextflixel.text.FlxText.FlxTextFormatflixel.text.FlxText.FlxTextFormatRangeflixel.text.FlxText.FlxTextFormatMarkerPairflixel.text.FlxText.FlxTextBorderStyleflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.FlxTextAlignflixel.text.FlxText.AlignType[0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 13, 13, 0, 14, 0, 0, 0, 0, 18, 18, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 51, 0, 0, 53, 53, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 0, 0, 64, 64, 0, 65, 0, 0, 0, 0, 69, 69, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 86, 0, 0, 88, 88, 0, 89, 0, 0, 0, 0, 93, 93, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 175, 0, 176, 0, 0, 0, 0, 0, 181, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 202, 0, 203, 0, 0, 0, 0, 0, 208, 0, 209]new FlxDiagonalPathfinder()OFF* Set this flag to use one of the 16-tile binary auto-tile algorithms (OFF, AUTO, or ALT).000* Set this to create your own image index remapper, so you can create your own tile layouts.
* Mostly useful in combination with the auto-tilers.
*
* Normally, each tile's value in _data corresponds to the index of a
* tile frame in the tilesheet. With this active, each value in _data
* is a lookup value to that index in customTileRemap.
*
* Example:
* customTileRemap = [10,9,8,7,6]
* means: 0=10, 1=9, 2=8, 3=7, 4=6
<_randomIndices>
* If these next two arrays are not null, you're telling FlxTilemap to
* draw random tiles in certain places.
*
* _randomIndices is a list of tilemap values that should be replaced
* by a randomly selected value. The available values are chosen from
* the corresponding array in randomize_choices
*
* So if you have:
* randomIndices = [12,14]
* randomChoices = [[0,1,2],[3,4,5,6,7]]
*
* Everywhere the tilemap has a value of 12 it will be replaced by 0, 1, or, 2
* Everywhere the tilemap has a value of 14 it will be replaced by 3, 4, 5, 6, 7
<_randomChoices>
<_randomLambda>
* Setting this function allows you to control which choice will be selected for each element within _randomIndices array.
* Must return a 0-1 value that gets multiplied by _randomChoices[randIndex].length;
<_tileObjects expr="[]">
[]* Internal collection of tile objects, one for each type of tile in the map (NOT one for every single tile in the whole map).
<_startingIndex expr="0">
0* Internal, used to sort of insert blank tiles in front of the tiles in the provided graphic.
<_data>
* Internal representation of the actual tile data, as a large 1D array of integers.
<_drawIndex expr="0">
0
<_collideIndex expr="0">
0* Virtual methods, must be implemented in each renderers{ midpoint : true }* Shoots a ray from the start point to the end point.
* If/when it passes through a tile, it stores that point and returns false.
* Note: In flixel 5.0.0, this was redone, the old method is now `rayStep`
*
* @param start The world coordinates of the start of the ray.
* @param end The world coordinates of the end of the ray.
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the rect.
* @return Returns true if the ray made it from Start to End without hitting anything.
* Returns false and fills Result if a tile was hit.{ resolution : 1 }* Shoots a ray from the start point to the end point.
* If/when it passes through a tile, it stores that point and returns false.
* This method checks at steps and can miss, for better results use `ray()`
* @since 5.0.0
*
* @param start The world coordinates of the start of the ray.
* @param end The world coordinates of the end of the ray.
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the rect.
* @param resolution Defaults to 1, meaning check every tile or so. Higher means more checks!
* @return Returns true if the ray made it from Start to End without hitting anything.
* Returns false and fills Result if a tile was hit.* Calculates at which point where the given line, from start to end, first enters the tilemap.
* If the line starts inside the tilemap, a copy of start is returned.
* If the line never enters the tilemap, null is returned.
*
* Note: If a result vector is supplied and the line is outside the tilemap, null is returned
* and the supplied result is unchanged
* @since 5.0.0
*
* @param start The start of the line
* @param end The end of the line
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the tilemap.
* @return The point of entry of the line into the tilemap, if possible.* Calculates at which point where the given line, from start to end, was last inside the tilemap.
* If the line ends inside the tilemap, a copy of end is returned.
* If the line is never inside the tilemap, null is returned.
*
* Note: If a result vector is supplied and the line is outside the tilemap, null is returned
* and the supplied result is unchanged
* @since 5.0.0
*
* @param start The start of the line
* @param end The end of the line
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the tilemap.
* @return The point of exit of the line from the tilemap, if possible.{ flipCallbackParams : false }{ dirty : true }{ collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 }* Load the tilemap with string data and a tile graphic.
*
* @param mapData A csv-formatted string indicating what order the tiles should go in (or the path to that file)
* @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData.
* @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified.
* @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified.
* @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!).
* Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex.
* @param startingIndex Used to sort of insert empty tiles in front of the provided graphic.
* Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set.
* @param drawIndex Initializes all tile objects equal to and after this index as visible.
* Default value is 1. Ignored if AutoTile is set.
* @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY.
* Default value is 1. Ignored if AutoTile is set.
* Can override and customize per-tile-type collision behavior using setTileProperties().
* @return A reference to this instance of FlxTilemap, for chaining as usual :){ collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 }* Load the tilemap with string data and a tile graphic.
*
* @param mapData An array containing the (non-negative) tile indices.
* @param widthInTiles The width of the tilemap in tiles
* @param heightInTiles The height of the tilemap in tiles
* @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData.
* @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified.
* @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified.
* @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!).
* Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex.
* @param startingIndex Used to sort of insert empty tiles in front of the provided graphic.
* Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set.
* @param drawIndex Initializes all tile objects equal to and after this index as visible.
* Default value is 1. Ignored if AutoTile is set.
* @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY.
* Default value is 1. Ignored if AutoTile is set.
* Can override and customize per-tile-type collision behavior using setTileProperties().
* @return A reference to this instance of FlxTilemap, for chaining as usual :){ collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 }* Load the tilemap with string data and a tile graphic.
*
* @param mapData A 2D array containing the (non-negative) tile indices. The length of the inner arrays should be consistent.
* @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData.
* @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified.
* @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified.
* @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!).
* Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex.
* @param startingIndex Used to sort of insert empty tiles in front of the provided graphic.
* Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set.
* @param drawIndex Initializes all tile objects equal to and after this index as visible.
* Default value is 1. Ignored if AutoTile is set.
* @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY.
* Default value is 1. Ignored if AutoTile is set.
* Can override and customize per-tile-type collision behavior using setTileProperties().
* @return A reference to this instance of FlxTilemap, for chaining as usual :){ collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0, scale : 1, invert : false }* Load the tilemap with image data and a tile graphic.
* Black pixels are flagged as 'solid' by default, non-black pixels are set as non-colliding. Black pixels must be PURE BLACK.
* @param mapGraphic The image you want to use as a source of map data, where each pixel is a tile (or more than one tile if you change Scale's default value). Preferably black and white.
* @param invert Load white pixels as solid instead.
* @param scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on.
* @param colorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices
* @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData.
* @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified.
* @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified.
* @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!).
* Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex.
* @param startingIndex Used to sort of insert empty tiles in front of the provided graphic.
* Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set.
* @param drawIndex Initializes all tile objects equal to and after this index as visible.
* Default value is 1. Ignored if AutoTile is set.
* @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY.
* Default value is 1. Ignored if AutoTile is set.
* Can override and customize per-tile-type collision behavior using setTileProperties().
* @return A reference to this instance of FlxTilemap, for chaining as usual :)
* @since 4.1.0{ collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 }* An internal function used by the binary auto-tilers. (16 tiles)
*
* @param index The index of the tile you want to analyze.* An internal function used by the binary auto-tilers. (47 tiles)
*
* @param index The index of the tile you want to analyze.7, 1-->4, 2-->12"
* @param randomIndices Array of ints indicating which tile indices should be randomized. Ex: [7,4,12] means "replace tile index of 7, 4, or 12 with a randomized value"
* @param randomChoices A list of int-arrays that serve as the corresponding choices to randomly choose from. Ex: indices = [7,4], choices = [[1,2],[3,4,5]], 7 will be replaced by either 1 or 2, 4 will be replaced by 3, 4, or 5.
* @param randomLambda A custom randomizer function, should return value between 0.0 and 1.0. Initialize your random seed before passing this in! If not defined, will default to unseeded Math.random() calls.]]>* Check the value of a particular tile.
*
* @param x The X coordinate of the tile (in tiles, not pixels).
* @param y The Y coordinate of the tile (in tiles, not pixels).
* @return An integer containing the value of the tile at this spot in the array.* Get the value of a tile in the tilemap by index.
*
* @param index The slot in the data array (Y * widthInTiles + X) where this tile is stored.
* @return An integer containing the value of the tile at this spot in the array.* Gets the collision flags of tile by index.
*
* @param index Tile index returned by getTile or getTileByIndex
* @return The internal collision flag for the requested tile.* Returns a new array full of every map index of the requested tile type.
*
* @param index The requested tile type.
* @return An Array with a list of all map indices of that tile type.{ updateGraphics : true }* Change the data and graphic of a tile in the tilemap.
*
* @param x The X coordinate of the tile (in tiles, not pixels).
* @param y The Y coordinate of the tile (in tiles, not pixels).
* @param tile The new integer data you wish to inject.
* @param updateGraphics Whether the graphical representation of this tile should change.
* @return Whether or not the tile was actually changed.{ updateGraphics : true }* Change the data and graphic of a tile in the tilemap.
*
* @param index The slot in the data array (Y * widthInTiles + X) where this tile is stored.
* @param tile The new integer data you wish to inject.
* @param updateGraphics Whether the graphical representation of this tile should change.
* @return Whether or not the tile was actually changed.{ range : 1, allowCollisions : ANY }* Adjust collision settings and/or bind a callback function to a range of tiles.
* This callback function, if present, is triggered by calls to overlap() or overlapsWithCallback().
*
* @param tile The tile or tiles you want to adjust.
* @param allowCollisions Modify the tile or tiles to only allow collisions from certain directions, use FlxObject constants NONE, ANY, LEFT, RIGHT, etc. Default is "ANY".
* @param callback The function to trigger, e.g. lavaCallback(Tile:FlxObject, Object:FlxObject).
* @param callbackFilter If you only want the callback to go off for certain classes or objects based on a certain class, set that class here.
* @param range If you want this callback to work for a bunch of different tiles, input the range here. Default value is 1.{ simple : false }* Fetches the tilemap data array.
*
* @param simple If true, returns the data as copy, as a series of 1s and 0s (useful for auto-tiling stuff).
* Default value is false, meaning it will return the actual data array (NOT a copy).
* @return An array the size of the tilemap full of integers indicating tile placement.{ diagonalPolicy : WIDE, simplify : LINE }* Find a path through the tilemap. Any tile with any collision flags set is treated as impassable.
* If no path is discovered then a null reference is returned.
*
* @param start The start point in world coordinates.
* @param end The end point in world coordinates.
* @param simplify Whether to run a basic simplification algorithm over the path data, removing
* extra points that are on the same line. Default value is true.
* @param raySimplify Whether to run an extra raycasting simplification algorithm over the remaining
* path data. This can result in some close corners being cut, and should be
* used with care if at all (yet). Default value is false.
* @param diagonalPolicy How to treat diagonal movement. (Default is WIDE, count +1 tile for diagonal movement)
* @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path could be found,
* then a null reference is returned.{ simplify : LINE }* Find a path through the tilemap. Any tile with any collision flags set is treated as impassable.
* If no path is discovered then a null reference is returned.
* @since 5.0.0
*
* @param pathfinder Decides how to move and evaluate the paths for comparison.
* @param start The start point in world coordinates.
* @param end The end point in world coordinates.
* @param simplify Whether to run a basic simplification algorithm over the path data, removing
* extra points that are on the same line. Default value is true.
* @param raySimplify Whether to run an extra raycasting simplification algorithm over the remaining
* path data. This can result in some close corners being cut, and should be
* used with care if at all (yet). Default value is false.
* @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path could be found,
* then a null reference is returned.{ stopOnEnd : true, diagonalPolicy : WIDE }* Pathfinding helper function, floods a grid with distance information until it finds the end point.
* NOTE: Currently this process does NOT use any kind of fancy heuristic! It's pretty brute.
*
* @param startIndex The starting tile's map index.
* @param endIndex The ending tile's map index.
* @param diagonalPolicy How to treat diagonal movement.
* @param stopOnEnd Whether to stop at the end or not (default true)
* @return An array of FlxPoint nodes. If the end tile could not be found, then a null Array is returned instead.{ stopOnEnd : true, diagonalPolicy : WIDE }* Pathfinding helper function, floods a grid with distance information until it finds the end point.
* NOTE: Currently this process does NOT use any kind of fancy heuristic! It's pretty brute.
* @since 5.0.0
*
* @param startIndex The starting tile's map index.
* @param endIndex The ending tile's map index.
* @param policy Decides how to move and evaluate the paths for comparison.
* @param stopOnEnd Whether to stop at the end or not (default true)
* @return An array of FlxPoint nodes. If the end tile could not be found, then a null Array is returned instead.{ inScreenSpace : false }flixel.group.FlxTypedGroup* Checks to see if some FlxObject overlaps this FlxObject object in world space.
* If the group has a LOT of things in it, it might be faster to use FlxG.overlaps().
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param object The object being tested.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* @param camera Specify which game camera you want. If null, getScreenPosition() will just grab the first global camera.
* @return Whether or not the two objects overlap.{ inScreenSpace : false, y : 0.0, x : 0.0 }{ inScreenSpace : false }flixel.group.FlxTypedGroup* Checks to see if this FlxObject were located at the given position, would it overlap the FlxObject or FlxGroup?
* This is distinct from overlapsPoint(), which just checks that point, rather than taking the object's size into account.
* WARNING: Currently tilemaps do NOT support screen space overlap checks!
*
* @param x The X position you want to check. Pretends this object (the caller, not the parameter) is located here.
* @param y The Y position you want to check. Pretends this object (the caller, not the parameter) is located here.
* @param objectOrGroup The object or group being tested.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap. Default is false, or "only compare in world space."
* @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @return Whether or not the two objects overlap.{ inScreenSpace : false }* Checks to see if a point in 2D world space overlaps this FlxObject object.
*
* @param worldPoint The point in world space you want to check.
* @param inScreenSpace Whether to take scroll factors into account when checking for overlap.
* @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @return Whether or not the point overlaps this object.* Get the world coordinates and size of the entire tilemap as a FlxRect.
*
* @param bounds Optional, pass in a pre-existing FlxRect to prevent instantiation of a new object.
* @return A FlxRect containing the world coordinates and size of the entire tilemap.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Good for levels with thin walls that don't need interior corner art.* Better for levels with thick walls that look better with interior corner art.* Better for all, but need 47 tiles.
* @since 4.6.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()null* This function is called whenever an object hits a tile of this type.
* This function should take the form myFunction(Tile:FlxTile,Object:FlxObject):void.
* Defaults to null, set through FlxTilemap.setTileProperties().* Each tile can store its own filter class for their callback functions.
* That is, the callback will only be triggered if an object with a class
* type matching the filter touched it.
* Defaults to null, set through FlxTilemap.setTileProperties().* A reference to the tilemap this tile object belongs to.* The index of this tile type in the core map data.
* For example, if your map only has 16 kinds of tiles in it,
* this number is usually between 0 and 15.0* The current map index of this tile object at this moment.
* You can think of tile objects as moving around the tilemap helping with collisions.
* This value is only reliable and useful if used from the callback function.* Frame graphic for this tile.* Clean up memory.* Instantiate this new tile object. This is usually called from FlxTilemap.loadMap().
*
* @param Tilemap A reference to the tilemap object creating the tile.
* @param Index The actual core map data index for this tile type.
* @param Width The width of the tile.
* @param Height The height of the tile.
* @param Visible Whether the tile is visible or not.
* @param AllowCollisions The collision flags for the object. By default this value is ANY or NONE depending on the parameters sent to loadMap().* A simple helper object for FlxTilemap that helps expand collision opportunities and control.
* You can use FlxTilemap.setTileProperties() to alter the collision properties and
* callback functions and filters for this object to do things like one-way tiles or whatever.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tile.FlxTile{ empties : 0 }* Fills the block with a randomly arranged selection of frames.
*
* @param TileFrames The frames that should fill this block.
* @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes).
* @return This tile block.{ Empties : 0, TileHeight : 0, TileWidth : 0 }* Fills the block with a randomly arranged selection of graphics from the image provided.
*
* @param TileGraphic The graphic class that contains the tiles that should fill this block.
* @param TileWidth The width of a single tile in the graphic.
* @param TileHeight The height of a single tile in the graphic.
* @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes).
* @return This tile block.* Creates a new FlxBlock object with the specified position and size.
*
* @param X The X position of the block.
* @param Y The Y position of the block.
* @param Width The width of the block.
* @param Height The height of the block.* This is a basic "environment object" class, used to create simple walls and floors.
* It can be filled with a random selection of tiles to quickly add detail.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">{ empties : 0 }* Fills the block with a randomly arranged selection of frames.
*
* @param TileFrames The frames that should fill this block.
* @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes).
* @return This tile block.
<_HX_SUPER__loadFrames public="1" set="method" line="148">
{ empties : 0 }{ Empties : 0, TileHeight : 0, TileWidth : 0 }* Fills the block with a randomly arranged selection of graphics from the image provided.
*
* @param TileGraphic The graphic class that contains the tiles that should fill this block.
* @param TileWidth The width of a single tile in the graphic.
* @param TileHeight The height of a single tile in the graphic.
* @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes).
* @return This tile block.
<_HX_SUPER__loadTiles public="1" set="method" line="148">
{ Empties : 0, TileHeight : 0, TileWidth : 0 }
<_HX_SUPER__setTile public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tile.FlxTileblock"__ASSET__:bitmap_flixel_tile_GraphicAuto"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/tile/autotiles.png""__ASSET__:bitmap_flixel_tile_GraphicAutoAlt"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/tile/autotiles_alt.png""__ASSET__:bitmap_flixel_tile_GraphicAutoFull"{ fillRGBA : 0xFFFFFFFF, transparent : true }openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"assets/images/tile/autotiles_full.png"2false"useScaleHaxe is no longer needed"* DISABLED, the static var `defaultFramePadding` fixes the tearing issue in a more performant
* and visually appealing way.* Changes the size of this tilemap. Default is (1, 1).
* Anything other than the default is very slow with blitting!FlxSprite.defaultAntialiasing* Controls whether the object is smoothed when rotated, affects performance.
* @since 4.1.0
*
* @see FlxSprite.defaultAntialiasingFlxPoint.get()* Use to offset the drawing position of the tilemap,
* just like FlxSprite.* Rendering variables.0xffffff* Tints the whole sprite to a color (0xRRGGBB format) - similar to OpenGL vertex colors. You can use
* 0xAARRGGBB colors, but the alpha value will simply be ignored. To change the opacity use alpha.1.0* Set alpha to a number between 0 and 1 to change the opacity of the sprite.new ColorTransform()null* Blending modes, just like Photoshop or whatever, e.g. "multiply", "screen", etc.0* The unscaled width of a single tile.0* The unscaled height of a single tile.0* The scaled width of a single tile.0* The scaled height of a single tile.* The scaled width of the entire map.* The scaled height of the entire map.* GLSL shader for this tilemap. Only works with OpenFL Next or WebGL.
* Avoid changing it frequently as this is a costly operation.
* @since 4.1.0
<_flashPoint expr="new Point()">
new Point()* Rendering helper, minimize new object instantiation on repetitive methods.
<_flashRect expr="new Rectangle()">
new Rectangle()* Rendering helper, minimize new object instantiation on repetitive methods.
<_buffers expr="[]">
[]* Internal list of buffers, one for each camera, used for drawing the tilemaps.
<_helperPoint>
* Rendering helper, minimize new object instantiation on repetitive methods. Used only in tile rendering mode
<_matrix>
* Rendering helper, used for tile's frame transformations (only in tile rendering mode).
<_checkBufferChanges expr="false">
false* Whether buffers need to be checked again next draw().* Clean up memory.* Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation
* in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever.
*
* @param camera Specify which game camera you want. If `null`, it will just grab the first global camera.
* @return Whether the object is on screen or not.* Draws the tilemap buffers to the cameras.{ dirty : true }* Set the dirty flag on all the tilemap buffers.
* Basically forces a reset of the drawn tilemaps, even if it wasn't necessary.
*
* @param dirty Whether to flag the tilemap buffers as dirty or not.{ flipCallbackParams : false }* Checks if the Object overlaps any tiles with any collision flags set,
* and calls the specified callback function (if there is one).
* Also calls the tile's registered callback if the filter matches.
*
* @param object The FlxObject you are checking for overlaps against.
* @param callback An optional function that takes the form "myCallback(Object1:FlxObject,Object2:FlxObject)", where Object1 is a FlxTile object, and Object2 is the object passed in in the first parameter of this method.
* @param flipCallbackParams Used to preserve A-B list ordering from FlxObject.separate() - returns the FlxTile object as the second parameter instead.
* @param position Optional, specify a custom position for the tilemap (useful for overlapsAt()-type functionality).
* @return Whether there were overlaps, or if a callback was specified, whatever the return value of the callback was.{ midpoint : true }{ midpoint : true }* Returns a new array full of every coordinate of the requested tile type.
*
* @param index The requested tile type.
* @param midpoint Whether to return the coordinates of the tile midpoint, or upper left corner. Default is true, return midpoint.
* @return An Array with a list of all the coordinates of that tile type.{ updateWorld : true, border : 0 }* Call this function to lock the automatic camera to the map's edges.
*
* @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @param border Adjusts the camera follow boundary by whatever number of tiles you specify here. Handy for blocking off deadends that are offscreen, etc. Use a negative number to add padding instead of hiding the edges.
* @param updateWorld Whether to update the collision system's world size, default value is true.* Shoots a ray from the start point to the end point.
* If/when it passes through a tile, it stores that point and returns false.
* Note: In flixel 5.0.0, this was redone, the old method is now `rayStep`
*
* @param start The world coordinates of the start of the ray.
* @param end The world coordinates of the end of the ray.
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the rect.
* @return Returns true if the ray made it from Start to End without hitting anything.
* Returns false and fills Result if a tile was hit.{ resolution : 1 }* Shoots a ray from the start point to the end point.
* If/when it passes through a tile, it stores that point and returns false.
* This method checks at steps and can miss, for better results use `ray()`
* @since 5.0.0
*
* @param start The world coordinates of the start of the ray.
* @param end The world coordinates of the end of the ray.
* @param result Optional result vector, to avoid creating a new instance to be returned.
* @param resolution Defaults to 1, meaning check every tile or so. Higher means more checks!
* Only returned if the line enters the rect.
* @return Returns true if the ray made it from Start to End without hitting anything.
* Returns false and fills Result if a tile was hit.{ NewTile : 0 }* Change a particular tile to FlxSprite. Or just copy the graphic if you dont want any changes to map data itself.
*
* @param x The X coordinate of the tile (in tiles, not pixels).
* @param y The Y coordinate of the tile (in tiles, not pixels).
* @param newTile New tile for the map data. Use -1 if you dont want any changes. Default = 0 (empty)
* @param spriteFactory Method for converting FlxTile to FlxSprite. If null then will be used defaultTileToSprite() method.
* @return FlxSprite.* Use this method so the tilemap buffers are updated, e.g. when resizing your gameflixel.FlxCamera* Internal function that actually renders the tilemap to the tilemap buffer. Called by draw().
*
* @param buffer The FlxTilemapBuffer you are rendering to.
* @param camera The related FlxCamera, mainly for scroll values.* Internal function to clean up the map loading code.
* Just generates a wireframe box the size of a tile with the specified color.* Internal function for setting graphic property for this object.
* It changes graphic' useCount also for better memory tracking.* Default method for generating FlxSprite from FlxTile
*
* @param tileProperties properties for new sprite
* @return New FlxSprite with specified graphic* Get the world coordinates and size of the entire tilemap as a FlxRect.
*
* @param bounds Optional, pass in a pre-existing FlxRect to prevent instantiation of a new object.
* @return A FlxRect containing the world coordinates and size of the entire tilemap.* This is a traditional tilemap display and collision class. It takes a string of comma-separated
* numbers and then associates those values with tiles from the sheet you pass in. It also includes
* some handy static parsers that can convert arrays or images into strings that can be loaded.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0* The current X position of the buffer.0* The current Y position of the buffer.0* The width of the buffer (usually just a few tiles wider than the camera).0* The height of the buffer (usually just a few tiles taller than the camera).false* Whether the buffer needs to be redrawn.0* How many rows of tiles fit in this buffer.0* How many columns of tiles fit in this buffer.* Whether or not the coordinates should be rounded during draw(), true by default (recommended for pixel art).
* Only affects tilesheet rendering and rendering using BitmapData.draw() in blitting.
* (copyPixels() only renders on whole pixels by nature). Causes draw() to be used if false, which is more expensive.* The actual buffer BitmapData. (Only used if FlxG.renderBlit == true)false
<_flashRect>
<_matrix>
<_prevTilemapX>
* Variables related to calculation of dirty value
<_prevTilemapY>
<_prevTilemapScaleX>
<_prevTilemapScaleY>
<_prevTilemapScrollX>
<_prevTilemapScrollY>
<_prevCameraScrollX>
<_prevCameraScrollY>
<_prevCameraScaleX>
<_prevCameraScaleY>
<_prevCameraWidth>
<_prevCameraHeight>{ ScaleY : 1.0, ScaleX : 1.0 }* Clean up memory.{ Color : FlxColor.TRANSPARENT }* Fill the buffer with the specified color.
* Default value is transparent.
*
* @param Color What color to fill with, in 0xAARRGGBB hex format.{ ScaleY : 1.0, ScaleX : 1.0 }* Just stamps this buffer onto the specified camera at the specified location.
*
* @param Camera Which camera to draw the buffer onto.
* @param FlashPoint Where to draw the buffer at in camera coordinates.{ ScaleX : 1.0 }flixel.FlxCamera.viewWidth{ ScaleY : 1.0 }flixel.FlxCamera.viewHeight* Check if object is rendered pixel perfect on a specific camera.* Check if tilemap or camera has changed (scrolled, moved, resized or scaled) since the previous frame.
* If so, then it means that we need to redraw this buffer.
* @param Tilemap Tilemap to check against. It's a tilemap this buffer belongs to.
* @param Camera Camera to check against. It's a camera this buffer is used for drawing on.
* @return The value of dirty flag.{ ScaleY : 1.0, ScaleX : 1.0 }* Instantiates a new camera-specific buffer for storing the visual tilemap data.
*
* @param TileWidth The width of the tiles in this tilemap.
* @param TileHeight The height of the tiles in this tilemap.
* @param WidthInTiles How many tiles wide the tilemap is.
* @param HeightInTiles How many tiles tall the tilemap is.
* @param Camera Which camera this buffer relates to.* A helper object to keep tilemap drawing performance decent across the new multi-camera system.
* Pretty much don't even have to think about this class unless you are doing some crazy hacking.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ ScaleY : 1.0, ScaleX : 1.0 }
<_HX_SUPER__resize public="1" set="method" line="31">
{ ScaleY : 1.0, ScaleX : 1.0 }* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">{ Color : FlxColor.TRANSPARENT }* Fill the buffer with the specified color.
* Default value is transparent.
*
* @param Color What color to fill with, in 0xAARRGGBB hex format.
<_HX_SUPER__fill public="1" set="method" line="31">
{ Color : FlxColor.TRANSPARENT }{ ScaleY : 1.0, ScaleX : 1.0 }* Just stamps this buffer onto the specified camera at the specified location.
*
* @param Camera Which camera to draw the buffer onto.
* @param FlashPoint Where to draw the buffer at in camera coordinates.
<_HX_SUPER__draw public="1" set="method" line="31">
{ ScaleY : 1.0, ScaleX : 1.0 }
<_HX_SUPER__colorTransform public="1" set="method" line="31">{ ScaleX : 1.0 }flixel.FlxCamera.viewWidth
<_HX_SUPER__updateColumns public="1" set="method" line="31">
{ ScaleX : 1.0 }{ ScaleY : 1.0 }flixel.FlxCamera.viewHeight
<_HX_SUPER__updateRows public="1" set="method" line="31">
{ ScaleY : 1.0 }* Check if object is rendered pixel perfect on a specific camera.
<_HX_SUPER__isPixelPerfectRender public="1" set="method" line="148">* Check if tilemap or camera has changed (scrolled, moved, resized or scaled) since the previous frame.
* If so, then it means that we need to redraw this buffer.
* @param Tilemap Tilemap to check against. It's a tilemap this buffer belongs to.
* @param Camera Camera to check against. It's a camera this buffer is used for drawing on.
* @return The value of dirty flag.
<_HX_SUPER__isDirty public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tile.FlxTilemapBuffer* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__set_frames set="method" line="148">
<_HX_SUPER__onGameResized set="method" line="31">
<_HX_SUPER__onCameraChanged set="method" line="31">
<_HX_SUPER__cacheGraphics set="method" line="31">
<_HX_SUPER__padTileFrames set="method" line="148">
<_HX_SUPER__initTileObjects set="method" line="31">
<_HX_SUPER__computeDimensions set="method" line="31">
<_HX_SUPER__updateMap set="method" line="31">* Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation
* in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever.
*
* @param camera Specify which game camera you want. If `null`, it will just grab the first global camera.
* @return Whether the object is on screen or not.
<_HX_SUPER__isOnScreen public="1" set="method" line="148">* Draws the tilemap buffers to the cameras.
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__refreshBuffers set="method" line="31">{ dirty : true }* Set the dirty flag on all the tilemap buffers.
* Basically forces a reset of the drawn tilemaps, even if it wasn't necessary.
*
* @param dirty Whether to flag the tilemap buffers as dirty or not.
<_HX_SUPER__setDirty public="1" set="method" line="31">
{ dirty : true }{ flipCallbackParams : false }* Checks if the Object overlaps any tiles with any collision flags set,
* and calls the specified callback function (if there is one).
* Also calls the tile's registered callback if the filter matches.
*
* @param object The FlxObject you are checking for overlaps against.
* @param callback An optional function that takes the form "myCallback(Object1:FlxObject,Object2:FlxObject)", where Object1 is a FlxTile object, and Object2 is the object passed in in the first parameter of this method.
* @param flipCallbackParams Used to preserve A-B list ordering from FlxObject.separate() - returns the FlxTile object as the second parameter instead.
* @param position Optional, specify a custom position for the tilemap (useful for overlapsAt()-type functionality).
* @return Whether there were overlaps, or if a callback was specified, whatever the return value of the callback was.
<_HX_SUPER__overlapsWithCallback public="1" set="method" line="148">
{ flipCallbackParams : false }
<_HX_SUPER__getTileIndexByCoords public="1" set="method" line="148">{ midpoint : true }
<_HX_SUPER__getTileCoordsByIndex public="1" set="method" line="148">
{ midpoint : true }{ midpoint : true }* Returns a new array full of every coordinate of the requested tile type.
*
* @param index The requested tile type.
* @param midpoint Whether to return the coordinates of the tile midpoint, or upper left corner. Default is true, return midpoint.
* @return An Array with a list of all the coordinates of that tile type.
<_HX_SUPER__getTileCoords public="1" set="method" line="148">
{ midpoint : true }{ updateWorld : true, border : 0 }* Call this function to lock the automatic camera to the map's edges.
*
* @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera.
* @param border Adjusts the camera follow boundary by whatever number of tiles you specify here. Handy for blocking off deadends that are offscreen, etc. Use a negative number to add padding instead of hiding the edges.
* @param updateWorld Whether to update the collision system's world size, default value is true.
<_HX_SUPER__follow public="1" set="method" line="31">
{ updateWorld : true, border : 0 }* Shoots a ray from the start point to the end point.
* If/when it passes through a tile, it stores that point and returns false.
* Note: In flixel 5.0.0, this was redone, the old method is now `rayStep`
*
* @param start The world coordinates of the start of the ray.
* @param end The world coordinates of the end of the ray.
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the rect.
* @return Returns true if the ray made it from Start to End without hitting anything.
* Returns false and fills Result if a tile was hit.
<_HX_SUPER__ray set="method" line="148">
<_HX_SUPER__checkColumn set="method" line="148">{ resolution : 1 }* Shoots a ray from the start point to the end point.
* If/when it passes through a tile, it stores that point and returns false.
* This method checks at steps and can miss, for better results use `ray()`
* @since 5.0.0
*
* @param start The world coordinates of the start of the ray.
* @param end The world coordinates of the end of the ray.
* @param result Optional result vector, to avoid creating a new instance to be returned.
* @param resolution Defaults to 1, meaning check every tile or so. Higher means more checks!
* Only returned if the line enters the rect.
* @return Returns true if the ray made it from Start to End without hitting anything.
* Returns false and fills Result if a tile was hit.
<_HX_SUPER__rayStep set="method" line="148">
{ resolution : 1 }{ NewTile : 0 }* Change a particular tile to FlxSprite. Or just copy the graphic if you dont want any changes to map data itself.
*
* @param x The X coordinate of the tile (in tiles, not pixels).
* @param y The Y coordinate of the tile (in tiles, not pixels).
* @param newTile New tile for the map data. Use -1 if you dont want any changes. Default = 0 (empty)
* @param spriteFactory Method for converting FlxTile to FlxSprite. If null then will be used defaultTileToSprite() method.
* @return FlxSprite.
<_HX_SUPER__tileToSprite public="1" set="method" line="148">
{ NewTile : 0 }* Use this method so the tilemap buffers are updated, e.g. when resizing your game
<_HX_SUPER__updateBuffers public="1" set="method" line="31">flixel.FlxCamera* Internal function that actually renders the tilemap to the tilemap buffer. Called by draw().
*
* @param buffer The FlxTilemapBuffer you are rendering to.
* @param camera The related FlxCamera, mainly for scroll values.
<_HX_SUPER__drawTilemap set="method" line="31">* Internal function to clean up the map loading code.
* Just generates a wireframe box the size of a tile with the specified color.
<_HX_SUPER__updateTile set="method" line="31">
<_HX_SUPER__set_antialiasing set="method" line="148">* Internal function for setting graphic property for this object.
* It changes graphic' useCount also for better memory tracking.
<_HX_SUPER__set_graphic set="method" line="148">
<_HX_SUPER__set_pixelPerfectRender set="method" line="148">
<_HX_SUPER__set_alpha set="method" line="148">
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__updateColorTransform set="method" line="31">
<_HX_SUPER__set_blend set="method" line="148">
<_HX_SUPER__setScaleXYCallback set="method" line="31">
<_HX_SUPER__setScaleXCallback set="method" line="31">
<_HX_SUPER__setScaleYCallback set="method" line="31">* Default method for generating FlxSprite from FlxTile
*
* @param tileProperties properties for new sprite
* @return New FlxSprite with specified graphic
<_HX_SUPER__defaultTileToSprite set="method" line="148">
<_HX_SUPER__set_allowCollisions set="method" line="148">* Get the world coordinates and size of the entire tilemap as a FlxRect.
*
* @param bounds Optional, pass in a pre-existing FlxRect to prevent instantiation of a new object.
* @return A FlxRect containing the world coordinates and size of the entire tilemap.
<_HX_SUPER__getBounds set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tile.FlxTilemap.GraphicAutoflixel.tile.FlxTilemap.GraphicAutoAltflixel.tile.FlxTilemap.GraphicAutoFullflixel.tile.FlxTilemapflixel.tile.FlxTilemap.FlxTilePropertiesMath.PI / 2Easing constants2 * Math.PI / .451 / 2.752 / 2.751.5 / 2.752.5 / 2.752.25 / 2.752.625 / 2.7510.4@since 4.3.0@since 4.3.0@since 4.3.0@since 4.3.0@since 4.3.0@since 4.3.0@since 4.3.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.FlxEaseflixel.tweens.FlxEase.EaseFunction@since 4.5.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 1* Persistent Tween type, will stop when it finishes.cast 2* Looping Tween type, will restart immediately when it finishes.cast 4* "To and from" Tween type, will play tween hither and thithercast 8* Oneshot Tween type, will stop and remove itself from its core container when it finishes.cast 16* Backward Tween type, will play tween in reverse directionhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 1* Persistent Tween type, will stop when it finishes.cast 2* Looping Tween type, will restart immediately when it finishes.cast 4* "To and from" Tween type, will play tween hither and thithercast 8* Oneshot Tween type, will stop and remove itself from its core container when it finishes.cast 16* Backward Tween type, will play tween in reverse directionhscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxTweenType.PERSIST"Use FlxTweenType.PERSIST instead"* Deprecated, use `FlxTweenType.PERSIST` instead.FlxTweenType.LOOPING"Use FlxTweenType.LOOPING instead"* Deprecated, use `FlxTweenType.LOOPING` instead.FlxTweenType.PINGPONG"Use FlxTweenType.PINGPONG instead"* Deprecated, use `FlxTweenType.PINGPONG` instead.FlxTweenType.ONESHOT"Use FlxTweenType.ONESHOT instead"* Deprecated, use `FlxTweenType.ONESHOT` instead.FlxTweenType.BACKWARD"Use FlxTweenType.BACKWARD instead"* Deprecated, use `FlxTweenType.BACKWARD` instead.* The global tweening manager that handles global tweens
* @since 4.2.0{ Duration : 1 }* Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager.
*
* ```haxe
* FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object containing the properties to tween.
* @param Values An object containing key/value pairs of properties and target values.
* @param Duration Duration of the tween in seconds.
* @param Options A structure with tween options.
* @return The added VarTween object.{ Duration : 1 }* Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in
* conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection.
*
* ```haxe
* function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; }
* FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite));
* ```
*
* Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction
* gives you the updated Float as a direct argument.
*
* @param FromValue Start value.
* @param ToValue End value.
* @param Duration Duration of the tween.
* @param Options A structure with tween options.
* @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous
* function if you are maximizing performance, as those will be compiled to Dynamics on cpp.
* @return The added NumTween object.{ Duration : 1 }* Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager.
*
* ```haxe
* FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Sprite Optional Sprite whose angle should be tweened.
* @param FromAngle Start angle.
* @param ToAngle End angle.
* @param Duration Duration of the tween.
* @param Options A structure with tween options.
* @return The added AngleTween object.{ Duration : 1 }* Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin.
*
* ```haxe
* FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Sprite Optional Sprite whose color should be tweened.
* @param Duration Duration of the tween in seconds.
* @param FromColor Start color.
* @param ToColor End color.
* @param Options A structure with tween options.
* @return The added ColorTween object.{ UseDuration : true, DurationOrSpeed : 1 }* Create a new LinearMotion tween.
*
* ```haxe
* FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The LinearMotion object.{ UseDuration : true, DurationOrSpeed : 1 }* Create a new QuadMotion tween.
*
* ```haxe
* FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param ControlX X control, used to determine the curve.
* @param ControlY Y control, used to determine the curve.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The QuadMotion object.{ Duration : 1 }* Create a new CubicMotion tween.
*
* ```haxe
* FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param aX First control x.
* @param aY First control y.
* @param bX Second control x.
* @param bY Second control y.
* @param ToX X finish.
* @param ToY Y finish.
* @param Duration Duration of the movement in seconds.
* @param Options A structure with tween options.
* @return The CubicMotion object.{ UseDuration : true, DurationOrSpeed : 1 }* Create a new CircularMotion tween.
*
* ```haxe
* FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param CenterX X position of the circle's center.
* @param CenterY Y position of the circle's center.
* @param Radius Radius of the circle.
* @param Angle Starting position on the circle.
* @param Clockwise If the motion is clockwise.
* @param DurationOrSpeed Duration of the movement in seconds.
* @param UseDuration Duration of the movement.
* @param Ease Optional easer function.
* @param Options A structure with tween options.
* @return The CircularMotion object.{ UseDuration : true, DurationOrSpeed : 1 }* Create a new LinearPath tween.
*
* ```haxe
* FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param Points An array of at least 2 FlxPoints defining the path
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The LinearPath object.{ UseDuration : true, DurationOrSpeed : 1 }* Create a new QuadPath tween.
*
* ```haxe
* FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param Points An array of at least 3 FlxPoints defining the path
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The QuadPath object.* Cancels all related tweens on the specified object.
*
* Note: Any tweens with the specified fields are cancelled, if the tween has other properties they
* will also be cancelled.
*
* @param Object The object with tweens to cancel.
* @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified
* object are canceled. Allows dot paths to check child properties.
*
* @since 4.9.0* Immediately updates all tweens on the specified object with the specified fields that
* are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through
* their endings, triggering their `onComplete` callbacks.
*
* Note: if they haven't yet begun, this will first trigger their `onStart` callback.
*
* Note: their `onComplete` callbacks are triggered in the next frame.
* To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function.
*
* In no case should it trigger an `onUpdate` callback.
*
* Note: Any tweens with the specified fields are completed, if the tween has other properties they
* will also be completed.
*
* @param Object The object with tweens to complete.
* @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on
* the specified object are completed. Allows dot paths to check child properties.
*
* @since 4.9.0* The manager to which this tween belongs
* @since 4.2.0false0* Value between `0` and `1` that indicates how far along this tween is in its completion.
* A value of `0.33` means that the tween is `33%` complete.00* How many times this tween has been executed / has finished so far - useful to
* stop the `LOOPING` and `PINGPONG` types after a certain amount of time0* Seconds to wait until starting this tween, 0 by default0* Seconds to wait between loops of this tween, 0 by default
<_secondsSinceStart expr="0">
0
<_delayToUse expr="0">
0
<_running expr="false">
false
<_waitingForRestart expr="false">
false
<_chainedTweens>
<_nextTweenInChain>* Specify a tween to be executed when this one has finished
* (useful for creating "tween chains").* How many seconds to delay the execution of the next tween in a tween chain.* Starts the Tween, or restarts it if it's currently running.* Immediately stops the Tween and removes it from its
* `manager` without calling the `onComplete` callback.
*
* Yields control to the next chained Tween if one exists.* Immediately stops the Tween and removes it from its
* `manager` without calling the `onComplete` callback
* or yielding control to the next chained Tween if one exists.
*
* If control has already been passed on, forwards the cancellation
* request along the chain to the currently active Tween.
*
* @since 4.3.0* Called when the tween ends, either via finish() or cancel().* In case the tween.active was set to false in onComplete(),
* the tween should not be restarted yet.* Returns true if this is tweening the specified field on the specified object.
*
* @param Object The object.
* @param Field Optional tween field. Ignored if null.
*
* @since 4.9.0* Set both type of delays for this tween.
*
* @param startDelay Seconds to wait until starting this tween, 0 by default.
* @param loopDelay Seconds to wait between loops of this tween, 0 by default.* This function is called when tween is created, or recycled.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Tween type - bit field of `FlxTween`'s static type constants.* Seconds to wait until starting this tween, `0` by default.* Optional update callback function.* Optional start callback function.* Optional complete callback function.* Seconds to wait between loops of this tween, `0` by default.* Optional easer function (see `FlxEase`).hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_tweens set="null" expr="[]">
[]* A list of all FlxTween objects.{ Duration : 1 }* Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager.
*
* ```haxe
* FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object containing the properties to tween.
* @param Values An object containing key/value pairs of properties and target values.
* @param Duration Duration of the tween in seconds.
* @param Options A structure with tween options.
* @return The added VarTween object.
* @since 4.2.0{ Duration : 1 }* Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in
* conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection.
*
* ```haxe
* function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; }
* FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite));
* ```
*
* Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction
* gives you the updated Float as a direct argument.
*
* @param FromValue Start value.
* @param ToValue End value.
* @param Duration Duration of the tween.
* @param Options A structure with tween options.
* @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous
* function if you are maximizing performance, as those will be compiled to Dynamics on cpp.
* @return The added NumTween object.
* @since 4.2.0{ Duration : 1 }* Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager.
*
* ```haxe
* FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Sprite Optional Sprite whose angle should be tweened.
* @param FromAngle Start angle.
* @param ToAngle End angle.
* @param Duration Duration of the tween.
* @param Options A structure with tween options.
* @return The added AngleTween object.
* @since 4.2.0{ Duration : 1 }* Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin.
*
* ```haxe
* FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Sprite Optional Sprite whose color should be tweened.
* @param Duration Duration of the tween in seconds.
* @param FromColor Start color.
* @param ToColor End color.
* @param Options A structure with tween options.
* @return The added ColorTween object.
* @since 4.2.0{ UseDuration : true, DurationOrSpeed : 1 }* Create a new LinearMotion tween.
*
* ```haxe
* FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The LinearMotion object.
* @since 4.2.0{ UseDuration : true, DurationOrSpeed : 1 }* Create a new QuadMotion tween.
*
* ```haxe
* FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param ControlX X control, used to determine the curve.
* @param ControlY Y control, used to determine the curve.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The QuadMotion object.
* @since 4.2.0{ Duration : 1 }* Create a new CubicMotion tween.
*
* ```haxe
* FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param aX First control x.
* @param aY First control y.
* @param bX Second control x.
* @param bY Second control y.
* @param ToX X finish.
* @param ToY Y finish.
* @param Duration Duration of the movement in seconds.
* @param Options A structure with tween options.
* @return The CubicMotion object.
* @since 4.2.0{ UseDuration : true, DurationOrSpeed : 1 }* Create a new CircularMotion tween.
*
* ```haxe
* FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param CenterX X position of the circle's center.
* @param CenterY Y position of the circle's center.
* @param Radius Radius of the circle.
* @param Angle Starting position on the circle.
* @param Clockwise If the motion is clockwise.
* @param DurationOrSpeed Duration of the movement in seconds.
* @param UseDuration Duration of the movement.
* @param Ease Optional easer function.
* @param Options A structure with tween options.
* @return The CircularMotion object.
* @since 4.2.0{ UseDuration : true, DurationOrSpeed : 1 }* Create a new LinearPath tween.
*
* ```haxe
* FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param Points An array of at least 2 FlxPoints defining the path
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The LinearPath object.
* @since 4.2.0{ UseDuration : true, DurationOrSpeed : 1 }* Create a new QuadPath tween.
*
* ```haxe
* FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param Points An array of at least 3 FlxPoints defining the path
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The QuadPath object.
* @since 4.2.0{ Destroy : true }flixel.tweens.FlxTween* Remove a FlxTween.
*
* @param Tween The FlxTween to remove.
* @param Destroy Whether you want to destroy the FlxTween
* @return The removed FlxTween object.* Removes all FlxTweens.* Cancels all related tweens on the specified object.
*
* Note: Any tweens with the specified fields are cancelled, if the tween has other properties they
* will also be cancelled.
*
* @param Object The object with tweens to cancel.
* @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified
* object are canceled. Allows dot paths to check child properties.
*
* @since 4.9.0* Immediately updates all tweens on the specified object with the specified fields that
* are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through
* their endings, triggering their `onComplete` callbacks.
*
* Note: if they haven't yet begun, this will first trigger their `onStart` callback.
*
* Note: their `onComplete` callbacks are triggered in the next frame.
* To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function.
*
* In no case should it trigger an `onUpdate` callback.
*
* Note: Any tweens with the specified fields are completed, if the tween has other properties they
* will also be completed.
*
* @param Object The object with tweens to complete.
* @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on
* the specified object are completed. Allows dot paths to check child properties.
*
* @since 4.9.0* Internal helper for iterating tweens with specific parameters.
*
* Note: loops backwards to allow removals.
*
* @param Object The object with tweens you are searching for.
* @param FieldPaths Optional list of the tween field paths to check. If null or empty, any tween of the specified
* object will match. Allows dot paths to check child properties.
* @param Function The function to call on each matching tween.
*
* @since 4.9.0* Immediately updates all tweens that are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`)
* and `active` through their endings, triggering their `onComplete` callbacks.
*
* Note: if they haven't yet begun, this will first trigger their `onStart` callback.
*
* Note: their `onComplete` callbacks are triggered in the next frame.
* To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function.
*
* In no case should it trigger an `onUpdate` callback.
*
* @since 4.2.0* Applies a function to all tweens
*
* @param Function A function that modifies one tween at a time
* @since 4.2.0* A simple manager for tracking and updating game tween objects.
* Normally accessed via the static `FlxTween.globalManager` rather than being created separately.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()flixel.tweensflixel.tweens.FlxTweenhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (1, flixel.tweens.FlxTweenType)* Persistent Tween type, will stop when it finishes.cast (2, flixel.tweens.FlxTweenType)* Looping Tween type, will restart immediately when it finishes.cast (4, flixel.tweens.FlxTweenType)* "To and from" Tween type, will play tween hither and thithercast (8, flixel.tweens.FlxTweenType)* Oneshot Tween type, will stop and remove itself from its core container when it finishes.cast (16, flixel.tweens.FlxTweenType)* Backward Tween type, will play tween in reverse directionhscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ Duration : 1 }* Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager.
*
* ```haxe
* FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object containing the properties to tween.
* @param Values An object containing key/value pairs of properties and target values.
* @param Duration Duration of the tween in seconds.
* @param Options A structure with tween options.
* @return The added VarTween object.
* @since 4.2.0
<_HX_SUPER__tween public="1" set="method" line="148">
{ Duration : 1 }{ Duration : 1 }* Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in
* conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection.
*
* ```haxe
* function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; }
* FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite));
* ```
*
* Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction
* gives you the updated Float as a direct argument.
*
* @param FromValue Start value.
* @param ToValue End value.
* @param Duration Duration of the tween.
* @param Options A structure with tween options.
* @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous
* function if you are maximizing performance, as those will be compiled to Dynamics on cpp.
* @return The added NumTween object.
* @since 4.2.0
<_HX_SUPER__num public="1" set="method" line="148">
{ Duration : 1 }{ Duration : 1 }* Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager.
*
* ```haxe
* FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Sprite Optional Sprite whose angle should be tweened.
* @param FromAngle Start angle.
* @param ToAngle End angle.
* @param Duration Duration of the tween.
* @param Options A structure with tween options.
* @return The added AngleTween object.
* @since 4.2.0
<_HX_SUPER__angle public="1" set="method" line="148">
{ Duration : 1 }{ Duration : 1 }* Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin.
*
* ```haxe
* FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Sprite Optional Sprite whose color should be tweened.
* @param Duration Duration of the tween in seconds.
* @param FromColor Start color.
* @param ToColor End color.
* @param Options A structure with tween options.
* @return The added ColorTween object.
* @since 4.2.0
<_HX_SUPER__color public="1" set="method" line="148">
{ Duration : 1 }{ UseDuration : true, DurationOrSpeed : 1 }* Create a new LinearMotion tween.
*
* ```haxe
* FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The LinearMotion object.
* @since 4.2.0
<_HX_SUPER__linearMotion public="1" set="method" line="148">
{ UseDuration : true, DurationOrSpeed : 1 }{ UseDuration : true, DurationOrSpeed : 1 }* Create a new QuadMotion tween.
*
* ```haxe
* FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param ControlX X control, used to determine the curve.
* @param ControlY Y control, used to determine the curve.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The QuadMotion object.
* @since 4.2.0
<_HX_SUPER__quadMotion public="1" set="method" line="148">
{ UseDuration : true, DurationOrSpeed : 1 }{ Duration : 1 }* Create a new CubicMotion tween.
*
* ```haxe
* FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param FromX X start.
* @param FromY Y start.
* @param aX First control x.
* @param aY First control y.
* @param bX Second control x.
* @param bY Second control y.
* @param ToX X finish.
* @param ToY Y finish.
* @param Duration Duration of the movement in seconds.
* @param Options A structure with tween options.
* @return The CubicMotion object.
* @since 4.2.0
<_HX_SUPER__cubicMotion public="1" set="method" line="148">
{ Duration : 1 }{ UseDuration : true, DurationOrSpeed : 1 }* Create a new CircularMotion tween.
*
* ```haxe
* FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param CenterX X position of the circle's center.
* @param CenterY Y position of the circle's center.
* @param Radius Radius of the circle.
* @param Angle Starting position on the circle.
* @param Clockwise If the motion is clockwise.
* @param DurationOrSpeed Duration of the movement in seconds.
* @param UseDuration Duration of the movement.
* @param Ease Optional easer function.
* @param Options A structure with tween options.
* @return The CircularMotion object.
* @since 4.2.0
<_HX_SUPER__circularMotion public="1" set="method" line="148">
{ UseDuration : true, DurationOrSpeed : 1 }{ UseDuration : true, DurationOrSpeed : 1 }* Create a new LinearPath tween.
*
* ```haxe
* FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param Points An array of at least 2 FlxPoints defining the path
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The LinearPath object.
* @since 4.2.0
<_HX_SUPER__linearPath public="1" set="method" line="148">
{ UseDuration : true, DurationOrSpeed : 1 }{ UseDuration : true, DurationOrSpeed : 1 }* Create a new QuadPath tween.
*
* ```haxe
* FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT });
* ```
*
* @param Object The object to move (FlxObject or FlxSpriteGroup)
* @param Points An array of at least 3 FlxPoints defining the path
* @param DurationOrSpeed Duration (in seconds) or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
* @param Options A structure with tween options.
* @return The QuadPath object.
* @since 4.2.0
<_HX_SUPER__quadPath public="1" set="method" line="148">
{ UseDuration : true, DurationOrSpeed : 1 }
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">{ Destroy : true }flixel.tweens.FlxTween* Remove a FlxTween.
*
* @param Tween The FlxTween to remove.
* @param Destroy Whether you want to destroy the FlxTween
* @return The removed FlxTween object.
<_HX_SUPER__remove set="method" line="148">
{ Destroy : true }* Removes all FlxTweens.
<_HX_SUPER__clear public="1" set="method" line="31">* Cancels all related tweens on the specified object.
*
* Note: Any tweens with the specified fields are cancelled, if the tween has other properties they
* will also be cancelled.
*
* @param Object The object with tweens to cancel.
* @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified
* object are canceled. Allows dot paths to check child properties.
*
* @since 4.9.0
<_HX_SUPER__cancelTweensOf public="1" set="method" line="31">* Immediately updates all tweens on the specified object with the specified fields that
* are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through
* their endings, triggering their `onComplete` callbacks.
*
* Note: if they haven't yet begun, this will first trigger their `onStart` callback.
*
* Note: their `onComplete` callbacks are triggered in the next frame.
* To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function.
*
* In no case should it trigger an `onUpdate` callback.
*
* Note: Any tweens with the specified fields are completed, if the tween has other properties they
* will also be completed.
*
* @param Object The object with tweens to complete.
* @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on
* the specified object are completed. Allows dot paths to check child properties.
*
* @since 4.9.0
<_HX_SUPER__completeTweensOf public="1" set="method" line="31">* Internal helper for iterating tweens with specific parameters.
*
* Note: loops backwards to allow removals.
*
* @param Object The object with tweens you are searching for.
* @param FieldPaths Optional list of the tween field paths to check. If null or empty, any tween of the specified
* object will match. Allows dot paths to check child properties.
* @param Function The function to call on each matching tween.
*
* @since 4.9.0
<_HX_SUPER__forEachTweensOf set="method" line="148">* Immediately updates all tweens that are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`)
* and `active` through their endings, triggering their `onComplete` callbacks.
*
* Note: if they haven't yet begun, this will first trigger their `onStart` callback.
*
* Note: their `onComplete` callbacks are triggered in the next frame.
* To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function.
*
* In no case should it trigger an `onUpdate` callback.
*
* @since 4.2.0
<_HX_SUPER__completeAll public="1" set="method" line="31">* Applies a function to all tweens
*
* @param Function A function that modifies one tween at a time
* @since 4.2.0
<_HX_SUPER__forEach public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.FlxTween.FlxTweenTypeflixel.tweens.FlxTween.FlxTweenTypeflixel.tweens.FlxTweenflixel.tweens.FlxTween.TweenCallbackflixel.tweens.FlxTween.TweenOptionsflixel.tweens.FlxTween.FlxTweenManagerflixel.tweens.FlxTween.TweenPropertyflixel.tweens.FlxTween.FlxTweenType_HSC
<_HX_SUPER__resolveTweenOptions set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">* Specify a tween to be executed when this one has finished
* (useful for creating "tween chains").
<_HX_SUPER__then public="1" set="method" line="148">* How many seconds to delay the execution of the next tween in a tween chain.
<_HX_SUPER__wait public="1" set="method" line="148">
<_HX_SUPER__addChainedTween set="method" line="148">
<_HX_SUPER__update set="method" line="31">* Starts the Tween, or restarts it if it's currently running.
<_HX_SUPER__start public="1" set="method" line="148">* Immediately stops the Tween and removes it from its
* `manager` without calling the `onComplete` callback.
*
* Yields control to the next chained Tween if one exists.
<_HX_SUPER__cancel public="1" set="method" line="31">* Immediately stops the Tween and removes it from its
* `manager` without calling the `onComplete` callback
* or yielding control to the next chained Tween if one exists.
*
* If control has already been passed on, forwards the cancellation
* request along the chain to the currently active Tween.
*
* @since 4.3.0
<_HX_SUPER__cancelChain public="1" set="method" line="31">
<_HX_SUPER__finish set="method" line="31">* Called when the tween ends, either via finish() or cancel().
<_HX_SUPER__onEnd set="method" line="31">
<_HX_SUPER__setVarsOnEnd set="method" line="31">
<_HX_SUPER__processTweenChain set="method" line="31">
<_HX_SUPER__doNextTween set="method" line="31">
<_HX_SUPER__setChain set="method" line="31">* In case the tween.active was set to false in onComplete(),
* the tween should not be restarted yet.
<_HX_SUPER__restart set="method" line="31">* Returns true if this is tweening the specified field on the specified object.
*
* @param Object The object.
* @param Field Optional tween field. Ignored if null.
*
* @since 4.9.0
<_HX_SUPER__isTweenOf set="method" line="148">* Set both type of delays for this tween.
*
* @param startDelay Seconds to wait until starting this tween, 0 by default.
* @param loopDelay Seconds to wait between loops of this tween, 0 by default.
<_HX_SUPER__setDelays set="method" line="148">
<_HX_SUPER__set_startDelay set="method" line="148">
<_HX_SUPER__set_loopDelay set="method" line="148">
<_HX_SUPER__set_percent set="method" line="148">
<_HX_SUPER__set_type set="method" line="148">
<_HX_SUPER__set_active set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.FlxTween.FlxTweenTypeflixel.tweens.FlxTween.FlxTweenTypeflixel.tweens.FlxTweenflixel.tweens.FlxTween.TweenCallbackflixel.tweens.FlxTween.TweenOptionsflixel.tweens.FlxTween.FlxTweenManagerflixel.tweens.FlxTween.TweenProperty* Optional sprite object whose angle to tween
<_start>
<_range>* Clean up references* Tweens the value from one angle to another.
*
* @param FromAngle Start angle.
* @param ToAngle End angle.
* @param Duration Duration of the tween.* Tweens from one angle to another.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up references
<_HX_SUPER__destroy public="1" set="method" line="148">* Tweens the value from one angle to another.
*
* @param FromAngle Start angle.
* @param ToAngle End angle.
* @param Duration Duration of the tween.
<_HX_SUPER__tween public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__isTweenOf set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.misc.AngleTween* Optional sprite object whose color to tween* Clean up references* Tweens the color to a new color and an alpha to a new alpha.
*
* @param Duration Duration of the tween.
* @param FromColor Start color.
* @param ToColor End color.
* @param Sprite Optional sprite object whose color to tween.
* @return The ColorTween.* Tweens a color's red, green, and blue properties
* independently. Can also tween an alpha value.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up references
<_HX_SUPER__destroy public="1" set="method" line="148">* Tweens the color to a new color and an alpha to a new alpha.
*
* @param Duration Duration of the tween.
* @param FromColor Start color.
* @param ToColor End color.
* @param Sprite Optional sprite object whose color to tween.
* @return The ColorTween.
<_HX_SUPER__tween public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__isTweenOf set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.misc.ColorTween* The current value.
<_tweenFunction>
<_start>
<_range>* Clean up references* Tweens the value from one value to another.
*
* @param fromValue Start value.
* @param toValue End value.
* @param duration Duration of the tween.
* @param tweenFunction Optional tween function. See FlxTween.num()* Tweens a numeric value. See FlxTween.num()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up references
<_HX_SUPER__destroy public="1" set="method" line="31">* Tweens the value from one value to another.
*
* @param fromValue Start value.
* @param toValue End value.
* @param duration Duration of the tween.
* @param tweenFunction Optional tween function. See FlxTween.num()
<_HX_SUPER__tween public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.misc.NumTween
<_object>
<_properties>
<_propertyInfos>* Tweens multiple numeric public properties.
*
* @param object The object containing the properties.
* @param properties An object containing key/value pairs of properties and target values.
* @param duration Duration of the tween.* Tweens multiple numeric properties of an object simultaneously.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Tweens multiple numeric public properties.
*
* @param object The object containing the properties.
* @param properties An object containing key/value pairs of properties and target values.
* @param duration Duration of the tween.
<_HX_SUPER__tween public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__initializeVars set="method" line="31">
<_HX_SUPER__setStartValues set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__isTweenOf set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.misc.VarTweenflixel.tweens.misc.VarTween.VarTweenProperty0* Current x position of the Tween.0* Current y position of the Tween.
<_object>
<_wasObjectImmovable>* Base class for motion Tweens.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0* The current position on the circle.* The circumference of the current circle motion.
<_centerX expr="0">
0
<_centerY expr="0">
0
<_radius expr="0">
0
<_angleStart expr="0">
0
<_angleFinish expr="0">
0{ UseDuration : true }* Starts moving along a circle.
*
* @param CenterX X position of the circle's center.
* @param CenterY Y position of the circle's center.
* @param Radius Radius of the circle.
* @param Angle Starting position on the circle.
* @param Clockwise If the motion is clockwise.
* @param DurationOrSpeed Duration of the movement.
* @param UseDuration Duration of the movement.* Determines a circular motion.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ UseDuration : true }* Starts moving along a circle.
*
* @param CenterX X position of the circle's center.
* @param CenterY Y position of the circle's center.
* @param Radius Radius of the circle.
* @param Angle Starting position on the circle.
* @param Clockwise If the motion is clockwise.
* @param DurationOrSpeed Duration of the movement.
* @param UseDuration Duration of the movement.
<_HX_SUPER__setMotion public="1" set="method" line="148">
{ UseDuration : true }
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__get_circumference set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.motion.CircularMotion
<_fromX expr="0">
0
<_fromY expr="0">
0
<_toX expr="0">
0
<_toY expr="0">
0
<_aX expr="0">
0
<_aY expr="0">
0
<_bX expr="0">
0
<_bY expr="0">
0
<_ttt expr="0">
0
<_tt expr="0">
0* Starts moving along the curve.
*
* @param fromX X start.
* @param fromY Y start.
* @param aX First control x.
* @param aY First control y.
* @param bX Second control x.
* @param bY Second control y.
* @param toX X finish.
* @param toY Y finish.
* @param duration Duration of the movement.* Determines motion along a cubic curve.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Starts moving along the curve.
*
* @param fromX X start.
* @param fromY Y start.
* @param aX First control x.
* @param aY First control y.
* @param bX Second control x.
* @param bY Second control y.
* @param toX X finish.
* @param toY Y finish.
* @param duration Duration of the movement.
<_HX_SUPER__setMotion public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.motion.CubicMotion* Length of the current line of movement.
<_fromX expr="0">
0
<_fromY expr="0">
0
<_moveX expr="0">
0
<_moveY expr="0">
0
<_distance expr="-1">
-1{ UseDuration : true }* Starts moving along a line.
*
* @param FromX X start.
* @param FromY Y start.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.* Determines motion along a line, from one point to another.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ UseDuration : true }* Starts moving along a line.
*
* @param FromX X start.
* @param FromY Y start.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
<_HX_SUPER__setMotion public="1" set="method" line="148">
{ UseDuration : true }
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__get_distance set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.motion.LinearMotion0* The full length of the path.
<_pointD>
<_pointT>
<_speed expr="0">
0
<_index expr="0">
0
<_last>
<_prevPoint>
<_nextPoint>{ UseDuration : true }* Starts moving along the path.
*
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.{ y : 0, x : 0 }{ index : 0 }* Updates the path, preparing it for motion.* Determines linear motion along a set of points.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">{ UseDuration : true }* Starts moving along the path.
*
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
<_HX_SUPER__setMotion public="1" set="method" line="148">
{ UseDuration : true }{ y : 0, x : 0 }
<_HX_SUPER__addPoint public="1" set="method" line="148">
{ y : 0, x : 0 }{ index : 0 }
<_HX_SUPER__getPoint public="1" set="method" line="148">
{ index : 0 }
<_HX_SUPER__start public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">* Updates the path, preparing it for motion.
<_HX_SUPER__updatePath set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.motion.LinearPath
<_HX_SUPER__destroy public="1" set="method" line="31">
<_HX_SUPER__setObject public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__onEnd set="method" line="31">
<_HX_SUPER__postUpdate set="method" line="31">
<_HX_SUPER__isTweenOf set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.motion.Motion* The distance of the entire curve.
<_distance expr="-1">
-1
<_fromX expr="0">
0
<_fromY expr="0">
0
<_toX expr="0">
0
<_toY expr="0">
0
<_controlX expr="0">
0
<_controlY expr="0">
0{ UseDuration : true }* Starts moving along the curve.
*
* @param FromX X start.
* @param FromY Y start.
* @param ControlX X control, used to determine the curve.
* @param ControlY Y control, used to determine the curve.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Duration of the movement.* Determines motion along p1 quadratic curve.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ UseDuration : true }* Starts moving along the curve.
*
* @param FromX X start.
* @param FromY Y start.
* @param ControlX X control, used to determine the curve.
* @param ControlY Y control, used to determine the curve.
* @param ToX X finish.
* @param ToY Y finish.
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Duration of the movement.
<_HX_SUPER__setMotion public="1" set="method" line="148">
{ UseDuration : true }
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__get_distance set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.motion.QuadMotion
<_points>
<_distance expr="0">
0
<_speed expr="0">
0
<_index expr="0">
0
<_numSegs expr="0">
0
<_updateCurve expr="true">
true
<_curveT>
<_curveD>
<_a>
<_b>
<_c>{ UseDuration : true }* Starts moving along the path.
*
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.{ y : 0, x : 0 }* Adds the point to the path.{ index : 0 }* Gets the point on the path.* A series of points which will determine a path from the
* beginning point to the end point using quadratic curves.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">{ UseDuration : true }* Starts moving along the path.
*
* @param DurationOrSpeed Duration or speed of the movement.
* @param UseDuration Whether to use the previous param as duration or speed.
<_HX_SUPER__setMotion public="1" set="method" line="148">
{ UseDuration : true }{ y : 0, x : 0 }* Adds the point to the path.
<_HX_SUPER__addPoint public="1" set="method" line="148">
{ y : 0, x : 0 }{ index : 0 }* Gets the point on the path.
<_HX_SUPER__getPoint public="1" set="method" line="148">
{ index : 0 }
<_HX_SUPER__start public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="31">
<_HX_SUPER__updatePath set="method" line="31">
<_HX_SUPER__getCurveLength set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.tweens.motion.QuadPath0* Used with public variable status, means not highlighted or pressed.1* Used with public variable status, means highlighted (usually from mouse over).2* Used with public variable status, means pressed (usually from mouse click).
<_analogs expr="[]" line="71" static="1">
[]* A list of analogs that are currently active.NORMAL* Shows the current state of the button.* The background of the joystick, also known as the base.* This function is called when the button is released.* This function is called when the button is pressed down.* This function is called when the mouse goes over the button.* This function is called when the button is hold down.
<_currentTouch>
* The current pointer that's active on the analog.
<_tempTouches expr="[]">
[]* Helper array for checking touches
<_zone expr="FlxRect.get()">
FlxRect.get()* The area which the joystick will react.
<_radius expr="0">
0* The radius in which the stick can move.
<_direction expr="0">
0
<_amount expr="0">
0
<_ease>
* The speed of easing when the thumb is released.* Creates the background of the analog stick.* Creates the thumb of the analog stick.* Creates the touch zone. It's based on the size of the background.
* The thumb will react when the mouse is in the zone.* Clean up memory.* Update the behavior.* Returns the angle in degrees.* Whether the thumb is pressed or not.* Whether the thumb is just pressed or not.* Whether the thumb is just released or not.{ Ease : 0.25, Radius : 0, Y : 0, X : 0 }* Create a virtual thumbstick - useful for input on mobile devices.
*
* @param X The X-coordinate of the point in space.
* @param Y The Y-coordinate of the point in space.
* @param Radius The radius where the thumb can move. If 0, half the base's width will be used.
* @param Ease Used to smoothly back thumb to center. Must be between 0 and (FlxG.updateFrameRate / 60).
* @param BaseGraphic The graphic you want to display as base of the joystick.
* @param ThumbGraphic The graphic you want to display as thumb of the joystick.* A virtual thumbstick - useful for input on mobile devices.
*
* @author Ka Wing Chinhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Creates the background of the analog stick.
<_HX_SUPER__createBase set="method" line="31">* Creates the thumb of the analog stick.
<_HX_SUPER__createThumb set="method" line="31">* Creates the touch zone. It's based on the size of the background.
* The thumb will react when the mouse is in the zone.
<_HX_SUPER__createZone set="method" line="31">* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Update the behavior.
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__updateAnalog set="method" line="148">* Returns the angle in degrees.
<_HX_SUPER__getAngle public="1" set="method" line="148">
<_HX_SUPER__get_justPressed set="method" line="148">
<_HX_SUPER__get_justReleased set="method" line="148">
<_HX_SUPER__set_x set="method" line="148">
<_HX_SUPER__set_y set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.ui.FlxAnaloghscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">* Track the parent FlxSprites x/y coordinates. For example if you wanted your sprite to have a floating health-bar above their head.
* If your health bar is 10px tall and you wanted it to appear above your sprite, then set offsetY to be -10
* If you wanted it to appear below your sprite, and your sprite was 32px tall, then set offsetY to be 32. Same applies to offsetX.
*
* @param offsetX The offset on X in relation to the origin x/y of the parent
* @param offsetY The offset on Y in relation to the origin x/y of the parent
* @see stopTrackingParent
<_HX_SUPER__trackParent public="1" set="method" line="31">{ offsetY : 0, offsetX : 0, track : false }* Sets a parent for this FlxBar. Instantly replaces any previously set parent and refreshes the bar.
*
* @param parentRef A reference to an object in your game that you wish the bar to track
* @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value
* @param track If you wish the FlxBar to track the x/y coordinates of parent set to true (default false)
* @param offsetX The offset on X in relation to the origin x/y of the parent
* @param offsetY The offset on Y in relation to the origin x/y of the parent
<_HX_SUPER__setParent public="1" set="method" line="31">
{ offsetY : 0, offsetX : 0, track : false }* Tells the health bar to stop following the parent sprite. The given posX and posY values are where it will remain on-screen.
*
* @param posX X coordinate of the health bar now it's no longer tracking the parent sprite
* @param posY Y coordinate of the health bar now it's no longer tracking the parent sprite
<_HX_SUPER__stopTrackingParent public="1" set="method" line="31">{ killOnEmpty : false }* Sets callbacks which will be triggered when the value of this FlxBar reaches min or max.
* Functions will only be called once and not again until the value changes.
* Optionally the FlxBar can be killed if it reaches min, but if will fire the empty callback first (if set)
*
* @param onEmpty The function that is called if the value of this FlxBar reaches min
* @param onFilled The function that is called if the value of this FlxBar reaches max
* @param killOnEmpty If set it will call FlxBar.kill() if the value reaches min
<_HX_SUPER__setCallbacks public="1" set="method" line="31">
{ killOnEmpty : false }* Set the minimum and maximum allowed values for the FlxBar
*
* @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet)
* @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100.
<_HX_SUPER__setRange public="1" set="method" line="31">{ border : FlxColor.WHITE, showBorder : false }* Creates a solid-colour filled health bar in the given colours, with optional 1px thick border.
* All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values.
*
* @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour)
* @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour)
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated images for front and background.
<_HX_SUPER__createFilledBar public="1" set="method" line="148">
{ border : FlxColor.WHITE, showBorder : false }{ border : FlxColor.WHITE, showBorder : false }* Creates a solid-colour filled background for health bar in the given colour, with optional 1px thick border.
*
* @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour)
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering health bar background.
<_HX_SUPER__createColoredEmptyBar public="1" set="method" line="148">
{ border : FlxColor.WHITE, showBorder : false }{ border : FlxColor.WHITE, showBorder : false }* Creates a solid-colour filled foreground for health bar in the given colour, with optional 1px thick border.
* @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour)
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering actual values.
<_HX_SUPER__createColoredFilledBar public="1" set="method" line="148">
{ border : FlxColor.WHITE, showBorder : false }{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }* Creates a gradient filled health bar using the given colour ranges, with optional 1px thick border.
* All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values.
*
* @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour)
* @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated images for front and background.
<_HX_SUPER__createGradientBar public="1" set="method" line="148">
{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }* Creates a gradient filled background for health bar using the given colour range, with optional 1px thick border.
*
* @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for background rendering.
<_HX_SUPER__createGradientEmptyBar public="1" set="method" line="148">
{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }* Creates a gradient filled foreground for health bar using the given colour range, with optional 1px thick border.
*
* @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param showBorder Should the bar be outlined with a 1px solid border?
* @param border The border colour in 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering actual values.
<_HX_SUPER__createGradientFilledBar public="1" set="method" line="148">
{ border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 }{ fillBackground : FlxColor.LIME, emptyBackground : FlxColor.BLACK }* Creates a health bar filled using the given bitmap images.
* You can provide "empty" (background) and "fill" (foreground) images. either one or both images (empty / fill), and use the optional empty/fill colour values
* All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values.
* NOTE: This method doesn't check if the empty image doesn't have the same size as fill image.
*
* @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used
* @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used
* @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format
* @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format
* @return This FlxBar object with generated images for front and background.
<_HX_SUPER__createImageBar public="1" set="method" line="148">
{ fillBackground : FlxColor.LIME, emptyBackground : FlxColor.BLACK }{ emptyBackground : FlxColor.BLACK }* Loads given bitmap image for health bar background.
*
* @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used
* @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format
* @return This FlxBar object with generated image for background rendering.
<_HX_SUPER__createImageEmptyBar public="1" set="method" line="148">
{ emptyBackground : FlxColor.BLACK }{ fillBackground : FlxColor.LIME }* Loads given bitmap image for health bar foreground.
*
* @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used
* @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format
* @return This FlxBar object with generated image for rendering actual values.
<_HX_SUPER__createImageFilledBar public="1" set="method" line="148">
{ fillBackground : FlxColor.LIME }
<_HX_SUPER__set_fillDirection set="method" line="148">
<_HX_SUPER__updateValueFromParent set="method" line="31">* Updates health bar view according its current value.
* Called when the health bar detects a change in the health of the parent.
<_HX_SUPER__updateBar public="1" set="method" line="31">* Stamps health bar background on its pixels
<_HX_SUPER__updateEmptyBar public="1" set="method" line="31">* Stamps health bar foreground on its pixels
<_HX_SUPER__updateFilledBar public="1" set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<_HX_SUPER__draw public="1" set="method" line="31">
<_HX_SUPER__set_pixels set="method" line="148">
<_HX_SUPER__toString public="1" set="method" line="148">
<_HX_SUPER__get_percent set="method" line="148">
<_HX_SUPER__get_floorPercent set="method" line="148">
<_HX_SUPER__set_percent set="method" line="148">
<_HX_SUPER__set_value set="method" line="148">
<_HX_SUPER__get_value set="method" line="148">
<_HX_SUPER__set_numDivisions set="method" line="148">
<_HX_SUPER__get_frontFrames set="method" line="148">
<_HX_SUPER__set_frontFrames set="method" line="148">
<_HX_SUPER__get_backFrames set="method" line="148">
<_HX_SUPER__set_backFrames set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.ui.FlxBarflixel.ui.FlxBar.FlxBarFillDirection* Updates the size of the text field to match the button.{ Y : 0, X : 0 }* A button with `FlxBitmapText` field as a `label`.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Updates the size of the text field to match the button.
<_HX_SUPER__resetHelpers set="method" line="31">
<_HX_SUPER__update public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.ui.FlxBitmapTextButton0* Used with public variable status, means not highlighted or pressed.1* Used with public variable status, means highlighted (usually from mouse over).2* Used with public variable status, means pressed (usually from mouse click).* Shortcut to setting label.text* Updates the size of the text field to match the button.{ Y : 0, X : 0 }* Creates a new `FlxButton` object with a gray background
* and a callback function on the UI thread.
*
* @param X The x position of the button.
* @param Y The y position of the button.
* @param Text The text that you want to appear on the button.
* @param OnClick The function to call whenever the button is clicked.* A simple button class that calls a function when clicked by the mouse.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The callback function to call when this even fires.* The sound to play when this event fires.* Cleans up memory.* Fires this event (calls the callback and plays the sound)* @param Callback The callback function to call when this even fires.
* @param sound The sound to play when this event fires.* Helper function for `FlxButton` which handles its events.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Updates the size of the text field to match the button.
<_HX_SUPER__resetHelpers set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.ui.FlxButtonflixel.ui.FlxButton.FlxTypedButtonflixel.ui.FlxButton.FlxButtonEvent
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.ui.FlxButtonflixel.ui.FlxButton.FlxTypedButtonflixel.ui.FlxButton.FlxButtonEvent{ align : "center", color : 0x333333, size : 8 }* Generates text graphic for button's label.
*
* @param Text text for button's label
* @param font font name for button's label
* @param size font size for button's label
* @param color text color for button's label
* @param align text align for button's label
* @return this button with generated text graphic.{ Y : 0, X : 0 }* Creates a new FlxButton object with a gray background
* and a callback function on the UI thread.
*
* @param X The x position of the button.
* @param Y The y position of the button.
* @param Text The text that you want to appear on the button.
* @param OnClick The function to call whenever the button is clicked.* A simple button class that calls a function when clicked by the mouse.hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ align : "center", color : 0x333333, size : 8 }* Generates text graphic for button's label.
*
* @param Text text for button's label
* @param font font name for button's label
* @param size font size for button's label
* @param color text color for button's label
* @param align text align for button's label
* @return this button with generated text graphic.
<_HX_SUPER__createTextLabel public="1" set="method" line="148">
{ align : "center", color : 0x333333, size : 8 }
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.ui.FlxSpriteButton* Group of directions buttons.* Group of action buttons.* @param X The x-position of the button.
* @param Y The y-position of the button.
* @param Width The width of the button.
* @param Height The height of the button.
* @param Graphic The image of the button. It must contains 3 frames (`NORMAL`, `HIGHLIGHT`, `PRESSED`).
* @param Callback The callback for the button.
* @return The button* Create a gamepad which contains 4 directional buttons and 4 action buttons.
*
* @param DPadMode The D-Pad mode. `FULL` for example.
* @param ActionMode The action buttons mode. `A_B_C` for example.* A gamepad which contains 4 directional buttons and 4 action buttons.
* It's easy to set the callbacks and to customize the layout.
*
* @author Ka Wing Chinhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__destroy public="1" set="method" line="31">* @param X The x-position of the button.
* @param Y The y-position of the button.
* @param Width The width of the button.
* @param Height The height of the button.
* @param Graphic The image of the button. It must contains 3 frames (`NORMAL`, `HIGHLIGHT`, `PRESSED`).
* @param Callback The callback for the button.
* @return The button
<_HX_SUPER__createButton public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.ui.FlxVirtualPadflixel.ui.FlxVirtualPad.FlxDPadModeflixel.ui.FlxVirtualPad.FlxActionMode* Swaps two elements of an array, which are located at indices `index1` and `index2`
* @param array The array whose elements need to be swapped
* @param index1 The index of one of the elements to be swapped
* @param index2 The index of the other element to be swapped
* @return The array* Swaps two elements of an array, which are located at indices `index1` and `index2` and also checks if the indices are valid before swapping
* @param array The array whose elements need to be swapped
* @param index1 The index of one of the elements to be swapped
* @param index2 The index of the other element to be swapped
* @return The array* Swaps two items, `item1` and `item2` which are in the array
* @param array The array whose elements need to be swapped
* @param item1 One of the elements of the array which needs to be swapped
* @param item2 The other element of the array which needs to be swapped
* @return The array* Swaps two items, `item1` and `item2` which are in the array, but only if both elements are present in the array
* @param array The array whose elements need to be swapped
* @param item1 One of the elements of the array which needs to be swapped
* @param item2 The other element of the array which needs to be swapped
* @return The array{ recursive : false }* Clears an array structure, but leaves the object data untouched
* Useful for cleaning up temporary references to data you want to preserve.
* WARNING: Can lead to memory leaks.
*
* @param array The array to clear out
* @param Recursive Whether to search for arrays inside of arr and clear them out, too* Compares the contents with `==` to see if the two arrays are the same.
* Also takes null arrays and the length of the arrays into account.* Returns the last element of an array or `null` if the array is `null` / empty.* Pushes the element into the array (and if the array is null, creates it first) and returns the array.
* @since 4.6.0* Returns true if the array is not null and contains the element.
* @since 5.0.0* A set of functions for array manipulation.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxArrayUtilhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x01cast 0x10cast 0x11cast 0x00* Whether the horizontal axis is anebled* Whether the vertical axis is anebled* Internal helper to reference selfhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x01cast 0x10cast 0x11cast 0x00* Whether the horizontal axis is anebled* Whether the vertical axis is anebled* Internal helper to reference selfhscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0x01, flixel.util.FlxAxes)cast (0x10, flixel.util.FlxAxes)cast (0x11, flixel.util.FlxAxes)cast (0x00, flixel.util.FlxAxes)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()8* Maximum number of BitmapData to hold in the pool.0* Current number of BitmapData present in the pool.
<_head expr="null" line="28" static="1">
null
<_tail expr="null" line="29" static="1">
null
<_rect expr="new Rectangle()" line="31" static="1">
new Rectangle(){ exactSize : false, transparent : true }= [w, h] may be returned.]]>* Adds bmd to the pool for future use.* Disposes of all the BitmapData in the pool.* BitmapData pool class.
*
* Notes on implementation:
* get() starts searching for a suitable BitmapData from the start of the pool list
* put() adds the BitmapData to the start of the pool list (removing the last one if the pool exceeds maxLength)
*
* @author azrafe7hscript.UsingHandler.build()hscript.ClassExtendMacro.build()FlxBitmapDataPoolNodehscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxBitmapDataPoolflixel.util.FlxBitmapDataPool.FlxBitmapDataPoolNode
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxBitmapDataPoolflixel.util.FlxBitmapDataPool.FlxBitmapDataPoolNodenew FlxMatrix()* Performs per-channel blending from a source image to a destination image.
*
* @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object, or it can refer to the current BitmapData object.
* @param sourceRect A rectangle that defines the area of the source image to use as input.
* @param destBitmapData The output bitmap image to use.
* @param destPoint The point within the destination image (the current BitmapData instance) that corresponds to the upper-left corner of the source rectangle.
* @param redMultiplier A hexadecimal uint value by which to multiply the red channel value.
* @param greenMultiplier A hexadecimal uint value by which to multiply the green channel value.
* @param blueMultiplier A hexadecimal uint value by which to multiply the blue channel value.
* @param alphaMultiplier A hexadecimal uint value by which to multiply the alpha transparency value.* Compares two BitmapData objects.
*
* @param Bitmap1 The source BitmapData object to compare with.
* @param Bitmap2 The BitmapData object to compare with the source BitmapData object.
* @return If the two BitmapData objects have the same dimensions (width and height),
* the method returns a new BitmapData object that has the difference between the two objects.
* If the BitmapData objects are equivalent, the method returns the number 0.
* If the widths of the BitmapData objects are not equal, the method returns the number -3.
* If the heights of the BitmapData objects are not equal, the method returns the number -4.* Returns the amount of bytes a bitmapData occupies in memory.{ fetchPositions : false }* Replaces all BitmapData's pixels with specified color with newColor pixels.
* WARNING: very expensive (especially on big graphics) as it iterates over every single pixel.
*
* @param bitmapData BitmapData to change
* @param color Color to replace
* @param newColor New color
* @param fetchPositions Whether we need to store positions of pixels which colors were replaced
* @param rect area to apply color replacement. Optional, uses whole image area if the rect is null
* @return Array replaced pixels positions* Gets image without spaces between tiles and generates new one with spaces and adds borders around them.
* @param bitmapData original image without spaces between tiles.
* @param frameSize the size of tile in spritesheet.
* @param spacing spaces between tiles to add.
* @param border how many times to copy border of tiles.
* @param region region of image to use as a source graphics for spritesheet. Default value is null, which means that whole image will be used.
* @return Image for spritesheet with inserted spaces between tiles.* Helper method for copying border pixels around tiles.
* It modifies provided image, and assumes that there are spaces between tile images already.
*
* @param bitmapData image with spaces between tiles to fill with border pixels
* @param frameWidth tile width
* @param frameHeight tile height
* @param spaceX horizontal spacing between tiles
* @param spaceY vertical spacing between tiles
* @param borderX how many times to copy border of tiles on horizontal axis.
* @param borderY how many times to copy border of tiles on vertical axis.
* @param horizontalFrames how many columns of tiles on provided image.
* @param verticalFrames how many rows of tiles on provided image.
* @return Modified spritesheet with copied pixels around tile images.
* @since 4.1.0{ autoBuffer : false, antiAliasing : false, rotations : 16 }* Generates BitmapData with prerotated brush stamped on it
*
* @param brush The image you want to rotate and stamp.
* @param rotations The number of rotation frames the final sprite should have. For small sprites this can be quite a large number (360 even) without any problems.
* @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is false.
* @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners. Default is false. Will create frames that are 150% larger on each axis than the original frame or graphic.
* @return Created BitmapData with stamped prerotations on it.* Just a collection of BitmapData utility methods.
* Just for cross-platform stuff, since not all methods are implemented across all targets.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxBitmapDataUtilnew FlxPoint()new FlxPoint()new FlxPoint()new FlxPoint()new FlxMatrix()new FlxMatrix()new FlxMatrix()new FlxRect()new FlxRect()new FlxRect()new Rectangle(){ AlphaTolerance : 1 }* A Pixel Perfect Collision check between two FlxSprites. It will do a bounds check first, and if that passes it will run a
* pixel perfect match on the intersecting area. Works with rotated and animated sprites. May be slow, so use it sparingly.
*
* @param Contact The first FlxSprite to test against
* @param Target The second FlxSprite to test again, sprite order is irrelevant
* @param AlphaTolerance The tolerance value above which alpha pixels are included. Default to 1 (anything that is not fully invisible).
* @param Camera If the collision is taking place in a camera other than FlxG.camera (the default/current) then pass it here
* @return Whether the sprites collide{ AlphaTolerance : 1 }* A Pixel Perfect Collision check between a given x/y coordinate and an FlxSprite
*
* @param PointX The x coordinate of the point given in local space (relative to the FlxSprite, not game world coordinates)
* @param PointY The y coordinate of the point given in local space (relative to the FlxSprite, not game world coordinates)
* @param Target The FlxSprite to check the point against
* @param AlphaTolerance The alpha tolerance level above which pixels are counted as colliding. Default to 1 (anything that is not fully invisible).
* @return Boolean True if the x/y point collides with the FlxSprite, false if not{ AdjustWorldBounds : false, PlaceOutside : true }* Creates a "wall" around the given camera which can be used for FlxSprite collision
*
* @param Camera The FlxCamera to use for the wall bounds (can be FlxG.camera for the current one)
* @param Placement Whether to place the camera wall outside or inside
* @param Thickness The thickness of the wall in pixels
* @param AdjustWorldBounds Adjust the FlxG.worldBounds based on the wall (true) or leave alone (false)
* @return FlxGroup The 4 FlxTileblocks that are created are placed into this FlxGroup which should be added to your State* Calculates at which point where the given line, from start to end, first enters the rect.
* If the line starts inside the rect, a copy of start is returned.
* If the line never enters the rect, null is returned.
*
* Note: If a result vector is supplied and the line is outside the rect, null is returned
* and the supplied result is unchanged
* @since 5.0.0
*
* @param rect The rect being entered
* @param start The start of the line
* @param end The end of the line
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the rect.
* @return The point of entry of the line into the rect, if possible.* Calculates at which point where the given line, from start to end, was last inside the rect.
* If the line ends inside the rect, a copy of end is returned.
* If the line is never inside the rect, null is returned.
*
* Note: If a result vector is supplied and the line is outside the rect, null is returned
* and the supplied result is unchanged
* @since 5.0.0
*
* @param rect The rect being exited
* @param start The start of the line
* @param end The end of the line
* @param result Optional result vector, to avoid creating a new instance to be returned.
* Only returned if the line enters the rect.
* @return The point of exit of the line from the rect, if possible.* FlxCollision
*
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Stormhscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxCollision* Class representing a color, based on Int. Provides a variety of methods for creating and converting colors.
*
* FlxColors can be written as Ints. This means you can pass a hex value such as
* 0xff123456 to a function expecting a FlxColor, and it will automatically become a FlxColor "object".
* Similarly, FlxColors may be treated as Ints.
*
* Note that when using properties of a FlxColor other than ARGB, the values are ultimately stored as
* ARGB values, so repeatedly manipulating HSB/HSL/CMYK values may result in a gradual loss of precision.
*
* @author Joe Williamson (JoeCreates)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0x000000000xFFFFFFFF0xFF8080800xFF0000000xFF0080000xFF00FF000xFFFFFF000xFFFFA5000xFFFF00000xFF8000800xFF0000FF0xFF8B45130xFFFFC0CB0xFFFF00FF0xFF00FFFFFlxMacroUtil.buildMap("flixel.util.FlxColor")` whose values are the static colors of `FlxColor`.
* You can add more colors for `FlxColor.fromString(String)` if you need.]]>* The red, green and blue channels of this color as a 24 bit integer (from 0 to 0xFFFFFF)* The hue of the color in degrees (from 0 to 359)* The saturation of the color (from 0 to 1)* The brightness (aka value) of the color (from 0 to 1)* The lightness of the color (from 0 to 1)~/^(0x|#)(([A-F0-9]{2}){3,4})$/* Create a color from the least significant four bytes of an Int
*
* @param Value And Int with bytes in the format 0xAARRGGBB
* @return The color as a FlxColor{ Alpha : 255 }* Generate a color from integer RGB values (0 to 255)
*
* @param Red The red value of the color from 0 to 255
* @param Green The green value of the color from 0 to 255
* @param Blue The green value of the color from 0 to 255
* @param Alpha How opaque the color should be, from 0 to 255
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from float RGB values (0 to 1)
*
* @param Red The red value of the color from 0 to 1
* @param Green The green value of the color from 0 to 1
* @param Blue The green value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from CMYK values (0 to 1)
*
* @param Cyan The cyan value of the color from 0 to 1
* @param Magenta The magenta value of the color from 0 to 1
* @param Yellow The yellow value of the color from 0 to 1
* @param Black The black value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from HSB (aka HSV) components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright.
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from HSL components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Lightness A number between 0 and 1, indicating the lightness of the color
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return The color as a FlxColor output in hex):
*
* - `0x00FF00` -> `0xFF00FF00`
* - `0xAA4578C2` -> `0xAA4578C2`
* - `#0000FF` -> `0xFF0000FF`
* - `#3F000011` -> `0x3F000011`
* - `GRAY` -> `0xFF808080`
* - `blue` -> `0xFF0000FF`
*
* @param str The string to be parsed
* @return A `FlxColor` or `null` if the `String` couldn't be parsed]]>{ Alpha : 255 }* Get HSB color wheel values in an array which will be 360 elements in size
*
* @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque)
* @return HSB color wheel as Array of FlxColors{ Factor : 0.5 }* Get an interpolated color based on two different colors.
*
* @param Color1 The first color
* @param Color2 The second color
* @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2
* @return The interpolated color* Create a gradient from one color to another
*
* @param Color1 The color to shift from
* @param Color2 The color to shift to
* @param Steps How many colors the gradient should have
* @param Ease An optional easing function, such as those provided in FlxEase
* @return An array of colors of length Steps, shifting from Color1 to Color2A * B* Multiply the RGB channels of two FlxColorsA + B* Add the RGB channels of two FlxColorsA - B* Subtract the RGB channels of one FlxColor from another* Returns a Complementary Color Harmony of this color.
* A complementary hue is one directly opposite the color given on the color wheel
*
* @return The complimentary color{ Threshold : 30 }* Returns an Analogous Color Harmony for the given color.
* An Analogous harmony are hues adjacent to each other on the color wheel
*
* @param Threshold Control how adjacent the colors will be (default +- 30 degrees)
* @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color){ Threshold : 30 }* Returns an Split Complement Color Harmony for this color.
* A Split Complement harmony are the two hues on either side of the color's Complement
*
* @param Threshold Control how adjacent the colors will be to the Complement (default +- 30 degrees)
* @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color)* Returns a Triadic Color Harmony for this color. A Triadic harmony are 3 hues equidistant
* from each other on the color wheel.
*
* @return Object containing 3 properties: color1 (the original color), color2 and color3 (the equidistant colors)* Return a 24 bit version of this color (i.e. without an alpha value)
*
* @return A 24 bit version of this color{ Prefix : true, Alpha : true }* Return a String representation of the color in the format
*
* @param Alpha Whether to include the alpha value in the hes string
* @param Prefix Whether to include "0x" prefix at start of string
* @return A string of length 10 in the format 0xAARRGGBB* Return a String representation of the color in the format #RRGGBB
*
* @return A string of length 7 in the format #RRGGBB* Get a string of color information about this color
*
* @return A string containing information about this color{ Factor : 0.2 }* Get a darkened version of this color
*
* @param Factor Value from 0 to 1 of how much to progress toward black.
* @return A darkened version of this color{ Factor : 0.2 }* Get a lightened version of this color
*
* @param Factor Value from 0 to 1 of how much to progress toward white.
* @return A lightened version of this color* Get the inversion of this color
*
* @return The inversion of this color{ Alpha : 255 }* Set RGB values as integers (0 to 255)
*
* @param Red The red value of the color from 0 to 255
* @param Green The green value of the color from 0 to 255
* @param Blue The green value of the color from 0 to 255
* @param Alpha How opaque the color should be, from 0 to 255
* @return This color{ Alpha : 1 }* Set RGB values as floats (0 to 1)
*
* @param Red The red value of the color from 0 to 1
* @param Green The green value of the color from 0 to 1
* @param Blue The green value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return This color{ Alpha : 1 }* Set CMYK values as floats (0 to 1)
*
* @param Cyan The cyan value of the color from 0 to 1
* @param Magenta The magenta value of the color from 0 to 1
* @param Yellow The yellow value of the color from 0 to 1
* @param Black The black value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return This color* Set HSB (aka HSV) components
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright.
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return This color* Set HSL components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Lightness A number between 0 and 1, indicating the lightness of the color
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255
* @return This color* Private utility function to perform common operations between setHSB and setHSL
<_new public="1" set="method" line="566" static="1">
{ Value : 0 }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()0x000000000xFFFFFFFF0xFF8080800xFF0000000xFF0080000xFF00FF000xFFFFFF000xFFFFA5000xFFFF00000xFF8000800xFF0000FF0xFF8B45130xFFFFC0CB0xFFFF00FF0xFF00FFFFFlxMacroUtil.buildMap("flixel.util.FlxColor")` whose values are the static colors of `FlxColor`.
* You can add more colors for `FlxColor.fromString(String)` if you need.]]>* The red, green and blue channels of this color as a 24 bit integer (from 0 to 0xFFFFFF)* The hue of the color in degrees (from 0 to 359)* The saturation of the color (from 0 to 1)* The brightness (aka value) of the color (from 0 to 1)* The lightness of the color (from 0 to 1)~/^(0x|#)(([A-F0-9]{2}){3,4})$/* Create a color from the least significant four bytes of an Int
*
* @param Value And Int with bytes in the format 0xAARRGGBB
* @return The color as a FlxColor{ Alpha : 255 }* Generate a color from integer RGB values (0 to 255)
*
* @param Red The red value of the color from 0 to 255
* @param Green The green value of the color from 0 to 255
* @param Blue The green value of the color from 0 to 255
* @param Alpha How opaque the color should be, from 0 to 255
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from float RGB values (0 to 1)
*
* @param Red The red value of the color from 0 to 1
* @param Green The green value of the color from 0 to 1
* @param Blue The green value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from CMYK values (0 to 1)
*
* @param Cyan The cyan value of the color from 0 to 1
* @param Magenta The magenta value of the color from 0 to 1
* @param Yellow The yellow value of the color from 0 to 1
* @param Black The black value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from HSB (aka HSV) components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright.
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from HSL components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Lightness A number between 0 and 1, indicating the lightness of the color
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return The color as a FlxColor output in hex):
*
* - `0x00FF00` -> `0xFF00FF00`
* - `0xAA4578C2` -> `0xAA4578C2`
* - `#0000FF` -> `0xFF0000FF`
* - `#3F000011` -> `0x3F000011`
* - `GRAY` -> `0xFF808080`
* - `blue` -> `0xFF0000FF`
*
* @param str The string to be parsed
* @return A `FlxColor` or `null` if the `String` couldn't be parsed]]>{ Alpha : 255 }* Get HSB color wheel values in an array which will be 360 elements in size
*
* @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque)
* @return HSB color wheel as Array of FlxColors{ Factor : 0.5 }* Get an interpolated color based on two different colors.
*
* @param Color1 The first color
* @param Color2 The second color
* @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2
* @return The interpolated color* Create a gradient from one color to another
*
* @param Color1 The color to shift from
* @param Color2 The color to shift to
* @param Steps How many colors the gradient should have
* @param Ease An optional easing function, such as those provided in FlxEase
* @return An array of colors of length Steps, shifting from Color1 to Color2A * B* Multiply the RGB channels of two FlxColorsA + B* Add the RGB channels of two FlxColorsA - B* Subtract the RGB channels of one FlxColor from another* Returns a Complementary Color Harmony of this color.
* A complementary hue is one directly opposite the color given on the color wheel
*
* @return The complimentary color{ Threshold : 30 }* Returns an Analogous Color Harmony for the given color.
* An Analogous harmony are hues adjacent to each other on the color wheel
*
* @param Threshold Control how adjacent the colors will be (default +- 30 degrees)
* @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color){ Threshold : 30 }* Returns an Split Complement Color Harmony for this color.
* A Split Complement harmony are the two hues on either side of the color's Complement
*
* @param Threshold Control how adjacent the colors will be to the Complement (default +- 30 degrees)
* @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color)* Returns a Triadic Color Harmony for this color. A Triadic harmony are 3 hues equidistant
* from each other on the color wheel.
*
* @return Object containing 3 properties: color1 (the original color), color2 and color3 (the equidistant colors)* Return a 24 bit version of this color (i.e. without an alpha value)
*
* @return A 24 bit version of this color{ Prefix : true, Alpha : true }* Return a String representation of the color in the format
*
* @param Alpha Whether to include the alpha value in the hes string
* @param Prefix Whether to include "0x" prefix at start of string
* @return A string of length 10 in the format 0xAARRGGBB* Return a String representation of the color in the format #RRGGBB
*
* @return A string of length 7 in the format #RRGGBB* Get a string of color information about this color
*
* @return A string containing information about this color{ Factor : 0.2 }* Get a darkened version of this color
*
* @param Factor Value from 0 to 1 of how much to progress toward black.
* @return A darkened version of this color{ Factor : 0.2 }* Get a lightened version of this color
*
* @param Factor Value from 0 to 1 of how much to progress toward white.
* @return A lightened version of this color* Get the inversion of this color
*
* @return The inversion of this color{ Alpha : 255 }* Set RGB values as integers (0 to 255)
*
* @param Red The red value of the color from 0 to 255
* @param Green The green value of the color from 0 to 255
* @param Blue The green value of the color from 0 to 255
* @param Alpha How opaque the color should be, from 0 to 255
* @return This color{ Alpha : 1 }* Set RGB values as floats (0 to 1)
*
* @param Red The red value of the color from 0 to 1
* @param Green The green value of the color from 0 to 1
* @param Blue The green value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return This color{ Alpha : 1 }* Set CMYK values as floats (0 to 1)
*
* @param Cyan The cyan value of the color from 0 to 1
* @param Magenta The magenta value of the color from 0 to 1
* @param Yellow The yellow value of the color from 0 to 1
* @param Black The black value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return This color* Set HSB (aka HSV) components
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright.
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return This color* Set HSL components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Lightness A number between 0 and 1, indicating the lightness of the color
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255
* @return This color* Private utility function to perform common operations between setHSB and setHSL
<_new public="1" set="method" line="566" static="1">
{ Value : 0 }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0x00000000, FlxColor)cast (0xFFFFFFFF, FlxColor)cast (0xFF808080, FlxColor)cast (0xFF000000, FlxColor)cast (0xFF008000, FlxColor)cast (0xFF00FF00, FlxColor)cast (0xFFFFFF00, FlxColor)cast (0xFFFFA500, FlxColor)cast (0xFFFF0000, FlxColor)cast (0xFF800080, FlxColor)cast (0xFF0000FF, FlxColor)cast (0xFF8B4513, FlxColor)cast (0xFFFFC0CB, FlxColor)cast (0xFFFF00FF, FlxColor)cast (0xFF00FFFF, FlxColor)FlxMacroUtil.buildMap("flixel.util.FlxColor")` whose values are the static colors of `FlxColor`.
* You can add more colors for `FlxColor.fromString(String)` if you need.]]>cast (~/^(0x|#)(([A-F0-9]{2}){3,4})$/, EReg)* Create a color from the least significant four bytes of an Int
*
* @param Value And Int with bytes in the format 0xAARRGGBB
* @return The color as a FlxColor{ Alpha : 255 }* Generate a color from integer RGB values (0 to 255)
*
* @param Red The red value of the color from 0 to 255
* @param Green The green value of the color from 0 to 255
* @param Blue The green value of the color from 0 to 255
* @param Alpha How opaque the color should be, from 0 to 255
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from float RGB values (0 to 1)
*
* @param Red The red value of the color from 0 to 1
* @param Green The green value of the color from 0 to 1
* @param Blue The green value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from CMYK values (0 to 1)
*
* @param Cyan The cyan value of the color from 0 to 1
* @param Magenta The magenta value of the color from 0 to 1
* @param Yellow The yellow value of the color from 0 to 1
* @param Black The black value of the color from 0 to 1
* @param Alpha How opaque the color should be, from 0 to 1
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from HSB (aka HSV) components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright.
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return The color as a FlxColor{ Alpha : 1 }* Generate a color from HSL components.
*
* @param Hue A number between 0 and 360, indicating position on a color strip or wheel.
* @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant.
* @param Lightness A number between 0 and 1, indicating the lightness of the color
* @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255.
* @return The color as a FlxColor output in hex):
*
* - `0x00FF00` -> `0xFF00FF00`
* - `0xAA4578C2` -> `0xAA4578C2`
* - `#0000FF` -> `0xFF0000FF`
* - `#3F000011` -> `0x3F000011`
* - `GRAY` -> `0xFF808080`
* - `blue` -> `0xFF0000FF`
*
* @param str The string to be parsed
* @return A `FlxColor` or `null` if the `String` couldn't be parsed]]>{ Alpha : 255 }* Get HSB color wheel values in an array which will be 360 elements in size
*
* @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque)
* @return HSB color wheel as Array of FlxColors{ Factor : 0.5 }* Get an interpolated color based on two different colors.
*
* @param Color1 The first color
* @param Color2 The second color
* @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2
* @return The interpolated color* Create a gradient from one color to another
*
* @param Color1 The color to shift from
* @param Color2 The color to shift to
* @param Steps How many colors the gradient should have
* @param Ease An optional easing function, such as those provided in FlxEase
* @return An array of colors of length Steps, shifting from Color1 to Color2A * B* Multiply the RGB channels of two FlxColorsA + B* Add the RGB channels of two FlxColorsA - B* Subtract the RGB channels of one FlxColor from anotherhscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Returns whether red, green, or blue multipliers are set to anything other than 1.* Returns whether red, green, blue, or alpha multipliers are set to anything other than 1.* Returns whether red, green, or blue offsets are set to anything other than 0.* Returns whether red, green, blue, or alpha offsets are set to anything other than 0.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxColorTransformUtil* Checks if an object is not null before calling destroy(), always returns null.
*
* @param object An IFlxDestroyable object that will be destroyed if it's not null.
* @return null* Destroy every element of an array of IFlxDestroyables
*
* @param array An Array of IFlxDestroyable objects
* @return null* Checks if an object is not null before putting it back into the pool, always returns null.
*
* @param object An IFlxPooled object that will be put back into the pool if it's not null
* @return null* Puts all objects in an Array of IFlxPooled objects back into
* the pool by calling FlxDestroyUtil.put() on them
*
* @param array An Array of IFlxPooled objects
* @return null* Checks if a BitmapData object is not null before calling dispose() on it, always returns null.
*
* @param Bitmap A BitmapData to be disposed if not null
* @return null* Checks if a BitmapData object is not null and it's size isn't equal to specified one before calling dispose() on it.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxDestroyUtilflixel.util.FlxDestroyUtil.IFlxDestroyable* Simple enum for orthogonal directions. Can be combined into `FlxDirectionFlags`.
* @since 4.10.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x0001cast 0x0010cast 0x0100cast 0x1000hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x0001cast 0x0010cast 0x0100cast 0x1000hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0x0001, flixel.util.FlxDirection)cast (0x0010, flixel.util.FlxDirection)cast (0x0100, flixel.util.FlxDirection)cast (0x1000, flixel.util.FlxDirection)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Uses bit flags to create a list of orthogonal directions. useful for
* many `FlxObject` features like `allowCollisions` and `touching`.
* @since 4.10.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x0001cast 0x0010cast 0x0100cast 0x1000cast 0x0000Special-case constant meaning no directions.cast 0x0100Special-case constant meaning "up".cast 0x1000Special-case constant meaning "down"cast 0x0011Special-case constant meaning "left" and "right".cast 0x1111Special-case constant meaning any, or all directions.* Calculates the angle (in degrees) of the facing flags.
* Returns 0 if two opposing flags are true.
* @since 5.0.0* Calculates the angle (in radians) of the facing flags.
* Returns 0 if two opposing flags are true.
* @since 5.0.0* Returns true if this contains **all** of the supplied flags.* Returns true if this contains **any** of the supplied flags.* Creates a new `FlxDirections` that includes the supplied directions.* Creates a new `FlxDirections` that excludes the supplied directions.* Generates a FlxDirectonFlags instance from 4 bools
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast 0x0001cast 0x0010cast 0x0100cast 0x1000cast 0x0000Special-case constant meaning no directions.cast 0x0100Special-case constant meaning "up".cast 0x1000Special-case constant meaning "down"cast 0x0011Special-case constant meaning "left" and "right".cast 0x1111Special-case constant meaning any, or all directions.* Calculates the angle (in degrees) of the facing flags.
* Returns 0 if two opposing flags are true.
* @since 5.0.0* Calculates the angle (in radians) of the facing flags.
* Returns 0 if two opposing flags are true.
* @since 5.0.0* Returns true if this contains **all** of the supplied flags.* Returns true if this contains **any** of the supplied flags.* Creates a new `FlxDirections` that includes the supplied directions.* Creates a new `FlxDirections` that excludes the supplied directions.* Generates a FlxDirectonFlags instance from 4 bools
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build()cast (0x0001, flixel.util.FlxDirectionFlags)cast (0x0010, flixel.util.FlxDirectionFlags)cast (0x0100, flixel.util.FlxDirectionFlags)cast (0x1000, flixel.util.FlxDirectionFlags)cast (0x0000, flixel.util.FlxDirectionFlags)Special-case constant meaning no directions.cast (0x0100, flixel.util.FlxDirectionFlags)Special-case constant meaning "up".cast (0x1000, flixel.util.FlxDirectionFlags)Special-case constant meaning "down"cast (0x0011, flixel.util.FlxDirectionFlags)Special-case constant meaning "left" and "right".cast (0x1111, flixel.util.FlxDirectionFlags)Special-case constant meaning any, or all directions.* Generates a FlxDirectonFlags instance from 4 bools
* @since 5.0.0hscript.UsingHandler.build()hscript.ClassExtendMacro.build(){ rotation : 90, chunkSize : 1 }{ interpolate : true, rotation : 90, chunkSize : 1 }{ interpolate : true, rotation : 90, chunkSize : 1 }* Creates a FlxSprite of the given width/height with a colour gradient flowing through it.
*
* @param width The width of the FlxSprite (and therefore gradient)
* @param height The height of the FlxSprite (and therefore gradient)
* @param colors An array of colour values for the gradient to cycle through
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB
* @return A FlxSprite containing your gradient (if valid parameters given!){ interpolate : true, rotation : 90, chunkSize : 1 }{ interpolate : true, rotation : 90, chunkSize : 1, destY : 0, destX : 0 }* Creates a new gradient and overlays that on-top of the given FlxSprite at the destX/destY coordinates (default 0,0)
* Use low alpha values in the colours to have the gradient overlay and not destroy the image below
*
* @param dest The FlxSprite to overlay the gradient onto
* @param width The width of the FlxSprite (and therefore gradient)
* @param height The height of the FlxSprite (and therefore gradient)
* @param colors An array of colour values for the gradient to cycle through
* @param destX The X offset the gradient is drawn at (default 0)
* @param destY The Y offset the gradient is drawn at (default 0)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB
* @return The composited FlxSprite (for chaining, if you need){ interpolate : true, rotation : 90, chunkSize : 1, destY : 0, destX : 0 }* Creates a new gradient and overlays that on-top of the given BitmapData at the destX/destY coordinates (default 0,0)
* Use low alpha values in the colours to have the gradient overlay and not destroy the image below
*
* @param dest The BitmapData to overlay the gradient onto
* @param width The width of the FlxSprite (and therefore gradient)
* @param height The height of the FlxSprite (and therefore gradient)
* @param colors An array of colour values for the gradient to cycle through
* @param destX The X offset the gradient is drawn at (default 0)
* @param destY The Y offset the gradient is drawn at (default 0)
* @param chunkSize If you want a more old-skool looking chunky gradient, increase this value!
* @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid
* @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB
* @return The composited BitmapData* Adds a set of color gradient creation / rendering functions
*
* @version 1.6 - May 9th 2011
* @link http://www.photonstorm.com
* @author Richard Davey / Photon Storm
* @see Requires FlxMathhscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxGradientflixel.util.FlxGradient.GradientMatrix
hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* DEPRECATED - `FlxPath` was moved to the `flixel.path` package. Update your imports.
*
* @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)hscript.UsingHandler.build()hscript.ClassExtendMacro.build()"FlxPath was moved to the package: `flixel.path`"
<_pool expr="[]">
[]
<_class>
<_count expr="0">
0* Objects aren't actually removed from the array in order to improve performance.
* _count keeps track of the valid, accessible pool objects.* A generic container that facilitates pooling and recycling of objects.
* WARNING: Pooled objects must have parameter-less constructors: function new()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()ObjectEncoding.DEFAULTThe default object encoding (AMF version) for all local shared objects created in
the SWF file. When local shared objects are written to disk, the
`SharedObject.defaultObjectEncoding` property indicates which Action Message
Format version should be used: the ActionScript 3.0 format (AMF3) or the
ActionScript 1.0 or 2.0 format (AMF0).
For more information about object encoding, including the difference between
encoding in local and remote shared objects, see the description of the
`objectEncoding` property.
The default value of `SharedObject.defaultObjectEncoding` is set to use the
ActionScript 3.0 format, AMF3. If you need to write local shared objects that
ActionScript 2.0 or 1.0 SWF files can read, set
`SharedObject.defaultObjectEncoding` to use the ActionScript 1.0 or ActionScript
2.0 format, `openfl.net.ObjectEncoding.AMF0`, at the beginning of your script,
before you create any local shared objects. All local shared objects created
thereafter will use AMF0 encoding and can interact with older content. You cannot
change the `objectEncoding` value of existing local shared objects by setting
`SharedObject.defaultObjectEncoding` after the local shared objects have been
created.
To set the object encoding on a per-object basis, rather than for all shared
objects created by the SWF file, set the objectEncoding property of the local
shared object instead.
<__sharedObjects static="1">
{ secure : false, localPath : null } ? #`
@param localPath The full or partial path to the SWF file that created the
shared object, and that determines where the shared
object will be stored locally. If you do not specify this
parameter, the full path is used.
@param secure Determines whether access to this shared object is
restricted to SWF files that are delivered over an HTTPS
connection. If your SWF file is delivered over HTTPS,
this parameter's value has the following effects:
* If this parameter is set to `true`,
Flash Player creates a new secure shared object or gets a
reference to an existing secure shared object. This
secure shared object can be read from or written to only
by SWF files delivered over HTTPS that call
`SharedObject.getLocal()` with the
`secure` parameter set to
`true`.
* If this parameter is set to `false`,
Flash Player creates a new shared object or gets a
reference to an existing shared object that can be read
from or written to by SWF files delivered over non-HTTPS
connections.
If your SWF file is delivered over a non-HTTPS
connection and you try to set this parameter to
`true`, the creation of a new shared object
(or the access of a previously created secure shared
object) fails and `null` is returned.
Regardless of the value of this parameter, the created
shared objects count toward the total amount of disk
space allowed for a domain.
The following diagram shows the use of the
`secure` parameter:
@return A reference to a shared object that is persistent locally and is
available only to the current client. If Flash Player can't create
or find the shared object(for example, if `localPath`
was specified but no such directory exists), this method throws an
exception.
@throws Error Flash Player cannot create the shared object for whatever
reason. This error might occur is if persistent shared
object creation and storage by third-party Flash content is
prohibited(does not apply to local content). Users can
prohibit third-party persistent shared objects on the Global
Storage Settings panel of the Settings Manager, located at
[http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager03.html](http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager03.html).]]>{ secure : false, persistence : false, remotePath : null } ? ? #`
@param remotePath The URI of the server on which the shared object
will be stored. This URI must be identical to the
URI of the NetConnection object passed to the
`connect()` method.
@param persistence Specifies whether the attributes of the shared
object's data property are persistent locally,
remotely, or both. This parameter can also specify
where the shared object will be stored locally.
Acceptable values are as follows:
* A value of `false` specifies that the shared
object is not persistent on the client or server.
* A value of `true` specifies that the shared
object is persistent only on the server.
* A full or partial local path to the shared object
indicates that the shared object is persistent on
the client and the server. On the client, it is
stored in the specified path; on the server, it is
stored in a subdirectory within the application
directory.
**Note:** If the user has chosen to never allow
local storage for this domain, the object will not
be saved locally, even if a local path is specified
for persistence. For more information, see the
class description.
@param secure Determines whether access to this shared object is
restricted to SWF files that are delivered over an
HTTPS connection. For more information, see the
description of the `secure` parameter in the
`getLocal` method entry.
@return A reference to an object that can be shared across multiple
clients.
@throws Error Flash Player can't create or find the shared object.
This might occur if nonexistent paths were specified for
the `remotePath` and `persistence` parameters.]]>
<__getPath set="method" line="879" static="1">
<__mkdir set="method" line="916" static="1">
<__resolveClass set="method" line="964" static="1">
Indicates the object on which callback methods are invoked. The
default object is `this`. You can set the client property to another
object, and callback methods will be invoked on that other object.
@throws TypeError The `client` property must be set to a non-null
object.The collection of attributes assigned to the `data` property of
the object; these attributes can be shared and stored. Each attribute can
be an object of any ActionScript or JavaScript type - Array, Number,
Boolean, ByteArray, XML, and so on. For example, the following lines
assign values to various aspects of a shared object:
For remote shared objects used with a server, all attributes of the
`data` property are available to all clients connected to the
shared object, and all attributes are saved if the object is persistent.
If one client changes the value of an attribute, all clients now see the
new value.Specifies the number of times per second that a client's changes to a
shared object are sent to the server.
Use this method when you want to control the amount of traffic between
the client and the server. For example, if the connection between the
client and server is relatively slow, you may want to set `fps` to a
relatively low value. Conversely, if the client is connected to a
multiuser application in which timing is important, you may want to
set `fps` to a relatively high value.
Setting `fps` will trigger a `sync` event and update all changes to
the server. If you only want to update the server manually, set `fps`
to 0.
Changes are not sent to the server until the `sync` event has been
dispatched. That is, if the response time from the server is slow,
updates may be sent to the server less frequently than the value
specified in this property.The object encoding (AMF version) for this shared object. When a local
shared object is written to disk, the `objectEncoding` property
indicates which Action Message Format version should be used: the
ActionScript 3.0 format (AMF3) or the ActionScript 1.0 or 2.0 format
(AMF0).
Object encoding is handled differently depending if the shared object
is local or remote.
* **Local shared objects**. You can get or set the value of the
`objectEncoding` property for local shared objects. The value of
`objectEncoding` affects what formatting is used for _writing_ this
local shared object. If this local shared object must be readable by
ActionScript 2.0 or 1.0 SWF files, set `objectEncoding` to
`ObjectEncoding.AMF0`. Even if object encoding is set to write AMF3,
Flash Player can still read AMF0 local shared objects. That is, if you
use the default value of this property, `ObjectEncoding.AMF3`, your
SWF file can still read shared objects created by ActionScript 2.0 or
1.0 SWF files.
* **Remote shared objects**. When connected to the server, a remote
shared object inherits its `objectEncoding` setting from the
associated NetConnection instance (the instance used to connect to the
remote shared object). When not connected to the server, a remote
shared object inherits the `defaultObjectEncoding` setting from the
associated NetConnection instance. Because the value of a remote
shared object's `objectEncoding` property is determined by the
NetConnection instance, this property is read-only for remote shared
objects.
@throws ReferenceError You attempted to set the value of the
`objectEncoding` property on a remote shared
object. This property is read-only for remote
shared objects because its value is determined
by the associated NetConnection instance.The current size of the shared object, in bytes.
Flash calculates the size of a shared object by stepping through all of
its data properties; the more data properties the object has, the longer
it takes to estimate its size. Estimating object size can take significant
processing time, so you may want to avoid using this method unless you
have a specific need for it.
<__localPath>
<__name>
For local shared objects, purges all of the data and deletes the shared
object from the disk. The reference to the shared object is still active,
but its data properties are deleted.
For remote shared objects used with Flash Media Server,
`clear()` disconnects the object and purges all of the data. If
the shared object is locally persistent, this method also deletes the
shared object from the disk. The reference to the shared object is still
active, but its data properties are deleted.Closes the connection between a remote shared object and the server.
If a remote shared object is locally persistent, the user can make
changes to the local copy of the object after this method is called.
Any changes made to the local object are sent to the server the next
time the user connects to the remote shared object.{ params : null }Connects to a remote shared object on a server through a specified
NetConnection object. Use this method after calling `getRemote()`.
When a connection is successful, the `sync` event is dispatched.
Before attempting to work with a remote shared object, first check for
any errors using a `try..catch..finally` statement. Then, listen for
and handle the `sync` event before you make changes to the shared
object. Any changes made locally — before the `sync` event is
dispatched — might be lost.
Call the `connect()` method to connect to a remote shared object, for
example:
```as3
var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false);
myRemoteSO.connect(myNC);
```
@param myConnection A NetConnection object that uses the Real-Time
Messaging Protocol (RTMP), such as a NetConnection
object used to communicate with Flash Media
Server.
@param params A string defining a message to pass to the remote
shared object on the server. Cannot be used with
Flash Media Server.
@throws Error Flash Player could not connect to the specified remote
shared object. Verify that the NetConnection instance is
valid and connected and that the remote shared object
was successfully created on the server.{ minDiskSpace : 0 }Immediately writes a locally persistent shared object to a local file. If
you don't use this method, Flash Player writes the shared object to a file
when the shared object session ends - that is, when the SWF file is
closed, when the shared object is garbage-collected because it no longer
has any references to it, or when you call
`SharedObject.clear()` or `SharedObject.close()`.
If this method returns `SharedObjectFlushStatus.PENDING`,
Flash Player displays a dialog box asking the user to increase the amount
of disk space available to objects from this domain. To allow space for
the shared object to grow when it is saved in the future, which avoids
return values of `PENDING`, pass a value for
`minDiskSpace`. When Flash Player tries to write the file, it
looks for the number of bytes passed to `minDiskSpace`, instead
of looking for enough space to save the shared object at its current size.
For example, if you expect a shared object to grow to a maximum size of
500 bytes, even though it might start out much smaller, pass 500 for
`minDiskSpace`. If Flash asks the user to allot disk space for
the shared object, it asks for 500 bytes. After the user allots the
requested amount of space, Flash won't have to ask for more space on
future attempts to flush the object(as long as its size doesn't exceed
500 bytes).
After the user responds to the dialog box, this method is called again.
A `netStatus` event is dispatched with a `code`
property of `SharedObject.Flush.Success` or
`SharedObject.Flush.Failed`.
@param minDiskSpace The minimum disk space, in bytes, that must be
allotted for this object.
@return Either of the following values:
* `SharedObjectFlushStatus.PENDING`: The user has
permitted local information storage for objects from this domain,
but the amount of space allotted is not sufficient to store the
object. Flash Player prompts the user to allow more space. To
allow space for the shared object to grow when it is saved, thus
avoiding a `SharedObjectFlushStatus.PENDING` return
value, pass a value for `minDiskSpace`.
* `SharedObjectFlushStatus.FLUSHED`: The shared
object has been successfully written to a file on the local
disk.
@throws Error Flash Player cannot write the shared object to disk. This
error might occur if the user has permanently disallowed
local information storage for objects from this domain.
**Note:** Local content can always write shared
objects from third-party domains(domains other than the
domain in the current browser address bar) to disk, even if
writing of third-party shared objects to disk is
disallowed.Broadcasts a message to all clients connected to a remote shared
object, including the client that sent the message. To process and
respond to the message, create a callback function attached to the
shared object.Indicates to the server that the value of a property in the shared
object has changed. This method marks properties as _dirty_, which
means changed.
Call the `SharedObject.setProperty()` to create properties for a
shared object.
The `SharedObject.setProperty()` method implements `setDirty()`. In
most cases, such as when the value of a property is a primitive type
like String or Number, you can call `setProperty()` instead of calling
`setDirty()`. However, when the value of a property is an object that
contains its own properties, call `setDirty()` to indicate when a
value within the object has changed.
@param propertyName The name of the property that has changed.{ value : null } Flash Media Server
documentation.
**Note:** The `SharedObject.setProperty()` method implements the
`setDirty()` method. In most cases, such as when the value of a
property is a primitive type like String or Number, you would use
`setProperty()` instead of `setDirty`. However, when the value of a
property is an object that contains its own properties, use
`setDirty()` to indicate when a value within the object has changed.
In general, it is a good idea to call `setProperty()` rather than
`setDirty()`, because `setProperty()` updates a property value only
when that value has changed, whereas `setDirty()` forces
synchronization on all subscribed clients.
@param propertyName The name of the property in the shared object.
@param value The value of the property (an ActionScript
object), or `null` to delete the property.]]>The SharedObject class is used to read and store limited amounts of data on
a user's computer or on a server. Shared objects offer real-time data
sharing between multiple client SWF files and objects that are persistent
on the local computer or remote server. Local shared objects are similar to
browser cookies and remote shared objects are similar to real-time data
transfer devices. To use remote shared objects, you need Adobe Flash Media
Server.
Use shared objects to do the following:
* **Maintain local persistence**. This is the simplest way to use a
shared object, and does not require Flash Media Server. For example, you
can call `SharedObject.getLocal()` to create a shared object in
an application, such as a calculator with memory. When the user closes the
calculator, Flash Player saves the last value in a shared object on the
user's computer. The next time the calculator is run, it contains the
values it had previously. Alternatively, if you set the shared object's
properties to `null` before the calculator application is
closed, the next time the application runs, it opens without any values.
Another example of maintaining local persistence is tracking user
preferences or other data for a complex website, such as a record of which
articles a user read on a news site. Tracking this information allows you
to display articles that have already been read differently from new,
unread articles. Storing this information on the user's computer reduces
server load.
* **Store and share data on Flash Media Server**. A shared object
can store data on the server for other clients to retrieve. For example,
call `SharedObject.getRemote()` to create a remote shared
object, such as a phone list, that is persistent on the server. Whenever a
client makes changes to the shared object, the revised data is available to
all clients currently connected to the object or who later connect to it.
If the object is also persistent locally, and a client changes data while
not connected to the server, the data is copied to the remote shared object
the next time the client connects to the object.
* **Share data in real time**. A shared object can share data among
multiple clients in real time. For example, you can open a remote shared
object that stores a list of users connected to a chat room that is visible
to all clients connected to the object. When a user enters or leaves the
chat room, the object is updated and all clients that are connected to the
object see the revised list of chat room users.
To create a local shared object, call
`SharedObject.getLocal()`. To create a remote shared object,
call `SharedObject.getRemote()`.
When an application closes, shared objects are _flushed_, or
written to a disk. You can also call the `flush()` method to
explicitly write data to a disk.
**Local disk space considerations.** Local shared objects have some
limitations that are important to consider as you design your application.
Sometimes SWF files may not be allowed to write local shared objects, and
sometimes the data stored in local shared objects can be deleted without
your knowledge. Flash Player users can manage the disk space that is
available to individual domains or to all domains. When users decrease the
amount of disk space available, some local shared objects may be deleted.
Flash Player users also have privacy controls that can prevent third-party
domains(domains other than the domain in the current browser address bar)
from reading or writing local shared objects.
**Note**: SWF files that are stored and run on a local computer, not
from a remote server, can always write third-party shared objects to disk.
For more information about third-party shared objects, see the
[Global Storage Settings panel](http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html)
in Flash Player Help.
It's a good idea to check for failures related to the amount of disk
space and to user privacy controls. Perform these checks when you call
`getLocal()` and `flush()`:
* `SharedObject.getLocal()` - Flash Player throws an
exception when a call to this method fails, such as when the user has
disabled third-party shared objects and the domain of your SWF file does
not match the domain in the browser address bar.
* `SharedObject.flush()` - Flash Player throws an
exception when a call to this method fails. It returns
`SharedObjectFlushStatus.FLUSHED` when it succeeds. It returns
`SharedObjectFlushStatus.PENDING` when additional storage space
is needed. Flash Player prompts the user to allow an increase in storage
space for locally saved information. Thereafter, the `netStatus`
event is dispatched with an information object indicating whether the flush
failed or succeeded.
If your SWF file attempts to create or modify local shared objects, make
sure that your SWF file is at least 215 pixels wide and at least 138 pixels
high(the minimum dimensions for displaying the dialog box that prompts
users to increase their local shared object storage limit). If your SWF
file is smaller than these dimensions and an increase in the storage limit
is required, `SharedObject.flush()` fails, returning
`SharedObjectFlushedStatus.PENDING` and dispatching the
`netStatus` event.
**Remote shared objects.** With Flash Media Server, you can create
and use remote shared objects, that are shared in real-time by all clients
connected to your application. When one client changes a property of a
remote shared object, the property is changed for all connected clients.
You can use remote shared objects to synchronize clients, for example,
users in a multi-player game.
Each remote shared object has a `data` property which is an
Object with properties that store data. Call `setProperty()` to
change an property of the data object. The server updates the properties,
dispatches a `sync` event, and sends the properties back to the
connected clients.
You can choose to make remote shared objects persistent on the client,
the server, or both. By default, Flash Player saves locally persistent
remote shared objects up to 100K in size. When you try to save a larger
object, Flash Player displays the Local Storage dialog box, which lets the
user allow or deny local storage for the shared object. Make sure your
Stage size is at least 215 by 138 pixels; this is the minimum size Flash
requires to display the dialog box.
If the user selects Allow, the server saves the shared object and
dispatches a `netStatus` event with a `code` property
of `SharedObject.Flush.Success`. If the user select Deny, the
server does not save the shared object and dispatches a
`netStatus` event with a `code` property of
`SharedObject.Flush.Failed`.
@event asyncError Dispatched when an exception is thrown asynchronously -
that is, from native asynchronous code.
@event netStatus Dispatched when a SharedObject instance is reporting its
status or error condition. The `netStatus`
event contains an `info` property, which is an
information object that contains specific information
about the event, such as whether a connection attempt
succeeded or whether the shared object was successfully
written to the local disk.
@event sync Dispatched when a remote shared object has been updated
by the server."tags=\"haxe,release\""* Returns the company name listed in the Project.xml* Whether the save exists, checks both the old and new path.* Whether the save exists, checks the NEW location* Whether the save exists, checks the LEGACY location{ minDiskSpace : 0 }\AppData\Roaming\\.sol"```
* - Mac: ```"/Users//Library/Application Support//.sol"```
*
* If localPath is null, the Project.xml's app company metadata is used. FlxG.save's default bind
* args are `bind(app.company, app.file)`.
*
* ## Legacy Paths
* Openfl's default save location are created using app metadata from the Project.xml
* - Windows: ```"C:\Users\\AppData\Roaming\\\\.sol"```
* - Mac: ```"/Users//Library/Application Support////.sol"```
*
* This prevents 2 different HaxeFlixel apps from using each other's save files, but cross-save
* referencing is a really cool idea so let's allow it!]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()openfl.net.SharedObject* The initial state, call bind() in order to use.* The save is set up correctly.* There was an issue.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31"> ? #`
* @param path The full or partial path to the file that created the shared object.
* Mainly used to differentiate from other FlxSaves. If you do not specify
* this parameter, the company name specified in your Project.xml is used.
* @return Whether or not you successfully connected to the save data.]]>
<_HX_SUPER__bind public="1" set="method" line="148">{ minFileSize : 0, eraseSave : true, overwrite : false }* Creates a new FlxSave and copies the data from old to new,
* flushes the new save (if changed) and then optionally erases the old save.
*
* @param name The name of the save.
* @param path The full or partial path to the file that created the save.
* @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false.
* @param eraseSave Whether to erase the save after successfully migrating the data. defaults to true.
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return Whether or not you successfully found, merged and flushed data.
<_HX_SUPER__mergeDataFrom public="1" set="method" line="148">
{ minFileSize : 0, eraseSave : true, overwrite : false }{ minFileSize : 0, overwrite : false }* Copies the given data over to this save and flushes (if changed).
*
* @param sourceData The data to merge
* @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false.
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return Whether or not you successfully saved the data.
<_HX_SUPER__mergeData public="1" set="method" line="148">
{ minFileSize : 0, overwrite : false }{ minFileSize : 0 }* A way to safely call flush() and destroy() on your save file.
* Will correctly handle storage size popups and all that good stuff.
* If you don't want to save your changes first, just call destroy() instead.
*
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return The result of result of the flush() call (see below for more details).
<_HX_SUPER__close public="1" set="method" line="148">
{ minFileSize : 0 }{ minFileSize : 0 }* Writes the local shared object to disk immediately. Leaves the object open in memory.
*
* @param minFileSize If you need X amount of space for your save, specify it here.
* @return Whether or not the data was written immediately. False could be an error OR a storage request popup.
<_HX_SUPER__flush public="1" set="method" line="148">
{ minFileSize : 0 }* Erases everything stored in the local shared object.
* Data is immediately erased and the object is saved that way,
* so use with caution!
*
* @return Returns false if the save object is not bound yet.
<_HX_SUPER__erase public="1" set="method" line="148">* Handy utility function for checking and warning if the shared object is bound yet or not.
*
* @return Whether the shared object was bound yet.
<_HX_SUPER__checkStatus set="method" line="148">
<_HX_SUPER__get_name set="method" line="148">
<_HX_SUPER__get_path set="method" line="148">* Scans the data for any properties.
* @since 5.0.0
<_HX_SUPER__isEmpty public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxSaveflixel.util.FlxSave.FlxSharedObjectflixel.util.FlxSave.FlxSaveStatus{ minDiskSpace : 0 }
<_HX_SUPER__flush set="method" line="148">
{ minDiskSpace : 0 }
<_HX_SUPER__clear set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxSaveflixel.util.FlxSave.FlxSharedObjectflixel.util.FlxSave.FlxSaveStatushscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()falsehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Typed function reference used to dispatch this signal.falsehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__dispatch0 public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxSignalflixel.util.FlxSignal.FlxTypedSignalflixel.util.FlxSignal.FlxTypedSignalflixel.util.FlxSignal.FlxSignalHandlerflixel.util.FlxSignal.FlxBaseSignalflixel.util.FlxSignal.FlxSignal0flixel.util.FlxSignal.FlxSignal1flixel.util.FlxSignal.FlxSignal2flixel.util.FlxSignal.FlxSignal3flixel.util.FlxSignal.FlxSignal4flixel.util.FlxSignal.IFlxSignalflixel.util.FlxSignal.Macroflixel.util.FlxSignal.FlxTypedSignal_HSC
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxSignalflixel.util.FlxSignal.FlxTypedSignalflixel.util.FlxSignal.FlxTypedSignalflixel.util.FlxSignal.FlxSignalHandlerflixel.util.FlxSignal.FlxBaseSignalflixel.util.FlxSignal.FlxSignal0flixel.util.FlxSignal.FlxSignal1flixel.util.FlxSignal.FlxSignal2flixel.util.FlxSignal.FlxSignal3flixel.util.FlxSignal.FlxSignal4flixel.util.FlxSignal.IFlxSignalflixel.util.FlxSignal.Macro-11* You can use this function in FlxTypedGroup.sort() to sort FlxObjects by their y values.* You can use this function as a backend to write a custom sorting function (see byY() for an example).* Helper class for sort() in FlxTypedGroup, but could theoretically be used on regular arrays as well.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxSortnew Sprite()* Useful helper objects for doing Flash-specific rendering.
* Primarily used for "debug visuals" like drawing bounding boxes directly to the screen buffer.flashGfxSprite.graphics* Takes two source images (typically from Embedded bitmaps) and puts the resulting image into the output FlxSprite.
* Note: It assumes the source and mask are the same size. Different sizes may result in undesired results.
* It works by copying the source image (your picture) into the output sprite. Then it removes all areas of it that do not
* have an alpha color value in the mask image. So if you draw a big black circle in your mask with a transparent edge, you'll
* get a circular image to appear.
* May lead to unexpected results if `source` does not have an alpha channel.
*
* @param output The FlxSprite you wish the resulting image to be placed in (will adjust width/height of image)
* @param source The source image. Typically the one with the image / picture / texture in it.
* @param mask The mask to apply. Remember the non-alpha zero areas are the parts that will display.
* @return The FlxSprite for chaining* Takes the image data from two FlxSprites and puts the resulting image into the output FlxSprite.
* Note: It assumes the source and mask are the same size. Different sizes may result in undesired results.
* It works by copying the source image (your picture) into the output sprite. Then it removes all areas of it that do not
* have an alpha color value in the mask image. So if you draw a big black circle in your mask with a transparent edge, you'll
* get a circular image appear.
* May lead to unexpected results if `sprite`'s graphic does not have an alpha channel.
*
* @param sprite The source FlxSprite. Typically the one with the image / picture / texture in it.
* @param mask The FlxSprite containing the mask to apply. Remember the non-alpha zero areas are the parts that will display.
* @param output The FlxSprite you wish the resulting image to be placed in (will adjust width/height of image)
* @return The output FlxSprite for chaining{ Bottom : true, Top : true, Right : true, Left : true }* Checks the x/y coordinates of the FlxSprite and keeps them within the
* area of 0, 0, FlxG.width, FlxG.height (i.e. wraps it around the screen)
*
* @param sprite The FlxSprite to keep within the screen
* @param Left Whether to activate screen wrapping on the left side of the screen
* @param Right Whether to activate screen wrapping on the right side of the screen
* @param Top Whether to activate screen wrapping on the top of the screen
* @param Bottom Whether to activate screen wrapping on the bottom of the screen
* @return The FlxSprite for chaining{ MaxY : 0, MinY : 0, MaxX : 0, MinX : 0 }* Makes sure a FlxSprite doesn't leave the specified area - most common use case is to call this every frame in update().
* If you call this without specifying an area, the game area (FlxG.width / height as max) will be used. Takes the graphic size into account.
*
* @param sprite The FlxSprite to bound to an area
* @param MinX The minimum x position allowed
* @param MaxX The maximum x position allowed
* @param MinY The minimum y position allowed
* @param MaxY The minimum y position allowed
* @return The FlxSprite for chaining{ edges : ANY }* Checks the sprite's screen bounds of the FlxSprite and keeps them within the camera by wrapping it around.
*
* @param sprite The FlxSprite to wrap.
* @param camera The camera to wrap around. If left null, `FlxG.camera` is used.
* @param edges The edges FROM which to wrap. Use constants like `LEFT`, `RIGHT`, `UP|DOWN` or `ANY`.
* @return The FlxSprite for chaining
* @since 4.11.0{ edges : ANY }* Checks the sprite's screen bounds and keeps it entirely within the camera.
*
* @param sprite The FlxSprite to restrict.
* @param camera The camera resitricting the sprite. If left null, `FlxG.camera` is used.
* @param edges The edges to restrict. Use constants like `LEFT`, `RIGHT`, `UP|DOWN` or `ANY`.
* @return The FlxSprite for chaining
* @since 4.11.0{ spaceFromBounds : false }* Aligns a set of FlxObjects so there is equal spacing between them
*
* @param objects An Array of FlxObjects
* @param startX The base X coordinate to start the spacing from
* @param startY The base Y coordinate to start the spacing from
* @param horizontalSpacing The amount of pixels between each sprite horizontally. Set to `null` to just keep the current X position of each object.
* @param verticalSpacing The amount of pixels between each sprite vertically. Set to `null` to just keep the current Y position of each object.
* @param spaceFromBounds If set to true the h/v spacing values will be added to the width/height of the sprite, if false it will ignore this
* @param position A function with the signature `(target:FlxObject, x:Float, y:Float):Void`. You can use this to tween objects into their spaced position, etc.* This function draws a line on a FlxSprite from position X1,Y1
* to position X2,Y2 with the specified color.
*
* @param sprite The FlxSprite to manipulate
* @param StartX X coordinate of the line's start point.
* @param StartY Y coordinate of the line's start point.
* @param EndX X coordinate of the line's end point.
* @param EndY Y coordinate of the line's end point.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining{ FillColor : FlxColor.TRANSPARENT }* This function draws a curve on a FlxSprite from position X1,Y1
* to anchor position X2,Y2 using control points X3,Y3 with the specified color.
*
* @param sprite The FlxSprite to manipulate
* @param StartX X coordinate of the curve's start point.
* @param StartY Y coordinate of the curve's start point.
* @param EndX X coordinate of the curve's end/anchor point.
* @param EndY Y coordinate of the curve's end/anchor point.
* @param ControlX X coordinate of the curve's control point.
* @param ControlY Y coordinate of the curve's control point.
* @param FillColor The ARGB color to fill this curve with. FlxColor.TRANSPARENT (0x0) means no fill. Filling a curve draws a line from End to Start to complete the figure.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining{ FillColor : FlxColor.WHITE }* This function draws a rectangle on a FlxSprite.
*
* @param sprite The FlxSprite to manipulate
* @param X X coordinate of the rectangle's start point.
* @param Y Y coordinate of the rectangle's start point.
* @param Width Width of the rectangle
* @param Height Height of the rectangle
* @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining{ FillColor : FlxColor.WHITE }* This function draws a rounded rectangle on a FlxSprite.
*
* @param sprite The FlxSprite to manipulate
* @param X X coordinate of the rectangle's start point.
* @param Y Y coordinate of the rectangle's start point.
* @param Width Width of the rectangle
* @param Height Height of the rectangle
* @param EllipseWidth The width of the ellipse used to draw the rounded corners
* @param EllipseHeight The height of the ellipse used to draw the rounded corners
* @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining{ FillColor : FlxColor.WHITE }* This function draws a rounded rectangle on a FlxSprite. Same as drawRoundRect,
* except it allows you to determine the radius of each corner individually.
*
* @param sprite The FlxSprite to manipulate
* @param X X coordinate of the rectangle's start point.
* @param Y Y coordinate of the rectangle's start point.
* @param Width Width of the rectangle
* @param Height Height of the rectangle
* @param TopLeftRadius The radius of the top left corner of the rectangle
* @param TopRightRadius The radius of the top right corner of the rectangle
* @param BottomLeftRadius The radius of the bottom left corner of the rectangle
* @param BottomRightRadius The radius of the bottom right corner of the rectangle
* @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining{ FillColor : FlxColor.WHITE, Radius : -1, Y : -1, X : -1 }{ FillColor : FlxColor.WHITE }* This function draws an ellipse on a FlxSprite.
*
* @param sprite The FlxSprite to manipulate
* @param X X coordinate of the ellipse's start point.
* @param Y Y coordinate of the ellipse's start point.
* @param Width Width of the ellipse
* @param Height Height of the ellipse
* @param FillColor The ARGB color to fill this ellipse with. FlxColor.TRANSPARENT (0x0) means no fill.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining{ FillColor : FlxColor.WHITE }* This function draws a simple, equilateral triangle on a FlxSprite.
*
* @param sprite The FlxSprite to manipulate
* @param X X position of the triangle
* @param Y Y position of the triangle
* @param Height Height of the triangle
* @param FillColor The ARGB color to fill this triangle with. FlxColor.TRANSPARENT (0x0) means no fill.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining{ FillColor : FlxColor.WHITE }* This function draws a polygon on a FlxSprite.
*
* @param sprite The FlxSprite to manipulate
* @param Vertices Array of Vertices to use for drawing the polygon
* @param FillColor The ARGB color to fill this polygon with. FlxColor.TRANSPARENT (0x0) means no fill.
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining* Helper function that the drawing functions use at the start to set the color and lineStyle.
*
* @param FillColor The ARGB color to use for drawing
* @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle()* Helper function that the drawing functions use at the end.
*
* @param sprite The FlxSprite to draw to
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining* Just a helper function that is called at the end of the draw functions
* to handle a few things related to updating a sprite's graphic.
*
* @param Sprite The FlxSprite to manipulate
* @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw()
* @return The FlxSprite for chaining* Just a helper function that is called in the draw functions
* to set the lineStyle via Graphics.lineStyle()
*
* @param lineStyle The lineStyle typedef* Helper function for the default line styles of drawLine() and drawCurve()
*
* @param lineStyle The lineStyle typedef* Fills this sprite's graphic with a specific color.
*
* @param Sprite The FlxSprite to manipulate
* @param FillColor The color with which to fill the graphic, format 0xAARRGGBB.
* @return The FlxSprite for chaining{ ForceRestart : true, EndVisibility : true, Interval : 0.04, Duration : 1 }* Returns whether an object is flickering or not.
*
* @param Object The object to check against.* Stops flickering of the object. Also it will make the object visible.
*
* @param Object The object to stop flickering.
* @return The FlxObject for chaining{ Duration : 1 }* Fade in a sprite, tweening alpha to 1.
*
* @param sprite The object to fade.
* @param Duration How long the fade will take (in seconds).
* @return The FlxSprite for chaining{ Duration : 1 }* Fade out a sprite, tweening alpha to 0.
*
* @param sprite The object to fade.
* @param Duration How long the fade will take (in seconds).
* @return The FlxSprite for chaining* Some handy functions for FlxSprite (FlxObject) manipulation, mostly drawing-related.
* Note that stage quality impacts the results of the draw() functions -
* use FlxG.stage.quality = flash.display.StageQuality.BEST; for best results.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxSpriteUtilflixel.util.FlxSpriteUtil.LineStyleflixel.util.FlxSpriteUtil.DrawStyle* Takes two "ticks" timestamps and formats them into the number of seconds that passed as a String.
* Useful for logging, debugging, the watch window, or whatever else.
*
* @param StartTicks The first timestamp from the system.
* @param EndTicks The second timestamp from the system.
* @return A String containing the formatted time elapsed information.{ ShowMS : false }* Format seconds as minutes with a colon, an optionally with milliseconds too.
*
* @param Seconds The number of seconds (for example, time remaining, time spent, etc).
* @param ShowMS Whether to show milliseconds after a "." as well. Default value is false.
* @return A nicely formatted String, like "1:03".* Generate a comma-separated string from an array.
* Especially useful for tracing or other debug output.
*
* @param AnyArray Any Array object.
* @return A comma-separated String containing the .toString() output of each element in the array.* Generate a comma-separated string representation of the keys of a StringMap.
*
* @param AnyMap A StringMap object.
* @return A String formatted like this: key1, key2, ..., keyX{ EnglishStyle : true, ShowDecimal : true }* Automatically commas and decimals in the right places for displaying money amounts.
* Does not include a dollar sign or anything, so doesn't really do much
* if you call say `FlxString.formatMoney(10, false)`.
* However, very handy for displaying large sums or decimal money values.
*
* @param Amount How much moneys (in dollars, or the equivalent "main" currency - i.e. not cents).
* @param ShowDecimal Whether to show the decimals/cents component.
* @param EnglishStyle Major quantities (thousands, millions, etc) separated by commas, and decimal by a period.
* @return A nicely formatted String. Does not include a dollar sign or anything!{ Precision : 2 } 117.74MB]]>* Takes a string and filters out everything but the digits.
*
* @param Input The input string
* @return The output string, digits-only{ Underlined : false, Italic : false, Bold : false, Color : "FFFFFF", Size : 12 }* Format a text with html tags - useful for TextField.htmlText.
* Used by the log window of the debugger.
*
* @param Text The text to format
* @param Size The text size, using the font-size-tag
* @param Color The text color, using font-color-tag
* @param Bold Whether the text should be bold (b-tag)
* @param Italic Whether the text should be italic (i-tag)
* @param Underlined Whether the text should be underlined (u-tag)
* @return The html-formatted text.{ simple : false }* Get the string name of any class or class instance. Wraps `Type.getClassName()`.
*
* @param objectOrClass The class or class instance in question.
* @param simple Returns only the type name, without package(s).
* @return The name of the class as a string.{ simple : false }* Get the string name of any enum or enum value. Wraps `Type.getEnumName()`.
*
* @param enumValueOrEnum The enum value or enum in question.
* @param simple Returns only the type name, without package(s).
* @return The name of the enum as a string.
* @since 4.4.0* Returns the host from the specified URL.
* The host is one of three parts that comprise the authority. (User and port are the other two parts.)
* For example, the host for "ftp://anonymous@ftp.domain.test:990/" is "ftp.domain.test".
*
* @return The host from the URL; or the empty string ("") upon failure.
* @since 4.3.0* Returns the domain from the specified URL.
* The domain, in this case, refers specifically to the first and second levels only.
* For example, the domain for "api.haxe.org" is "haxe.org".
*
* @return The domain from the URL; or the empty string ("") upon failure.{ Simple : true }* Helper function that uses getClassName to compare two objects' class names.
*
* @param Obj1 The first object
* @param Obj2 The second object
* @param Simple Only uses the class name, not the package or packages.
* @return Whether they have the same class name or not* Split a comma-separated string into an array of ints
*
* @param Data String formatted like this: "1, 2, 5, -10, 120, 27"
* @return An array of ints* Split a comma-separated string into an array of floats
*
* @param Data string formatted like this: "1.0,2.1,5.6,1245587.9, -0.00354"
* @return An array of floats{ Invert : false }* Converts a one-dimensional array of tile data to a comma-separated string.
*
* @param Data An array full of integer tile references.
* @param Width The number of tiles in each row.
* @param Invert Recommended only for 1-bit arrays - changes 0s to 1s and vice versa.
* @return A comma-separated string containing the level data in a FlxTilemap-friendly format.{ Scale : 1, Invert : false }* Converts a BitmapData object to a comma-separated string. Black pixels are flagged as 'solid' by default,
* non-black pixels are set as non-colliding. Black pixels must be PURE BLACK.
*
* @param Bitmap A Flash BitmapData object, preferably black and white.
* @param Invert Load white pixels as solid instead.
* @param Scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on.
* @param ColorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices
* @return A comma-separated string containing the level data in a FlxTilemap-friendly format.{ Scale : 1, Invert : false }* Converts a resource image file to a comma-separated string. Black pixels are flagged as 'solid' by default,
* non-black pixels are set as non-colliding. Black pixels must be PURE BLACK.
*
* @param ImageFile An embedded graphic, preferably black and white.
* @param Invert Load white pixels as solid instead.
* @param Scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on.
* @param ColorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices
* @return A comma-separated string containing the level data in a FlxTilemap-friendly format.* Helper function to create a string for toString() functions. Automatically rounds values according to FlxG.debugger.precision.
* Strings are formatted in the format: (x: 50 | y: 60 | visible: false)
*
* @param LabelValuePairs Array with the data for the string* Removes occurrences of a substring by calling `StringTools.replace(s, sub, "")`.* Inserts `insertion` into `s` at index `pos`.* Returns true if `s` equals `null` or is empty.
* @since 4.1.0* Returns an Underscored, or "slugified" string
* Example: `"A Tale of Two Cities, Part II"` becomes `"a_tale_of_two_cities__part_ii"`* Returns a string formatted to 'Title Case'.
* Example: `"a tale of two cities, pt ii" returns `"A Tale of Two Cities, Part II"`* A class primarily containing functions related
* to formatting different data types to strings.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_pool expr="new FlxPool<LabelValuePair>(LabelValuePair)" line="687" static="1">
(LabelValuePair)]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxStringUtilflixel.util.FlxStringUtil.LabelValuePair
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxStringUtilflixel.util.FlxStringUtil.LabelValuePair* The global timer manager that handles global timers
* @since 4.2.0* The manager to which this timer belongs
* @since 4.2.00* How many loops the timer was set for. 0 means "looping forever".false* Pauses or checks the pause state of the timer.false* Check to see if the timer is finished.* Function that gets called when timer completes.
* Callback should be formed "onTimer(Timer:FlxTimer);"* Read-only: check how much time is left on the timer.* Read-only: The amount of milliseconds that have elapsed since the timer was started* Read-only: check how many loops are left on the timer.* Read-only: how many loops that have elapsed since the timer was started.
<_timeCounter expr="0">
0* Internal tracker for the actual timer counting up.
<_loopsCounter expr="0">
0* Internal tracker for the loops counting up.
<_inManager expr="false">
false* Clean up memory.{ loops : 1, time : 1 }* Starts the timer and adds the timer to the timer manager.
*
* @param time How many seconds it takes for the timer to go off.
* If 0 then timer will fire OnComplete callback only once at the first call of update method (which means that Loops argument will be ignored).
* @param onComplete Optional, triggered whenever the time runs out, once for each loop.
* Callback should be formed "onTimer(Timer:FlxTimer);"
* @param loops How many times the timer should go off. 0 means "looping forever".
* @return A reference to itself (handy for chaining or whatever).{ newTime : -1 }* Restart the timer using the new duration
* @param newTime The duration of this timer in seconds.* Stops the timer and removes it from the timer manager.* Called by the timer manager plugin to update the timer.
* If time runs out, the loop counter is advanced, the timer reset, and the callback called if it exists.
* If the timer runs out of loops, then the timer calls cancel().
* However, callbacks are called AFTER cancel() is called.flixel.util.FlxTimerManager* Creates a new timer.{ FlxG.log.add("The FlxTimer has finished"); })
* ```
* @see [FlxG.fixedTimestep](https://api.haxeflixel.com/flixel/FlxG.html#fixedTimestep)
* @see [FlxG.timeScale](https://api.haxeflixel.com/flixel/FlxG.html#timeScale)]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_timers expr="[]">
[]* Clean up memory.* Called by FlxG.plugins.update() before the game state has been updated.
* Cycles through timers and calls update() on each one.flixel.util.FlxTimer* Add a new timer to the timer manager.
* Called when FlxTimer is started.
*
* @param timer The FlxTimer you want to add to the manager.flixel.util.FlxTimer* Remove a timer from the timer manager.
* Called automatically by FlxTimer's cancel() function.
*
* @param timer The FlxTimer you want to remove from the manager.* Immediately updates all `active`, non-infinite timers to their end points, repeatedly,
* until all their loops are finished, resulting in `loopsLeft` callbacks being run.
* @since 4.2.0* Removes all the timers from the timer manager.* Applies a function to all timers
*
* @param func A function that modifies one timer at a time
* @since 4.2.0* Instantiates a new timer manager.* A simple manager for tracking and updating game timer objects.
* Normally accessed via the static `FlxTimer.manager` rather than being created separately.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">{ loops : 1, time : 1 }* Starts the timer and adds the timer to the timer manager.
*
* @param time How many seconds it takes for the timer to go off.
* If 0 then timer will fire OnComplete callback only once at the first call of update method (which means that Loops argument will be ignored).
* @param onComplete Optional, triggered whenever the time runs out, once for each loop.
* Callback should be formed "onTimer(Timer:FlxTimer);"
* @param loops How many times the timer should go off. 0 means "looping forever".
* @return A reference to itself (handy for chaining or whatever).
<_HX_SUPER__start public="1" set="method" line="148">
{ loops : 1, time : 1 }{ newTime : -1 }* Restart the timer using the new duration
* @param newTime The duration of this timer in seconds.
<_HX_SUPER__reset public="1" set="method" line="148">
{ newTime : -1 }* Stops the timer and removes it from the timer manager.
<_HX_SUPER__cancel public="1" set="method" line="31">* Called by the timer manager plugin to update the timer.
* If time runs out, the loop counter is advanced, the timer reset, and the callback called if it exists.
* If the timer runs out of loops, then the timer calls cancel().
* However, callbacks are called AFTER cancel() is called.
<_HX_SUPER__update public="1" set="method" line="31">flixel.util.FlxTimerManager
<_HX_SUPER__onLoopFinished set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxTimerflixel.util.FlxTimer.FlxTimerManager* Clean up memory.
<_HX_SUPER__destroy public="1" set="method" line="31">* Called by FlxG.plugins.update() before the game state has been updated.
* Cycles through timers and calls update() on each one.
<_HX_SUPER__update public="1" set="method" line="31">flixel.util.FlxTimer* Add a new timer to the timer manager.
* Called when FlxTimer is started.
*
* @param timer The FlxTimer you want to add to the manager.
<_HX_SUPER__add set="method" line="31">flixel.util.FlxTimer* Remove a timer from the timer manager.
* Called automatically by FlxTimer's cancel() function.
*
* @param timer The FlxTimer you want to remove from the manager.
<_HX_SUPER__remove set="method" line="31">* Immediately updates all `active`, non-infinite timers to their end points, repeatedly,
* until all their loops are finished, resulting in `loopsLeft` callbacks being run.
* @since 4.2.0
<_HX_SUPER__completeAll public="1" set="method" line="31">* Applies a function to all timers
*
* @param func A function that modifies one timer at a time
* @since 4.2.0
<_HX_SUPER__forEach public="1" set="method" line="148">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxTimerflixel.util.FlxTimer.FlxTimerManager* Just an internal helper to deal with the deprecation of `haxe.Utf8` - not considered public API.
* Todo: Remove and use Unicode stringshscript.UsingHandler.build()hscript.ClassExtendMacro.build()hidehscript.UsingHandler.build()hscript.ClassExtendMacro.build()hide
<_new public="1" get="inline" set="null" line="36" static="1">
{ s : "" }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<_new public="1" get="inline" set="null" line="36" static="1">
{ s : "" }hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.FlxUnicodeUtilflixel.util.FlxUnicodeUtil.UnicodeBufferflixel.util.FlxUnicodeUtil.UnicodeBufferflixel.util.FlxUnicodeUtil.UnicodeBuffer_HSC
hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The minimum value of this property.* The maximum value of this property.true* A flag that can be used to toggle the use of this property.* Handy function to set the minimum and maximum values of this Bounds object in one line.
*
* @param min The new minimum value of the property.
* @param max The new maximum value of the property. Optional, will be set equal to min if ignored.
* @return This Bounds instance (nice for chaining stuff together).* Function to compare this FlxBounds to another.
*
* @param OtherFlxBounds The other FlxBounds to compare to this one.
* @return True if the FlxBounds have the same min and max value, false otherwise.* Convert object to readable string name. Useful for debugging, save games, etc.(0, 0)`;
*
* @param min The minimum value of the property.
* @param max The maximum value of the property. Optional, will be set equal to min if ignored.]]>* Helper object for holding minimum and maximum values of various properties.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The beginning X and Y values of this property.* The ending X and Y values of this property.true* A flag that can be used to toggle the use of this property.* Handy function to set the the beginning and ending range of values for a FlxPoint in one line.
*
* @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter.
* @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored.
* @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored.
* @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored.
* @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored.
* @return This FlxPointRangeBounds instance (nice for chaining stuff together).* Function to compare this FlxPointRangeBounds to another.
*
* @param OtherFlxPointRangeBounds The other FlxPointRangeBounds to compare to this one.
* @return True if the FlxPointRangeBounds have the same min and max value, false otherwise.* Convert object to readable string name. Useful for debugging, save games, etc.* Create a new FlxPointRangeBounds object.
*
* @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter.
* @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored.
* @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored.
* @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored.
* @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored.
* @return This FlxPointRangeBounds instance (nice for chaining stuff together).> but this allows a more practical use of set().]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Handy function to set the the beginning and ending range of values for a FlxPoint in one line.
*
* @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter.
* @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored.
* @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored.
* @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored.
* @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored.
* @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored.
* @return This FlxPointRangeBounds instance (nice for chaining stuff together).
<_HX_SUPER__set public="1" set="method" line="148">* Convert object to readable string name. Useful for debugging, save games, etc.
<_HX_SUPER__toString public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="31">
<__interp>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hideflixel.util.helpers.FlxPointRangeBounds* The beginning value of this property.* The ending value of this property.true* A flag that can be used to toggle the use of this property.* Handy function to set the initial and final values of this Range object in one line.
*
* @param start The new beginning value of the property.
* @param end The new final value of the property. Optional, will be set equal to start if ignored.
* @return This Range instance (nice for chaining stuff together).* Function to compare this FlxRange to another.
*
* @param OtherFlxRange The other FlxRange to compare to this one.
* @return True if the FlxRanges have the same start and end value, false otherwise.* Convert object to readable string name. Useful for debugging, save games, etc.(0, 0);
*
* @param start The beginning value of the property.
* @param end The ending value of the property. Optional, will be set equal to start if ignored.]]>* Helper object for holding beginning and ending values of various properties.hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* The beginning minimum and maximum values of this property.* The ending minimum and maximum values of this property.true* A flag that can be used to toggle the use of this property.* Handy function to set the the beginning and ending range of values for an emitter property in one line.
*
* @param startMin The minimum possible initial value of this property for particles launched from this emitter.
* @param startMax The maximum possible initial value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored.
* @param endMin The minimum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored.
* @param endMax The maximum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMax if ignored.
* @return This RangeBounds instance (nice for chaining stuff together).* Function to compare this FlxRangeBounds to another.
*
* @param OtherFlxRangeBounds The other FlxRangeBounds to compare to this one.
* @return True if the FlxRangeBounds have the same min and max value, false otherwise.* Convert object to readable string name. Useful for debugging, save games, etc.(0, 0, 0, 0);
*
* @param startMin The minimum possible initial value of this property for particles launched from this emitter.
* @param startMax The maximum possible initial value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored.
* @param endMin The minimum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored.
* @param endMax The maximum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMax if ignored.
* @return This RangeBounds instance (nice for chaining stuff together).]]>> but this allows a more practical use of set().]]>hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Useful to limit a Dynamic function argument's type to the specified
* type parameters. This does NOT make the use of Dynamic type-safe in
* any way (the underlying type is still Dynamic and Std.is() checks +
* casts are necessary).hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Useful to limit a Dynamic function argument's type to the specified
* type parameters. This does NOT make the use of Dynamic type-safe in
* any way (the underlying type is still Dynamic and Std.is() checks +
* casts are necessary).hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()* Useful to limit a Dynamic function argument's type to the specified
* type parameters. This does NOT make the use of Dynamic type-safe in
* any way (the underlying type is still Dynamic and Std.is() checks +
* casts are necessary).hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()hscript.UsingHandler.build()hscript.ClassExtendMacro.build()
<__3DIDS expr="0" line="32" static="1">
0[]{ smoothTexture : true }
<__cur3DStageID>
<_loaders expr="[]">
[]{ DefaultZoom : 1, Height : 0, Width : 0, Y : 0, X : 0 }* Returns the total amount of 3D stages (not excluding the ones in use)
* @return Int* Returns if a Stage3D is available
* @return Bool* Calls dispose() (destroy) on a Away3D asset
* @param obj
* @return null* @author lunarclient
* @see https://twitter.com/lunarcleint
*
* Help from Ne_Eo
* @see https://twitter.com/Ne_Eo_Twitch* Disposes (destroys) the asset and returns null
* @param obj
* @return T null* The Away3D Viewtrue* Set this flag to true to force the View3D to update during the `draw()` call.* Disposes of all the Away3D assets associated with the FlxView3D{ height : -1, width : -1, y : 0, x : 0 }* Creates a new instance of a View3D from Away3D and renders it as a FlxSprite
* ! Call Flx3DUtil.is3DAvailable(); to make sure a 3D stage is usable
* @param x
* @param y
* @param width Leave as -1 for screen width
* @param height Leave as -1 for screen height* @author Ne_Eo
* @see https://twitter.com/Ne_Eo_Twitch
*
* @author lunarcleint
* @see https://twitter.com/lunarcleint
<__3DIDS expr="0" line="32" static="1">
0[]{ smoothTexture : true }{ smoothTexture : true }
<__cur3DStageID>
<_loaders expr="[]">
[]{ height : -1, width : -1, y : 0, x : 0 }new FlxMatrix()
<_skewMatrix expr="new FlxMatrix()" line="276" static="1">
new FlxMatrix()false
<_pivot>* the function `draw()` renders the symbol that `anim` has currently plus a pivot that you can toggle on or off.{ mainSymbol : false }* This basically renders an element of any kind, both limbs and symbols.
* It should be considered as the main function that makes rendering a symbol possible.falseFlxPoint.get()new Matrix()* Tranformation matrix for this sprite.
* Used only when matrixExposed is set to truefalse* Bool flag showing whether transformMatrix is used for rendering or not.
* False by default, which means that transformMatrix isn't used for rendering{ Y : 0, X : 0 }* # Description
* `FlxAnimate` is a texture atlas parser from the drawing software *Adobe Animate* (once being *Adobe Flash*).
* It tries to replicate how Adobe Animate works on Haxe so it would be considered (as *MrCheemsAndFriends* likes to call it,) a "*Flash--*", in other words, a replica of Animate's work
* on the side of drawing, making symbols, etc.
* ## WARNINGS
* - This does **NOT** convert the frames into a spritesheet
* - Since this is some sort of beta, expect that there could be some inconveniences (bugs, crashes, etc).
*
* @param X The initial X position of the sprite.
* @param Y The initial Y position of the sprite.
* @param Path The path to the texture atlas, **NOT** the path of the any of the files inside the texture atlas (`Animation.json`, `spritemap.json`, etc).
* @param Settings Optional settings for the animation (antialiasing, framerate, reversed, etc.).* The callback function to call when this even fires.* The sound to play when this event fires.* Cleans up memory.* Fires this event (calls the callback and plays the sound)* @param Callback The callback function to call when this even fires.
* @param sound The sound to play when this event fires.falseChecks if the movieclip should move or not. for having a similar experience to swfsnew Map()* When ever the animation is playing.* Internal, used for each skip between frames.new Map()* Internal, the parsed loop type
<_parent>
<_tick>
<_loadAtlas set="method" line="89">
flxanimate.FlxAnimate{ Frame : 0, Reverse : false, Force : false, Name : "" }{ Y : 0, X : 0, Looped : true, FrameRate : 0 }* Creates an animation using an already made symbol from a texture atlas
* @param Name The name of the animation
* @param SymbolName the name of the symbol you're looking. if you have two symbols beginning by the same name, use `\` at the end to differ one symbol from another
* @param X the *x* axis of the animation.
* @param Y the *y* axis of the animation.
* @param FrameRate the framerate of the animation.{ FrameRate : 0 }* Creates an animation using the indices, looking as a reference the main animation of the texture atlas.
* @param Name The name of the animation you're creating
* @param Indices The indices you're gonna be using for the animation, like `[0,1,2]`.
* @param FrameRate the framerate of the animation.{ Y : 0, X : 0, Looped : true, FrameRate : 0 }{ Looped : true, FrameRate : 0 }* This adds a new animation by adding a custom timeline, obviously taking as a reference the timeline syntax!
* **WARNING**: I, *CheemsAndFriends*, do **NOT** recommend this unless you're using an extern json file to do this!
* if you wanna make a custom symbol to play around and is separated from the texture atlas, go ahead! but if you wanna just make a new symbol,
* just do it in Flash directly
* @param Name The name of the new Symbol.
* @param Timeline The timeline which will have the symbol.
* @param FrameRate The framerate it'll go, by default is 30.* Redirects the frame into a frame with a frame label of that type.
* @param name the name of the label.* Checks the next frame label name you're looking for.
* **WARNING: DO NOT** confuse with `anim.curSymbol.getNextToFrameLabel`!!
* @param name the name of the frame label.
* @return A `String`. WARNING: it can be `null`* Links a callback into a label.
* @param label the name of the label.
* @param callback the callback you're going to add{ frame : null }* The frame rate the animation was exported in the texture atlas in the beginning.* This class shows what framerate the animation was initially set.["m00", "m01", "m10", "m11", "m30", "m31"]
<_parent>
flxanimate.animate.FlxKeyFrame* All the other parameters that are exclusive to the symbol (instance, type, symbol name, etc.)* The name of the frame itself.* The matrix that the symbol or bitmap has.* Creates a new `FlxElement` instance.
* @param name the name of the element. `WARNING:` this name is dynamic, in other words, this name can used for the limb or the symbol!
* @param symbol the symbol settings, ignore this if you want to add a limb.
* @param matrix the matrix of the element.flxanimate.animate.FlxSymbolflxanimate.FlxAnimate
<_parent>
flxanimate.animate.FlxLayer
<_elements set="null">
flxanimate.FlxAnimate
<_colorEffect get="accessor" set="null">
flxanimate.FlxAnimate{ duration : 1 }flxanimate.animate.FlxSymbol
<_parent set="accessor">
flxanimate.animate.FlxTimeline
<_labels>
flxanimate.animate.FlxKeyFrame
<_keyframes set="null">{ name : "" }""
<_curFrame>
flxanimate.animate.FlxAnim
<_shootCallback>
flxanimate.FlxAnimate
<_tick>flxanimate.FlxAnimate{ layer : null }{ layer : null }{ layer : null }{ frame : null }* Gets an element through a specific index from a frame.
* @param index The element index.
* @param frame The keyframe the element is located. If set to `null`, it will take `curFrame` as a reference.
* @return an `FlxElement` instance.{ layer : null }{ layer : null, frame : null }* Gets an element with a name
* @param name this can be either the name of the symbol or the instance.
* @param frame The keyframe the element is located. If set to `null`, it will take `curFrame` as a reference.
* @param layer Which layer it should take as a reference. if set to `null`, it'll take every layer available.
* @return an `FlxElement` instance.{ frame : null }{ frame : null }flxanimate.animate.FlxAnim
<_layers>
flxanimate.FlxAnimate{ position : 0 }
<_colorEffect get="accessor" set="null">
flxanimate.FlxAnimateflxanimate.animate.FlxAnim{ loop : Loop, type : Graphic, instance : "", name : null }{ effect : null }{ filters : null }{ colorEffect : None }* The main thing, the animation that makes the different drawings animate together and shit* This is where all the symbols that the main animation uses are stored. Can be `null`!* Minor stuff, this checks the framerate the anim is and nothing much tbh* The main thing, the animation that makes the different drawings animate together and shit* This is where all the symbols that the main animation uses are stored. Can be `null`!* Minor stuff, this checks the framerate the anim is and nothing much tbh* The Dictionary itself, where all the symbols are stored.* The list of symbols.* The list of symbols.* The main animation Thing* The name of the symbol.* The name of the fla document.* The timeline of the symbol.* Its the stage instance of the timeline, basically how was the texture atlas set when it was on "the stage" of Adobe Animate.
* Can be included or not depending if you export the atlas on stage or on the symbol dictionary.* The name of the symbol.* The name of the fla document.* The timeline of the symbol.* Its the stage instance of the timeline, basically how was the texture atlas set when it was on "the stage" of Adobe Animate.
* Can be included or not depending if you export the atlas on stage or on the symbol dictionary.* The main position how the symbol you exported was set, Acting almost identically as an `Element`, with the exception of not having an Atlas Sprite to call (not that I'm aware of).
* **WARNING:** This may depend on how you exported your texture atlas, Meaning that this can be `null`* The instance of the Element flagged as a `Symbol`.
* **WARNING:** This can be `null`!* The instance of the Element flagged as a `Symbol`.
* **WARNING:** This can be `null`!* the SymbolData that the symbol has for checking stuff* The name of the symbol* The timeline of the Symbol, aka the frames of the symbols, with all the layers and stuff* The name of the symbol* The timeline of the Symbol, aka the frames of the symbols, with all the layers and stuff* The timeline that the animation is based* The layers that are in the timeline* The layers that are in the timeline* the Layer abstract, nothing much to say here* The name of the layer.* Type of layer. Usually it's just to announce that the layer is a mask.* To which layer it is clipped.* The frames that the layer has.* The name of the layer.* Type of layer. Usually it's just to announce that the layer is a mask.* To which layer it is clipped.* The frames that the layer has.* Only has the framerate for some reason* Framerate of the anim, nothing much here.* Framerate of the anim, nothing much here.* the frame abstract that has the essential* The "name of the frame", basically labels that you can use as thingies for more cool stuff to program lol* The frame index, aka the current number frame.* The duration of the frame.* The elements that the frame has. Drawings/symbols to be specific* The Color Effect of the symbol, it says color but it affects alpha too lol.* Filter stuff, this is the reason why you can't add custom shaders, srry* The "name of the frame", basically labels that you can use as thingies for more cool stuff to program lol* The frame index, aka the current number frame.* The duration of the frame.* The elements that the frame has. Drawings/symbols to be specific* The Color Effect of the symbol, it says color but it affects alpha too lol.* Filter stuff, this is the reason why you can't add custom shaders, srry* The Element thing inside the frame* The Symbol Abstract* the name of the symbol.* the name instance of the Symbol.* the type of symbol,
* Which can be a:
* - Graphic
* - MovieClip
* - Button* bitmap Settings, Used in 2018 and 2019* this sets on which frame it's the symbol, Graphic only* the Loop Type of the symbol, which can be:
* - Loop
* - Play Once
* - Single Frame* the Transformation Point of the symbol, basically the pivot that determines how it scales or not in Flash* The Matrix of the Symbol, Be aware from Neo! He can be anywhere!!! :fearful:* The Color Effect of the symbol, it says color but it affects alpha too lol.* Filter stuff, this is the reason why you can't add custom shaders, srry* the name of the symbol.* the name instance of the Symbol.* the type of symbol,
* Which can be a:
* - Graphic
* - MovieClip
* - Button* bitmap Settings, Used in 2018 and 2019* this sets on which frame it's the symbol, Graphic only* the Loop Type of the symbol, which can be:
* - Loop
* - Play Once
* - Single Frame* the Transformation Point of the symbol, basically the pivot that determines how it scales or not in Flash* The Matrix of the Symbol, Be aware from Neo! He can be anywhere!!! :fearful:* The Color Effect of the symbol, it says color but it affects alpha too lol.* Filter stuff, this is the reason why you can't add custom shaders, srry* What type of Effect is it.* tint Color, basically, How's the color gonna be lol.* tint multiplier, or the alpha of **THE COLOR!** Don't forget that.* What type of Effect is it.* tint Color, basically, How's the color gonna be lol.* tint multiplier, or the alpha of **THE COLOR!** Don't forget that.* Adjust Color filter is a workaround to give some color adjustment, including hue-rotation, saturation, brightness and contrast.
* After calculating every required adjustment, it gets the matrix and then the filter is applied as a `ColorMatrixFilter`.
* @see flxanimate.motion.AdjustColor
* @see flxanimate.motion.ColorMatrix
* @see flxanimate.motion.DynamicMatrix
* @see openfl.filters.ColorMatrixFilter* Adjust Color filter is a workaround to give some color adjustment, including hue-rotation, saturation, brightness and contrast.
* After calculating every required adjustment, it gets the matrix and then the filter is applied as a `ColorMatrixFilter`.
* @see flxanimate.motion.AdjustColor
* @see flxanimate.motion.ColorMatrix
* @see flxanimate.motion.DynamicMatrix
* @see openfl.filters.ColorMatrixFilter* A full matrix calculation thing that seems to behave like a special HSV adjust.* The brightness value. Can be from -100 to 100* The value of contrast. Can be from -100 to 100* The value of saturation. Can be from -100 to 100* The hue value. Can be from -180 to 180* The brightness value. Can be from -100 to 100* The value of contrast. Can be from -100 to 100* The value of saturation. Can be from -100 to 100* The hue value. Can be from -180 to 180* This blur filter gives instructions of how the blur should be applied onto the symbol/frame.* The amount of blur horizontally.* The amount of blur vertically.* The number of passes the filter has.
* When the quality is set to three, it should approximate to a Gaussian Blur.
* Obviously you can go beyond three, but it'll take more time to render.* The amount of blur horizontally.* The amount of blur vertically.* The number of passes the filter has.
* When the quality is set to three, it should approximate to a Gaussian Blur.
* Obviously you can go beyond three, but it'll take more time to render.cast "T"cast "AD"cast "CA"cast "CBRT"cast "T"cast "AD"cast "CA"cast "CBRT"* The name of the drawing, basically determines which one of the sprites on spritemap should be used.* Only used in earliest versions of texture atlas release. checks the position, nothing else lol* The name of the drawing, basically determines which one of the sprites on spritemap should be used.* Only used in earliest versions of texture atlas release. checks the position, nothing else lol* The Sprite/Drawing abstract* The matrix of the sprite itself. Can be either an array or a typedef.* The matrix of the sprite itself. Can be either an array or a typedef.* Position Stuffcast "LP"cast "PO"cast "SF"cast "LP"cast "PO"cast "SF"cast "G"cast "MC"cast "G"cast "MC"null* Parses the spritemaps into small sprites to use in the animation.
*
* @param Path Where the Sprites are, normally you use it once when calling FlxAnimate already
* @return new sliced limbs for you to use ;)* Sparrow spritesheet format parser with support of both of the versions and making the image completely optional to you.
* @param Path The direction of the Xml you want to parse.
* @param Image (Optional) the image of the Xml.
* @return A new instance of `FlxAtlasFrames`*
* @param Path the Json in specific, can be the path of it or the actual json
* @param Image the image which the file is referencing **WARNING:** if you set the path as a json, it's obligatory to set the image!
* @return A new instance of `FlxAtlasFrames`* Edge Animate
* @param Path the Path of the .eas
* @param Image (Optional) the Image
* @return Cute little Frames to use ;)* Starling spritesheet format parser which uses a preference list from Mac computer shit
* @param Path the dir of the preference list
* @param Image (Optional) the Image
* @return Some recently cooked Frames for you ;)* Cocos2D spritesheet format parser, which basically has 2 versions,
* One is basically Starling (2v) and the other one which is a more fucky and weird (3v)
* @param Path the Path of the plist
* @param Image (Optional) the image
* @return Recently made Frames for your dispose ;)* EaselJS spritesheet format parser, pretty weird stuff.
* @param Path The Path of the jsFile
* @param Image (optional) the Path of the image
* @return New frames made for you to use ;){ padding : 0 }
<_dateRegex expr="~/(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}:\d{2})Z)?/" line="536" static="1">
~/(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}:\d{2})Z)?/* Parse an Apple property list XML file into a dynamic object. If
* the property list is empty, an empty object will be returned.
* @param text Text contents of the property list file.{ preShift : 0, signExtend : false }{ shiftLeft : false }Returns the PNG header informations. Throws an exception if no header found.Return the PNG palette colors, or null if no palette chunk was found{ numChannels : 4 }Converts from BGRA to ARGB and the other way by reversing bytes.Decode the greyscale PNG data and apply filters, extracting only the grey channel if alpha is present.Decode the PNG data and apply filters. By default this will output BGRA low-endian format. You can use the [reverseBytes] function to inverse the bytes to ARGB big-endian format.{ level : 9 }Creates PNG data from bytes that contains one bytes (grey values) for each pixel.{ level : 9 }Creates PNG data from bytes that contains a one byte palette index for each pixel and a separate palette with 3 RGB bytes per color.{ level : 9 }Creates PNG data from bytes that contains three bytes (R,G and B values) for each pixel.{ level : 9 }Creates PNG data from bytes that contains four bytes in ARGB format for each pixel.{ level : 9 }Creates PNG data from bytes that contains four bytes in BGRA format for each pixel.{ level : 9 }hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.chart.BaseGameParserfunkin.chart.BaseGameParser.SwagSongfunkin.chart.BaseGameParser.SwagSection0xFF9271FD* Default background colors for songs without bg color{ fromMods : true, difficulty : "normal" }{ difficulty : "normal" }{ difficulty : "normal" }* Saves the chart to the specific song folder path.
* @param songFolderPath Path to the song folder (ex: `mods/your mod/songs/song/`)
* @param chart Chart to save
* @param difficulty Name of the difficulty
* @param saveSettings
* @return Filtered chart used for saving.hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast 0* STRUMLINE IS MARKED AS OPPONENT - WILL BE PLAYED BY CPU, OR PLAYED BY PLAYER IF OPPONENT MODE IS ONcast 1* STRUMLINE IS MARKED AS PLAYER - WILL BE PLAYED AS PLAYER, OR PLAYED AS CPU IF OPPONENT MODE IS ONcast 2* STRUMLINE IS MARKED AS ADDITIONAL - WILL BE PLAYED AS CPU EVEN IF OPPONENT MODE IS ENABLEDhscript.ClassExtendMacro.build()cast 0* STRUMLINE IS MARKED AS OPPONENT - WILL BE PLAYED BY CPU, OR PLAYED BY PLAYER IF OPPONENT MODE IS ONcast 1* STRUMLINE IS MARKED AS PLAYER - WILL BE PLAYED AS PLAYER, OR PLAYED AS CPU IF OPPONENT MODE IS ONcast 2* STRUMLINE IS MARKED AS ADDITIONAL - WILL BE PLAYED AS CPU EVEN IF OPPONENT MODE IS ENABLEDhscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast -1* CUSTOM EVENT
* Params:
* - Function Name (String)
* - Function Parameters...cast 0* NO EVENT, MADE FOR UNKNOWN EVENTS / EVENTS THAT CANNOT BE PARSEDcast 1* CAMERA MOVEMENT EVENT
* Params:
* - Target Strumline ID (Int)cast 2* BPM CHANGE EVENT
* Params:
* - Target BPM (Float)cast 3* ALT ANIM TOGGLE
* Params:
* - Strum Line which is going to be toggled (Int)
* - Whenever its going to be toggled or not (Bool)hscript.ClassExtendMacro.build()cast -1* CUSTOM EVENT
* Params:
* - Function Name (String)
* - Function Parameters...cast 0* NO EVENT, MADE FOR UNKNOWN EVENTS / EVENTS THAT CANNOT BE PARSEDcast 1* CAMERA MOVEMENT EVENT
* Params:
* - Target Strumline ID (Int)cast 2* BPM CHANGE EVENT
* Params:
* - Target BPM (Float)cast 3* ALT ANIM TOGGLE
* Params:
* - Strum Line which is going to be toggled (Int)
* - Whenever its going to be toggled or not (Bool)hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.chart.Chartfunkin.chart.Chart.ChartSaveSettingshscript.ClassExtendMacro.build()00* Current step* Current beat* Current beat* Current step, as a `Float` (ex: 4.94, instead of 4)* Current beat, as a `Float` (ex: 1.24, instead of 1)* Current beat, as a `Float` (ex: 1.24, instead of 1)* Current song position (in milliseconds).* Current injected script attached to the state. To add one, create a file at path "data/states/stateName" (ex: "data/states/PauseMenuSubstate.hx")truenull* Game Controls. (All players / Solo)* Game Controls (Player 1 only)* Game Controls (Player 2 only)hidehidehide{ fpsSensitive : false }* Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive`
* @param v1 Value 1
* @param v2 Value 2
* @param ratio Ratio
* @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate.* SCRIPTING STUFF{ scriptsAllowed : true }hscript.ClassExtendMacro.build()
<__callback>PlayState.instance* Substate made for cutscenes.hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__close public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.cutscenes.Cutscene[][]null* Substate made for dialogue cutscenes. To use it in a scripted cutscene, call `startDialogue`.hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__next public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.cutscenes.DialogueCutscenefunkin.cutscenes.DialogueCutscene.DialogueLinenullnulltrue{ midSong : false, isFullscreen : false, isWindow : false, outputTo : null, repeat : false }hscript.ClassExtendMacro.build(){ midSong : false, isFullscreen : false, isWindow : false, outputTo : null, repeat : false }
<_HX_SUPER__playMP4 public="1" set="method" line="30">
{ midSong : false, isFullscreen : false, isWindow : false, outputTo : null, repeat : false }
<_HX_SUPER__checkFile set="method" line="148">
<_HX_SUPER__onVLCVideoReady set="method" line="148">
<_HX_SUPER__onVLCComplete public="1" set="method" line="148">
<_HX_SUPER__kill public="1" set="method" line="148">
<_HX_SUPER__onVLCError set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.cutscenes.MP4Handler* Substate made for scripted cutscenes.
* To add cutscenes to your songs, add a `cutscene.hx` file in your song's directory (ex: `songs/song/cutscene.hx`)hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__beatHit public="1" set="method" line="148">
<_HX_SUPER__stepHit public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__startVideo public="1" set="method" line="148">
<_HX_SUPER__startDialogue public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.cutscenes.ScriptedCutscene* Substate made for video cutscenes. To use it in a scripted cutscene, call `startVideo`.hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.cutscenes.VideoCutscene{ y : 0, x : 0 }hscript.ClassExtendMacro.build()NONE[]11{ Key : null, Unique : false }
<__shouldDoScaleProcedure get="inline" set="null" line="168">
<__oldScale>
<__skipZoomProcedure expr="false">
false
<__doPreZoomScaleProcedure set="method" line="173">
<__doPostZoomScaleProcedure set="method" line="182">()]]>{ y : 0, x : 0 }DANCE{ Frame : 0, Reversed : false, Context : NONE, Force : false }hscript.ClassExtendMacro.build()[]Paths.sound("dialogue/text")Paths.sound("dialogue/next")
<__nextText>
<__speed>{ speed : 0.05 }{ speed : 0.02 }hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__popupChar public="1" set="method" line="148">{ speed : 0.05 }
<_HX_SUPER__playBubbleAnim public="1" set="method" line="148">
{ speed : 0.05 }{ speed : 0.02 }
<_HX_SUPER__setText public="1" set="method" line="148">
{ speed : 0.02 }
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.cutscenes.dialogue.DialogueBoxfunkin.cutscenes.dialogue.DialogueBox.CharPosDefNONEhscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast -1cast 0cast 1hscript.ClassExtendMacro.build()cast -1cast 0cast 1hscript.ClassExtendMacro.build()
<_HX_SUPER__show public="1" set="method" line="148">
<_HX_SUPER__hide public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.cutscenes.dialogue.DialogueCharacterfunkin.cutscenes.dialogue.DialogueCharacter.DialogueCharTweenContextfunkin.cutscenes.dialogue.DialogueCharacter.DialogueCharTweenContext00new GraphicCacheSprite()* Dummy sprite used to cache graphics to GPU.false* Whenever the Conductor auto update should be enabled or not.* Current step* Current beat* Current beat* Current step, as a `Float` (ex: 4.94, instead of 4)* Current beat, as a `Float` (ex: 1.24, instead of 1)* Current beat, as a `Float` (ex: 1.24, instead of 1)* Current song position (in milliseconds).* Game Controls. (All players / Solo)* Game Controls (Player 1 only)* Game Controls (Player 2 only)* Current injected script attached to the state. To add one, create a file at path "data/states/stateName" (ex: data/states/FreeplayState)truenullhidehidehide{ fpsSensitive : false }* Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive`
* @param v1 Value 1
* @param v2 Value 2
* @param ratio Ratio
* @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate.* SCRIPTING STUFF{ scriptsAllowed : true }hscript.ClassExtendMacro.build()Type.getClass(FlxG.state)hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()12000
<__firstFrame expr="true">
truehscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.DebugOptionsfunkin.editors.DebugOptions.DebugOptionsScreen
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.DebugOptionsfunkin.editors.DebugOptions.DebugOptionsScreen[{ name : "Chart Editor", iconID : 0, state : funkin.editors.charter.CharterSelection }, { name : "Character Editor", iconID : 1, state : null }, { name : "Stage Editor", iconID : 2, state : null }, { name : "UI Debug State", iconID : 3, state : UIDebugState }, { name : "Debug Options", iconID : 4, state : DebugOptions }][]0FlxPoint.get()FlxPoint.get()0false0hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()false00hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__changeSelection public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.EditorPickerfunkin.editors.EditorPicker.Editorfunkin.editors.EditorPicker.EditorPickerOption
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__flicker public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.EditorPickerfunkin.editors.EditorPicker.Editorfunkin.editors.EditorPicker.EditorPickerOption"default"hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__exit public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.EditorTreeMenunullnullnull
<__rect>
<__mousePos>hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.UIDebugState
<__song>
<__diff>()]]>0xFF2727270xFF545454[]* ACTUAL CHART DATAnew CharterNoteGroup()* CAMERAS[][][]false* NOTE AND CHARTER GRID LOGIC HEREnew FlxPoint()
<_edit_undo set="method" line="414">
<_playback_play set="method" line="441">
<_edit_redo set="method" line="452">
<_playback_metronome set="method" line="476">
<_playback_muteinst set="method" line="479">
<_playback_mutevoices set="method" line="483">
<__crochet>0
<__camZoom expr="1">
1
<_file_exit set="method" line="540">
<_edit_delete set="method" line="543">
<_playback_back set="method" line="547">
<_playback_forward set="method" line="551">
<_playback_start set="method" line="555">
<_playback_end set="method" line="559">
<_chart_zoomin set="method" line="563">
<_chart_zoomout set="method" line="567">
<_chart_zoomreset set="method" line="571">hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()1hscript.ClassExtendMacro.build()[]
<__lastDrawCameras expr="[]">
[]
<__rect expr="new FlxRect()">
new FlxRect()
<__oldDefCams>falsefalsefalsenullARROW* Called whenever the sprite is being hovered by the mouse.hscript.ClassExtendMacro.build()funkin.editors.ui.UIStatefunkin.editors.ui.UIUtilhscript.ClassExtendMacro.build()
<_HX_SUPER__draw public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.charter.CharterBackdropfunkin.editors.charter.CharterBackdrop.CharterBackdropDummy
<_HX_SUPER__updateButton public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.charter.CharterBackdropfunkin.editors.charter.CharterBackdrop.CharterBackdropDummyfalse{ type : 0, susLength : 0 }
<__passed expr="false">
falsehscript.ClassExtendMacro.build()
<__loopSprite>00
<__currentlyLooping expr="false">
false{ recursive : false }hscript.ClassExtendMacro.build(){ recursive : false }
<_HX_SUPER__forEach public="1" set="method" line="148">
{ recursive : false }
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.charter.CharterNoteGroup
<_HX_SUPER__updateButton public="1" set="method" line="148">{ type : 0, susLength : 0 }
<_HX_SUPER__updatePos public="1" set="method" line="148">
{ type : 0, susLength : 0 }
<_HX_SUPER__kill public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.charter.CharterNotehscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__onMenuChange public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.charter.CharterSelection
<_HX_SUPER__get_chart set="method" line="148">
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__loadSong public="1" set="method" line="148">
<_HX_SUPER__beatHit public="1" set="method" line="148">
<_HX_SUPER__updateNoteLogic public="1" set="method" line="148">
<_HX_SUPER__deleteNote public="1" set="method" line="148">
<_HX_SUPER__deleteNotes public="1" set="method" line="148">
<_edit_undo set="method" line="74" override="1">
<_HX_SUPER___edit_undo set="method" line="148">
<_playback_play set="method" line="74" override="1">
<_HX_SUPER___playback_play set="method" line="148">
<_edit_redo set="method" line="74" override="1">
<_HX_SUPER___edit_redo set="method" line="148">
<_playback_metronome set="method" line="74" override="1">
<_HX_SUPER___playback_metronome set="method" line="148">
<_playback_muteinst set="method" line="74" override="1">
<_HX_SUPER___playback_muteinst set="method" line="148">
<_playback_mutevoices set="method" line="74" override="1">
<_HX_SUPER___playback_mutevoices set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_file_exit set="method" line="74" override="1">
<_HX_SUPER___file_exit set="method" line="148">
<_edit_delete set="method" line="74" override="1">
<_HX_SUPER___edit_delete set="method" line="148">
<_playback_back set="method" line="74" override="1">
<_HX_SUPER___playback_back set="method" line="148">
<_playback_forward set="method" line="74" override="1">
<_HX_SUPER___playback_forward set="method" line="148">
<_playback_start set="method" line="74" override="1">
<_HX_SUPER___playback_start set="method" line="148">
<_playback_end set="method" line="74" override="1">
<_HX_SUPER___playback_end set="method" line="148">
<_chart_zoomin set="method" line="74" override="1">
<_HX_SUPER___chart_zoomin set="method" line="148">
<_chart_zoomout set="method" line="74" override="1">
<_HX_SUPER___chart_zoomout set="method" line="148">
<_chart_zoomreset set="method" line="74" override="1">
<_HX_SUPER___chart_zoomreset set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.charter.Charterfunkin.editors.charter.Charter.CharterChangefunkin.editors.charter.Charter.CharterStrumline120200false
<__setSize set="method" line="116">hscript.ClassExtendMacro.build()null{ h : 32, w : 120 }hscript.ClassExtendMacro.build()
<_HX_SUPER__resize public="1" set="method" line="148">
<_HX_SUPER__onHovered public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UIButtonfalsenull{ w : 0, checked : false }hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__onHovered public="1" set="method" line="148">
<_HX_SUPER__updateButton public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UICheckbox[][]
<__oobDeletion expr="true">
truehscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__select public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UIContextMenufunkin.editors.ui.UIContextMenu.UIContextMenuCallbackfunkin.editors.ui.UIContextMenu.UIContextMenuOptionfunkin.editors.ui.UIContextMenu.UIContextMenuOptionSpr
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__onHovered public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UIContextMenufunkin.editors.ui.UIContextMenu.UIContextMenuCallbackfunkin.editors.ui.UIContextMenu.UIContextMenuOptionfunkin.editors.ui.UIContextMenu.UIContextMenuOptionSpr
<_HX_SUPER__updateButton public="1" set="method" line="148">
<_HX_SUPER__resize public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<__setSize set="method" line="74" override="1">
<_HX_SUPER____setSize set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UISliceSprite
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__drawSuper public="1" set="method" line="148">
<_HX_SUPER__drawMembers public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__updateButton public="1" set="method" line="148">* Called whenever the sprite is being hovered by the mouse.
<_HX_SUPER__onHovered public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UISprite
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__updateButtonHandler public="1" set="method" line="148">
<_HX_SUPER__updateRectButtonHandler public="1" set="method" line="148">
<_HX_SUPER__tryUpdate public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__openContextMenu public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UIState{ Border : true, Size : 16, FieldWidth : 0, Y : 0, X : 0 }hscript.ClassExtendMacro.build(){ color : 0xFFFFFFFF, size : 15 }hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UITextfalsehscript.ClassExtendMacro.build()nullhscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UITopMenufunkin.editors.ui.UITopMenu.UITopMenuButton
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__onHovered public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UITopMenufunkin.editors.ui.UITopMenu.UITopMenuButton{ y : 0, x : 0 }`. Also checks childrens.
* @param topMenuOptions]]>hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UIUtil[]new CustomShader("engine/editorBlur")hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__onSubstateOpen public="1" set="method" line="148">
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.editors.ui.UIWarningSubstatefunkin.editors.ui.UIWarningSubstate.WarningCamShaderfunkin.editors.ui.UIWarningSubstate.WarningButton
<__stunnedTime expr="0">
0
<__lockAnimThisFrame expr="false">
falsefalsefalsefalsefalse"bf"Math.NEGATIVE_INFINITY4falsenull"bf-dead"new FlxPoint(0, 0)new FlxPoint(0, 0){ Frame : 0, Reversed : false, Force : true, Context : SING, suffix : "" }
<__baseFlipped expr="false">
falsefalsefalse* FOR GF DANCING SHITtrue* Whenever the character should dance on beat or not. Set to false for `gf`, since the dance animation is automatically handled by PlayState.1* Interval at which the character will dance (higher number = slower dance)
<__reverseDrawProcedure expr="false">
false
<__drawingShadowFrame expr="false">
false
<__oldColorTransform expr="new ColorTransform()">
new ColorTransform(){ Frame : 0, Reversed : false, Context : NONE, Force : false }{ switchAnims : true, isPlayer : false, character : "bf" }hscript.ClassExtendMacro.build()funkin.desktop.editors.CharacterEditorfunkin.game.StrumLinefunkin.game.PlayStatehscript.ClassExtendMacro.build()
<_HX_SUPER__set_stunned set="method" line="148">{ Frame : 0, Reversed : false, Force : true, Context : SING, suffix : "" }
<_HX_SUPER__playSingAnim public="1" set="method" line="148">
{ Frame : 0, Reversed : false, Force : true, Context : SING, suffix : "" }
<_HX_SUPER__update set="method" line="148">* FOR GF DANCING SHIT
<_HX_SUPER__dance public="1" set="method" line="148">
<_HX_SUPER__tryDance public="1" set="method" line="148">
<_HX_SUPER__beatHit public="1" set="method" line="148">
<_HX_SUPER__stepHit public="1" set="method" line="148">
<_HX_SUPER__getScreenBounds public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">{ Frame : 0, Reversed : false, Context : NONE, Force : false }
<_HX_SUPER__playAnim public="1" set="method" line="30">
{ Frame : 0, Reversed : false, Context : NONE, Force : false }
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.Characterfunkin.game.Character.CharacterShadowFrame00false{ retrySFX : "gameOverEnd", lossSFX : "gameOverSFX", gameOverSong : "gameOver", player : true, character : "bf-dead" }hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<_HX_SUPER__beatHit set="method" line="148">
<_HX_SUPER__endBullshit set="method" line="30">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.GameOverSubstate* Used for FreeplayState! If you use it elsewhere, prob gonna annoying 1, 20 => 0]]]> Frame Index]]>* Helper for HScript who can't make maps
* @param steps Something like this: `[[0, 1], [20, 0]]`{ isPlayer : false, char : "bf" }hscript.ClassExtendMacro.build()* Helper for HScript who can't make maps
* @param steps Something like this: `[[0, 1], [20, 0]]`
<_HX_SUPER__setHealthSteps public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.HealthIconnew Map()new Map(){ diff : "normal" }{ diff : "normal" }hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.Highscorefunkin.game.Highscore.SongScorefalse{ smoothing : false }hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">{ smoothing : false }
<_HX_SUPER__drawPixels public="1" set="method" line="30">
{ smoothing : false }
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.HudCamera160 * 0.7
<__customNoteTypeExists expr="[]" line="92" static="1">
[]00falsefalsefalsefalse* Whenever that note should be avoided by Botplay.* The note that comes before this one (sustain and not)* The note that comes after this one (sustain and not)* The next sustain after this one"default"* Name of the splash.0falsetrue0nullnull
<__strumCameras public="1" expr="null">
nullhide
<__strum public="1" expr="null">
nullhide
<__noteAngle public="1" expr="0">
0hide""nulltruefalsetrue* Whenever the position of the note should be relative to the strum position or not.
* For example, if this is true, a note at the position 0; 0 will be on the strum, instead of at the top left of the screen.0.51{ sustainOffset : 0, sustainLength : 0, sustain : false }hscript.ClassExtendMacro.build()funkin.game.PlayState
<__loopSprite>0
<__currentlyLooping expr="false">
false{ recursive : false }{ recursive : false }{ Splice : false }hscript.ClassExtendMacro.build()
<_HX_SUPER__addNotes public="1" set="method" line="148">
<_HX_SUPER__sortNotes public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">{ recursive : false }
<_HX_SUPER__forEach public="1" set="method" line="148">
{ recursive : false }{ recursive : false }
<_HX_SUPER__forEachAlive public="1" set="method" line="148">
{ recursive : false }{ Splice : false }
<_HX_SUPER__remove public="1" set="method" line="148">
{ Splice : false }
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.NoteGroup
<_HX_SUPER__set_strumLine set="method" line="148">
<_HX_SUPER__get_mustPress set="method" line="148">
<_HX_SUPER__get_strumID set="method" line="148">
<_HX_SUPER__get_noteType set="method" line="148">
<_HX_SUPER__drawComplex set="method" line="148">
<_HX_SUPER__draw set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<_HX_SUPER__updateSustain public="1" set="method" line="148">
<_HX_SUPER__setClipRect public="1" set="method" line="148">
<_HX_SUPER__set_clipRect set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.Notenull* Current PlayState instance.* SONG DATA (Chart, Metadata)false* Whenever the song is being played in Story Mode.null* The week data of the current week[]* The remaining songs in the Story Mode playlist."normal"* The selected difficulty namefalse* Whenever the week is coming from the mods folder or not.false* Whenever the song has been started with opponent mode on.false// * Whenever the song has been started with co-op mode on.* Previous cam follow.0* Score for the current week.6* Zoom for the pixel assets.* Script Pack of all the scripts being ran.[]* Array of all the players in the stage."gameOver"* Game Over Song. (assets/music/gameOver.ogg)"gameOverSFX"* Game Over Song. (assets/sounds/gameOverSFX.ogg)"gameOverEnd"* Game Over End SFX, used when retrying. (assets/sounds/gameOverEnd.ogg)* Current Stage.true* Whenever the score will save when you beat the song.* Whenever the player can die.Options.ghostTapping* Whenever Ghost Tapping is enabled.* Whenever the opponent can die.0* Current scroll speed for all strums.
* To set a scroll speed for a specific strum, use `strum.scrollSpeed`.* Whenever the game is in downscroll or not. (Can be set)hidehide* Instrumental sound (Inst.ogg).* Vocals sound (Vocals.ogg).* Dad character* Girlfriend character* Boyfriend character* Strum line position0* Number of ratings.* Object defining the camera follow target.* Player strums.* CPU strums.* Shortcut to `playerStrums`.* Shortcut to `cpuStrums`.* Note splashes containertrue* Whenever the vocals should be muted when a note is missed.true* Whenever the player can press 7, 8 or 9 to access the debug menus.false* Whenever cam zooming is enabled, enables on a note hit if not cancelled.4* Interval of cam zooming (beats).
* For example: if set to 4, the camera will zoom every 4 beats.1* How strong the cam zooms should be (defaults to 1)1.35* Maximum amount of zoom for the camera.""* Current song name (lowercase)""* Current stage name* Interval at which Girlfriend dances.1* Current health. Goes from 0 to maxHealth (defaults to 2)2* Maximum health the player can have. Defaults to 2.0* Current combo.!Options.ghostTapping* Whenever the misses should show "Combo Breaks" instead of "Misses"* Health bar background.* Health bar.false* Whenever the music has been generated.false* Whenever the song is currently being started.* Player's icon* Opponent's icon* Camera for the HUD (notes, misses).* Camera for the game (stages, characters)0* The player's current score.0* The player's amount of misses.* The player's accuracy (shortcut to `accuracyPressedNotes / totalAccuracyAmount`).0* The number of pressed notes.0* The total accuracy amount.* FunkinText that shows your score.* FunkinText that shows your amount of misses.* FunkinText that shows your accuracy.1.05* Camera zoom at which the game lerps to.false* Whenever the game is currently in a cutscene or not.isStoryMode* Whenever the game should play the cutscenes. Defaults to whenever the game is currently in Story Mode or not.null* Cutscene script path.null* End cutscene script path.* Last rating (may be null)* Timer for the start countdown[]* Remaining events0* Current camera target. -1 means no automatic camera targetting.5* Length of the intro countdown.[null, "game/ready", "game/set", "game/go"]* Array of sprites for the intro.["intro3", "intro2", "intro1", "introGo"]* Array of sounds for the intro.false* Whenever the game is paused or not.false* Whenever the countdown has started or not.true* Whenever the game can be paused or not.new FlxTextFormat(0xFF888888, false, false, 0)* Format for the accuracy rating.false* Whenever the song is ending or not.* Group containing all of the combo sprites.[null]* Array containing all of the note types names.Options.hitWindow* Hit window, in milliseconds. Defaults to 250ms unless changed in options.
* Base game hit window is 175ms.
<_startCountdownCalled expr="false">
falsehide
<__vocalOffsetViolation expr="0">
0hide[new ComboRating(0, "F", 0xFFFF4444), new ComboRating(0.5, "E", 0xFFFF8844), new ComboRating(0.7, "D", 0xFFFFAA44), new ComboRating(0.8, "C", 0xFFFFFF44), new ComboRating(0.85, "B", 0xFFAAFF44), new ComboRating(0.9, "A", 0xFF88FF44), new ComboRating(0.95, "S", 0xFF44FFFF), new ComboRating(1, "S++", 0xFF44FFFF)]* All combo ratings.""""
<__cachedGraphics expr="[]">
[]* Updates the rating.hidehide* Function used to update Discord Presence.
* This function is dynamic, which means you can do `updateDiscordPresence = function() {}` in scripts.{ prefix : "" }* Starts a cutscene.
* @param prefix Custom prefix. Using `midsong-` will require you to for example rename your video cutscene to `songs/song/midsong-cutscene.mp4` instead of `songs/song/cutscene.mp4`
* @param cutsceneScriptPath Optional: Custom script path.
* @param callback Callback called after the cutscene ended. If equals to `null`, `startCountdown` will be called.hide* Creates a fake countdown.hidehidehidehidehidehide* Returns the Discord RPC icon.
<__songPlaying expr="false">
false
<__wasAutoPause expr="false">
falsehidehidehide* Pauses the game.hide
<__updateNote_event public="1" expr="null">
nullhide* Forces a game over.
* @param character Character which died. Default to `boyfriend`.
* @param deathCharID Character ID (name) for game over. Default to whatever is specified in the character's XML.
* @param gameOverSong Song for the game over screen. Default to `this.gameOverSong` (`gameOver`)
* @param lossSFX SFX at the beginning of the game over (Mic drop). Default to `this.lossSFX` (`gameOverSFX`)
* @param retrySFX SFX played whenever the player retries. Defaults to `retrySFX` (`gameOverEnd`)* Ends the song.* Immediately switches to the next song, or goes back to the Story/Freeplay menu.
<__funcsToExec expr="[]">
[]
<__pressed expr="[]">
[]
<__justPressed expr="[]">
[]
<__justReleased expr="[]">
[]* Misses a note
* @param note Note to miss.
* @param direction Specify a custom direction in case note is null.
* @param player Specify a custom player in case note is null.hide* Hits a note
* @param note Note to hit.hidehidehidehscript.ClassExtendMacro.build()flixel.text.FlxText.FlxTextFormatRangefunkin.game.StrumLinehscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hide
<_HX_SUPER__set_downscroll set="method" line="148">hide
<_HX_SUPER__get_downscroll set="method" line="148">
<_HX_SUPER__get_accuracy set="method" line="148">
<_HX_SUPER__set_accuracy set="method" line="148">* Updates the rating.
<_HX_SUPER__updateRating public="1" set="method" line="148">
<_HX_SUPER__set_maxHealth set="method" line="148">hide
<_HX_SUPER__create public="1" set="method" line="148">hide
<_HX_SUPER__createPost public="1" set="method" line="148">{ prefix : "" }* Starts a cutscene.
* @param prefix Custom prefix. Using `midsong-` will require you to for example rename your video cutscene to `songs/song/midsong-cutscene.mp4` instead of `songs/song/cutscene.mp4`
* @param cutsceneScriptPath Optional: Custom script path.
* @param callback Callback called after the cutscene ended. If equals to `null`, `startCountdown` will be called.
<_HX_SUPER__startCutscene public="1" set="method" line="148">
{ prefix : "" }hide
<_HX_SUPER__startCountdown public="1" set="method" line="30">* Creates a fake countdown.
<_HX_SUPER__countdown public="1" set="method" line="148">hide
<_HX_SUPER__startSong set="method" line="30">
<_HX_SUPER__destroy public="1" set="method" line="148">hide
<_HX_SUPER__generateSong set="method" line="30">hide
<_HX_SUPER__sortByShit set="method" line="148">hide
<_HX_SUPER__openSubState set="method" line="148">hide
<_HX_SUPER__closeSubState set="method" line="148">hide
<_HX_SUPER__onFocus public="1" set="method" line="30">hide
<_HX_SUPER__onFocusLost public="1" set="method" line="30">hide
<_HX_SUPER__resyncVocals set="method" line="30">* Pauses the game.
<_HX_SUPER__pauseGame public="1" set="method" line="148">hide
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__executeEvent public="1" set="method" line="148">* Forces a game over.
* @param character Character which died. Default to `boyfriend`.
* @param deathCharID Character ID (name) for game over. Default to whatever is specified in the character's XML.
* @param gameOverSong Song for the game over screen. Default to `this.gameOverSong` (`gameOver`)
* @param lossSFX SFX at the beginning of the game over (Mic drop). Default to `this.lossSFX` (`gameOverSFX`)
* @param retrySFX SFX played whenever the player retries. Defaults to `retrySFX` (`gameOverEnd`)
<_HX_SUPER__gameOver public="1" set="method" line="148">* Ends the song.
<_HX_SUPER__endSong public="1" set="method" line="30">* Immediately switches to the next song, or goes back to the Story/Freeplay menu.
<_HX_SUPER__nextSong public="1" set="method" line="148">
<_HX_SUPER__registerSmoothTransition public="1" set="method" line="148">
<_HX_SUPER__keyShit set="method" line="30">* Misses a note
* @param note Note to miss.
* @param direction Specify a custom direction in case note is null.
* @param player Specify a custom player in case note is null.
<_HX_SUPER__noteMiss public="1" set="method" line="30">hide
<_HX_SUPER__getNoteType public="1" set="method" line="148">* Hits a note
* @param note Note to hit.
<_HX_SUPER__goodNoteHit public="1" set="method" line="30">hide
<_HX_SUPER__stepHit set="method" line="148">hide
<_HX_SUPER__measureHit set="method" line="148">hide
<_HX_SUPER__beatHit set="method" line="148">
<_HX_SUPER__get_boyfriend set="method" line="148">
<_HX_SUPER__set_boyfriend set="method" line="148">
<_HX_SUPER__get_dad set="method" line="148">
<_HX_SUPER__set_dad set="method" line="148">
<_HX_SUPER__get_gf set="method" line="148">
<_HX_SUPER__set_gf set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.PlayStatefunkin.game.PlayState.ComboRatingfunkin.game.PlayState.PlayStateTransitionData
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.PlayStatefunkin.game.PlayState.ComboRatingfunkin.game.PlayState.PlayStateTransitionDatatrue* Whenever the splash group has successfully loaded or not.* XML data for the note splashes.[]* Animation names sorted by strum IDs.
* Use `getSplashAnim` to get one.
<__splash>* Creates a new Splash group
* @param path Path to the splash data (xml)hscript.ClassExtendMacro.build()
<_HX_SUPER__getSplashAnim public="1" set="method" line="148">
<_HX_SUPER__showOnStrum public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.SplashGroup[]* Map containing all of the splashes group.* Returns a group of splashes, and creates it if it doesn't exist.
* @param path Path to the splashes XML (`Paths.xml('splashes/splash')`)
<_firstDraw expr="true">
true
<__grp>hscript.ClassExtendMacro.build()* Returns a group of splashes, and creates it if it doesn't exist.
* @param path Path to the splashes XML (`Paths.xml('splashes/splash')`)
<_HX_SUPER__getSplashGroup public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__showSplash public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.SplashHandler[][]{ def : false }hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__getSprite public="1" set="method" line="148">
<_HX_SUPER__getCharGroup public="1" set="method" line="148">
<_HX_SUPER__addCharPos public="1" set="method" line="148">{ def : false }
<_HX_SUPER__isCharFlipped public="1" set="method" line="148">
{ def : false }
<_HX_SUPER__applyCharStuff public="1" set="method" line="148">
<_HX_SUPER__beatHit public="1" set="method" line="148">
<_HX_SUPER__stepHit public="1" set="method" line="148">
<_HX_SUPER__measureHit public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.Stagefunkin.game.Stage.StageCharPosfunkin.game.Stage.StageCharPosInfo565.4866776461628Note.swagWidth / 2false-5000nullnull[]{ force : true }hscript.ClassExtendMacro.build()()]]>* Signal that triggers whenever a note is hit. Similar to onPlayerHit and onDadHit, except strumline specific.
* To add a listener, do
* `strumLine.onHit.add(function(e:NoteHitEvent) {});`()]]>* Signal that triggers whenever a note is missed. Similar to onPlayerMiss and onDadMiss, except strumline specific.
* To add a listener, do
* `strumLine.onMiss.add(function(e:NoteHitEvent) {});`()]]>* Signal that triggers whenever a note is being updated. Similar to onNoteUpdate, except strumline specific.
* To add a listener, do
* `strumLine.onNoteUpdate.add(function(e:NoteUpdateEvent) {});`* Array containing all of the characters "attached" to those strums.false* Whenever this strumline is controlled by cpu or not.false* Whenever this strumline is from the opponent side or the player side.null* Controls assigned to this strumline.null* Chart JSON data assigned to this StrumLine (Codename format)null* Whenever Ghost Tapping is enabled.* Group of all of the notes in this strumline. Using `forEach` on this group will only loop through the first notes for performance reasons.0.25
<__updateNote_strum>{ amount : 4 }* Deletes a note from this strumline.
* @param note Note to delete{ opponentSide : true, cpu : false, strumOffset : 0.25 }hscript.ClassExtendMacro.build()
<_HX_SUPER__get_ghostTapping set="method" line="148">
<_HX_SUPER__generate public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__updateNotes public="1" set="method" line="148">
<_HX_SUPER__updateNote public="1" set="method" line="148">{ amount : 4 }
<_HX_SUPER__generateStrums public="1" set="method" line="148">
{ amount : 4 }* Deletes a note from this strumline.
* @param note Note to delete
<_HX_SUPER__deleteNote public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.StrumLine
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__updateNotePosition public="1" set="method" line="148">
<_HX_SUPER__updateSustain public="1" set="method" line="148">
<_HX_SUPER__updatePlayerInput public="1" set="method" line="148">
<_HX_SUPER__press public="1" set="method" line="148">{ force : true }
<_HX_SUPER__playAnim public="1" set="method" line="148">
{ force : true }
<_HX_SUPER__getAnim public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.game.Strum* Gets all the releases from a specific GitHub repository using the GitHub API.
* @param user
* @param repository
* @return Releases{ keepDrafts : false, keepPrereleases : true }* Filters all releases gotten by `getReleases`
* @param releases Releases
* @param keepPrereleases Whenever to keep Pre-Releases.
* @param keepDrafts Whenever to keep Drafts.
* @return Filtered releases.
<__requestOnGitHubServers public="1" set="method" line="58" static="1">
<__requestBytesOnGitHubServers public="1" set="method" line="71" static="1">
<__parseGitHubException set="method" line="84" static="1">hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.github.GitHubExceptionhscript.ClassExtendMacro.build()* Url of the release (GitHub API)* Template URL for asset download link.* ID of the release.* Link to the release on the GitHub website.* Body of the GitHub request (Markdown)* Author of the release* Url for the assets JSON. Also accessible via `GitHubRelease.assets`hscript.ClassExtendMacro.build()* URL to the user on GitHub's servers.* Date of last account update.* Type of the user.* Twitter username of the user. Can be null.* URL on GitHub's API to access this user's starred repositories.* Whenever the user is a GitHub administrator.* Number of public repos this user own.* Number of public gists this user own.* ID of the current node on the GitHub database.* Name of the user.* Username of the user.* ID of the user.* URL to the user on GitHub's website.* Unknown* URL on GitHub's API to access this user's gists.* URL on GitHub's API to access the accounts this user is following.* Number of accounts this user follows.* URL on GitHub's API to access this user's followers.* Number of followers this user have* Date of creation of the account* The company this user belongs to. Can be `null`.* Link to the avatar (profile picture).hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast "User"cast "Organization"hscript.ClassExtendMacro.build()cast "User"cast "Organization"hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.github.GitHub* Returns the defined valueshscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.macros.DefinesMacro* Returns the current commit number* Returns the current commit hashhscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.macros.GitCommitMacrofalsehscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__goToTitle set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.BetaWarningState1* How much time a song stays selected until it autoplays.[]* Array containing all of the songs metadatas0* Currently selected song1* Currently selected difficulty0* Currently selected coop/opponent mode* Text containing the score info (PERSONAL BEST: 0))]]>* Text containing the current coop/opponent mode ([TAB] Co-Op mode)0* Currently lerped score. Is updated to go towards `intendedScore`.0* Destination for the currently lerped score.* Assigned FreeplaySonglist item.* Black background around the score, the difficulty text and the co-op text.* Background.true* Whenever the player can navigate and select* Group containing all of the alphabetsfalse* Whenever the currently selected song is playing.[]* Array containing all of the icons.* FlxInterpolateColor object for smooth transition between Freeplay colors.0* Time elapsed since last autoplay. If this time exceeds `timeUntilAutoplay`, the currently selected song will play.true* Whenever the currently selected song instrumental is playing.null* Path to the currently playing song instrumental.{ force : false, change : 0 }* Changes the current difficulty
* @param change How much to change.
* @param force Force the change if `change` is equal to 0["[TAB] Solo", "[TAB] Opponent Mode", "[TAB] Co-Op Mode", "[TAB] Co-Op Mode (Switched)"]* Array containing all labels for Co-Op / Opponent modes.{ force : false, change : 0 }* Change the current coop mode context.
* @param change How much to change
* @param force Force the change, even if `change` is equal to 0.{ force : false, change : 0 }* Change the current selection.
* @param change How much to change
* @param force Force the change, even if `change` is equal to 0.hscript.ClassExtendMacro.build(){ useTxt : true }[]{ useTxt : true }hscript.ClassExtendMacro.build()
<_HX_SUPER__create set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<_HX_SUPER__select public="1" set="method" line="148">
<_HX_SUPER__convertChart public="1" set="method" line="148">{ force : false, change : 0 }* Changes the current difficulty
* @param change How much to change.
* @param force Force the change if `change` is equal to 0
<_HX_SUPER__changeDiff public="1" set="method" line="148">
{ force : false, change : 0 }{ force : false, change : 0 }* Change the current coop mode context.
* @param change How much to change
* @param force Force the change, even if `change` is equal to 0.
<_HX_SUPER__changeCoopMode public="1" set="method" line="148">
{ force : false, change : 0 }{ force : false, change : 0 }* Change the current selection.
* @param change How much to change
* @param force Force the change, even if `change` is equal to 0.
<_HX_SUPER__changeSelection public="1" set="method" line="148">
{ force : false, change : 0 }
<_HX_SUPER__updateOptionsAlpha set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.FreeplayStatefunkin.menus.FreeplayState.FreeplaySonglist{ useTxt : true }
<_HX_SUPER__getSongsFromSource public="1" set="method" line="148">
{ useTxt : true }
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.FreeplayStatefunkin.menus.FreeplayState.FreeplaySonglistfalsehscript.ClassExtendMacro.build()
<_HX_SUPER__create set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<_HX_SUPER__changeThing set="method" line="30">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.GitarooPause0CoolUtil.coolTextFile(Paths.txt("config/menuItems"))truefalse{ huh : 0 }hscript.ClassExtendMacro.build()
<_HX_SUPER__create set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<_HX_SUPER__switchTo public="1" set="method" line="148">
<_HX_SUPER__selectItem set="method" line="148">{ huh : 0 }
<_HX_SUPER__changeItem set="method" line="148">
{ huh : 0 }
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.MainMenuState[]0{ force : false }hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">{ force : false }
<_HX_SUPER__changeSelection public="1" set="method" line="148">
{ force : false }
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.ModSwitchMenu["Resume", "Restart Song", "Change Controls", "Options", "Exit to menu"]0PlayState.instance
<__cancelDefault expr="false">
false{ change : 0 }{ y : 0, x : 0 }hscript.ClassExtendMacro.build()
<_HX_SUPER__create set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<_HX_SUPER__selectOption public="1" set="method" line="148">
<_HX_SUPER__destroy set="method" line="148">{ change : 0 }
<_HX_SUPER__changeSelection set="method" line="30">
{ change : 0 }
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.PauseSubState[][]00[]00true[]
<__lastDifficultyTween>{ force : false }
<__oldDiffName expr="null">
null{ force : false }hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()nullhscript.ClassExtendMacro.build()0falsehscript.ClassExtendMacro.build()
<_HX_SUPER__changeCharacter public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.StoryMenuStatefunkin.menus.StoryMenuState.WeekDatafunkin.menus.StoryMenuState.WeekSongfunkin.menus.StoryMenuState.MenuCharacterfunkin.menus.StoryMenuState.MenuCharacterSpritefunkin.menus.StoryMenuState.MenuItem
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__goBack public="1" set="method" line="148">{ force : false }
<_HX_SUPER__changeWeek public="1" set="method" line="148">
{ force : false }{ force : false }
<_HX_SUPER__changeDifficulty public="1" set="method" line="148">
{ force : false }
<_HX_SUPER__loadXMLs public="1" set="method" line="148">
<_HX_SUPER__addCharacter public="1" set="method" line="148">
<_HX_SUPER__getWeeksFromSource public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__selectWeek public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.StoryMenuStatefunkin.menus.StoryMenuState.WeekDatafunkin.menus.StoryMenuState.WeekSongfunkin.menus.StoryMenuState.MenuCharacterfunkin.menus.StoryMenuState.MenuCharacterSpritefunkin.menus.StoryMenuState.MenuItem
<_HX_SUPER__startFlashing public="1" set="method" line="30">
<_HX_SUPER__update set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.StoryMenuStatefunkin.menus.StoryMenuState.WeekDatafunkin.menus.StoryMenuState.WeekSongfunkin.menus.StoryMenuState.MenuCharacterfunkin.menus.StoryMenuState.MenuCharacterSpritefunkin.menus.StoryMenuState.MenuItemfalsefalse[]falsefalse16 new IntroText(["ninjamuffin99", "phantomArcade", "kawaisprite", "evilsk8er"]), 3 => new IntroText(["ninjamuffin99", "phantomArcade", "kawaisprite", "evilsk8er", "present"]), 4 => new IntroText(), 5 => new IntroText(["In association", "with"]), 7 => new IntroText(["In association", "with", "newgrounds", { name : "newgroundsLogo", path : "menus/titlescreen/newgrounds_logo", scale : 0.8 }]), 8 => new IntroText(), 9 => new IntroText(["{introText1}"]), 11 => new IntroText(["{introText1}", "{introText2}"]), 12 => new IntroText(), 13 => new IntroText(["Friday"]), 14 => new IntroText(["Friday", "Night"]), 15 => new IntroText(["Friday", "Night", "Funkin'"])]]]>falsehscript.ClassExtendMacro.build()funkin.mods.ModsFolderfunkin.system.MainState[]hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="30">
<_HX_SUPER__startIntro set="method" line="148">
<_HX_SUPER__getIntroTextShit public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="148">
<_HX_SUPER__pressEnter public="1" set="method" line="148">
<_HX_SUPER__goToMainMenu set="method" line="148">
<_HX_SUPER__createCoolText public="1" set="method" line="148">
<_HX_SUPER__addMoreText public="1" set="method" line="148">
<_HX_SUPER__deleteCoolText public="1" set="method" line="148">
<_HX_SUPER__beatHit set="method" line="148">
<_HX_SUPER__loadXML public="1" set="method" line="148">
<_HX_SUPER__skipIntro public="1" set="method" line="30">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.TitleStatefunkin.menus.TitleState.IntroTextfunkin.menus.TitleState.TitleStateImage
<_HX_SUPER__show public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.menus.TitleStatefunkin.menus.TitleState.IntroTextfunkin.menus.TitleState.TitleStateImage* COPIED DIRECTLY FROM LIME SOURCE CAUSE LIME IS SO FUCKING DUMB!!hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.mods.LimeLibrarySymbol
<_parsedAsset public="1">
<__isCacheValid set="method">
{ isLocal : false }
<__parseAsset set="method">hscript.ClassExtendMacro.build()()]]>hide* INTERNAL - Only use when editing source mods!!null* Current mod folder. Will affect `Paths`."./mods/"* Path to the `mods` folder."./addons/"* Path to the `addons` folder.
<__firstTime expr="true" line="44" static="1">
true* Whenever its the first time mods has been reloaded.* Initialises `mods` folder by adding callbacks and such.* Switches mod - unloads all the other mods, then load this one.
* @param libName{ force : false }* Loads a mod library from the specified path. Supports folders and zips.
* @param modName Name of the mod
* @param force Whenever the mod should be reloaded if it has already been loaded{ force : false }{ force : false }{ force : false }{ force : false }hscript.ClassExtendMacro.build(){ rootPath : null }{ rootPath : null }{ rootPath : null }{ rootPath : null }()]]>()]]>()]]>()]]>()]]>()]]>>()]]>>()]]>()]]>()]]>()]]>()]]>
<__assetLoaded set="method" line="617">
<__cacheBreak set="method" line="659">
<__fromBundle set="method" line="664">
{ manifest : null }
<__fromManifest set="method" line="711">
<__resolvePath set="method" line="778">
"tags=\"haxe,release\""lime.text.Fontlime.utils.Assetstrue"assets/"[]
<_parsedAsset public="1" expr="null">
null
<__getFiles public="1" set="method" line="88">
{ folders : false }
<__isCacheValid set="method" line="113">
{ isLocalCache : false }
<__parseAsset set="method" line="134">hscript.ClassExtendMacro.build()
<_HX_SUPER__getEditedTime public="1" set="method" line="148">
<_HX_SUPER__getAudioBuffer public="1" set="method" line="148">
<_HX_SUPER__getBytes public="1" set="method" line="148">
<_HX_SUPER__getFont public="1" set="method" line="148">
<_HX_SUPER__getImage public="1" set="method" line="148">
<_HX_SUPER__getPath public="1" set="method" line="148">
<__getFiles public="1" set="method" line="74" override="1">
{ folders : false }
<_HX_SUPER____getFiles public="1" set="method" line="148">
{ folders : false }
<_HX_SUPER__exists public="1" set="method" line="148">
<_HX_SUPER__getAssetPath set="method" line="148">
<__isCacheValid set="method" line="74" override="1">
{ isLocalCache : false }
<_HX_SUPER____isCacheValid set="method" line="148">
{ isLocalCache : false }
<__parseAsset set="method" line="74" override="1">
<_HX_SUPER____parseAsset set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.mods.ModsFolderLibrary
<__interp>hscript.ClassExtendMacro.build()hidefunkin.mods.ModsFolderfalse"assets/"[]
<_parsedAsset public="1">
<__parseAsset public="1" set="method" line="127">
<__isCacheValid public="1" set="method" line="133">
{ isLocal : false }hscript.ClassExtendMacro.build()
<_HX_SUPER__getAudioBuffer public="1" set="method" line="148">
<_HX_SUPER__getBytes public="1" set="method" line="148">
<_HX_SUPER__getFont public="1" set="method" line="148">
<_HX_SUPER__getImage public="1" set="method" line="148">
<__parseAsset public="1" set="method" line="74" override="1">
<_HX_SUPER____parseAsset public="1" set="method" line="148">
<__isCacheValid public="1" set="method" line="74" override="1">
{ isLocal : false }
<_HX_SUPER____isCacheValid public="1" set="method" line="148">
{ isLocal : false }
<_HX_SUPER__exists public="1" set="method" line="148">
<_HX_SUPER__getAssetPath set="method" line="148">
<_HX_SUPER__getFiles public="1" set="method" line="148">
<_HX_SUPER__getFolders public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.mods.ZipFolderLibrary
<__save public="1" static="1">
hide
<__eventAdded expr="false" line="15" static="1">
falsehidetrue* SETTINGSfalsetruetruetruetruetruetrue1truefalsefalsetrue250120truenulltrue* EDITORS SETTINGStrue120null* QOL FEATURES"normal"false[A]* PLAYER 1 CONTROLS[S][W][D][A][S][W][D][ENTER][BACKSPACE][ENTER][R][TAB][LEFT]* PLAYER 2 CONTROLS (ALT)[DOWN][UP][RIGHT][LEFT][DOWN][UP][RIGHT][SPACE][ESCAPE][ESCAPE][][]* SOLO GETTERS
<__flush public="1" set="method" line="9" static="1">
<__load public="1" set="method" line="9" static="1">hscript.ClassExtendMacro.build()funkin.macros.OptionsMacro.build()funkin.macros.FunkinSaveMacro.build("__save", "__flush", "__load")[{ name : "Notes", settings : [{ name : "{noteLeft}", control : "NOTE_LEFT" }, { name : "{noteDown}", control : "NOTE_DOWN" }, { name : "{noteUp}", control : "NOTE_UP" }, { name : "{noteRight}", control : "NOTE_RIGHT" }] }, { name : "UI", settings : [{ name : "Left", control : "LEFT" }, { name : "Down", control : "DOWN" }, { name : "Up", control : "UP" }, { name : "Right", control : "RIGHT" }, { name : "Accept", control : "ACCEPT" }, { name : "Back", control : "BACK" }, { name : "Reset", control : "RESET" }, { name : "Pause", control : "PAUSE" }] }, { name : "Engine", settings : [{ name : "Switch Mod", control : "SWITCHMOD" }] }]false0true[0xFFC24B99, 0xFF00FFFF, 0xFF12FA05, 0xFFF9393F]new FlxObject(0, 0, 2, 2)falsetruehscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()", desc : "Change Gameplay options such as Downscroll, Scroll Speed, Naughtyness...", state : GameplayOptions }, { name : "Appearance >", desc : "Change Appearance options such as Flashing menus...", state : AppearanceOptions }, { name : "Miscellaneous >", desc : "Use this menu to reset save data or engine settings.", state : MiscOptions }]]]>* XML STUFFhscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__exit public="1" set="method" line="148">* XML STUFF
<_HX_SUPER__parseOptionsFromXML public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.OptionsMenu
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__close public="1" set="method" line="148">
<_HX_SUPER__changeSelection public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.OptionsScreen
<__subMenuClose set="method" line="48">hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__add public="1" set="method" line="148">
<_HX_SUPER__insert public="1" set="method" line="148">
<_HX_SUPER__setup public="1" set="method" line="148">
<__subMenuClose set="method" line="74" override="1">
<_HX_SUPER____subMenuClose set="method" line="148">
<_HX_SUPER__clearLastMenu public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.OptionsTree
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.Options00()]]>()]]>hscript.ClassExtendMacro.build()
<_HX_SUPER__setKeyboardScheme public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.PlayerSettingshscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__createPost public="1" set="method" line="148">
<_HX_SUPER__onMenuChange public="1" set="method" line="148">
<_HX_SUPER__exit public="1" set="method" line="148">
<_HX_SUPER__onMenuClose public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.TreeMenufunkin.options.TreeMenu.OptionCategoryfunkin.options.TreeMenu.OptionTypeDef
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.categories.AppearanceOptions
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.categories.GameplayOptions
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.categories.MiscOptionstruehscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.keybinds.ChangeKeybindSubState-1false{ p2 : false }hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">{ p2 : false }
<_HX_SUPER__changeKeybind public="1" set="method" line="148">
{ p2 : false }
<_HX_SUPER__updateText public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.keybinds.KeybindSetting
<_HX_SUPER__create public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__changeSelection public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.keybinds.KeybindsOptionsfalsehscript.ClassExtendMacro.build()
<__text>hscript.ClassExtendMacro.build() FlxPoint.get(1, -1), "unchecked" => FlxPoint.get(-12, -72), "checking" => FlxPoint.get(12, 30)]]]>FlxPoint.get()hscript.ClassExtendMacro.build()
<_HX_SUPER__get_selected set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<_HX_SUPER__onSelect public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.type.Checkboxhscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.type.IconOption
<_HX_SUPER__get_controls set="method" line="148">
<_HX_SUPER__onSelect public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.type.OptionType
<_HX_SUPER__get_text set="method" line="148">
<_HX_SUPER__set_text set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__onSelect public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.options.type.TextOption0""0"penis"* Class used for saves WITHOUT going through the struggle of type checks
* Just add your save variables the way you would do in the Options.hx file.
* The macro will automatically generate the `flush` and `load` functions.hscript.ClassExtendMacro.build()funkin.macros.FunkinSaveMacro.build("save", "flush", "load")
<__interp>hscript.ClassExtendMacro.build()hidefunkin.saves.FunkinSave[]* Use "static var thing = true;" in hscript to use those!!
* are reset every mod switch so once you're done with them make sure to make them null!!["hx", "hscript", "hsc", "hxs", "lua"]* All available script extensionsnull* Currently executing script.* Creates a script from the specified asset path. The language is automatically determined.
* @param path Path in assets* Script name (with extension)null* Path to the script.* Loads the script* HSCRIPT ONLY FOR NOW
* Sets the "public" variables map for ScriptPack* Hot-reloads the script, if possible* Traces something as this script.* Calls the function `func` defined in the script.
* @param func Name of the function
* @param parameters (Optional) Parameters of the function.
* @return Result (if void, then null)* Sets a script's parent object so that its properties can be accessed easily. Ex: Passing `PlayState.instance` will allow `boyfriend` to be typed instead of `PlayState.instance.boyfriend`.
* @param variable Parent variable.* Gets the variable `variable` from the script's variables.
* @param variable Name of the variable.
* @return Variable (or null if it doesn't exists)* Gets the variable `variable` from the script's variables.
* @param variable Name of the variable.
* @return Variable (or null if it doesn't exists)* Shows an error from this script.
* @param text Text of the error (ex: Null Object Reference).
* @param additionalInfo Additional information you could provide.* PRIVATE HANDLERS - DO NOT TOUCH* Creates a new instance of the script class.
* @param path* Class used for scripting.hscript.ClassExtendMacro.build()[]* Simple class for empty scripts or scripts whose language isn't imported yet.hscript.ClassExtendMacro.build()
<_HX_SUPER__get public="1" set="method" line="148">
<_HX_SUPER__set public="1" set="method" line="148">
<_HX_SUPER__onCall public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.DummyScript[][]hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.EventManager* Class for THE Global Script, aka script that runs in the background at all times.hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.GlobalScriptnull
<__importedPaths>
<_errorHandler set="method" line="86">hscript.ClassExtendMacro.build()
<_HX_SUPER__onCreate public="1" set="method" line="148">
<_HX_SUPER__importFailedCallback set="method" line="148">
<_errorHandler set="method" line="74" override="1">
<_HX_SUPER___errorHandler set="method" line="148">
<_HX_SUPER__setParent public="1" set="method" line="148">
<_HX_SUPER__onLoad public="1" set="method" line="148">
<_HX_SUPER__reload public="1" set="method" line="148">
<_HX_SUPER__onCall set="method" line="148">
<_HX_SUPER__get public="1" set="method" line="148">
<_HX_SUPER__set public="1" set="method" line="148">
<_HX_SUPER__trace public="1" set="method" line="148">
<_HX_SUPER__setPublicMap public="1" set="method" line="148">
<_HX_SUPER__onDestroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.HScripthscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.ModStatehscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.ModSubState
<__variables>null* Return value of the last call.true* Whenever the current call has ended.hscript.ClassExtendMacro.build()
<_HX_SUPER__call public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.MultiThreadedScript[][][]null* Sends an event to every single script, and returns the event.
* @param func Function to call
* @param event Event (will be the first parameter of the function)
* @return (modified by scripts)
<__configureNewScript set="method" line="115">hscript.ClassExtendMacro.build()CancellableEvent
<_HX_SUPER__load public="1" set="method" line="148">
<_HX_SUPER__contains public="1" set="method" line="148">
<_HX_SUPER__getByPath public="1" set="method" line="148">
<_HX_SUPER__getByName public="1" set="method" line="148">
<_HX_SUPER__importScript public="1" set="method" line="148">
<_HX_SUPER__call public="1" set="method" line="148">
<_HX_SUPER__get public="1" set="method" line="148">
<_HX_SUPER__reload public="1" set="method" line="148">
<_HX_SUPER__set public="1" set="method" line="148">
<_HX_SUPER__setParent public="1" set="method" line="148">
<_HX_SUPER__onDestroy public="1" set="method" line="148">
<_HX_SUPER__onCreate public="1" set="method" line="148">
<_HX_SUPER__add public="1" set="method" line="148">
<_HX_SUPER__remove public="1" set="method" line="148">
<_HX_SUPER__insert public="1" set="method" line="148">
<__configureNewScript set="method" line="74" override="1">
<_HX_SUPER____configureNewScript set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.ScriptPack* Loads the script
<_HX_SUPER__load public="1" set="method" line="148">* HSCRIPT ONLY FOR NOW
* Sets the "public" variables map for ScriptPack
<_HX_SUPER__setPublicMap public="1" set="method" line="148">* Hot-reloads the script, if possible
<_HX_SUPER__reload public="1" set="method" line="148">* Traces something as this script.
<_HX_SUPER__trace public="1" set="method" line="148">* Calls the function `func` defined in the script.
* @param func Name of the function
* @param parameters (Optional) Parameters of the function.
* @return Result (if void, then null)
<_HX_SUPER__call public="1" set="method" line="148">* Sets a script's parent object so that its properties can be accessed easily. Ex: Passing `PlayState.instance` will allow `boyfriend` to be typed instead of `PlayState.instance.boyfriend`.
* @param variable Parent variable.
<_HX_SUPER__setParent public="1" set="method" line="148">* Gets the variable `variable` from the script's variables.
* @param variable Name of the variable.
* @return Variable (or null if it doesn't exists)
<_HX_SUPER__get public="1" set="method" line="148">* Gets the variable `variable` from the script's variables.
* @param variable Name of the variable.
* @return Variable (or null if it doesn't exists)
<_HX_SUPER__set public="1" set="method" line="30">* Shows an error from this script.
* @param text Text of the error (ex: Null Object Reference).
* @param additionalInfo Additional information you could provide.
<_HX_SUPER__error public="1" set="method" line="30">* PRIVATE HANDLERS - DO NOT TOUCH
<_HX_SUPER__onCall set="method" line="148">
<_HX_SUPER__onCreate public="1" set="method" line="148">
<_HX_SUPER__onLoad public="1" set="method" line="148">
<_HX_SUPER__onDestroy public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.scripting.Scriptfalsehide
<__continueCalls expr="true">
truehide{ }* Additional data if used in scripts{ c : false }* Prevents default action from occurring.
* @param c Whenever the scripts following this one should be called or not. (Defaults to `true`){ c : true }hide* Returns a string representation of the event, in this format:
* `[CancellableEvent]`
* `[CancellableEvent (Cancelled)]`
* @return String* Creates a new cancellable event.
* This allows scripts to call `cancel()` to cancel the event.hscript.ClassExtendMacro.build()ScriptPackfunkin.macros.EventMacro.build()* Final camera position.* Currently focused strumline.* Number of focused charactersfunkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* At which count the countdown is. Normally goes 0-1-2-3-4 unless `PlayState.instance.introLength` is changed.* Volume at which the intro countdown sound will play.* Path of the intro sound that'll be played.* Path to the sprite path that'll be shown.* Scale of the sprite.* Whenever antialiasing is enabled or not.* Created sprite, only available in `onPostCountdown`* Created tween for the sprite, only available in `onPostCountdown`* Created sound, only available in `onPostCountdown`funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()Default animation that will be playedIn which direction the animation will be playedThe suffix of the animation (ex: "-alt") - Defaults to ""Context of the animation. Is either equal to `SING` or `MISS`.Whenever the animation will play reversed or not.At what frame the animation will start playingtrueWhenever the animation will play reversed or not.{ force : true }funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Object containing all of the data for the presence. Can be altered.funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Song name that is about to be played* Difficulty name* Whenever opponent mode is enabled or not.* Whenever coop mode is enabled.funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Array containing whenever a specific control is pressed or not.
* For example, `pressed[0]` will return whenever the left strum was pressed.* Array containing whenever a specific control was pressed (not hold) this frame or not.
* For example, `justPressed[0]` will return whenever the left strum was just pressed.* Array containing whenever a specific control was released this frame or not.
* For example, `justReleased[0]` will return whenever the left strum was just released.* Strumline which input is being processed.* ID of the Strumline.funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Value before the change* Value after the change* Amount of changetrue* Whenever the menu SFX should be played.{ playMenuSFX : true }funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Namefunkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Note that is being created* ID of the strum (from 0 to 3)* Note Type (ex: "My Super Cool Note", or "Mine")* ID of the note type.* ID of the player.* Whenever the note will need to be hit by the player* Note sprite, if you only want to replace the sprite.* Note scale, if you only want to replace the scale.* Sing animation suffix. "-alt" for alt anim or "" for normal notes.funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()falsehidefalsehidetruehidetruehidetruehidetruehidetrue* Whenever a miss should be added.true* Whenever a miss should be added.null* Whenever ratings should be shown or not.* Note that has been pressed* Character that pressed the note.* Characters that pressed the note.* Whenever the Character is a player* Note Type name (null if default note)* Suffix of the animation. "-alt" for alt notes, "" for normal ones.* Prefix of the rating sprite path. Defaults to "game/score/"* Suffix of the rating sprite path.* Direction of the press (0 = Left, 1 = Down, 2 = Up, 3 = Right)* Score gained after note press.* Accuracy gained from pressing this note. From 0 to 1. null means no accuracy is gained.* The amount of health that'll be gained from pressing that note. If called from `onPlayerMiss`, the value will be negative."sick"* Rating name. Defaults to "sick", "good", "bad" and "shit". Customisable.false* Whenever a splash should be shown when the note is hit.0.5* Scale of combo numbers.true* Whenever antialiasing should be enabled on combo number.0.7* Scale of ratings.true* Whenever antialiasing should be enabled on ratings.true* Whenever the animation should be forced to play.* Prevents the default sing animation from being played.hide* Prevents the note from being deleted.hide* Prevents the vocals volume from being set to 1 after pressing the note.hide* Prevents the vocals volume from being muted in case its a parameter of `onPlayerMiss`hide* Prevents the camera zoom every 4 beats from enabling.hide* Prevents the sustain tail (the last one) from being automatically hit when the sustain before it is hit.hide* Prevents the strum from glowing after this note has been pressed.hide{ forceAnim : true, ratingAntialiasing : true, ratingScale : 0.7, numAntialiasing : true, numScale : 0.5, showSplash : false, rating : "sick", showRating : null, countAsCombo : true, misses : true }funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()
<__updateHitWindow public="1" expr="true">
truehide
<__autoCPUHit public="1" expr="true">
truehide
<__reposNote public="1" expr="true">
truehide* Note that is being updated* Time elapsed since last frame* Note's strum (can be changed)* Cancels the hit window update.hide* Cancels the automatic CPU hit.hide* Cancels the note position update (note will freeze).hidefunkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Music that is going to be played* All option names* CANCEL this event to prevent default behaviour!funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()Name of the animation that's going to be played.Whenever the animation will be forced or not.Whenever the animation will play in reverse or not0The frame at which the animation will start playingContext of the animation{ startingFrame : 0 }funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()Contains all contexts possible for `PlayAnimEvent`.hscript.ClassExtendMacro.build()cast nullNo context was given for the animation.
The character won't dance until the animation is finishedcast "SING"Whenever a note is hit and a sing animation will be played.
The character will only dance after their holdTime is reached.cast "DANCE"Whenever a dance animation is played.
The character's dancing wont be blocked.cast "MISS"Whenever a note is missed and a miss animation will be played.
Only for scripting, since it has the same effects as SING.cast "LOCK"Locks the character's animation.
Prevents the character from dancing, even if the animation ended.hscript.ClassExtendMacro.build()cast nullNo context was given for the animation.
The character won't dance until the animation is finishedcast "SING"Whenever a note is hit and a sing animation will be played.
The character will only dance after their holdTime is reached.cast "DANCE"Whenever a dance animation is played.
The character's dancing wont be blocked.cast "MISS"Whenever a note is missed and a miss animation will be played.
Only for scripting, since it has the same effects as SING.cast "LOCK"Locks the character's animation.
Prevents the character from dancing, even if the animation ended.hscript.ClassExtendMacro.build()X positionY positionfunkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()New comboOld combo (may be null)funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* New width* New height* Old width (may be null)* Old height (may be null)funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()Note that is affected.funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Substate that is about to be opened/closedfunkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()
<__doAnimation public="1" expr="true">
truehide* The strum that is being createds
* Player ID* Strum ID, for the sprite."game/notes/default"* Sprite path, in case you only want to change the sprite.* Cancels the animation that makes the strum "land" in the strumline.hide{ sprite : "game/notes/default" }funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()* Week that is going to be selected* The difficulty that has been selected* At which emplacement the week is. Goes from 0 to the number of weeks - 1.* At which emplacement the difficulty is. Goes from 0 to the number of weeks - 1.funkin.macros.EventMacro.build()funkin.macros.EventMacro.build()hscript.ClassExtendMacro.build()
<__instanceFields expr="Type.getInstanceFields(FunkinShader)" line="26" static="1">
Type.getInstanceFields(FunkinShader)"120"
<__initGL set="method" line="70" override="1">
<__processGLData set="method" line="184" override="1">
{ glslVer : "120" }* Creates a new shader from the specified fragment and vertex source.
* Accepts `#pragma header`.
* @param frag Fragment source (pass `null` to use default)
* @param vert Vertex source (pass `null` to use default)
* @param glslVer Version of GLSL to use (defaults to 120)openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()hscript.ClassExtendMacro.build()openfl.display3D.Context3Dopenfl.display3D.Program3Dopenfl.display.ShaderInputopenfl.display.ShaderParameter{ glslVersion : "120" }* Creates a new custom shader
* @param name Name of the frag and vert files.
* @param glslVersion GLSL version to use. Defaults to `120`.* Class for custom shaders.
*
* To create one, create a `shaders` folder in your assets/mod folder, then add a file named `my-shader.frag` or/and `my-shader.vert`.
*
* Non-existent shaders will only load the default one, and throw a warning in the console.
*
* To access the shader's uniform variables, use `shader.variable`openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()hscript.ClassExtendMacro.build()
<__interp>openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()hscript.ClassExtendMacro.build()hidefunkin.shaders.CustomShader 0.0)\r\n\t{\r\n\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t}\r\n\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n}\r\n\r\nuniform vec4 _camSize;\r\n\r\nfloat map(float value, float min1, float max1, float min2, float max2) {\r\n\treturn min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n}\r\n\r\nvec2 getCamPos(vec2 pos) {\r\n\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\treturn vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n}\r\nvec2 camToOg(vec2 pos) {\r\n\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\treturn vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n}\r\nvec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n\treturn flixel_texture2D(bitmap, camToOg(pos));\r\n}"]]> 0.0) {\r\n\r\n\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\r\n\t} else {\r\n\r\n\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n\t}\r\n\r\n} else {\r\n\r\n\tgl_FragColor = color * openfl_Alphav;\r\n\r\n}"]]>"attribute float openfl_Alpha;\r\nattribute vec4 openfl_ColorMultiplier;\r\nattribute vec4 openfl_ColorOffset;\r\nattribute vec4 openfl_Position;\r\nattribute vec2 openfl_TextureCoord;\r\n\r\nvarying float openfl_Alphav;\r\nvarying vec4 openfl_ColorMultiplierv;\r\nvarying vec4 openfl_ColorOffsetv;\r\nvarying vec2 openfl_TextureCoordv;\r\n\r\nuniform mat4 openfl_Matrix;\r\nuniform bool openfl_HasColorTransform;\r\nuniform vec2 openfl_TextureSize;""openfl_Alphav = openfl_Alpha;\r\nopenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\nif (openfl_HasColorTransform) {\r\n\r\n\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n}\r\n\r\ngl_Position = openfl_Matrix * openfl_Position;""#pragma header\r\n\r\nattribute float alpha;\r\nattribute vec4 colorMultiplier;\r\nattribute vec4 colorOffset;\r\nuniform bool hasColorTransform;\r\n\r\nvoid main(void)\r\n{\r\n\t#pragma body\r\n\r\n\topenfl_Alphav = openfl_Alpha * alpha;\r\n\r\n\tif (hasColorTransform)\r\n\t{\r\n\t\topenfl_ColorOffsetv = colorOffset / 255.0;\r\n\t\topenfl_ColorMultiplierv = colorMultiplier;\r\n\t}\r\n}""#pragma header\r\n\r\nvoid main(void)\r\n{\r\n\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n}"hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.shaders.FunkinShaderfunkin.shaders.FunkinShader.ShaderTemplatesfunkin.shaders.FunkinShader.ShaderTypeException
<_HX_SUPER__set_glFragmentSource set="method" line="148">
<_HX_SUPER__set_glVertexSource set="method" line="148">
<__initGL set="method" line="110" override="1">
<_HX_SUPER____initGL set="method" line="30">
<__processGLData set="method" line="110" override="1">
<_HX_SUPER____processGLData set="method" line="30">
<_HX_SUPER__hget public="1" set="method" line="148">
<_HX_SUPER__hset public="1" set="method" line="148">
<__interp>openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()hscript.ClassExtendMacro.build()hidefunkin.shaders.FunkinShaderfunkin.shaders.FunkinShader.ShaderTemplatesfunkin.shaders.FunkinShader.ShaderTypeException
<__interp>hscript.ClassExtendMacro.build()hidefunkin.shaders.FunkinShaderfunkin.shaders.FunkinShader.ShaderTemplatesfunkin.shaders.FunkinShader.ShaderTypeException[]
<__defaultLibraries expr="[]">
[]funkin.system.Mainfunkin.system.MainState{ source : BOTH }{ source : BOTH }{ source : BOTH }{ source : BOTH }{ source : BOTH }hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast truecast falsecast nullhscript.ClassExtendMacro.build()cast truecast falsecast nullhscript.ClassExtendMacro.build()
<_HX_SUPER__removeLibrary public="1" set="method" line="148">{ source : BOTH }
<_HX_SUPER__existsSpecific public="1" set="method" line="148">
{ source : BOTH }{ source : BOTH }
<_HX_SUPER__getSpecificPath public="1" set="method" line="148">
{ source : BOTH }{ source : BOTH }
<_HX_SUPER__getFiles public="1" set="method" line="148">
{ source : BOTH }{ source : BOTH }
<_HX_SUPER__getFolders public="1" set="method" line="148">
{ source : BOTH }{ source : BOTH }
<_HX_SUPER__getSpecificAsset public="1" set="method" line="148">
{ source : BOTH }
<_HX_SUPER__shouldSkipLib set="method" line="148">
<_HX_SUPER__isLocal public="1" set="method" line="148">
<_HX_SUPER__unloadLibraries public="1" set="method" line="148">
<_HX_SUPER__reset public="1" set="method" line="148">
<_HX_SUPER__addLibrary public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.AssetsLibraryListfunkin.system.AssetsLibraryList.AssetSourcefunkin.system.AssetsLibraryList.AssetSourcehscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.CommandLineHandler* ...
* @authorhscript.ClassExtendMacro.build()new FlxTypedSignal()* FlxSignalsnew FlxTypedSignal()new FlxTypedSignal()100* Current BPM((60 / bpm) * 1000)* Current Crochet (time per beat), in milliseconds.crochet / 4* Current StepCrochet (time per step), in milliseconds.4* Number of beats per mesure (top number in time signature). Defaults to 4.4* Number of steps per beat (bottom number in time signature). Defaults to 4.* Current position of the song, in milliseconds.0* Current step0* Current beat0* Current measure0* Current step, as a `Float` (ex: 4.94, instead of 4)0* Current beat, as a `Float` (ex: 1.24, instead of 1)0* Current measure, as a `Float` (ex: 1.24, instead of 1)0hide0hide[]* Array of all BPM changes that have been mapped.* Maps BPM changes from a song.
* @param song Song to map BPM changes from.
<__updateSongPos set="method" line="153" static="1">
<__lastChange static="1">
<__updateBeat static="1">
<__updateMeasure static="1">{ stepsPerBeat : 4, beatsPerMesure : 4 }hidehscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.Conductor.BPMChangeEventfunkin.system.Conductorhscript.ClassExtendMacro.build()cast "up"cast "left"cast "right"cast "down"cast "up-press"cast "left-press"cast "right-press"cast "down-press"cast "up-release"cast "left-release"cast "right-release"cast "down-release"cast "note-up"cast "note-left"cast "note-right"cast "note-down"cast "note-up-press"cast "note-left-press"cast "note-right-press"cast "note-down-press"cast "note-up-release"cast "note-left-release"cast "note-right-release"cast "note-down-release"cast "accept"cast "back"cast "pause"cast "reset"cast "cheat"cast "switchmod"hscript.ClassExtendMacro.build()cast "up"cast "left"cast "right"cast "down"cast "up-press"cast "left-press"cast "right-press"cast "down-press"cast "up-release"cast "left-release"cast "right-release"cast "down-release"cast "note-up"cast "note-left"cast "note-right"cast "note-down"cast "note-up-press"cast "note-left-press"cast "note-right-press"cast "note-down-press"cast "note-up-release"cast "note-left-release"cast "note-right-release"cast "note-down-release"cast "accept"cast "back"cast "pause"cast "reset"cast "cheat"cast "switchmod"hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()* Since, in many cases multiple actions should use similar keys, we don't want the
* rebinding UI to list every action. ActionBinders are what the user perceives as
* an input so, for instance, they can't set jump-press and jump-release to different keys.hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_up expr="new FlxActionDigital(Action.UP)">
new FlxActionDigital(Action.UP)
<_left expr="new FlxActionDigital(Action.LEFT)">
new FlxActionDigital(Action.LEFT)
<_right expr="new FlxActionDigital(Action.RIGHT)">
new FlxActionDigital(Action.RIGHT)
<_down expr="new FlxActionDigital(Action.DOWN)">
new FlxActionDigital(Action.DOWN)
<_upP expr="new FlxActionDigital(Action.UP_P)">
new FlxActionDigital(Action.UP_P)
<_leftP expr="new FlxActionDigital(Action.LEFT_P)">
new FlxActionDigital(Action.LEFT_P)
<_rightP expr="new FlxActionDigital(Action.RIGHT_P)">
new FlxActionDigital(Action.RIGHT_P)
<_downP expr="new FlxActionDigital(Action.DOWN_P)">
new FlxActionDigital(Action.DOWN_P)
<_upR expr="new FlxActionDigital(Action.UP_R)">
new FlxActionDigital(Action.UP_R)
<_leftR expr="new FlxActionDigital(Action.LEFT_R)">
new FlxActionDigital(Action.LEFT_R)
<_rightR expr="new FlxActionDigital(Action.RIGHT_R)">
new FlxActionDigital(Action.RIGHT_R)
<_downR expr="new FlxActionDigital(Action.DOWN_R)">
new FlxActionDigital(Action.DOWN_R)
<_noteUp expr="new FlxActionDigital(Action.NOTE_UP)">
new FlxActionDigital(Action.NOTE_UP)
<_noteLeft expr="new FlxActionDigital(Action.NOTE_LEFT)">
new FlxActionDigital(Action.NOTE_LEFT)
<_noteRight expr="new FlxActionDigital(Action.NOTE_RIGHT)">
new FlxActionDigital(Action.NOTE_RIGHT)
<_noteDown expr="new FlxActionDigital(Action.NOTE_DOWN)">
new FlxActionDigital(Action.NOTE_DOWN)
<_noteUpP expr="new FlxActionDigital(Action.NOTE_UP_P)">
new FlxActionDigital(Action.NOTE_UP_P)
<_noteLeftP expr="new FlxActionDigital(Action.NOTE_LEFT_P)">
new FlxActionDigital(Action.NOTE_LEFT_P)
<_noteRightP expr="new FlxActionDigital(Action.NOTE_RIGHT_P)">
new FlxActionDigital(Action.NOTE_RIGHT_P)
<_noteDownP expr="new FlxActionDigital(Action.NOTE_DOWN_P)">
new FlxActionDigital(Action.NOTE_DOWN_P)
<_noteUpR expr="new FlxActionDigital(Action.NOTE_UP_R)">
new FlxActionDigital(Action.NOTE_UP_R)
<_noteLeftR expr="new FlxActionDigital(Action.NOTE_LEFT_R)">
new FlxActionDigital(Action.NOTE_LEFT_R)
<_noteRightR expr="new FlxActionDigital(Action.NOTE_RIGHT_R)">
new FlxActionDigital(Action.NOTE_RIGHT_R)
<_noteDownR expr="new FlxActionDigital(Action.NOTE_DOWN_R)">
new FlxActionDigital(Action.NOTE_DOWN_R)
<_accept expr="new FlxActionDigital(Action.ACCEPT)">
new FlxActionDigital(Action.ACCEPT)
<_back expr="new FlxActionDigital(Action.BACK)">
new FlxActionDigital(Action.BACK)
<_pause expr="new FlxActionDigital(Action.PAUSE)">
new FlxActionDigital(Action.PAUSE)
<_reset expr="new FlxActionDigital(Action.RESET)">
new FlxActionDigital(Action.RESET)
<_cheat expr="new FlxActionDigital(Action.CHEAT)">
new FlxActionDigital(Action.CHEAT)
<_switchMod expr="new FlxActionDigital(Action.SWITCHMOD)">
new FlxActionDigital(Action.SWITCHMOD)[][]KeyboardScheme.NoneVoid)]]>* Sets all actions that pertain to the binder to trigger when the supplied keys are used.
* If binder is a literal you can inline this* Sets all actions that pertain to the binder to trigger when the supplied keys are used.
* If binder is a literal you can inline this{ reset : true }{ deviceID : FlxInputDeviceID.ALL }* Sets all actions that pertain to the binder to trigger when the supplied keys are used.
* If binder is a literal you can inline this* Sets all actions that pertain to the binder to trigger when the supplied keys are used.
* If binder is a literal you can inline this{ scheme : None }* A list of actions that a player would invoke via some input device.
* Uses FlxActions to funnel various inputs to a single action.hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4cast 5hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4cast 5hscript.ClassExtendMacro.build()new FlxMatrix()hscript.ClassExtendMacro.build()
<_HX_SUPER__drawLimb set="method" line="148">
<_HX_SUPER__limbOnScreen set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.FlxAnimatefalseopenfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<_HX_SUPER__switchState public="1" set="method" line="148">
<_HX_SUPER__onEnterFrame public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__update public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.FunkinGamenullnullhscript.ClassExtendMacro.build()
<_HX_SUPER__updateGameSize public="1" set="method" line="30">
<_HX_SUPER__resetSize public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.FunkinRatioScaleModehscript.ClassExtendMacro.build()cast 0cast 1cast 2{ def : NONE }hscript.ClassExtendMacro.build()cast 0cast 1cast 2{ def : NONE }hscript.ClassExtendMacro.build()
<_HX_SUPER__update public="1" set="method" line="148">{ Key : null, Unique : false }
<_HX_SUPER__loadSprite public="1" set="method" line="148">
{ Key : null, Unique : false }
<_HX_SUPER__beatHit public="1" set="method" line="148">
<_HX_SUPER__stepHit public="1" set="method" line="148">
<_HX_SUPER__measureHit public="1" set="method" line="148">
<_HX_SUPER__getScreenBounds public="1" set="method" line="148">
<_HX_SUPER__drawComplex public="1" set="method" line="148">
<_HX_SUPER__doAdditionalMatrixStuff public="1" set="method" line="148">
<_HX_SUPER__getScreenPosition public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__copyAtlasValues public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<__doPreZoomScaleProcedure set="method" line="74" override="1">
<_HX_SUPER____doPreZoomScaleProcedure set="method" line="148">
<__doPostZoomScaleProcedure set="method" line="74" override="1">
<_HX_SUPER____doPostZoomScaleProcedure set="method" line="148">{ y : 0, x : 0 }
<_HX_SUPER__addOffset public="1" set="method" line="148">
{ y : 0, x : 0 }
<_HX_SUPER__switchOffset public="1" set="method" line="148">{ Frame : 0, Reversed : false, Context : NONE, Force : false }
<_HX_SUPER__playAnim public="1" set="method" line="30">
{ Frame : 0, Reversed : false, Context : NONE, Force : false }
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.FunkinSprite.XMLAnimTypefunkin.system.FunkinSprite.XMLAnimTypefunkin.system.FunkinSprite[]* Array containing all of the graphics cached by this sprite.[]* Array containing all of the non rendered (not sent to GPU) cached graphics.* Caches a graphic at specified path.
* @param path Path to the graphic.* Dummy FlxSprite that allows you to cache FlxGraphics, and immediatly send them to GPU memory.hscript.ClassExtendMacro.build()* Caches a graphic at specified path.
* @param path Path to the graphic.
<_HX_SUPER__cache public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.GraphicCacheSprite
<__showing expr="false" line="10" static="1">
falseLog.trace{ level : INFO }{ color : LIGHTGRAY }
<__showInConsole public="1" set="method" line="79" static="1">{ level : INFO }{ color : LIGHTGRAY, level : INFO }hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.Logsfunkin.system.Logs.Levelfunkin.system.Logs.Levelfunkin.system.Logs.LogTextfalsefalse* Simple state used for loading the gamehscript.ClassExtendMacro.build()
<_HX_SUPER__create public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.MainState
<_HX_SUPER__init set="method" line="30">
<_HX_SUPER__setupGame set="method" line="30">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.Mainhscript.ClassExtendMacro.build()
<_HX_SUPER__beatHit public="1" set="method" line="148">
<_HX_SUPER__stepHit public="1" set="method" line="148">
<_HX_SUPER__measureHit public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.MusicBeatGroup
<_HX_SUPER__loadScript set="method" line="148">
<_HX_SUPER__tryUpdate public="1" set="method" line="30">
<_HX_SUPER__create set="method" line="148">
<_HX_SUPER__createPost public="1" set="method" line="148">
<_HX_SUPER__call public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="148">hide
<_HX_SUPER__stepHit public="1" set="method" line="30">hide
<_HX_SUPER__beatHit public="1" set="method" line="30">hide
<_HX_SUPER__measureHit public="1" set="method" line="30">{ fpsSensitive : false }* Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive`
* @param v1 Value 1
* @param v2 Value 2
* @param ratio Ratio
* @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate.
<_HX_SUPER__lerp public="1" set="method" line="148">
{ fpsSensitive : false }* SCRIPTING STUFF
<_HX_SUPER__openSubState public="1" set="method" line="148">
<_HX_SUPER__onResize public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__draw public="1" set="method" line="148">
<_HX_SUPER__switchTo public="1" set="method" line="148">
<_HX_SUPER__onFocus public="1" set="method" line="148">
<_HX_SUPER__onFocusLost public="1" set="method" line="148">
<_HX_SUPER__resetSubState public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.MusicBeatState
<_HX_SUPER__loadScript set="method" line="148">
<_HX_SUPER__tryUpdate public="1" set="method" line="30">
<_HX_SUPER__close set="method" line="148">
<_HX_SUPER__create set="method" line="148">
<_HX_SUPER__createPost public="1" set="method" line="148">
<_HX_SUPER__call public="1" set="method" line="148">
<_HX_SUPER__update set="method" line="148">hide
<_HX_SUPER__stepHit public="1" set="method" line="30">hide
<_HX_SUPER__beatHit public="1" set="method" line="30">hide
<_HX_SUPER__measureHit public="1" set="method" line="30">{ fpsSensitive : false }* Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive`
* @param v1 Value 1
* @param v2 Value 2
* @param ratio Ratio
* @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate.
<_HX_SUPER__lerp public="1" set="method" line="148">
{ fpsSensitive : false }* SCRIPTING STUFF
<_HX_SUPER__openSubState public="1" set="method" line="148">
<_HX_SUPER__onResize public="1" set="method" line="148">
<_HX_SUPER__destroy public="1" set="method" line="148">
<_HX_SUPER__switchTo public="1" set="method" line="148">
<_HX_SUPER__onFocus public="1" set="method" line="148">
<_HX_SUPER__onFocusLost public="1" set="method" line="148">
<_HX_SUPER__onSubstateOpen public="1" set="method" line="148">
<_HX_SUPER__resetSubState public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.MusicBeatSubstate
<__fromImage set="method" line="11" override="1">
"checkstyle:Dynamic""checkstyle:Dynamic"hideopenfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.ClassExtendMacro.build()
<__fromImage set="method" line="110" override="1">
"checkstyle:Dynamic"
<_HX_SUPER____fromImage set="method" line="30">"checkstyle:Dynamic"hide
<_HX_SUPER__getSurface public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.embedBitmap()openfl.utils._internal.AssetsMacro.embedBitmap()hscript.ClassExtendMacro.build()hidefunkin.system.OptimizedBitmapData"ogg"* Preferred sound extension for the game's audio files.
* Currently is set to `mp3` for web targets, and `ogg` for other targets.[]{ skipModsVerification : false }{ library : "default" }{ type : TEXT }{ difficulty : "normal" }{ difficulty : "normal" }{ checkForAtlas : false }{ difficulty : "normal" }{ source : BOTH, addPath : false }{ source : BOTH, addPath : false }hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.Paths
<_text expr="""">
""
<__enterFrame public="1" set="method" line="42" override="1">{ text : "" }openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="10" override="1">openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.AssetTreeInfohscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.framerate.CodenameBuildField
<__enterFrame public="1" set="method" line="9" override="1">openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.ConductorInfo
<__enterFrame public="1" set="method" line="8" override="1">openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.FlixelInfo"${Sys.getEnv(\"windir\")}\\Fonts\\consola.ttf"falsenew FlxPoint()
<__bitmap public="1" get="accessor" set="null" expr="null" line="32" static="1">
null[]
<__addCategory set="method" line="78">
<__lastAddedSprite expr="null">
null
<__addToList set="method" line="83">0
<__enterFrame public="1" set="method" line="93" override="1">openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.FramerateCategory0
<__enterFrame public="1" set="method" line="29" override="1">openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.FramerateCounter
<__addCategory set="method" line="74" override="1">
<_HX_SUPER____addCategory set="method" line="148">
<__addToList set="method" line="74" override="1">
<_HX_SUPER____addToList set="method" line="148">
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.Framerate00
<__enterFrame public="1" set="method" line="32" override="1">openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.MemoryCounter"Unknown""Unknown""Unknown""Unknown""Unknown""Unknown"
<__enterFrame public="1" set="method" line="52" override="1">openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()
<__enterFrame public="1" set="method" line="74" override="1">
<_HX_SUPER____enterFrame public="1" set="method" line="148">
<__interp>openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()hscript.ClassExtendMacro.build()hidefunkin.system.framerate.SystemInfo* if youre stealing this keep this comment at least please lol
*
* hi gray itsa me yoshicrafter29 i fixed it hehehscript.ClassExtendMacro.build()hidehscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.modules.AudioSwitchFixfunkin.system.modules.AudioSwitchFix.PlayingSoundhscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.modules.CrashHandlerWhether caching is currently enabled.{ prefix : null }Clears all cached assets, or all assets with an ID that
matches an optional prefix.
For example:
```haxe
Assets.setBitmapData("image1", image1);
Assets.setBitmapData("assets/image2", image2);
Assets.clear("assets"); // will clear image2
Assets.clear("image"); // will clear image1
```
@param prefix A ID prefixRetrieves a cached BitmapData.
@param id The ID of the cached BitmapData
@return The cached BitmapData instanceRetrieves a cached Font.
@param id The ID of the cached Font
@return The cached Font instanceRetrieves a cached Sound.
@param id The ID of the cached Sound
@return The cached Sound instanceChecks whether a BitmapData asset is cached.
@param id The ID of a BitmapData asset
@return Whether the object has been cachedChecks whether a Font asset is cached.
@param id The ID of a Font asset
@return Whether the object has been cachedChecks whether a Sound asset is cached.
@param id The ID of a Sound asset
@return Whether the object has been cachedRemoves a BitmapData from the cache.
@param id The ID of a BitmapData asset
@return `true` if the asset was removed, `false` if it was not in the cacheRemoves a Font from the cache.
@param id The ID of a Font asset
@return `true` if the asset was removed, `false` if it was not in the cacheRemoves a Sound from the cache.
@param id The ID of a Sound asset
@return `true` if the asset was removed, `false` if it was not in the cacheAdds or replaces a BitmapData asset in the cache.
@param id The ID of a BitmapData asset
@param bitmapData The matching BitmapData instanceAdds or replaces a Font asset in the cache.
@param id The ID of a Font asset
@param bitmapData The matching Font instanceAdds or replaces a Sound asset in the cache.
@param id The ID of a Sound asset
@param bitmapData The matching Sound instanceThe IAssetCache interface provides methods for caching
resources loaded from openfl.utils.Assets to improve
performance.Whether caching is currently enabled.hideInternalhideInternalhideInternal
<__enabled expr="true">
true{ prefix : null }Clears all cached assets, or all assets with an ID that
matches an optional prefix.
For example:
```haxe
Assets.setBitmapData("image1", image1);
Assets.setBitmapData("assets/image2", image2);
Assets.clear("assets"); // will clear image2
Assets.clear("image"); // will clear image1
```
@param prefix A ID prefixRetrieves a cached BitmapData.
@param id The ID of the cached BitmapData
@return The cached BitmapData instanceRetrieves a cached Font.
@param id The ID of the cached Font
@return The cached Font instanceRetrieves a cached Sound.
@param id The ID of the cached Sound
@return The cached Sound instanceChecks whether a BitmapData asset is cached.
@param id The ID of a BitmapData asset
@return Whether the object has been cachedChecks whether a Font asset is cached.
@param id The ID of a Font asset
@return Whether the object has been cachedChecks whether a Sound asset is cached.
@param id The ID of a Sound asset
@return Whether the object has been cachedRemoves a BitmapData from the cache.
@param id The ID of a BitmapData asset
@return `true` if the asset was removed, `false` if it was not in the cacheRemoves a Font from the cache.
@param id The ID of a Font asset
@return `true` if the asset was removed, `false` if it was not in the cacheRemoves a Sound from the cache.
@param id The ID of a Sound asset
@return `true` if the asset was removed, `false` if it was not in the cacheAdds or replaces a BitmapData asset in the cache.
@param id The ID of a BitmapData asset
@param bitmapData The matching BitmapData instanceAdds or replaces a Font asset in the cache.
@param id The ID of a Font asset
@param bitmapData The matching Font instanceAdds or replaces a Sound asset in the cache.
@param id The ID of a Sound asset
@param bitmapData The matching Sound instanceCreates a new AssetCache instance.The AssetCache class is the default cache implementation used
by openfl.utils.Assets, objects will be cached for the lifetime
of the application unless removed explicitly, or using Assets
`unloadLibrary`"tags=\"haxe,release\""hideInternalhideInternalhideInternalRetrieves a cached BitmapData.
@param id The ID of the cached BitmapData
@return The cached BitmapData instanceRetrieves a cached Font.
@param id The ID of the cached Font
@return The cached Font instanceRetrieves a cached Sound.
@param id The ID of the cached Sound
@return The cached Sound instanceChecks whether a BitmapData asset is cached.
@param id The ID of a BitmapData asset
@return Whether the object has been cachedChecks whether a Font asset is cached.
@param id The ID of a Font asset
@return Whether the object has been cachedChecks whether a Sound asset is cached.
@param id The ID of a Sound asset
@return Whether the object has been cachedRemoves a BitmapData from the cache.
@param id The ID of a BitmapData asset
@return `true` if the asset was removed, `false` if it was not in the cacheRemoves a Font from the cache.
@param id The ID of a Font asset
@return `true` if the asset was removed, `false` if it was not in the cacheRemoves a Sound from the cache.
@param id The ID of a Sound asset
@return `true` if the asset was removed, `false` if it was not in the cachehscript.ClassExtendMacro.build()
<_HX_SUPER__moveToSecondLayer public="1" set="method" line="148">
<_HX_SUPER__clearSecondLayer public="1" set="method" line="148">Retrieves a cached BitmapData.
@param id The ID of the cached BitmapData
@return The cached BitmapData instance
<_HX_SUPER__getBitmapData public="1" set="method" line="148">Retrieves a cached Font.
@param id The ID of the cached Font
@return The cached Font instance
<_HX_SUPER__getFont public="1" set="method" line="148">Retrieves a cached Sound.
@param id The ID of the cached Sound
@return The cached Sound instance
<_HX_SUPER__getSound public="1" set="method" line="148">Checks whether a BitmapData asset is cached.
@param id The ID of a BitmapData asset
@return Whether the object has been cached
<_HX_SUPER__hasBitmapData public="1" set="method" line="148">Checks whether a Font asset is cached.
@param id The ID of a Font asset
@return Whether the object has been cached
<_HX_SUPER__hasFont public="1" set="method" line="148">Checks whether a Sound asset is cached.
@param id The ID of a Sound asset
@return Whether the object has been cached
<_HX_SUPER__hasSound public="1" set="method" line="148">Removes a BitmapData from the cache.
@param id The ID of a BitmapData asset
@return `true` if the asset was removed, `false` if it was not in the cache
<_HX_SUPER__removeBitmapData public="1" set="method" line="148">Removes a Font from the cache.
@param id The ID of a Font asset
@return `true` if the asset was removed, `false` if it was not in the cache
<_HX_SUPER__removeFont public="1" set="method" line="148">Removes a Sound from the cache.
@param id The ID of a Sound asset
@return `true` if the asset was removed, `false` if it was not in the cache
<_HX_SUPER__removeSound public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.system.modules.FunkinCache0.05false0false""
<_finalText expr="""">
""
<_curText expr="""">
""FlxG.width1false[]false"gf"{ typed : false, bold : false, text : "" }* Loosely based on FlxTypeText lololhscript.ClassExtendMacro.build()
<__alphaPath public="1" expr="null" line="216" static="1">
nullhide[][]0hscript.ClassExtendMacro.build()
<_HX_SUPER__set_color set="method" line="148">
<_HX_SUPER__refreshAlphabetXML public="1" set="method" line="148">
<_HX_SUPER__addText public="1" set="method" line="148">
<_HX_SUPER__doSplitWords set="method" line="30">
<_HX_SUPER__startTypedText public="1" set="method" line="30">
<_HX_SUPER__update set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.ui.Alphabetfunkin.ui.Alphabet.AlphaCharacter
<_HX_SUPER__setColor public="1" set="method" line="148">
<_HX_SUPER__createBold public="1" set="method" line="148">
<_HX_SUPER__createLetter public="1" set="method" line="30">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.ui.Alphabetfunkin.ui.Alphabet.AlphaCharacter
<__interp>hscript.ClassExtendMacro.build()hidefunkin.ui.FunkinText* Returns the most present color in a Bitmap.
* @param bmap Bitmap
* @return FlxColor Color that is the most present.* Returns the most present saturated color in a Bitmap.
* @param bmap Bitmap
* @return FlxColor Color that is the most present.hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.BitmapUtil* Shortcut to parse JSON from an Asset path
* @param assetPath Path to the JSON asset.* Shortcut to parse a JSON string
* @param str Path to the JSON string
* @return Parsed JSON* Whenever a value is NaN or not.
* @param v Value* Returns the last of an Array
* @param array Array
* @return T Last element* Sets a field's default value, and returns it. In case it already exists, returns the existing one.
* @param v Dynamic to set the default value to
* @param name Name of the value
* @param defaultValue Default value
* @return T New/old value.* Add several zeros at the beginning of a string, so that `2` becomes `02`.
* @param str String to add zeros
* @param num The length required* Returns a string representation of a size, following this format: `1.02 GB`, `134.00 MB`
* @param size Size to convert ot string
* @return String Result string representation* Alternative linear interpolation function for each frame use, without worrying about framerate changes.
* @param v1 Begin value
* @param v2 End value
* @param ratio Ratio
* @return Float Final value{ fpsSensitive : false }* Lerps from color1 into color2 (Shortcut to `FlxColor.interpolate`)
* @param color1 Color 1
* @param color2 Color 2
* @param ratio Ratio
* @param fpsSensitive Whenever the ratio should be fps sensitive (adapted when game is running at 120 instead of 60)* Modifies a lerp ratio based on current FPS to keep a stable speed on higher framerate.
* @param ratio Ratio
* @return FPS-Modified Ratio* Tries to get a color from a `Dynamic` variable.
* @param c `Dynamic` color.
* @return The result color, or `null` if invalid.{ fadeIn : false }* Plays the main menu theme.
* @param fadeIn* Preloads a character.
* @param name Character name
* @param spriteName (Optional) sprite name.{ DefaultBPM : 102, Looped : true, Volume : 1, Persist : false }* Plays music, while resetting the Conductor, and taking info from INI in count.
* @param path Path to the music
* @param Persist Whenever the music should persist while switching states
* @param DefaultBPM Default BPM of the music (102)
* @param Volume Volume of the music (1)
* @param Looped Whenever the music loops (true)
* @param Group A group that this music belongs to (default){ volume : 1, menuSFX : SCROLL }* Plays a specified Menu SFX.
* @param menuSFX Menu SFX to play
* @param volume At which volume it should play]]>{ min : 0 } Final array]]>* Switches frames from 2 FlxAnimations.
* @param anim1 First animation
* @param anim2 Second animation{ maxScale : 0, fill : true }* Allows you to set a graphic size (ex: 150x150), with proper hitbox without a stretched sprite.
* @param sprite Sprite to apply the new graphic size to
* @param width Width
* @param height Height
* @param fill Whenever the sprite should fill instead of shrinking (true)
* @param maxScale Maximum scale (0 / none)* Returns a simple string representation of a FlxKey. Used in Controls options.
* @param key Key
* @return Simple representation{ axes : XY }* Centers an object in a camera's field, basically `screenCenter()` but `camera.width` and `camera.height` are used instead of `FlxG.width` and `FlxG.height`.
* @param obj Sprite to center
* @param cam Camera
* @param axes Axes (XY){ difficulty : "normal" }* Load a week into PlayState.
* @param weekData Week Data
* @param difficulty Week Difficulty{ coopMode : false, opponentMode : false, difficulty : "normal" }* Loads a song into PlayState
* @param name Song name
* @param difficulty Chart difficulty (if invalid, will load an empty chart)
* @param opponentMode Whenever opponent mode is on
* @param coopMode Whenever co-op mode is on.
<__loadSong public="1" set="method" line="422" static="1">
* (INTERNAL) Loads a song without resetting story mode/opponent mode/coop mode values.
* @param name Song name
* @param difficulty Song difficulty* Equivalent of `setGraphicSize`, except that it can accept floats and automatically updates the hitbox.
* @param sprite Sprite to set the size of
* @param width Width
* @param height Height* Gets an XML attribute from an `Access` abstract, without throwing an exception if invalid.
* Example: `xml.getAtt("test").getDefault("Hello, World!");`
* @param xml XML to get the attribute from
* @param name Name of the attribute{ SkipAtlasCheck : false, Key : null, Unique : false }* Loads frames from a specific image path. Supports Sparrow Atlases, Packer Atlases, and multiple spritesheets.
* @param path Path to the image
* @param Unique Whenever the image should be unique in the cache
* @param Key Key to the image in the cache
* @param SkipAtlasCheck Whenever the atlas check should be skipped.
* @return FlxFramesCollection Frames* Loads an animated graphic, and automatically animates it.
* @param spr Sprite to load the graphic for
* @param path Path to the graphic* Copies a color transform from color1 to color2
* @param color1 Color transform to copy to
* @param color2 Color transform to copy from* Resets an FlxSprite
* @param spr Sprite to reset
* @param x New X position
* @param y New Y position* Gets the macro class created by hscript-improved for an abstract / enum* Clears the content of an array]]>* Opens an URL in the browser.
* @param url* Stops a sound, set its time to 0 then play it again.
* @param sound Sound to replay. Float -> Int conversion.
* @param p1
* @param p2
* @return return p1 < p2 ? p2 : p1]]> Float -> Int conversion.
* @param e Value to get the floor of.]]>* Sets a SoundFrontEnd's music to a FlxSound.
* Example: `FlxG.sound.setMusic(music);`
* @param frontEnd SoundFrontEnd to set the music of
* @param music Musichscript.ClassExtendMacro.build()funkin.game.PlayState* SFXs to play using `playMenuSFX`.hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4cast 5hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4cast 5hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.CoolUtilfunkin.utils.CoolUtil.CoolSfxfunkin.utils.CoolUtil.CoolSfxnullnullfalsenullhscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.DiscordUtilfunkin.utils.DiscordUtil.DiscordJson* Starts a new multithreaded script.
* This script will share all the variables with the current one, which means already existing callbacks will be replaced by new ones on conflict.
* @param pathhscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.EngineUtil0000* Additional class for FlxColor lerping.
* Gets rid of precision issues with `FlxColor.interpolate`hscript.ClassExtendMacro.build()
<_HX_SUPER__lerpTo public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.FlxInterpolateColor* DOESNT SUPPORT CATEGORIES YET!!hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.IniUtil{ underline : false, italic : false, bold : false }{ emoteEnd : "\n" }hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.MarkdownUtil0
<_nb expr="0" line="144" static="1">
0
<_nbD expr="0" line="145" static="1">
0
<_zombie static="1">hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.MemoryUtilhidehide* Allocates a new console. The console will automatically be opened* Sets the window titlebar to dark mode (Windows 10 only){ icon : MSG_WARNING }* Shows a message box{ backgroundColor : BLACK, foregroundColor : LIGHTGRAY }* Sets the console colors* Class for Windows-only functions, such as transparent windows, message boxes, and more.
* Does not have any effect on other platforms.hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15hscript.ClassExtendMacro.build()cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()cast 0x00000010cast 0x00000020cast 0x00000030cast 0x00000040hscript.ClassExtendMacro.build()cast 0x00000010cast 0x00000020cast 0x00000030cast 0x00000040hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.NativeAPIfunkin.utils.NativeAPI.ConsoleColorfunkin.utils.NativeAPI.ConsoleColorfunkin.utils.NativeAPI.MessageBoxIconfunkin.utils.NativeAPI.MessageBoxIcon* Applies a property XML node to an object.
* @param object Object to which the xml property will be applied
* @param property `property` node.{ defaultAnimType : BEAT, parentFolder : "" }* Creates a new sprite based on a XML node.{ loop : false, animType : NONE }{ loop : false }* Adds an XML animation to `sprite`.
* @param sprite Destination sprite
* @param anim Animation (Must be a `anim` XML node)* Class made to make XML parsing easier.hscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.XMLUtilfunkin.utils.XMLUtil.AnimData[".git", ".gitignore", ".github", ".vscode", ".gitattributes", "readme.txt"]* [Description] Uncompresses `zip` into the `destFolder` folder
* @param zip
* @param destFolder* [Description] Returns a `zip.Reader` instance from path.
* @param zipPath
* @return Reader* [Description] Copy of haxe's Zip unzip function cause lime replaced it.
* @param f Zip entry* [Description] Creates a ZIP file at the specified location and returns the Writer.
* @param path
* @return Writer[Description] Writes the entirety of a folder to a zip file.
@param zip ZIP file to write to
@param path Folder path
@param prefix (Additional) allows you to set a prefix in the zip itself.` to a `List`.
* @param array
* @return List]]>hscript.ClassExtendMacro.build()null00falsehscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()46The next constant is required for computing the Central
Directory Record(CDR) size. CDR consists of some fields
of constant size and a filename. Constant represents
total length of all fields with constant size for each
file in archive30The following constant is the total size of all fields
of Local File Header. It's required for calculating
offset of start of central directory recordhscript.ClassExtendMacro.build()hscript.ClassExtendMacro.build()
<_HX_SUPER__flush public="1" set="method" line="148">
<_HX_SUPER__writeFile public="1" set="method" line="148">
<_HX_SUPER__close public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.ZipUtilfunkin.utils.ZipUtil.ZipProgressfunkin.utils.ZipUtil.ZipReaderfunkin.utils.ZipUtil.ZipWriterfunkin.utils.ZipUtil.StrNameLabel
<_HX_SUPER__read public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.ZipUtilfunkin.utils.ZipUtil.ZipProgressfunkin.utils.ZipUtil.ZipReaderfunkin.utils.ZipUtil.ZipWriterfunkin.utils.ZipUtil.StrNameLabel
<_HX_SUPER__get_percentage set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.ZipUtilfunkin.utils.ZipUtil.ZipProgressfunkin.utils.ZipUtil.ZipReaderfunkin.utils.ZipUtil.ZipWriterfunkin.utils.ZipUtil.StrNameLabel
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.ZipUtilfunkin.utils.ZipUtil.ZipProgressfunkin.utils.ZipUtil.ZipReaderfunkin.utils.ZipUtil.ZipWriterfunkin.utils.ZipUtil.StrNameLabel
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.ZipUtilfunkin.utils.ZipUtil.ZipProgressfunkin.utils.ZipUtil.ZipReaderfunkin.utils.ZipUtil.ZipWriterfunkin.utils.ZipUtil.StrNameLabelEndianness (word byte order) used when writing numbers.
If `true`, big-endian is used, otherwise `little-endian` is used.Write one byte.Write `len` bytes from `s` starting by position specified by `pos`.
Returns the actual length of written data that can differ from `len`.
See `writeFullBytes` that tries to write the exact amount of specified bytes.Flush any buffered data.Close the output.
Behaviour while writing after calling this method is unspecified.Write all bytes stored in `s`.Write `len` bytes from `s` starting by position specified by `pos`.
Unlike `writeBytes`, this method tries to write the exact `len` amount of bytes.Write `x` as 32-bit floating point number.
Endianness is specified by the `bigEndian` property.Write `x` as 64-bit double-precision floating point number.
Endianness is specified by the `bigEndian` property.Write `x` as 8-bit signed integer.Write `x` as 16-bit signed integer.
Endianness is specified by the `bigEndian` property.Write `x` as 16-bit unsigned integer.
Endianness is specified by the `bigEndian` property.Write `x` as 24-bit signed integer.
Endianness is specified by the `bigEndian` property.Write `x` as 24-bit unsigned integer.
Endianness is specified by the `bigEndian` property.Write `x` as 32-bit signed integer.
Endianness is specified by the `bigEndian` property.Inform that we are about to write at least `nbytes` bytes.
The underlying implementation can allocate proper working space depending
on this information, or simply ignore it. This is not a mandatory call
but a tip and is only used in some specific cases.Read all available data from `i` and write it.
The `bufsize` optional argument specifies the size of chunks by
which data is read and written. Its default value is 4096.Write `s` string.An Output is an abstract write. A specific output implementation will only
have to override the `writeByte` and maybe the `write`, `flush` and `close`
methods. See `File.write` and `String.write` for two ways of creating an
Output.
hscript.ClassExtendMacro.build()Endianness (word byte order) used when reading numbers.
If `true`, big-endian is used, otherwise `little-endian` is used.Read and return one byte.Read `len` bytes and write them into `s` to the position specified by `pos`.
Returns the actual length of read data that can be smaller than `len`.
See `readFullBytes` that tries to read the exact amount of specified bytes.Close the input source.
Behaviour while reading after calling this method is unspecified.Read and return all available data.
The `bufsize` optional argument specifies the size of chunks by
which data is read. Its default value is target-specific.Read `len` bytes and write them into `s` to the position specified by `pos`.
Unlike `readBytes`, this method tries to read the exact `len` amount of bytes.Read and return `nbytes` bytes.Read a string until a character code specified by `end` is occurred.
The final character is not included in the resulting string.Read a line of text separated by CR and/or LF bytes.
The CR/LF characters are not included in the resulting string.Read a 32-bit floating point number.
Endianness is specified by the `bigEndian` property.Read a 64-bit double-precision floating point number.
Endianness is specified by the `bigEndian` property.Read a 8-bit signed integer.Read a 16-bit signed integer.
Endianness is specified by the `bigEndian` property.Read a 16-bit unsigned integer.
Endianness is specified by the `bigEndian` property.Read a 24-bit signed integer.
Endianness is specified by the `bigEndian` property.Read a 24-bit unsigned integer.
Endianness is specified by the `bigEndian` property.Read a 32-bit signed integer.
Endianness is specified by the `bigEndian` property.Read and `len` bytes as a string.An Input is an abstract reader. See other classes in the `haxe.io` package
for several possible implementations.
All functions which read data throw `Eof` when the end of the stream
is reached.
hscript.ClassExtendMacro.build()
{ block : true }hscript.ClassExtendMacro.build()
<_HX_SUPER__readByte public="1" set="method" line="148">
<_HX_SUPER__readBytes public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.native.HiddenProcess.Stdinfunkin.utils.native.HiddenProcess.Stdoutfunkin.utils.native.HiddenProcess
<_HX_SUPER__close public="1" set="method" line="148">
<_HX_SUPER__writeByte public="1" set="method" line="148">
<_HX_SUPER__writeBytes public="1" set="method" line="148">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.native.HiddenProcess.Stdinfunkin.utils.native.HiddenProcess.Stdoutfunkin.utils.native.HiddenProcess
<_HX_SUPER__getPid public="1" set="method" line="148">{ block : true }
<_HX_SUPER__exitCode public="1" set="method" line="148">
{ block : true }
<_HX_SUPER__close public="1" set="method" line="30">
<_HX_SUPER__kill public="1" set="method" line="30">
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.native.HiddenProcess.Stdinfunkin.utils.native.HiddenProcess.Stdoutfunkin.utils.native.HiddenProcess
<__audioChangeCallback public="1" expr="function() {
trace("test");
}" line="118" static="1">
function() {
trace("test");
}"\r\n\tif (!curAudioFix) curAudioFix = new AudioFixClient();\r\n\t""\r\n\t// https://stackoverflow.com/questions/15543571/allocconsole-not-displaying-cout\r\n\r\n\tif (!AllocConsole())\r\n\t\treturn;\r\n\r\n\tfreopen(\"CONIN$\", \"r\", stdin);\r\n\tfreopen(\"CONOUT$\", \"w\", stdout);\r\n\tfreopen(\"CONOUT$\", \"w\", stderr);\r\n\t""\r\n\t\tHANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); \r\n\t\tSetConsoleTextAttribute(console, color);\r\n\t"{ icon : MSG_WARNING }"\r\n\t\tMessageBox(GetActiveWindow(), message, caption, icon | MB_SETFOREGROUND);\r\n\t""\r\n\t\tSetProcessDPIAware();\r\n\t"hscript.ClassExtendMacro.build()\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n"]]>\r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n\r\n#define SAFE_RELEASE(punk) \\\r\n\t\t\t if ((punk) != NULL) \\\r\n\t\t\t\t{ (punk)->Release(); (punk) = NULL; }\r\n\r\nstatic long lastDefId = 0;\r\n\r\nclass AudioFixClient : public IMMNotificationClient {\r\n\tLONG _cRef;\r\n\tIMMDeviceEnumerator *_pEnumerator;\r\n\t\r\n\tpublic:\r\n\tAudioFixClient() :\r\n\t\t_cRef(1),\r\n\t\t_pEnumerator(NULL)\r\n\t{\r\n\t\tHRESULT result = CoCreateInstance(__uuidof(MMDeviceEnumerator),\r\n\t\t\t\t\t\t\t NULL, CLSCTX_INPROC_SERVER,\r\n\t\t\t\t\t\t\t __uuidof(IMMDeviceEnumerator),\r\n\t\t\t\t\t\t\t (void**)&_pEnumerator);\r\n\t\tif (result == S_OK) {\r\n\t\t\t_pEnumerator->RegisterEndpointNotificationCallback(this);\r\n\t\t}\r\n\t}\r\n\r\n\t~AudioFixClient()\r\n\t{\r\n\t\tSAFE_RELEASE(_pEnumerator);\r\n\t}\r\n\r\n\tULONG STDMETHODCALLTYPE AddRef()\r\n\t{\r\n\t\treturn InterlockedIncrement(&_cRef);\r\n\t}\r\n\r\n\tULONG STDMETHODCALLTYPE Release()\r\n\t{\r\n\t\tULONG ulRef = InterlockedDecrement(&_cRef);\r\n\t\tif (0 == ulRef)\r\n\t\t{\r\n\t\t\tdelete this;\r\n\t\t}\r\n\t\treturn ulRef;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE QueryInterface(\r\n\t\t\t\t\t\t\t\tREFIID riid, VOID **ppvInterface)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDeviceAdded(LPCWSTR pwstrDeviceId)\r\n\t{\r\n\t\treturn S_OK;\r\n\t};\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDeviceRemoved(LPCWSTR pwstrDeviceId)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDeviceStateChanged(\r\n\t\t\t\t\t\t\t\tLPCWSTR pwstrDeviceId,\r\n\t\t\t\t\t\t\t\tDWORD dwNewState)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnPropertyValueChanged(\r\n\t\t\t\t\t\t\t\tLPCWSTR pwstrDeviceId,\r\n\t\t\t\t\t\t\t\tconst PROPERTYKEY key)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDefaultDeviceChanged(\r\n\t\tEDataFlow flow, ERole role,\r\n\t\tLPCWSTR pwstrDeviceId)\r\n\t{\r\n\t\t::funkin::_hx_system::Main_obj::audioDisconnected = true;\r\n\t\treturn S_OK;\r\n\t};\r\n};\r\n\r\nAudioFixClient *curAudioFix;\r\n"]]>hide
<__interp>hscript.ClassExtendMacro.build()hidefunkin.utils.native.WindowsElements return by `CallStack` methods.Get information about the call stack.haxe.Exceptionhaxe.CallStackThe length of this stack.Return the call stack elements, or an empty array if not available.{ fullStack : false }Return the exception stack : this is the stack elements between
the place the last exception was thrown and the place it was
caught, or an empty array if not available.
Set `fullStack` parameter to true in order to return the full exception stack.
May not work if catch type was a derivative from `haxe.Exception`.Returns a representation of the stack as a printable string.Returns a range of entries of current stack from the beginning to the the
common part of this and `stack`.Make a copy of the stack.haxe.CallStackhaxe.ExceptionThe length of this stack.Return the call stack elements, or an empty array if not available.{ fullStack : false }Return the exception stack : this is the stack elements between
the place the last exception was thrown and the place it was
caught, or an empty array if not available.
Set `fullStack` parameter to true in order to return the full exception stack.
May not work if catch type was a derivative from `haxe.Exception`.Returns a representation of the stack as a printable string.Returns a range of entries of current stack from the beginning to the the
common part of this and `stack`.Make a copy of the stack.haxe.CallStackhaxe.ExceptionThis type unifies with any function type.
It is intended to be used as a type parameter constraint. If used as a real
type, the underlying type will be `Dynamic`.This type unifies with an enum instance if all constructors of the enum
require no arguments.
It is intended to be used as a type parameter constraint. If used as a real
type, the underlying type will be `Dynamic`.This type unifies with anything but `Void`.
It is intended to be used as a type parameter constraint. If used as a real
type, the underlying type will be `Dynamic`.`, A must be explicitly constrained to
`Constructible` as well.
It is intended to be used as a type parameter constraint. If used as a real
type, the underlying type will be `Dynamic`.]]>Returns the name of enum `e`, including its path.
If `e` is inside a package, the package structure is returned dot-
separated, with another dot separating the enum name:
pack1.pack2.(...).packN.EnumName
If `e` is a sub-type of a Haxe module, that module is not part of the
package structure.
If `e` has no package, the enum name is returned.
If `e` is `null`, the result is unspecified.
The enum name does not include any type parameters.Creates an instance of enum `e` by calling its constructor `constr` with
arguments `params`.
If `e` or `constr` is `null`, or if enum `e` has no constructor named
`constr`, or if the number of elements in `params` does not match the
expected number of constructor arguments, or if any argument has an
invalid type, the result is unspecified.Creates an instance of enum `e` by calling its constructor number
`index` with arguments `params`.
The constructor indices are preserved from Haxe syntax, so the first
declared is index 0, the next index 1 etc.
If `e` or `index` is `null`, or if enum `e` has no constructor
corresponding to index `index`, or if the number of elements in `params`
does not match the expected number of constructor arguments, or if any
argument has an invalid type, the result is unspecified.Returns a list of all constructors of enum `e` that require no
arguments.
This may return the empty Array `[]` if all constructors of `e` require
arguments.
Otherwise an instance of `e` constructed through each of its non-
argument constructors is returned, in the order of the constructor
declaration.
If `e` is `null`, the result is unspecified.Returns a list of the names of all constructors of enum `e`.
The order of the constructor names in the returned Array is preserved
from the original syntax.
If `c` is `null`, the result is unspecified.This class provides advanced methods on enums. It is ideally used with
`using EnumTools` and then acts as an
[extension](https://haxe.org/manual/lf-static-extension.html) to the
`enum` types.
If the first argument to any of the methods is `null`, the result is
unspecified.Recursively compares two enum instances `a` and `b` by value.
Unlike `a == b`, this function performs a deep equality check on the
arguments of the constructors (if there are any).
If `a` or `b` are `null`, the result is unspecified.Returns the constructor name of enum instance `e`.
The result String does not contain any constructor arguments.
If `e` is `null`, the result is unspecified.Returns a list of the constructor arguments of enum instance `e`.
If `e` has no arguments, the result is `[]`.
Otherwise the result are the values that were used as arguments to `e`,
in the order of their declaration.
If `e` is `null`, the result is unspecified.Returns the index of enum instance `e`.
This corresponds to the original syntactic position of `e`. The index of
the first declared constructor is 0, the next one is 1 etc.
If `e` is `null`, the result is unspecified.This class provides advanced methods on enum values. It is ideally used with
`using EnumValueTools` and then acts as an
[extension](https://haxe.org/manual/lf-static-extension.html) to the
`EnumValue` types.
If the first argument to any of the methods is `null`, the result is
unspecified.Int32 provides a 32-bit integer with consistent overflow behavior across
all platforms.-A++AA++--AA--A + BA + BA - BA - BA - BCompare `a` and `b` in unsigned mode.-A++AA++--AA--A + BA + BA - BA - BA - BCompare `a` and `b` in unsigned mode."_hx_int64_make"" ::cpp::Int64Struct"" ::cpp::Int64Struct::is""_hx_int64_is_neg""_hx_int64_is_zero""_hx_int64_compare""_hx_int64_ucompare""_hx_int64_to_string""_hx_int64_neg""_hx_int64_pre_increment""_hx_int64_post_increment""_hx_int64_pre_decrement""_hx_int64_post_decrement""_hx_int64_add""_hx_int64_add""_hx_int64_sub""_hx_int64_sub""_hx_int64_sub""_hx_int64_mul"
"_hx_int64_div"
"_hx_int64_mod""_hx_int64_eq""_hx_int64_eq""_hx_int64_neq""_hx_int64_neq""_hx_int64_complement""_hx_int64_and""_hx_int64_or""_hx_int64_xor""_hx_int64_shl""_hx_int64_shr""_hx_int64_ushr""_hx_int64_high""_hx_int64_low""cpp/Int64.h""cpp::Int64Struct"Makes a copy of `this` Int64.Construct an Int64 from two 32-bit words `high` and `low`.Returns an Int64 with the value of the Int `x`.
`x` is sign-extended to fill 64 bits.Returns an Int with the value of the Int64 `x`.
Throws an exception if `x` cannot be represented in 32 bits."haxe.Int64.is() is deprecated. Use haxe.Int64.isInt64() instead"Returns whether the value `val` is of type `haxe.Int64`"Use high instead"Returns the high 32-bit word of `x`."Use low instead"Returns the low 32-bit word of `x`.Returns `true` if `x` is less than zero.Returns `true` if `x` is exactly zero. b`,
or 0 if `a == b`.]]> b`,
or 0 if `a == b`.]]>Returns a signed decimal `String` representation of `x`.Performs signed integer divison of `dividend` by `divisor`.
Returns `{ quotient : Int64, modulus : Int64 }`.-AReturns the negative of `x`.++AA++--AA--A + BReturns the sum of `a` and `b`.A + BA - BReturns `a` minus `b`.A - BA - BA * BReturns the product of `a` and `b`.A * B
A / BReturns the quotient of `a` divided by `b`.
A / BA / BA % BReturns the modulus of `a` divided by `b`.A % BA % BA == BReturns `true` if `a` is equal to `b`.A == BA != BReturns `true` if `a` is not equal to `b`.A != B B]]> B]]> B]]>= B]]>= B]]>= B]]>~AReturns the bitwise AND of `a` and `b`.A | BReturns the bitwise OR of `a` and `b`.A ^ BReturns the bitwise XOR of `a` and `b`.Returns `a` left-shifted by `b` bits.> B]]>Returns `a` right-shifted by `b` bits in signed mode.
`a` is sign-extended.>> B]]>Returns `a` right-shifted by `b` bits in unsigned mode.
`a` is padded with zeroes.Makes a copy of `this` Int64.Construct an Int64 from two 32-bit words `high` and `low`.Returns an Int64 with the value of the Int `x`.
`x` is sign-extended to fill 64 bits.Returns an Int with the value of the Int64 `x`.
Throws an exception if `x` cannot be represented in 32 bits."haxe.Int64.is() is deprecated. Use haxe.Int64.isInt64() instead"Returns whether the value `val` is of type `haxe.Int64`"Use high instead"Returns the high 32-bit word of `x`."Use low instead"Returns the low 32-bit word of `x`.Returns `true` if `x` is less than zero.Returns `true` if `x` is exactly zero. b`,
or 0 if `a == b`.]]> b`,
or 0 if `a == b`.]]>Returns a signed decimal `String` representation of `x`.Performs signed integer divison of `dividend` by `divisor`.
Returns `{ quotient : Int64, modulus : Int64 }`.-AReturns the negative of `x`.++AA++--AA--A + BReturns the sum of `a` and `b`.A + BA - BReturns `a` minus `b`.A - BA - BA * BReturns the product of `a` and `b`.A * B
A / BReturns the quotient of `a` divided by `b`.
A / BA / BA % BReturns the modulus of `a` divided by `b`.A % BA % BA == BReturns `true` if `a` is equal to `b`.A == BA != BReturns `true` if `a` is not equal to `b`.A != B B]]> B]]> B]]>= B]]>= B]]>= B]]>~AReturns the bitwise AND of `a` and `b`.A | BReturns the bitwise OR of `a` and `b`.A ^ BReturns the bitwise XOR of `a` and `b`.Returns `a` left-shifted by `b` bits.> B]]>Returns `a` right-shifted by `b` bits in signed mode.
`a` is sign-extended.>> B]]>Returns `a` right-shifted by `b` bits in unsigned mode.
`a` is padded with zeroes.Create `Int64` from given string.Create `Int64` from given float.Helper for parsing to `Int64` instances.`.
If given `text` is not valid JSON, an exception will be thrown.
@see https://haxe.org/manual/std-Json-parsing.html]]>Encodes the given `value` and returns the resulting JSON string.
If `replacer` is given and is not null, it is used to retrieve the
actual object to be encoded. The `replacer` function takes two parameters,
the key and the value being encoded. Initial key value is an empty string.
If `space` is given and is not null, the result will be pretty-printed.
Successive levels will be indented by this string.
@see https://haxe.org/manual/std-Json-encoding.htmlCross-platform JSON API: it will automatically use the optimized native API if available.
Use `-D haxeJSON` to force usage of the Haxe implementation even if a native API is found:
This will provide extra encoding features such as enums (replaced by their index) and StringMaps.
@see https://haxe.org/manual/std-Json.html"haxe.NativeStackTrace.exceptionStack"{ skip : 0 }Do not use manually.hide`PosInfos` is a magic type which can be used to generate position information
into the output for debugging use.
If a function has a final optional argument of this type, i.e.
`(..., ?pos:haxe.PosInfos)`, each call to that function which does not assign
a value to that argument has its position added as call argument.
This can be used to track positions of calls in e.g. a unit testing
framework.Lists all available resource names. The resource name is the name part
of the `--resource file@name` command line parameter.Retrieves the resource identified by `name` as a `String`.
If `name` does not match any resource name, `null` is returned.Retrieves the resource identified by `name` as an instance of
haxe.io.Bytes.
If `name` does not match any resource name, `null` is returned.Resource can be used to access resources that were added through the
`--resource file@name` command line parameter.
Depending on their type they can be obtained as `String` through
`getString(name)`, or as binary data through `getBytes(name)`.
A list of all available resource names can be obtained from `listNames()`.
}
f(1, 2, 3);
final array = [1, 2, 3];
f(...array);
```
Should be used as a type for the last argument of a method, indicating that
an arbitrary number of arguments of the given type can be passed to that method.
Allows to use array access by index to get values of rest arguments.
If the index exceeds the amount of rest arguments passed, the result is unspecified.]]>Amount of arguments passed as rest argumentsCreate rest arguments using contents of `array`.
WARNING:
Depending on a target platform modifying `array` after using this method
may affect the created `Rest` instance.
Use `Rest.of(array.copy())` to avoid that.
<_new get="inline" set="null" line="48" static="1">
Creates an array containing all the values of rest arguments.Create a new rest arguments collection by appending `item` to this one.Create a new rest arguments collection by prepending this one with `item`.Amount of arguments passed as rest argumentsCreate rest arguments using contents of `array`.
WARNING:
Depending on a target platform modifying `array` after using this method
may affect the created `Rest` instance.
Use `Rest.of(array.copy())` to avoid that.
<_new get="inline" set="null" line="48" static="1">
Creates an array containing all the values of rest arguments.Create a new rest arguments collection by appending `item` to this one.Create a new rest arguments collection by prepending this one with `item`.falseIf the values you are serializing can contain circular references or
objects repetitions, you should set `USE_CACHE` to true to prevent
infinite loops.
This may also reduce the size of serialization Strings at the expense of
performance.
This value can be changed for individual instances of `Serializer` by
setting their `useCache` field.falseUse constructor indexes for enums instead of names.
This may reduce the size of serialization Strings, but makes them less
suited for long-term storage: If constructors are removed or added from
the enum, the indices may no longer match.
This value can be changed for individual instances of `Serializer` by
setting their `useEnumIndex` field."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:"nullSerializes `v` and returns the String representation.
This is a convenience function for creating a new instance of
Serializer, serialize `v` into it and obtain the result through a call
to `toString()`.The individual cache setting for `this` Serializer instance.
See `USE_CACHE` for a complete description.The individual enum index setting for `this` Serializer instance.
See `USE_ENUM_INDEX` for a complete description.Return the String representation of `this` Serializer.
The exact format specification can be found here:
https://haxe.org/manual/serialization/formatSerializes `v`.
All haxe-defined values and objects with the exception of functions can
be serialized. Serialization of external/native objects is not
guaranteed to work.
The values of `this.useCache` and `this.useEnumIndex` may affect
serialization output.Creates a new Serializer instance.
Subsequent calls to `this.serialize` will append values to the
internal buffer of this String. Once complete, the contents can be
retrieved through a call to `this.toString`.
Each `Serializer` instance maintains its own cache if `this.useCache` is
`true`.]]>[]
<__check set="method" line="289">
new DefaultResolver()` is called to determine a
`Class` from a class name
2. `resolveEnum(name:String):Enum` is called to determine an
`Enum` from an enum name
This value is applied when a new `Unserializer` instance is created.
Changing it afterwards has no effect on previously created instances.]]>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:"nullUnserializes `v` and returns the according value.
This is a convenience function for creating a new instance of
Unserializer with `v` as buffer and calling its `unserialize()` method
once.Sets the type resolver of `this` Unserializer instance to `r`.
If `r` is `null`, a special resolver is used which returns `null` for all
input values.
See `DEFAULT_RESOLVER` for more information on type resolvers.Gets the type resolver of `this` Unserializer instance.
See `DEFAULT_RESOLVER` for more information on type resolvers.Unserializes the next part of `this` Unserializer instance and returns
the according value.
This function may call `this.resolver.resolveClass` to determine a
Class from a String, and `this.resolver.resolveEnum` to determine an
Enum from a String.
If `this` Unserializer instance contains no more or invalid data, an
exception is thrown.
This operation may fail on structurally valid data if a type cannot be
resolved or if a field cannot be set. This can happen when unserializing
Strings that were serialized on a different Haxe target, in which the
serialization side has to make sure not to include platform-specific
data.
Classes are created from `Type.createEmptyInstance`, which means their
constructors are not called.Creates a new Unserializer instance, with its internal buffer
initialized to `buf`.
This does not parse `buf` immediately. It is parsed only when calls to
`this.unserialize` are made.
Each Unserializer instance maintains its own cache.]]>Thrown value.Extract an originally thrown value.
This method must return the same value on subsequent calls.
Used internally for catching non-native exceptions.
Do _not_ override unless you know what you are doing.An exception containing arbitrary value.
This class is automatically used for throwing values, which don't extend `haxe.Exception`
or native exception type.
For example:
```haxe
throw "Terrible error";
```
will be compiled to
```haxe
throw new ValueException("Terrible error");
```Calculates the Adler32 of the given Bytes."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"haxe.io.Bytes.ofString(CHARS)"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"haxe.io.Bytes.ofString(URL_CHARS){ complement : true }{ complement : true }{ complement : false }{ complement : false }Allows one to encode/decode String and bytes using Base64 encoding.Allows one to encode/decode String and bytes using a power of two base dictionary.Calculates the CRC32 of the given data bytesCalculates the Crc32 of the given Bytes.Hash methods for Hmac calculation.Calculates a Hmac of the given Bytes using a HashMethod.Creates a MD5 of a String.Convert a string to a sequence of 16-word blocks, stored as an array.
Append padding bits and the length, as described in the SHA1 standard.Bitwise rotate a 32-bit number to the leftPerform the appropriate triplet combination function for the current iterationDetermine the appropriate additive constant for the current iterationCreates a Sha1 of a String.Creates a Sha224 of a String.Convert a string to a sequence of 16-word blocks, stored as an array.
Append padding bits and the length, as described in the SHA1 standard.Creates a Sha256 of a String.("display/completion")]]>The completion request is sent from the client to Haxe to request code completion.
Haxe automatically determines the type of completion to use based on the passed position, see `CompletionResultKind`.("display/completionItem/resolve")]]>The request is sent from the client to Haxe to resolve additional information for a given completion item.("display/references")]]>The find references request is sent from the client to Haxe to find locations that reference the symbol at a given text document position.("display/definition")]]>The goto definition request is sent from the client to Haxe to resolve the definition location(s) of a symbol at a given text document position.("display/implementation")]]>The goto implementation request is sent from the client to Haxe to resolve the implementation location(s) of a symbol at a given text document position.("display/typeDefinition")]]>The goto type definition request is sent from the client to Haxe to resolve the type definition location(s) of a symbol at a given text document position.("display/hover")]]>The hover request is sent from the client to Haxe to request hover information at a given text document position.("display/package")]]>This request is sent from the client to Haxe to determine the package for a given file, based on class paths configuration.("display/signatureHelp")]]>The signature help request is sent from the client to Haxe to request signature information at a given cursor position.Methods of the JSON-RPC-based `--display` protocol in Haxe 4.
A lot of the methods are *inspired* by the Language Server Protocol, but there is **no** intention to be directly compatible with it.Unicode character offset in the file.list of metas to include in responsesCompletionThe qualifier that has to be inserted to use the field if `!isQualified`.
Can either be `this` or `super` for instance fields for the type name for `static` fields.Whether it's valid to use the unqualified name of the field or not.
This is `false` if the identifier is shadowed.cast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 4cast 5cast 0The field is declared on the current type itself.cast 1The field is a static field brought into context via a static import
(`import pack.Module.Type.field`).cast 2The field is declared on a parent type, such as:
- a super class field that is not overriden
- a forwarded abstract fieldcast 3The field is a static extension method brought
into context with the `using` keyword.cast 4This field doesn't belong to any named type, just an anonymous structure.cast 5Special fields built into the compiler, such as:
- `code` on single-character Strings
- `bind()` on functions.cast 6The origin of this class field is unknown.cast 0The field is declared on the current type itself.cast 1The field is a static field brought into context via a static import
(`import pack.Module.Type.field`).cast 2The field is declared on a parent type, such as:
- a super class field that is not overriden
- a forwarded abstract fieldcast 3The field is a static extension method brought
into context with the `using` keyword.cast 4This field doesn't belong to any named type, just an anonymous structure.cast 5Special fields built into the compiler, such as:
- `code` on single-character Strings
- `bind()` on functions.cast 6The origin of this class field is unknown.cast 0The enum value is declared on the current type itself.cast 1The enum value is brought into context via a static import
(`import pack.Module.Enum.Value`).cast 0The enum value is declared on the current type itself.cast 1The enum value is brought into context via a static import
(`import pack.Module.Enum.Value`).cast "null"cast "true"cast "false"cast "this"cast "trace"cast "null"cast "true"cast "false"cast "this"cast "trace"cast 0cast 1cast 2cast 3cast 4cast 5A `typedef` that is just an alias for another type.cast 6A `typedef` that is an alias for an anonymous structure.cast 0cast 1cast 2cast 3cast 4cast 5A `typedef` that is just an alias for another type.cast 6A `typedef` that is an alias for an anonymous structure.cast "TClass"cast "TClassField"cast "TAbstract"cast "TAbstractField"cast "TEnum"cast "TTypedef"cast "TAnyField"cast "TExpr"cast "TTypeParameter"cast "TClass"cast "TClassField"cast "TAbstract"cast "TAbstractField"cast "TEnum"cast "TTypedef"cast "TAnyField"cast "TExpr"cast "TTypeParameter"cast "cross"cast "js"cast "lua"cast "neko"cast "flash"cast "php"cast "cpp"cast "cs"cast "java"cast "python"cast "hl"cast "eval"cast "cross"cast "js"cast "lua"cast "neko"cast "flash"cast "php"cast "cpp"cast "cs"cast "java"cast "python"cast "hl"cast "eval"cast "implements"cast "extends"cast "function"cast "var"cast "if"cast "else"cast "while"cast "do"cast "for"cast "break"cast "return"cast "continue"cast "switch"cast "case"cast "default"cast "try"cast "catch"cast "new"cast "throw"cast "untyped"cast "cast"cast "macro"cast "package"cast "import"cast "using"cast "public"cast "private"cast "static"cast "extern"cast "dynamic"cast "override"cast "overload"cast "class"cast "interface"cast "enum"cast "abstract"cast "typedef"cast "final"cast "inline"cast "implements"cast "extends"cast "function"cast "var"cast "if"cast "else"cast "while"cast "do"cast "for"cast "break"cast "return"cast "continue"cast "switch"cast "case"cast "default"cast "try"cast "catch"cast "new"cast "throw"cast "untyped"cast "cast"cast "macro"cast "package"cast "import"cast "using"cast "public"cast "private"cast "static"cast "extern"cast "dynamic"cast "override"cast "overload"cast "class"cast "interface"cast "enum"cast "abstract"cast "typedef"cast "final"cast "inline"cast "Local"cast "ClassField"cast "EnumField"cast "EnumAbstractField"Only for the enum values in enum abstracts, other fields use `ClassField`.cast "Type"cast "Package"cast "Module"cast "Literal"cast "Metadata"cast "Keyword"cast "AnonymousStructure"cast "Expression"cast "TypeParameter"cast "Define"cast "Local"cast "ClassField"cast "EnumField"cast "EnumAbstractField"Only for the enum values in enum abstracts, other fields use `ClassField`.cast "Type"cast "Package"cast "Module"cast "Literal"cast "Metadata"cast "Keyword"cast "AnonymousStructure"cast "Expression"cast "TypeParameter"cast "Define"cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14CompletionItem ResolveUnicode character offset in the file.FindReferencescast "direct"Find only direct references to the requested symbol.
Does not look for references to parent or overriding methods.cast "withBaseAndDescendants"Find references to the base field and all the overidding fields in the inheritance chain.cast "withDescendants"Find references to the requested field and references to all
descendants of the requested field.cast "direct"Find only direct references to the requested symbol.
Does not look for references to parent or overriding methods.cast "withBaseAndDescendants"Find references to the base field and all the overidding fields in the inheritance chain.cast "withDescendants"Find references to the requested field and references to all
descendants of the requested field.GotoDefinitionGotoTypeDefinitionHovercast 0cast 1cast 0cast 1DeterminePackageUnicode character offset in the file.SignatureHelpcast 0cast 1cast 0cast 1Unicode character offset in the file.General types
<_new public="1" get="inline" set="null" line="26" static="1">
<_new public="1" get="inline" set="null" line="26" static="1">
cast 0This type is already available with it's unqualified name for one of these reasons:
- it's a toplevel type
- it's imported with an `import` in the current module
- it's imported in an `import.hx` filecast 1The type is currently not imported. It can be accessed either
with its fully qualified name or by inserting an import.cast 2A type with the same name is already imported in the module.
The fully qualified name has to be used to access it.cast 0This type is already available with it's unqualified name for one of these reasons:
- it's a toplevel type
- it's imported with an `import` in the current module
- it's imported in an `import.hx` filecast 1The type is currently not imported. It can be accessed either
with its fully qualified name or by inserting an import.cast 2A type with the same name is already imported in the module.
The fully qualified name has to be used to access it.cast "AClosed"cast "AOpened"cast "AConst"cast "AExtend"cast "AClassStatics"cast "AEnumStatics"cast "AAbstractStatics"cast "AClosed"cast "AOpened"cast "AConst"cast "AExtend"cast "AClassStatics"cast "AEnumStatics"cast "AAbstractStatics"cast "TMono"cast "TInst"cast "TEnum"cast "TType"cast "TAbstract"cast "TFun"cast "TAnonymous"cast "TDynamic"cast "TMono"cast "TInst"cast "TEnum"cast "TType"cast "TAbstract"cast "TFun"cast "TAnonymous"cast "TDynamic"cast "OpAdd"cast "OpMult"cast "OpDiv"cast "OpSub"cast "OpAssign"cast "OpEq"cast "OpNotEq"cast "OpGt"cast "OpGte"cast "OpLt"cast "OpLte"cast "OpAnd"cast "OpOr"cast "OpXor"cast "OpBoolAnd"cast "OpBoolOr"cast "OpShl"cast "OpShr"cast "OpUShr"cast "OpMod"cast "OpAssignOp"cast "OpInterval"cast "OpArrow"cast "OpIn"cast "OpAdd"cast "OpMult"cast "OpDiv"cast "OpSub"cast "OpAssign"cast "OpEq"cast "OpNotEq"cast "OpGt"cast "OpGte"cast "OpLt"cast "OpLte"cast "OpAnd"cast "OpOr"cast "OpXor"cast "OpBoolAnd"cast "OpBoolOr"cast "OpShl"cast "OpShr"cast "OpUShr"cast "OpMod"cast "OpAssignOp"cast "OpInterval"cast "OpArrow"cast "OpIn"cast "OpIncrement"cast "OpDecrement"cast "OpNot"cast "OpNeg"cast "OpNegBits"cast "OpIncrement"cast "OpDecrement"cast "OpNot"cast "OpNeg"cast "OpNegBits"cast "TInt"cast "TFloat"cast "TString"cast "TBool"cast "TNull"cast "TThis"cast "TSuper"cast "TInt"cast "TFloat"cast "TString"cast "TBool"cast "TNull"cast "TThis"cast "TSuper"cast "AccNormal"cast "AccNo"cast "AccNever"cast "AccResolve"cast "AccCall"cast "AccInline"cast "AccRequire"cast "AccCtor"cast "AccNormal"cast "AccNo"cast "AccNever"cast "AccResolve"cast "AccCall"cast "AccInline"cast "AccRequire"cast "AccCtor"cast "MethNormal"cast "MethInline"cast "MethDynamic"cast "MethMacro"cast "MethNormal"cast "MethInline"cast "MethDynamic"cast "MethMacro"cast "FVar"cast "FMethod"cast "FVar"cast "FMethod"cast 0cast 1cast 2cast 0cast 1cast 2cast "KNormal"cast "KTypeParameter"cast "KExtension"cast "KExpr"cast "KGeneric"cast "KGenericInstance"cast "KMacroType"cast "KAbstractImpl"cast "KGenericBuild"cast "KModuleFields"cast "KNormal"cast "KTypeParameter"cast "KExtension"cast "KExpr"cast "KGeneric"cast "KGenericInstance"cast "KMacroType"cast "KAbstractImpl"cast "KGenericBuild"cast "KModuleFields"cast "class"cast "enum"cast "typedef"cast "abstract"cast "class"cast "enum"cast "typedef"cast "abstract"Line position in a document (1-based).Character offset on a line in a document (1-based).Position in a text document expressed as 1-based line and character offset.The range's start positionThe range's end positionA range in a text document expressed as (1-based) start and end positions.Represents a location inside a resource, such as a line inside a text file.("initialize")]]>The initialize request is sent from the client to Haxe to determine the capabilities.The maximum number of completion items to returndot paths to exclude from readClassPaths / toplevel completion
Represents a semantic version, see https://semver.org/.UNIX timestamp at the moment the data was sent.Only sent if `--times` is enabled.<_new public="1" get="inline" set="null" line="90" static="1">
<_new public="1" get="inline" set="null" line="90" static="1">
<_new public="1" get="inline" set="null" line="95" static="1">
<_new public="1" get="inline" set="null" line="95" static="1">
cast 1cast 2cast 3cast 1cast 2cast 3>("server/readClassPaths")]]>This request is sent from the client to Haxe to explore the class paths. This effectively creates a cache for toplevel completion.>("server/configure")]]>>("server/invalidate")]]>>>("server/contexts")]]>>("server/memory")]]>>("server/memory/context")]]>>("server/memory/module")]]>>>("server/modules")]]>>("server/module")]]>>>("server/files")]]>>("server/moduleCreated")]]> y` and a
negative Int if `x < y`.
This operation modifies Array `a` in place.
This operation is stable: The order of equal elements is preserved.
If `a` or `cmp` are null, the result is unspecified.]]>ArraySort provides a stable implementation of merge sort through its `sort`
method. It should be used instead of `Array.sort` in cases where the order
of equal elements has to be retained on all targets.Binds `key` to `value`.
If `key` is already bound to a value, that binding disappears.
If `key` is null, the result is unspecified.Returns the value `key` is bound to.
If `key` is not bound to any value, `null` is returned.
If `key` is null, the result is unspecified.Removes the current binding of `key`.
If `key` has no binding, `this` BalancedTree is unchanged and false is
returned.
Otherwise the binding of `key` is removed and true is returned.
If `key` is null, the result is unspecified.Tells if `key` is bound to a value.
This method returns true even if `key` is bound to null.
If `key` is null, the result is unspecified.Iterates over the bound values of `this` BalancedTree.
This operation is performed in-order.See `Map.keyValueIterator`Iterates over the keys of `this` BalancedTree.
This operation is performed in-order.Removes all keys from `this` BalancedTree.Creates a new BalancedTree, which is initially empty.BalancedTree allows key-value mapping with arbitrary keys, as long as they
can be ordered. By default, `Reflect.compare` is used in the `compare`
method, which can be overridden in subclasses.
Operations have a logarithmic average and worst-case cost.
Iteration over keys and values, using `keys` and `iterator` respectively,
are in-order.
<_height>{ h : -1 }A tree node of `haxe.ds.BalancedTree`.EnumValueMap allows mapping of enum value keys to arbitrary values.
Keys are compared by value and recursively over their parameters. If any
parameter is not an enum value, `Reflect.compare` is used to compare them.HashMap allows mapping of hashable objects to arbitrary values.
See `Map` for documentation details.
@see https://haxe.org/manual/std-Map.html
<_new public="1" get="inline" set="null" line="38" static="1">
Creates a new HashMap.See `Map.set`See `Map.get`See `Map.exists`See `Map.remove`See `Map.keys`See `Map.copy`See `Map.iterator`See `Map.keyValueIterator`See `Map.clear`
<_new public="1" get="inline" set="null" line="38" static="1">
Creates a new HashMap.See `Map.set`See `Map.get`See `Map.exists`See `Map.remove`See `Map.keys`See `Map.copy`See `Map.iterator`See `Map.keyValueIterator`See `Map.clear`"haxe.ds.IntMap.*"See `Map.set`See `Map.get`See `Map.exists`See `Map.remove`See `Map.keys`
(cs, java) Implementation detail: Do not `set()` any new value while
iterating, as it may cause a resize, which will break iteration.See `Map.iterator`
(cs, java) Implementation detail: Do not `set()` any new value while
iterating, as it may cause a resize, which will break iteration.See `Map.keyValueIterator`See `Map.copy`See `Map.toString`See `Map.clear`Creates a new IntMap.IntMap allows mapping of Int keys to arbitrary values.
See `Map` for documentation details.
@see https://haxe.org/manual/std-Map.html\r\n inline void set(int key, const ::cpp::Struct &value) {__int_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(int key, const ::cpp::Function &value) {__int_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(int key, const ::cpp::Pointer &value) {__int_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (int)key, value ); }\r\n\r\n inline bool get_bool(int key) { return __int_hash_get_bool(h,key); }\r\n inline int get_int(int key) { return __int_hash_get_int(h,key); }\r\n inline Float get_float(int key) { return __int_hash_get_float(h,key); }\r\n inline String get_string(int key) { return __int_hash_get_string(h,key); }\r\n"]]> value1, key2 => value2]` syntax.
Map is an abstract type, it is not available at runtime.
@see https://haxe.org/manual/std-Map.html]]>@:followWithAbstracts KMaps `key` to `value`.
If `key` already has a mapping, the previous value disappears.
If `key` is `null`, the result is unspecified.Returns the current mapping of `key`.
If no such mapping exists, `null` is returned.
Note that a check like `map.get(key) == null` can hold for two reasons:
1. the map has no mapping for `key`
2. the map has a mapping with a value of `null`
If it is important to distinguish these cases, `exists()` should be
used.
If `key` is `null`, the result is unspecified.Returns true if `key` has a mapping, false otherwise.
If `key` is `null`, the result is unspecified.Removes the mapping of `key` and returns true if such a mapping existed,
false otherwise.
If `key` is `null`, the result is unspecified.Returns an Iterator over the keys of `this` Map.
The order of keys is undefined.Returns an Iterator over the values of `this` Map.
The order of values is undefined.Returns an Iterator over the keys and values of `this` Map.
The order of values is undefined.Returns a shallow copy of `this` map.
The order of values is undefined.Returns a String representation of `this` Map.
The exact representation depends on the platform and key-type.Removes all keys from `this` Map.`ReadOnlyArray` is an abstract over an ordinary `Array` which only exposes
APIs that don't modify the instance, hence "read-only".
Note that this doesn't necessarily mean that the instance is *immutable*.
Other code holding a reference to the underlying `Array` can still modify it,
and the reference can be obtained with a `cast`.copyfilterindexOfiteratorkeyValueIteratorjoinlastIndexOfmapslicecontainstoStringThe length of `this` Array.Returns a new Array by appending the elements of `a` to the elements of
`this` Array.
This operation does not modify `this` Array.
If `a` is the empty Array `[]`, a copy of `this` Array is returned.
The length of the returned Array is equal to the sum of `this.length`
and `a.length`.
If `a` is `null`, the result is unspecified.The length of `this` Array.Returns a new Array by appending the elements of `a` to the elements of
`this` Array.
This operation does not modify `this` Array.
If `a` is the empty Array `[]`, a copy of `this` Array is returned.
The length of the returned Array is equal to the sum of `this.length`
and `a.length`.
If `a` is `null`, the result is unspecified.A Vector is a storage of fixed size. It can be faster than Array on some
targets, and is never slower.
@see https://haxe.org/manual/std-vector.html
<_new public="1" get="inline" set="null" line="64" static="1">
Creates a new Vector of length `length`.
Initially `this` Vector contains `length` neutral elements:
- always null on dynamic targets
- 0, 0.0 or false for Int, Float and Bool respectively on static targets
- null for other types on static targets
If `length` is less than or equal to 0, the result is unspecified.[]Returns the value at index `index`.
If `index` is negative or exceeds `this.length`, the result is
unspecified.[]Sets the value at index `index` to `val`.
If `index` is negative or exceeds `this.length`, the result is
unspecified.Returns the length of `this` Vector.Copies `length` of elements from `src` Vector, beginning at `srcPos` to
`dest` Vector, beginning at `destPos`
The results are unspecified if `length` results in out-of-bounds access,
or if `src` or `dest` are nullCreates a new Array, copy the content from the Vector to it, and returns it.Extracts the data of `this` Vector.
This returns the internal representation type.Initializes a new Vector from `data`.
Since `data` is the internal representation of Vector, this is a no-op.
If `data` is null, the corresponding Vector is also `null`.Creates a new Vector by copying the elements of `array`.
This always creates a copy, even on platforms where the internal
representation is Array.
The elements are not copied and retain their identity, so
`a[i] == Vector.fromArrayCopy(a).get(i)` is true for any valid i.
If `array` is null, the result is unspecified.Returns a shallow copy of `this` Vector.
The elements are not copied and retain their identity, so
`a[i] == a.copy()[i]` is true for any valid `i`. However,
`a == a.copy()` is always false.Returns a string representation of `this` Vector, with `sep` separating
each element.
The result of this operation is equal to `Std.string(this[0]) + sep +
Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])`
If `this` Vector has length 0, the result is the empty String `""`.
If `this` has exactly one element, the result is equal to a call to
`Std.string(this[0])`.
If `sep` is null, the result is unspecified. y and a
negative Int if x < y.
This operation modifies `this` Vector in place.
The sort operation is not guaranteed to be stable, which means that the
order of equal elements may not be retained.
If `f` is null, the result is unspecified.]]>
<_new public="1" get="inline" set="null" line="64" static="1">
Creates a new Vector of length `length`.
Initially `this` Vector contains `length` neutral elements:
- always null on dynamic targets
- 0, 0.0 or false for Int, Float and Bool respectively on static targets
- null for other types on static targets
If `length` is less than or equal to 0, the result is unspecified.[]Returns the value at index `index`.
If `index` is negative or exceeds `this.length`, the result is
unspecified.[]Sets the value at index `index` to `val`.
If `index` is negative or exceeds `this.length`, the result is
unspecified.Returns the length of `this` Vector.Copies `length` of elements from `src` Vector, beginning at `srcPos` to
`dest` Vector, beginning at `destPos`
The results are unspecified if `length` results in out-of-bounds access,
or if `src` or `dest` are nullCreates a new Array, copy the content from the Vector to it, and returns it.Extracts the data of `this` Vector.
This returns the internal representation type.Initializes a new Vector from `data`.
Since `data` is the internal representation of Vector, this is a no-op.
If `data` is null, the corresponding Vector is also `null`.Creates a new Vector by copying the elements of `array`.
This always creates a copy, even on platforms where the internal
representation is Array.
The elements are not copied and retain their identity, so
`a[i] == Vector.fromArrayCopy(a).get(i)` is true for any valid i.
If `array` is null, the result is unspecified.Returns a shallow copy of `this` Vector.
The elements are not copied and retain their identity, so
`a[i] == a.copy()[i]` is true for any valid `i`. However,
`a == a.copy()` is always false.Returns a string representation of `this` Vector, with `sep` separating
each element.
The result of this operation is equal to `Std.string(this[0]) + sep +
Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])`
If `this` Vector has length 0, the result is the empty String `""`.
If `this` has exactly one element, the result is equal to a call to
`Std.string(this[0])`.
If `sep` is null, the result is unspecified. y and a
negative Int if x < y.
This operation modifies `this` Vector in place.
The sort operation is not guaranteed to be stable, which means that the
order of equal elements may not be retained.
If `f` is null, the result is unspecified.]]>"haxe.ds.WeakMap.*"See `Map.set`See `Map.get`See `Map.exists`See `Map.remove`See `Map.keys`See `Map.iterator`See `Map.keyValueIterator`See `Map.copy`See `Map.toString`See `Map.clear`Creates a new WeakMap.WeakMap allows mapping of object keys to arbitrary values.
The keys are considered to be weak references on static targets.
See `Map` for documentation details.
@see https://haxe.org/manual/std-Map.html\r\n inline void set(Dynamic key, const ::cpp::Struct &value) {__object_hash_set(HX_MAP_THIS,key,value,true); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Pointer &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value,true ); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Function &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value,true ); }\r\n"]]>Position where this exception was created.Returns exception message.An exception that carry position information of a place where it was created.An argument name.An exception that is thrown when an invalid value provided for an argument of a function.{ message : "Not implemented" }An exception that is thrown when requested function or operation does not have an implementation.If this type is used as an argument type, the compiler ensures that
argument expressions are bound to a local variable.variable]]>]]>`.
If given `str` is not valid JSON, an exception will be thrown.
If `str` is null, the result is unspecified.]]>An implementation of JSON parser in Haxe.
This class is used by `haxe.Json` when native JSON implementation
is not available.
@see https://haxe.org/manual/std-Json-parsing.htmlEncodes `o`'s value and returns the resulting JSON string.
If `replacer` is given and is not null, it is used to retrieve
actual object to be encoded. The `replacer` function takes two parameters,
the key and the value being encoded. Initial key value is an empty string.
If `space` is given and is not null, the result will be pretty-printed.
Successive levels will be indented by this string.An implementation of JSON printer in Haxe.
This class is used by `haxe.Json` when native JSON implementation
is not available.
@see https://haxe.org/manual/std-Json-encoding.htmlThe url of `this` request. It is used only by the `request()` method and
can be changed in order to send the same request to different target
Urls.Sets the header identified as `name` to value `value`.
If `name` or `value` are null, the result is unspecified.
This method provides a fluent interface.Sets the parameter identified as `name` to value `value`.
If `name` or `value` are null, the result is unspecified.
This method provides a fluent interface.Sets the post data of `this` Http request to `data` string.
There can only be one post data per request. Subsequent calls to
this method or to `setPostBytes()` overwrite the previously set value.
If `data` is null, the post data is considered to be absent.
This method provides a fluent interface.Sets the post data of `this` Http request to `data` bytes.
There can only be one post data per request. Subsequent calls to
this method or to `setPostData()` overwrite the previously set value.
If `data` is null, the post data is considered to be absent.
This method provides a fluent interface.Sends `this` Http request to the Url specified by `this.url`.
If `post` is true, the request is sent as POST request, otherwise it is
sent as GET request.
Depending on the outcome of the request, this method calls the
`onStatus()`, `onError()`, `onData()` or `onBytes()` callback functions.
If `this.url` is null, the result is unspecified.
If `this.url` is an invalid or inaccessible Url, the `onError()` callback
function is called.
[js] If `this.async` is false, the callback functions are called before
this method returns.This method is called upon a successful request, with `data` containing
the result String.
The intended usage is to bind it to a custom function:
`httpInstance.onData = function(data) { // handle result }`This method is called upon a successful request, with `data` containing
the result String.
The intended usage is to bind it to a custom function:
`httpInstance.onBytes = function(data) { // handle result }`This method is called upon a request error, with `msg` containing the
error description.
The intended usage is to bind it to a custom function:
`httpInstance.onError = function(msg) { // handle error }`This method is called upon a Http status change, with `status` being the
new status.
The intended usage is to bind it to a custom function:
`httpInstance.onStatus = function(status) { // handle status }`Override this if extending `haxe.Http` with overriding `onData`Creates a new Http instance with `url` as parameter.
This does not do a request until `request()` is called.
If `url` is null, the field url must be set to a value before making the
call to `request()`, or the result is unspecified.
(Php) Https (SSL) connections are allowed only if the OpenSSL extension
is enabled.This class can be used to handle Http requests consistently across
platforms. There are two intended usages:
- call `haxe.Http.requestUrl(url)` and receive the result as a `String`
(only available on `sys` targets)
- create a `new haxe.Http(url)`, register your callbacks for `onData`,
`onError` and `onStatus`, then call `request()`.The length of the buffer in bytes.Returns either a copy or a reference of the current bytes.
Once called, the buffer should no longer be used.The current position in the stream in bytes.The length of the stream in bytes.The length of the stream in bytes.Returns the `Bytes` of this output.
This function should not be called more than once on a given
`BytesOutput` instance.Output the string the way the platform represent it in memory. This is the most efficient but is platform-specificString binary encoding supported by Haxe I/O"haxe.io.Eof.*"This exception is raised when reading while data is no longer available in the `haxe.io.Input`.The IO is set into nonblocking mode and some data cannot be read or writtenAn integer value is outside its allowed rangeAn operation on Bytes is outside of its valid rangeOther errorsThe possible IO errors that can occurReturns an Int64 representing the bytes representation of the double precision IEEE float value.
WARNING : for performance reason, the same Int64 value might be reused every time. Copy its low/high values before calling again.
We still ensure that this is safe to use in a multithread environmentHelper that converts between floating point and binary representation.
Always works in low-endian encoding.Returns the String representation of `path` without the file extension.
If `path` is `null`, the result is unspecified.Returns the String representation of `path` without the directory.
If `path` is `null`, the result is unspecified.Returns the directory of `path`.
If the directory is `null`, the empty String `""` is returned.
If `path` is `null`, the result is unspecified.Returns the extension of `path`.
If `path` has no extension, the empty String `""` is returned.
If `path` is `null`, the result is unspecified.Returns a String representation of `path` where the extension is `ext`.
If `path` has no extension, `ext` is added as extension.
If `path` or `ext` are `null`, the result is unspecified.Joins all paths in `paths` together.
If `paths` is empty, the empty String `""` is returned. Otherwise the
paths are joined with a slash between them.
If `paths` is `null`, the result is unspecified.Normalize a given `path` (e.g. turn `'/usr/local/../lib'` into `'/usr/lib'`).
Also replaces backslashes `\` with slashes `/` and afterwards turns
multiple slashes into a single one.
If `path` is `null`, the result is unspecified.Adds a trailing slash to `path`, if it does not have one already.
If the last slash in `path` is a backslash, a backslash is appended to
`path`.
If the last slash in `path` is a slash, or if no slash is found, a slash
is appended to `path`. In particular, this applies to the empty String
`""`.
If `path` is `null`, the result is unspecified.Removes trailing slashes from `path`.
If `path` does not end with a `/` or `\`, `path` is returned unchanged.
Otherwise the substring of `path` excluding the trailing slashes or
backslashes is returned.
If `path` is `null`, the result is unspecified.Returns `true` if the path is an absolute path, and `false` otherwise.{ allowSlashes : false }The directory.
This is the leading part of the path that is not part of the file name
and the extension.
Does not end with a `/` or `\` separator.
If the path has no directory, the value is `null`.The file name.
This is the part of the part between the directory and the extension.
If there is no file name, e.g. for `".htaccess"` or `"/dir/"`, the value
is the empty String `""`.The file extension.
It is separated from the file name by a dot. This dot is not part of
the extension.
If the path has no extension, the value is `null`.`true` if the last directory separator is a backslash, `false` otherwise.Returns a String representation of `this` path.
If `this.backslash` is `true`, backslash is used as directory separator,
otherwise slash is used. This only affects the separator between
`this.dir` and `this.file`.
If `this.directory` or `this.extension` is `null`, their representation
is the empty String `""`.Creates a new `Path` instance by parsing `path`.
Path information can be retrieved by accessing the `dir`, `file` and `ext`
properties.This class provides a convenient way of working with paths. It supports the
common path formats:
- `directory1/directory2/filename.extension`
- `directory1\directory2\filename.extension`0See `Iterator.hasNext`See `Iterator.next`Create a new `ArrayIterator`.` is passed to `Iterable`]]>0"anon_read.keyValueIterator""dynamic_read.keyValueIterator"See `Iterator.hasNext`See `Iterator.next`See `Iterator.hasNext`See `Iterator.next`This Key/Value iterator can be used to iterate across maps."anon_read.keyValueIterator""dynamic_read.keyValueIterator"0haxe.Rest0haxe.Rest0See `Iterator.hasNext`See `Iterator.next`Create a new `StringIterator` over String `s`.This iterator can be used to iterate over char codes in a string.
Note that char codes may differ across platforms because of different
internal encoding of strings in different of runtimes.Convenience function which can be used as a static extension.0See `Iterator.hasNext`StringToolsSee `Iterator.next`Create a new `StringIteratorUnicode` over String `s`.This iterator can be used to iterate across strings in a cross-platform
way. It handles surrogate pairs on platforms that require it. On each
iteration, it returns the next character code.
Note that this has different semantics than a standard for-loop over the
String's length due to the fact that it deals with surrogate pairs.0See `KeyValueIterator.hasNext`See `KeyValueIterator.next`Create a new `StringKeyValueIterator` over String `s`.This iterator can be used to iterate over char indexes and char codes in a string.
Note that char codes may differ across platforms because of different
internal encoding of strings in different runtimes.Convenience function which can be used as a static extension.00See `Iterator.hasNext`StringToolsSee `Iterator.next`Create a new `StringKeyValueIteratorUnicode` over String `s`.This iterator can be used to iterate across strings in a cross-platform
way. It handles surrogate pairs on platforms that require it. On each
iteration, it returns the next character offset as key and the next
character code as value.
Note that in the general case, because of surrogate pairs, the key values
should not be used as offsets for various String API operations. For the
same reason, the last key value returned might be less than `s.length - 1`.All these methods can be called for compiler configuration macros.cast "top"Prepend the file content to the output file.cast "closure"Prepend the file content to the body of the top-level closure.
Since the closure is in strict-mode, there may be run-time error if the input is not strict-mode-compatible.cast "inline"Directly inject the file content at the call site.cast "top"Prepend the file content to the output file.cast "closure"Prepend the file content to the body of the top-level closure.
Since the closure is in strict-mode, there may be run-time error if the input is not strict-mode-compatible.cast "inline"Directly inject the file content at the call site.cast "Off"Disable null safety.cast "Loose"}) {
if(o.field != null) {
mutate(o);
var notNullable:String = o.field; //no error
}
}
function mutate(o:{field:Null}) {
o.field = null;
}
```]]>cast "Strict"}, b:{o:{field:Null}}) {
if(o.field != null) {
var notNullable:String = o.field; //no error
someCall();
var notNullable:String = o.field; // Error!
}
if(o.field != null) {
var notNullable:String = o.field; //no error
b.o = {field:null};
var notNullable:String = o.field; // Error!
}
}
```]]>cast "StrictThreaded"Full scale null safety for a multi-threaded environment.
With this mode checking a field `!= null` does not make it safe, because it could be changed from another thread
at the same time or immediately after the check.
The only nullable thing could be safe are local variables.cast "Off"Disable null safety.cast "Loose"}) {
if(o.field != null) {
mutate(o);
var notNullable:String = o.field; //no error
}
}
function mutate(o:{field:Null}) {
o.field = null;
}
```]]>cast "Strict"}, b:{o:{field:Null}}) {
if(o.field != null) {
var notNullable:String = o.field; //no error
someCall();
var notNullable:String = o.field; // Error!
}
if(o.field != null) {
var notNullable:String = o.field; //no error
b.o = {field:null};
var notNullable:String = o.field; // Error!
}
}
```]]>cast "StrictThreaded"Full scale null safety for a multi-threaded environment.
With this mode checking a field `!= null` does not make it safe, because it could be changed from another thread
at the same time or immediately after the check.
The only nullable thing could be safe are local variables.Converts type `c` to a human-readable `String` representation.
The result is guaranteed to be valid Haxe code, but there may be
differences from the original lexical syntax.This class provides some utility methods to work with AST-level types. It is
best used through `using haxe.macro.ComplexTypeTools` syntax and then provides
additional methods on `haxe.macro.ComplexType` instances.Context provides an API for macro programming.
It contains common functions that interact with the macro interpreter to
query or set information. Other API functions are available in the tools
classes:
- `haxe.macro.ComplexTypeTools`
- `haxe.macro.ExprTools`
- `haxe.macro.TypeTools`Position of the first character.Position of the last character.Reference to the filename.Represents a position in a file.Represents an integer literal.Represents a float literal.Represents a string literal.Represents an identifier.Represents a regular expression literal.
Example: `~/haxe/i`
- The first argument `haxe` is a string with regular expression pattern.
- The second argument `i` is a string with regular expression flags.
@see https://haxe.org/manual/std-regex.htmlRepresents a constant.
@see https://haxe.org/manual/expression-constants.html`+``*``/``-``=``==``!=``]]>=`]]>`|``^``||`>`]]>>>`]]>`%`>=` `>>>=` `|=` `&=` `^=` `%=`]]>`...``]]>`in`A binary operator.
@see https://haxe.org/manual/types-numeric-operators.html`++``--``!``-``~``...`A unary operator.
@see https://haxe.org/manual/types-numeric-operators.htmlThe position of the expression.The expression kind.Represents a node in the AST.
@see https://haxe.org/manual/macro-reification-expression.htmlRepresents a AST node identical to `Expr`, but it allows constraining the
type of accepted expressions.
@see https://haxe.org/manual/macro-ExprOf.htmlThe value expressions of the case.The optional guard expressions of the case, if available.The expression of the case, if available.Represents a switch case.
@see https://haxe.org/manual/expression-switch.htmlThe type-hint of the variable, if available.The name of the variable.Metadata associatied with the variable, if available.Whether or not the variable can be assigned to.The expression of the variable, if available.Represents a variable in the AST.
@see https://haxe.org/manual/expression-var.htmlThe type of the catch.The name of the catch variable.The expression of the catch.Represents a catch in the AST.
@see https://haxe.org/manual/expression-try-catch.htmlNo quotesDouble quotes `"`Represents the way something is quoted.How the field name is quoted.The name of the field.The field expression.Represents the field of an object declaration.Anonymous functionNamed functionArrow functionRepresents function kind in the ASTA constant.Array access `e1[e2]`.Binary operator `e1 op e2`.Field access on `e.field`.Parentheses `(e)`.An object declaration.An array declaration `[el]`.A call `e(params)`.A constructor call `new t(params)`.An unary operator `op` on `e`:
- `e++` (`op = OpIncrement, postFix = true`)
- `e--` (`op = OpDecrement, postFix = true`)
- `++e` (`op = OpIncrement, postFix = false`)
- `--e` (`op = OpDecrement, postFix = false`)
- `-e` (`op = OpNeg, postFix = false`)
- `!e` (`op = OpNot, postFix = false`)
- `~e` (`op = OpNegBits, postFix = false`)Variable declarations.A function declaration.A block of expressions `{exprs}`.A `for` expression.An `if (econd) eif` or `if (econd) eif else eelse` expression.Represents a `while` expression.
When `normalWhile` is `true` it is `while (...)`.
When `normalWhile` is `false` it is `do {...} while (...)`.Represents a `switch` expression with related cases and an optional.
`default` case if `edef != null`.Represents a `try`-expression with related catches.A `return` or `return e` expression.A `break` expression.A `continue` expression.An `untyped e` source code.A `throw e` expression.A `cast e` or `cast (e, m)` expression.Used internally to provide completion.Used internally to provide completion.A `(econd) ? eif : eelse` expression.A `(e:t)` expression.A `@m e` expression.An `expr is Type` expression.Represents the kind of a node in the AST.Represents the type path.Represents a function type.
@see https://haxe.org/manual/types-function.htmlRepresents an anonymous structure type.
@see https://haxe.org/manual/types-anonymous-structure.html Void)` part in
`(Int -> Void) -> String`.]]> Iterable`.
The array `p` holds the type paths to the given types.
@see https://haxe.org/manual/type-system-extensions.html]]>Represents an optional type.Represents a type with a name.Represents a type syntax in the AST.Sub is set on module sub-type access:
`pack.Module.Type` has `name = "Module"`, `sub = "Type"`, if available.Optional parameters of the type path.Represents the package of the type path.The name of the type path.Represents a type path in the AST.`. In that case the value is `TPExpr` while
in the normal case it's `TPType`.]]>The optional parameters of the type parameter.The name of the type parameter.The metadata of the type parameter.The optional constraints of the type parameter.Represents a type parameter declaration in the AST.The return type-hint of the function, if available.An optional list of function parameter type declarations.The expression of the function body, if available.A list of function arguments.Represents a function in the AST.The optional value of the function argument, if available.The type-hint of the function argument, if available.Whether or not the function argument is optional.The name of the function argument.The metadata of the function argument.Represents a function argument in the AST.The position of the metadata entry.The optional parameters of the metadata entry.The name of the metadata entry.Represents a metadata entry in the AST.Represents metadata in the AST.The position of the field.The name of the field.The optional metadata of the field.The kind of the field.The documentation of the field, if available. If the field has no
documentation, the value is `null`.The access modifiers of the field. By default fields have private access.
@see https://haxe.org/manual/class-field-access-modifier.htmlRepresents a field in the AST.Public access modifier, grants access from anywhere.
@see https://haxe.org/manual/class-field-visibility.htmlPrivate access modifier, grants access to class and its sub-classes
only.
@see https://haxe.org/manual/class-field-visibility.htmlStatic access modifier.Override access modifier.
@see https://haxe.org/manual/class-field-override.htmlDynamic (re-)bindable access modifier.
@see https://haxe.org/manual/class-field-dynamic.htmlInline access modifier. Allows expressions to be directly inserted in
place of calls to them.
@see https://haxe.org/manual/class-field-inline.htmlMacro access modifier. Allows expression macro functions. These are
normal functions which are executed as soon as they are typed.Final access modifier. For functions, they can not be overridden. For
variables, it means they can be assigned to only once.Extern access modifier.Abstract access modifier.Overload access modifier.Represents an access modifier.
@see https://haxe.org/manual/class-field-access-modifier.htmlRepresents a variable field type.Represents a function field type.Represents a property with getter and setter field type.Represents the field type in the AST.The position to the type definition.The parameter type declarations of the type definition.The package of the type definition.The name of the type definition.The optional metadata of the type definition.The kind of the type definition.Whether or not the type is extern.The fields of the type definition.The documentation of the type, if available. If the type has no
documentation, the value is `null`.Represents a type definition.Represents an enum kind.Represents a structure kind.Represents a class kind.Represents an alias/typedef kind.Represents an abstract kind.Represents a module-level field.Represents a type definition kind.The position of the error.Instantiates an error with given message and position.This error can be used to handle or produce compilation errors in macros.Represents a default import `import c`.Represents the alias import `import c as alias`.Represents the wildcard import `import *`.Represents the import mode.
@see https://haxe.org/manual/type-system-import.htmlThe path to the import expression.The mode of the import expression.Represents the import expression.Converts expression `e` to a human-readable String representation.
The result is guaranteed to be valid Haxe code, but there may be
differences from the original lexical syntax.Calls function `f` on each sub-expression of `e`.
If `e` has no sub-expressions, this operation has no effect.
Otherwise `f` is called once per sub-expression of `e`, with the
sub-expression as argument. These calls are done in order of the
sub-expression declarations.
This method does not call itself recursively. It should instead be used
in a recursive function which handles the expression nodes of interest.
Usage example:
```haxe
function findStrings(e:Expr) {
switch(e.expr) {
case EConst(CString(s)):
// handle s
case _:
ExprTools.iter(e, findStrings);
}
}
````, `...` and assignments
Parentheses, metadata and the `untyped` keyword are ignored.
If any non-value is encountered, an exception of type `String` is
thrown.
If `e` is null, the result is unspecified.]]>This class provides some utility methods to work with expressions. It is
best used through 'using haxe.macro.ExprTools' syntax and then provides
additional methods on haxe.macro.Expr instances.
While mainly intended to be used in macros, it works in non-macro code as
well.This class provides functions on expression arrays for convenience. For a
detailed reference on each method, see the documentation of ExprTools.Converts an array of Strings `sl` to a field expression.
If `sl` has no elements, the result is null.
If `sl` has one element, the result is `EConst(CIdent(sl[0])`.
Otherwise the result is a chain of `EField` nodes.
If `sl` is null, the result is unspecified.Converts a path given by package `pack` and name `name` to a `String`
separated by dots.
If `pack` has no elements, the result is `name`.
If `pack` is null, the result is unspecified.
Otherwise the elements of `pack` are joined with a separating dot, with
an appended dot separating the result from `name`.This class provides some utility methods to work with strings in macro
context.Like `Context.getPosInfos`, except this method is available on all platforms.Like `Context.makePosition`, except this method is available on all platforms.{ printPackage : true }{ prefix : "" }{ tabString : "\t" }This class provides some utility methods to convert elements from the
macro context to a human-readable String representation.]]>hidehidehidehidehidehideRepresents a reference to internal compiler structure. It exists to avoid
expensive encoding if it is not required and to ensure that physical
equality remains intact.
A structure is only encoded when user requests it through `ref.get()`.Represents a monomorph.
@see https://haxe.org/manual/types-monomorph.htmlRepresents an enum instance.
@see https://haxe.org/manual/types-enum-instance.htmlRepresents a class instance.
@see https://haxe.org/manual/types-class-instance.htmlRepresents a typedef.
@see https://haxe.org/manual/type-system-typedef.htmlRepresents a function type.
@see https://haxe.org/manual/types-function.htmlRepresents an anonymous structure type.
@see https://haxe.org/manual/types-anonymous-structure.htmlRepresents Dynamic.
@see https://haxe.org/manual/types-dynamic.htmlUsed internally by the compiler to delay some typing.Represents an abstract type.
@see https://haxe.org/manual/types-abstract.htmlRepresents a type.The status/kind of the structure.The class fields of the structure.Represents information for anonymous structure types.A closed structure is considered complete. That is, no further fields
can be added to it.An open structure allows having additional fields added to it, which is
used during type inference. It is closed upon unification.A const structure is one that appears directly in syntax. It cannot be
assigned to a smaller structure type (that is, it does not allow
structural sub-typing).Represents a structure which extends one or multiple structures defined
in `tl`.
@see https://haxe.org/manual/type-system-extensions.htmlA structure that represents the static fields of a class.A structure that represents the constructors of an enum.A structure that represents the static fields of an abstract.Represents the kind of the anonymous structure type.The type of the type parameter. It is guaranteed to be a `TInst` with a
`KTypeParameter` kind.The name of the type parameter.Represents the declaration of type parameters.The type of the class field.The position of the class field.The type parameters of the class field.The overload fields of the class field.The name of the class field.The metadata of the class field.The class field kind.Whether or not the class field is public.Whether or not the class field is final.Whether or not the class field is extern.Whether or not the class field is abstract.Returns the typed expression of the class field.The associated documentation of the class field.Represents a class field.The type of the enum constructor.The position of the enum constructor.The type parameters of the enum constructor.The name of the enum constructor.The metadata of the enum constructor.The index of the enum constructor, i.e. in which position it appears
in the syntax.The associated documentation of the enum constructor.Represents an enum constructor.A normal class.A type parameter class with a set of constraints.A class containing module fields.A special kind of class to encode expressions into type parameters.A `@:generic` base class.A concrete `@:generic` instance, referencing the original class and the
applied type parameters.A special class for `haxe.macro.MacroType`.
@deprecatedAn implementation class of an abstract, i.e. where all its run-time code
is.A `@:genericBuild` classRepresents the kind of a class.The position of the type.The type parameters of the type.The package of the type.The name of the type.The module name of the type, which might be different.The metadata of the type.Whether or not the type is private.Whether or not the type is extern.Allows excluding the type from compilation.The associated documentation of the class field.The information that all types (`ClassType`, `EnumType`, `DefType`,
`AbstractType`) have in common.The parent class and its type parameters, if available.The static fields of the class.The position of the type.The type parameters of the type.The package of the type.The list of fields that have override status.The name of the type.The module name of the type, which might be different.The metadata of the type.The kind of the class.Whether or not the type is private.If true the type is an interface, otherwise it is a class.If true the class is final and cannot be extended.Whether or not the type is extern.If true the class is abstract and cannot be instantiated directly.The implemented interfaces and their type parameters.The `__init__` expression of the class, if available.The member fields of the class.Allows excluding the type from compilation.The associated documentation of the class field.The constructor of the class, if available.Represents a class type.The position of the type.The type parameters of the type.The package of the type.An ordered list of enum constructor names.The name of the type.The module name of the type, which might be different.The metadata of the type.Whether or not the type is private.Whether or not the type is extern.Allows excluding the type from compilation.The associated documentation of the class field.The available enum constructors.Represents an enum type.The target type of the typedef.The position of the type.The type parameters of the type.The package of the type.The name of the type.The module name of the type, which might be different.The metadata of the type.Whether or not the type is private.Whether or not the type is extern.Allows excluding the type from compilation.The associated documentation of the class field.Represents a typedef.The defined unary operators of the abstract.The underlying type of the abstract.The available implicit to-casts of the abstract.
@see https://haxe.org/manual/types-abstract-implicit-casts.htmlThe method used for resolving unknown field access, if available.The method used for resolving unknown field access, if available.The position of the type.The type parameters of the type.The package of the type.The name of the type.The module name of the type, which might be different.The metadata of the type.Whether or not the type is private.Whether or not the type is extern.The implementation class of the abstract, if available.The available implicit from-casts of the abstract.
@see https://haxe.org/manual/types-abstract-implicit-casts.htmlAllows excluding the type from compilation.The associated documentation of the class field.The defined binary operators of the abstract.The defined array-access fields of the abstract.Represents an abstract type.Removes all `name` metadata entries from the origin of `this`
MetaAccess.
This method might clear several metadata entries of the same name.
If a `Metadata` array is obtained through a call to `get`, a subsequent
call to `remove` has no effect on that array.
If `name` is null, compilation fails with an error.Tells if the origin of `this` MetaAccess has a `name` metadata entry.
If `name` is null, compilation fails with an error.Return the wrapped `Metadata` array.
Modifying this array has no effect on the origin of `this` MetaAccess.
The `add` and `remove` methods can be used for that.Extract metadata entries by given `name`.
If there's no metadata with such name, empty array `[]` is returned.
If `name` is null, compilation fails with an error.Adds the metadata specified by `name`, `params` and `pos` to the origin
of `this` MetaAccess.
Metadata names are not unique during compilation, so this method never
overwrites a previous metadata.
If a `Metadata` array is obtained through a call to `get`, a subsequent
call to `add` has no effect on that array.
If any argument is null, compilation fails with an error.MetaAccess is a wrapper for the `Metadata` array. It can be used to add
metadata to and remove metadata from its origin.A variable of property, depending on the `read` and `write` values.A methodRepresents a field kind.Normal access (`default`).Private access (`null`).No access (`never`).Unused.Access through accessor function (`get`, `set`, `dynamic`).Inline access (`inline`).Failed access due to a `@:require` metadata.Access is only allowed from the constructor.Represents the variable accessor.A normal method.An inline method.
@see https://haxe.org/manual/class-field-inline.htmlA dynamic, rebindable method.
@see https://haxe.org/manual/class-field-dynamic.htmlA macro method.Represents the method kind.An `Int` literal.A `Float` literal, represented as String to avoid precision loss.A `String` literal.A `Bool` literal.The constant `null`.The constant `this`.The constant `super`.Represents typed constant.The type of the variable.The name of the variable.The metadata of the variable.The unique ID of the variable.Special information which is internally used to keep track of closure.
informationWhether or not the variable has been captured by a closure.Represents a variable in the typed AST.A class.An enum.A typedef.An abstract.Represents a module type. These are the types that can be declared in a Haxe
module and which are passed to the generators (except `TTypeDecl`).The return type of the function.The expression of the function body.A list of function arguments identified by an argument variable `v` and
an optional initialization `value`.Represents a function in the typed AST.Access of field `cf` on a class instance `c` with type parameters
`params`.Static access of a field `cf` on a class `c`.Access of field `cf` on an anonymous structure.Dynamic field access of a field named `s`.Closure field access of field `cf` on a class instance `c` with type
parameters `params`.Field access to an enum constructor `ef` of enum `e`.Represents the kind of field access in the typed AST.A constant.Reference to a local variable `v`.Array access `e1[e2]`.Binary operator `e1 op e2`.Field access on `e` according to `fa`.Reference to a module type `m`.Parentheses `(e)`.An object declaration.An array declaration `[el]`.A call `e(el)`.(el)`.]]>An unary operator `op` on `e`:
* e++ (op = OpIncrement, postFix = true)
* e-- (op = OpDecrement, postFix = true)
* ++e (op = OpIncrement, postFix = false)
* --e (op = OpDecrement, postFix = false)
* -e (op = OpNeg, postFix = false)
* !e (op = OpNot, postFix = false)
* ~e (op = OpNegBits, postFix = false)A function declaration.A variable declaration `var v` or `var v = expr`.A block declaration `{el}`.A `for` expression.An `if(econd) eif` or `if(econd) eif else eelse` expression.Represents a `while` expression.
When `normalWhile` is `true` it is `while (...)`.
When `normalWhile` is `false` it is `do {...} while (...)`.Represents a `switch` expression with related cases and an optional
`default` case if edef != null.Represents a `try`-expression with related catches.A `return` or `return e` expression.A `break` expression.A `continue` expression.A `throw e` expression.A `cast e` or `cast (e, m)` expression.A `@m e1` expression.Access to an enum parameter (generated by the pattern matcher).Access to an enum index (generated by the pattern matcher).An unknown identifier.Represents kind of a node in the typed AST.The type of the expression.The position of the expression.The expression kind.Represents a typed AST node.Returns a syntax-level type corresponding to Type `t`.
This function is mostly inverse to `ComplexTypeTools.toType`, but may
lose some information on types that do not have a corresponding syntax
version, such as monomorphs. In these cases, the result is null.
If `t` is null, an internal exception is thrown.{ isStatic : false }Resolves the field named `name` on class `c`.
If `isStatic` is true, the classes' static fields are checked. Otherwise
the classes' member fields are checked.
If the field is found, it is returned. Otherwise if `c` has a super
class, `findField` recursively checks that super class. Otherwise null
is returned.
If any argument is null, the result is unspecified.This class provides some utility methods to work with types. It is
best used through 'using haxe.macro.TypeTools' syntax and then provides
additional methods on haxe.macro.Type instances.Calls function `f` on each sub-expression of `e`.
See `haxe.macro.ExprTools.iter` for details on iterating expressions in
general. This function works the same way, but with a different data
structure.Transforms the sub-expressions of `e` by calling `f` on each of them.
Additionally, types are mapped using `ft` and variables are mapped using
`fv`.
See `haxe.macro.ExprTools.map` for details on expression mapping in
general. This function works the same way, but with a different data
structure.This class provides some utility methods to work with typed expressions.
It is best used through 'using haxe.macro.TypedExprTools' syntax and then
provides additional methods on `haxe.macro.TypedExpr` instances.a.ba.ba.b
<_hx_set set="method" line="49" static="1">
a.ba.b
<_hx_set set="method" line="49" static="1">
a.ba.ba.ba.ba.ba.ba.bThe `haxe.xml.Access` API helps providing a fast dot-syntax access to the
most common `Xml` methods.The name of the current element. This is the same as `Xml.nodeName`.The inner PCDATA or CDATA of the node.
An exception is thrown if there is no data or if there not only data
but also other nodes.The XML string built with all the sub nodes, excluding the current one.John"));
var user = access.node.user;
var name = user.node.name;
trace(name.innerData); // John
// Uncaught Error: Document is missing element password
var password = user.node.password;
```]]>
"
));
var users = fast.node.users;
for (user in users.nodes.user) {
trace(user.att.name);
}
```]]>"));
var user = f.node.user;
if (user.has.name) {
trace(user.att.name); // Mark
}
```]]>Check the existence of an attribute with the given name.31"));
var user = f.node.user;
if (user.hasNode.age) {
trace(user.node.age.innerData); // 31
}
```]]>The list of all sub-elements which are the nodes with type `Xml.Element`.
<_new public="1" get="inline" set="null" line="209" static="1">
The name of the current element. This is the same as `Xml.nodeName`.The inner PCDATA or CDATA of the node.
An exception is thrown if there is no data or if there not only data
but also other nodes.The XML string built with all the sub nodes, excluding the current one.John"));
var user = access.node.user;
var name = user.node.name;
trace(name.innerData); // John
// Uncaught Error: Document is missing element password
var password = user.node.password;
```]]>
"
));
var users = fast.node.users;
for (user in users.nodes.user) {
trace(user.att.name);
}
```]]>"));
var user = f.node.user;
if (user.has.name) {
trace(user.att.name); // Mark
}
```]]>Check the existence of an attribute with the given name.31"));
var user = f.node.user;
if (user.hasNode.age) {
trace(user.node.age.innerData); // 31
}
```]]>The list of all sub-elements which are the nodes with type `Xml.Element`.
<_new public="1" get="inline" set="null" line="209" static="1">
cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18{ pretty : false }Convert `Xml` to string representation.
Set `pretty` to `true` to prettify the result.This class provides utility methods to convert Xml instances to
String representation."]]>[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, -1, -1][3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258][0, 0, 0, 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, -1, -1][1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577][16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]null{ bufsize : 65536 }{ crc : true, header : true }A pure Haxe implementation of the ZLIB Inflate algorithm which allows reading compressed data without any platform-specific support."]]>
<__interp public="1">new Map()allows to check for #if / #else in codeactivate JSON compatiblityallow types declarationsallow haxe metadata declarationsresume from parsing errors (when parsing incomplete code, during completion for example)0{ origin : "hscript" }falsefalsefalsenull{ origin : "hscript" }
<_token set="method" line="1577">{ deltaTime : 0, type : null }cast 0cast 1cast 0cast 1{ type : null }cast 0cast 0{ file : null, type : null }cast 0cast 0{ value : 0, axis : 0, button : 0, id : 0, type : null }cast 0cast 1cast 2cast 3cast 4cast 0cast 1cast 2cast 3cast 4{ y : 0, x : 0, value : 0, index : 0, id : 0, type : null }cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 0cast 1cast 2cast 3cast 4cast 5cast 6{ modifier : 0, keyCode : 0, windowID : 0, type : null }cast 0cast 1cast 0cast 1{ movementY : 0, movementX : 0, button : 0, y : 0, x : 0, windowID : 0, type : null }cast 0cast 1cast 2cast 3cast 0cast 1cast 2cast 3{ type : null }cast 0cast 1cast 2cast 0cast 1cast 2{ z : 0, y : 0, x : 0, id : 0, type : null }cast 0cast 0{ length : 0, start : 0, text : null, windowID : 0, type : null }cast 0cast 1cast 0cast 1{ device : 0, pressure : 0, dy : 0, dx : 0, id : 0, y : 0, x : 0, type : null }cast 0cast 1cast 2cast 0cast 1cast 2{ y : 0, x : 0, height : 0, width : 0, windowID : 0, type : null }cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12[]480003100false{ buffers : null }"tags=\"haxe,release\""lime.media.AudioBuffernew BytesBuffer(){ binary : true }"tags=\"haxe,release\""
<__extensionObjects static="1">
<__extensionObjectConstructors expr="new Map<String,Void>()" line="39" static="1">
()]]>
<__lastContextID expr="0" line="40" static="1">
0
<__supportedExtensions static="1">0x000001000x000004000x000040000x00000x00010x00020x00030x00040x00050x0006010x03000x03010x03020x03030x03040x03050x03060x03070x03080x80060x80090x80090x883D0x800A0x800B0x80C80x80C90x80CA0x80CB0x80010x80020x80030x80040x80050x88920x88930x88940x88950x88E00x88E40x88E80x87640x87650x86260x04040x04050x04080x0DE10x0B440x0BE20x0BD00x0B900x0B710x0C110x80370x809E0x80A000x05000x05010x05020x05050x09000x09010x0B210x846D0x846E0x0B450x0B460x0B700x0B720x0B730x0B740x0B910x0B920x0B940x0B950x0B960x0B970x0B930x0B980x88000x88010x88020x88030x8CA30x8CA40x8CA50x0BA20x0C100x0C220x0C230x0CF50x0D050x0D330x0D3A0x0D500x0D520x0D530x0D540x0D550x0D560x0D570x2A000x80380x80690x80A80x80A90x80AA0x80AB0x86A20x86A30x11000x11010x11020x81920x14000x14010x14020x14030x14040x14050x14060x0140C0x19020x19060x19070x19080x19090x190A0x80330x80340x83630x8B300x8B310x88690x8DFB0x8DFC0x8B4D0x8B4C0x88720x8DFD0x8B4F0x8B800x8B820x8B830x8B850x8B860x8B870x8B890x8B8A0x8B8C0x8B8D0x02000x02010x02020x02030x02040x02050x02060x02070x1E000x1E010x1E020x1E030x150A0x85070x85080x1F000x1F010x1F020x1F030x26000x26010x27000x27010x27020x27030x28000x28010x28020x28030x17020x85130x85140x85150x85160x85170x85180x85190x851A0x851C0x84C00x84C10x84C20x84C30x84C40x84C50x84C60x84C70x84C80x84C90x84CA0x84CB0x84CC0x84CD0x84CE0x84CF0x84D00x84D10x84D20x84D30x84D40x84D50x84D60x84D70x84D80x84D90x84DA0x84DB0x84DC0x84DD0x84DE0x84DF0x84E00x29010x812F0x83700x8B500x8B510x8B520x8B530x8B540x8B550x8B560x8B570x8B580x8B590x8B5A0x8B5B0x8B5C0x8B5E0x8B600x86220x86230x86240x86250x886A0x86450x889F0x8B9A0x8B9B0x86420x88610x8B810x8B840x8B880x8DFA0x8DF80x8DF90x8DF00x8DF10x8DF20x8DF30x8DF40x8DF50x8D400x8D410x80560x80570x8D620x81A50x19010x8D480x84F90x8D420x8D430x8D440x8D500x8D510x8D520x8D530x8D540x8D550x8CD00x8CD10x8CD20x8CD30x8CE00x8D000x8D200x821A00x8CD50x8CD60x8CD70x8CD90x8CDD0x8CA60x8CA70x84E80x05060x92400x92410x92420x92430x92440x0C020x0CF20x0CF30x0CF40x0D020x0D030x0D040x806A0x806D0x806E0x80730x80E80x80E90x84FD0x8B490x8B4A0x88FF0x89040x89050x8B4B0x8B8B0x8C890x85B50x91220x91250x91110x8D6B0x19030x80510x80580x80590x806F0x80720x813A0x813B0x813C0x813D0x884C0x884D0x8C400x8C410x8C430x884E0x88140x88150x881A0x881B0x8C1A0x8C1D0x8C3A0x8C3D0x8D700x8D710x8D760x8D770x8D7C0x8D7D0x8D820x8D830x8D880x8D890x8D8E0x8D8F0x8D940x8D980x8D990x82290x822B0x822D0x822E0x822F0x82300x82310x82320x82330x82340x82350x82360x82370x82380x82390x823A0x823B0x823C0x8F940x8F950x8F960x8F970x906F0x912F0x82DF0x83680x8C3B0x8C3E0x8DAD0x84FA0x140B0x82270x82280x8D9F0x88650x88660x88670x8C2F0x8D6A0x88240x88250x88260x88270x88280x88290x882A0x882B0x882C0x882D0x882E0x882F0x88300x88310x88320x88330x88340x8CDF0x8CE10x8CE20x8CE30x8CE40x8CE50x8CE60x8CE70x8CE80x8CE90x8CEA0x8CEB0x8CEC0x8CED0x8CEE0x8CEF0x8B5F0x8B620x8DC10x8DC40x8DC50x8DCA0x8DCB0x8DCC0x8DCF0x8DD20x8DD30x8DD40x8DD70x8D570x89190x88EB0x88EC0x88ED0x88EF0x8F360x8F370x8F360x8F370x8B650x8B660x8B670x8B680x8B690x8B6A0x8DC60x8DC70x8DC80x8C170x8F9C0x88FD0x88FE0x8C7F0x8C800x8C830x8C840x8C850x8C880x8C8A0x8C8B0x8C8C0x8C8D0x8C8E0x8C8F0x8E220x8E230x8E240x8E250x82100x82110x82120x82130x82140x82150x82160x82170x82180x88F00x8CA60x8CA80x8CA90x8CAA0x8CAB0x8CD40x8D560x8A110x8A280x8A290x8A2A0x8A2B0x8A2D0x8A2E0x8A2F0x8A300x8A310x8A330x8A340x8A360x8A370x8A380x8A3A0x8A3B0x8A3C0x8A3D0x8A3E0x8A3F0x8A400x8A420x8A430x8A440x8A460x91120x91130x91140x91150x91160x91170x91180x91190x911A0x911B0x911C0x911D0x000000010x18000x18010x18020x80070x80080x81A60x88E10x88E20x88E50x88E60x88E90x88EA0x8CAC0x8CAD0xFFFFFFFF-10x9247
<__arrayBufferBinding>
<__elementBufferBinding>
<__contextID>
<__currentProgram>
<__framebufferBinding>
<__initialized>
<__isContextLost>
<__renderbufferBinding>
<__texture2DBinding>
<__textureCubeMapBinding>hide
<__contextLost set="method" line="3278">
<__createObject set="method" line="3291">
<__getObjectID set="method" line="3296">
<__initialize set="method" line="3302">"tags=\"haxe,release\""hidelime.ui.Windowlime._internal.backend.native.NativeCFFIlime.graphics.opengl"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeOpenGLRenderContextlime.app.Applicationlime.graphics.cairo.Cairolime.graphics.opengl.GLlime.graphics.OpenGLRenderContextlime.graphics.RenderContextlime.system.DisplayModelime.ui.Windowcast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 0x00000001cast 0x00000002cast 0x00000004cast 0x00000008cast 0x00000010cast 0x00000020cast 0x00000060cast 0x00000080cast 0x00000100cast 0x00000200cast 0x00000400cast 0x00000800cast 0x00001000cast 0x00002000cast 0x00004000cast 0x00008000cast 0x00010000cast 0x00000001cast 0x00000002cast 0x00000004cast 0x00000008cast 0x00000010cast 0x00000020cast 0x00000060cast 0x00000080cast 0x00000100cast 0x00000200cast 0x00000400cast 0x00000800cast 0x00001000cast 0x00002000cast 0x00004000cast 0x00008000cast 0x00010000{ type : null }"tags=\"haxe,release\"""ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("")();
for (a in DICTIONARY) {
for (b in DICTIONARY) {
result.push(a + b);
};
};
result;
}]]>"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI{ decodeData : true }{ decodeData : true }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.graphics.ImageBuffer"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI{ decodeData : true }{ decodeData : true }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.graphics.ImageBuffer"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI{ clear : false }{ clear : false }{ mergeAlpha : false, alphaPoint : null, alphaImage : null }lime.graphics.ImageBuffer{ mergeAlpha : false, alphaPoint : null, alphaImage : null }{ color : null, strength : 1, quality : 1, blurY : 4, blurX : 4 }
<__boxBlur set="method" line="1432" static="1">
<__boxBlurH get="inline" set="null" line="1452" static="1">
<__boxBlurT get="inline" set="null" line="1499" static="1">
<__calculateSourceOffset get="inline" set="null" line="1551" static="1">
* Returns: the offset for translated coordinate in the source image or -1 if the source the coordinate out of the source or destination bounds
* Note: destX and destY should be valid coordinates
<__getBoxesForGaussianBlur set="method" line="1570" static="1">
<__pixelCompare get="inline" set="null" line="1589" static="1">
<__translatePixel get="inline" set="null" line="1638" static="1">"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.graphics.ImageBufferlime.math.RGBA
<__update set="method" line="1742">{ rect : null }hidecast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 4cast 5[1, 171, 205, 293, 57, 373, 79, 137, 241, 27, 391, 357, 41, 19, 283, 265, 497, 469, 443, 421, 25, 191, 365, 349, 335, 161, 155, 149, 9, 278, 269, 261, 505, 245, 475, 231, 449, 437, 213, 415, 405, 395, 193, 377, 369, 361, 353, 345, 169, 331, 325, 319, 313, 307, 301, 37, 145, 285, 281, 69, 271, 267, 263, 259, 509, 501, 493, 243, 479, 118, 465, 459, 113, 446, 55, 435, 429, 423, 209, 413, 51, 403, 199, 393, 97, 3, 379, 375, 371, 367, 363, 359, 355, 351, 347, 43, 85, 337, 333, 165, 327, 323, 5, 317, 157, 311, 77, 305, 303, 75, 297, 294, 73, 289, 287, 71, 141, 279, 277, 275, 68, 135, 67, 133, 33, 262, 260, 129, 511, 507, 503, 499, 495, 491, 61, 121, 481, 477, 237, 235, 467, 232, 115, 457, 227, 451, 7, 445, 221, 439, 218, 433, 215, 427, 425, 211, 419, 417, 207, 411, 409, 203, 202, 401, 399, 396, 197, 49, 389, 387, 385, 383, 95, 189, 47, 187, 93, 185, 23, 183, 91, 181, 45, 179, 89, 177, 11, 175, 87, 173, 345, 343, 341, 339, 337, 21, 167, 83, 331, 329, 327, 163, 81, 323, 321, 319, 159, 79, 315, 313, 39, 155, 309, 307, 153, 305, 303, 151, 75, 299, 149, 37, 295, 147, 73, 291, 145, 289, 287, 143, 285, 71, 141, 281, 35, 279, 139, 69, 275, 137, 273, 17, 271, 135, 269, 267, 133, 265, 33, 263, 131, 261, 130, 259, 129, 257, 1][0, 9, 10, 11, 9, 12, 10, 11, 12, 9, 13, 13, 10, 9, 13, 13, 14, 14, 14, 14, 10, 13, 14, 14, 14, 13, 13, 13, 9, 14, 14, 14, 15, 14, 15, 14, 15, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 12, 14, 15, 15, 13, 15, 15, 15, 15, 16, 16, 16, 15, 16, 14, 16, 16, 14, 16, 13, 16, 16, 16, 15, 16, 13, 16, 15, 16, 14, 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 13, 14, 16, 16, 15, 16, 16, 10, 16, 15, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 14, 15, 16, 16, 16, 14, 15, 14, 15, 13, 16, 16, 15, 17, 17, 17, 17, 17, 17, 14, 15, 17, 17, 16, 16, 17, 16, 15, 17, 16, 17, 11, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 16, 17, 17, 17, 16, 14, 17, 17, 17, 17, 15, 16, 14, 16, 15, 16, 13, 16, 15, 16, 14, 16, 15, 16, 12, 16, 15, 16, 17, 17, 17, 17, 17, 13, 16, 15, 17, 17, 17, 16, 15, 17, 17, 17, 16, 15, 17, 17, 14, 16, 17, 17, 16, 17, 17, 16, 15, 17, 16, 14, 17, 16, 15, 17, 16, 17, 17, 16, 17, 15, 16, 17, 14, 17, 16, 15, 17, 16, 17, 13, 17, 16, 17, 17, 16, 17, 14, 17, 16, 17, 16, 17, 16, 17, 9]
<__stackBlurCanvasRGBA set="method" line="38" static="1">Whether the event was canceled during the previous dispatch
<__listeners public="1">
hide
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchInt->Void` will create a `dispatch` method that
takes two `Int` arguments, like `dispatch (1, 2);`]]>Checks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listenersCreates a new Event instanceVoid> ();
event.add (function (value:Int):Void { trace (value); });
event.dispatch (100);
var event = new EventVoid> ();
event.add (function () { trace ("callback"); });
event.dispatch ();
```]]>lime._internal.macros.EventMacro.build()"tags=\"haxe,release\""{ onProgress : null, onError : null }Create a new `Future` instance based on complete and (optionally) error and/or progress `Event` instancesCreates a `Future` instance which has finished with an error value
@param error The error value to set
@return A new `Future` instanceCreates a `Future` instance which has finished with a completion value
@param error The completion value to set
@return A new `Future` instanceIf the `Future` has finished with an error state, the `error` valueWhether the `Future` finished with a completion stateWhether the `Future` finished with an error stateIf the `Future` has finished with a completion state, the completion `value`
<__completeListeners>
<__errorListeners>
<__progressListeners>
Register a listener for when the `Future` completes.
If the `Future` has already completed, this is called immediately with the result
@param listener A callback method to receive the result value
@return The current `Future`Register a listener for when the `Future` ends with an error state.
If the `Future` has already ended with an error, this is called immediately with the error value
@param listener A callback method to receive the error value
@return The current `Future`Register a listener for when the `Future` updates progress.
If the `Future` is already completed, this will not be called.
@param listener A callback method to receive the progress value
@return The current `Future`{ waitTime : -1 }Attempts to block on an asynchronous `Future`, returning when it is completed.
@param waitTime (Optional) A timeout before this call will stop blocking
@return This current `Future`{ waitTime : -1 }Attempts to block on an asynchronous `Future`, returning the completion value when it is finished.
@param waitTime (Optional) A timeout before this call will stop blocking
@return The completion value, or `null` if the request timed out or blocking is not possibleChains two `Future` instances together, passing the result from the first
as input for creating/returning a new `Future` instance of a new or the same type{ async : false, work : null }Create a new `Future` instance
@param work (Optional) A function to execute
@param async (Optional) If a function is specified, whether to execute it asynchronously where supported`Future` is an implementation of Futures and Promises, with the exception that
in addition to "success" and "failure" states (represented as "complete" and "error"),
Lime `Future` introduces "progress" feedback as well to increase the value of
`Future` values.
```haxe
var future = Image.loadFromFile ("image.png");
future.onComplete (function (image) { trace ("Image loaded"); });
future.onProgress (function (loaded, total) { trace ("Loading: " + loaded + ", " + total); });
future.onError (function (error) { trace (error); });
Image.loadFromFile ("image.png").then (function (image) {
return Future.withValue (image.width);
}).onComplete (function (width) { trace (width); })
```
`Future` values can be chained together for asynchronous processing of values.
If an error occurs earlier in the chain, the error is propagated to all `onError` callbacks.
`Future` will call `onComplete` callbacks, even if completion occurred before registering the
callback. This resolves race conditions, so even functions that return immediately can return
values using `Future`.
`Future` values are meant to be immutable, if you wish to update a `Future`, you should create one
using a `Promise`, and use the `Promise` interface to influence the error, complete or progress state
of a `Future`."tags=\"haxe,release\""lime.app.Promise{ state : null }"tags=\"haxe,release\""hideThe `Future` associated with this `Promise`.
All subsequent calls to set an error, completion or progress state
will update the status and notify listeners to this `Future`Whether the `Promise` (and related `Future`) has finished with a completion state.
This will be `false` if the `Promise` has not been resolved with a completion or error state.Whether the `Promise` (and related `Future`) has finished with an error state.
This will be `false` if the `Promise` has not been resolved with a completion or error state.Resolves this `Promise` with a completion state
@param data The completion value
@return The current `Promise`Resolves this `Promise` with the complete, error and/or progress state
of another `Future`
@param future The `Future` to use to resolve this `Promise`
@return The current `Promise`Resolves this `Promise` with an error state
@param msg The error value
@return The current `Promise`Create a new `Promise` instance {
var promise = new Promise ();
var progress = 0, total = 10;
var timer = new Timer (100);
timer.run = function () {
promise.progress (progress, total);
progress++;
if (progress == total) {
promise.complete ("Done!");
timer.stop ();
}
};
return promise.future;
}
var future = examplePromise ();
future.onComplete (function (message) { trace (message); });
future.onProgress (function (loaded, total) { trace ("Progress: " + loaded + ", " + total); });
```]]>"tags=\"haxe,release\""lime.app.FutureWhether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""Whether the event was canceled during the previous dispatch
<__repeat public="1">
hide
<__priorities>
{ priority : 0, once : false }Adds a new event listener
@param listener A callback that matches the signature of the event
@param once Whether to receive an event dispatch only once, or each time it is fired
@param priority The priority for this listener, a higher priority will be dispatched soonerMarks the event as canceled, and stops the current event dispatchChecks whether a callback is a listener to this event
@param listener A callback that matches the signature of the event
@return Whether the callback is a listenerRemoves an event listener
@param listener A callback that matches the signature of the eventRemoves all event listeners
<__listeners public="1">Creates a new Event instancehide"tags=\"haxe,release\""The `CairoRenderContext` represents the primary `lime.graphics.Cairo` instance when Cairo
is the render context type of the `Window`.
You can convert from `lime.graphics.RenderContext` to `CairoRenderContext` directly
if desired:
```haxe
var cairo:CairoRenderContext = window.context;
```lime.graphics.RenderContextlime.graphics.RenderContextlime.graphics.RenderContextThe number of bits per pixel in this image dataThe data for this image, represented as a `UInt8Array`The `PixelFormat` for this image dataThe height of this image dataWhether the image data has premultiplied alphaThe data for this image, represented as a `js.html.CanvasElement`, `js.html.Image` or `flash.display.BitmapData`The stride, or number of data values (in bytes) per row in the image dataWhether this image data is transparentThe width of this image data
<__srcBitmapData>
<__srcCanvas>
<__srcContext>
<__srcCustom>
<__srcImage>
<__srcImageData>
Creates a duplicate of this `ImageBuffer`
If the current `ImageBuffer` has `data` or `src` information, this will be
cloned as well.
@return A new `ImageBuffer` with duplicate values{ format : null, bitsPerPixel : 32, height : 0, width : 0, data : null }Creates a new `ImageBuffer` instance
@param data (Optional) Initial `UInt8Array` data
@param width (Optional) An initial `width` value
@param height (Optional) An initial `height` value
@param bitsPerPixel (Optional) The `bitsPerPixel` of the data (default is 32)
@param format (Optional) The `PixelFormat` of this image buffer`ImageBuffer` is a simple object for storing image data.
For higher-level operations, use the `Image` class."tags=\"haxe,release\""lime.graphics.ImageThe red color channelThe green color channelThe blue color channelThe alpha color channelAn enum with values for standard image color channelsAn image file encoded in the BMP file formatAn image file encoded in the JPEG file formatAn image file encoded in the PNG file formatAn enum with values for image encoding formatsThe source image data is stored in a `UInt8Array`The source image data is stored in a `flash.display.BitmapData`The source image data is stored in a custom formatAn enum containing values for the underlying image type
represented by an `ImageBuffer`The `OpenGLES2RenderContext` allows access to OpenGL ES 2.0 features when OpenGL or
OpenGL ES is the render context type of the `Window`.
Using an OpenGL ES context on a desktop platform enables support for cross-platform
code that should run on the majority of desktop and mobile platforms (when using
hardware acceleration).
Platforms supporting an OpenGL ES context are compatible with the Lime
`WebGLRenderContext` if you would prefer to write WebGL-style code, or support web
browsers with the same code.
You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`,
`lime.graphics.OpenGLES3RenderContext`, `lime.graphics.opengl.GL`, and can convert to
`lime.graphics.WebGLRenderContext` directly if desired:
```haxe
var gles2:OpenGLES2RenderContext = window.context;
var gles2:OpenGLES2RenderContext = gl;
var gles2:OpenGLES2RenderContext = gles3;
var gles2:OpenGLES2RenderContext = GL;
var webgl:WebGLRenderContext = gles2;
```ACTIVE_ATTRIBUTESACTIVE_TEXTUREACTIVE_UNIFORMSALIASED_LINE_WIDTH_RANGEALIASED_POINT_SIZE_RANGEALPHAALPHA_BITSALWAYSARRAY_BUFFERARRAY_BUFFER_BINDINGATTACHED_SHADERSBACKBLENDBLEND_COLORBLEND_DST_ALPHABLEND_DST_RGBBLEND_EQUATIONBLEND_EQUATION_ALPHABLEND_EQUATION_RGBBLEND_SRC_ALPHABLEND_SRC_RGBBLUE_BITSBOOLBOOL_VEC2BOOL_VEC3BOOL_VEC4BROWSER_DEFAULT_WEBGLBUFFER_SIZEBUFFER_USAGEBYTECCWCLAMP_TO_EDGECOLOR_ATTACHMENT0COLOR_BUFFER_BITCOLOR_CLEAR_VALUECOLOR_WRITEMASKCOMPILE_STATUSCOMPRESSED_TEXTURE_FORMATSCONSTANT_ALPHACONSTANT_COLORCULL_FACECULL_FACE_MODECURRENT_PROGRAMCURRENT_VERTEX_ATTRIBCWDECRDECR_WRAPDELETE_STATUSDEPTH_ATTACHMENTDEPTH_BITSDEPTH_BUFFER_BITDEPTH_CLEAR_VALUEDEPTH_COMPONENTDEPTH_COMPONENT16DEPTH_FUNCDEPTH_RANGEDEPTH_STENCILDEPTH_STENCIL_ATTACHMENTDEPTH_TESTDEPTH_WRITEMASKDITHERDONT_CAREDST_ALPHADST_COLORDYNAMIC_DRAWELEMENT_ARRAY_BUFFERELEMENT_ARRAY_BUFFER_BINDINGEQUALFASTESTFLOATFLOAT_MAT2FLOAT_MAT3FLOAT_MAT4FLOAT_VEC2FLOAT_VEC3FLOAT_VEC4FRAGMENT_SHADERFRAMEBUFFERFRAMEBUFFER_ATTACHMENT_OBJECT_NAMEFRAMEBUFFER_ATTACHMENT_OBJECT_TYPEFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACEFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVELFRAMEBUFFER_BINDINGFRAMEBUFFER_COMPLETEFRAMEBUFFER_INCOMPLETE_ATTACHMENTFRAMEBUFFER_INCOMPLETE_DIMENSIONSFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTFRAMEBUFFER_UNSUPPORTEDFRONTFRONT_AND_BACKFRONT_FACEFUNC_ADDFUNC_REVERSE_SUBTRACTFUNC_SUBTRACTGENERATE_MIPMAP_HINTGEQUALGREATERGREEN_BITSHIGH_FLOATHIGH_INTINCRINCR_WRAPINTINT_VEC2INT_VEC3INT_VEC4INVALID_ENUMINVALID_FRAMEBUFFER_OPERATIONINVALID_OPERATIONINVALID_VALUEINVERTKEEPLEQUALLESSLINEARLINEAR_MIPMAP_LINEARLINEAR_MIPMAP_NEARESTLINESLINE_LOOPLINE_STRIPLINE_WIDTHLINK_STATUSLOW_FLOATLOW_INTLUMINANCELUMINANCE_ALPHAMAX_COMBINED_TEXTURE_IMAGE_UNITSMAX_CUBE_MAP_TEXTURE_SIZEMAX_FRAGMENT_UNIFORM_VECTORSMAX_RENDERBUFFER_SIZEMAX_TEXTURE_IMAGE_UNITSMAX_TEXTURE_SIZEMAX_VARYING_VECTORSMAX_VERTEX_ATTRIBSMAX_VERTEX_TEXTURE_IMAGE_UNITSMAX_VERTEX_UNIFORM_VECTORSMAX_VIEWPORT_DIMSMEDIUM_FLOATMEDIUM_INTMIRRORED_REPEATNEARESTNEAREST_MIPMAP_LINEARNEAREST_MIPMAP_NEARESTNEVERNICESTNONENOTEQUALNO_ERRORONEONE_MINUS_CONSTANT_ALPHAONE_MINUS_CONSTANT_COLORONE_MINUS_DST_ALPHAONE_MINUS_DST_COLORONE_MINUS_SRC_ALPHAONE_MINUS_SRC_COLOROUT_OF_MEMORYPACK_ALIGNMENTPOINTSPOLYGON_OFFSET_FACTORPOLYGON_OFFSET_FILLPOLYGON_OFFSET_UNITSRED_BITSRENDERBUFFERRENDERBUFFER_ALPHA_SIZERENDERBUFFER_BINDINGRENDERBUFFER_BLUE_SIZERENDERBUFFER_DEPTH_SIZERENDERBUFFER_GREEN_SIZERENDERBUFFER_HEIGHTRENDERBUFFER_INTERNAL_FORMATRENDERBUFFER_RED_SIZERENDERBUFFER_STENCIL_SIZERENDERBUFFER_WIDTHRENDERERREPEATREPLACERGBRGB565RGB5_A1RGBARGBA4SAMPLER_2DSAMPLER_CUBESAMPLESSAMPLE_ALPHA_TO_COVERAGESAMPLE_BUFFERSSAMPLE_COVERAGESAMPLE_COVERAGE_INVERTSAMPLE_COVERAGE_VALUESCISSOR_BOXSCISSOR_TESTSHADER_TYPESHADING_LANGUAGE_VERSIONSHORTSRC_ALPHASRC_ALPHA_SATURATESRC_COLORSTATIC_DRAWSTENCIL_ATTACHMENTSTENCIL_BACK_FAILSTENCIL_BACK_FUNCSTENCIL_BACK_PASS_DEPTH_FAILSTENCIL_BACK_PASS_DEPTH_PASSSTENCIL_BACK_REFSTENCIL_BACK_VALUE_MASKSTENCIL_BACK_WRITEMASKSTENCIL_BITSSTENCIL_BUFFER_BITSTENCIL_CLEAR_VALUESTENCIL_FAILSTENCIL_FUNCSTENCIL_INDEXSTENCIL_INDEX8STENCIL_PASS_DEPTH_FAILSTENCIL_PASS_DEPTH_PASSSTENCIL_REFSTENCIL_TESTSTENCIL_VALUE_MASKSTENCIL_WRITEMASKSTREAM_DRAWSUBPIXEL_BITSTEXTURETEXTURE0TEXTURE1TEXTURE10TEXTURE11TEXTURE12TEXTURE13TEXTURE14TEXTURE15TEXTURE16TEXTURE17TEXTURE18TEXTURE19TEXTURE2TEXTURE20TEXTURE21TEXTURE22TEXTURE23TEXTURE24TEXTURE25TEXTURE26TEXTURE27TEXTURE28TEXTURE29TEXTURE3TEXTURE30TEXTURE31TEXTURE4TEXTURE5TEXTURE6TEXTURE7TEXTURE8TEXTURE9TEXTURE_2DTEXTURE_BINDING_2DTEXTURE_BINDING_CUBE_MAPTEXTURE_CUBE_MAPTEXTURE_CUBE_MAP_NEGATIVE_XTEXTURE_CUBE_MAP_NEGATIVE_YTEXTURE_CUBE_MAP_NEGATIVE_ZTEXTURE_CUBE_MAP_POSITIVE_XTEXTURE_CUBE_MAP_POSITIVE_YTEXTURE_CUBE_MAP_POSITIVE_ZTEXTURE_MAG_FILTERTEXTURE_MIN_FILTERTEXTURE_WRAP_STEXTURE_WRAP_TTRIANGLESTRIANGLE_FANTRIANGLE_STRIPUNPACK_ALIGNMENTUNSIGNED_BYTEUNSIGNED_INTUNSIGNED_SHORTUNSIGNED_SHORT_4_4_4_4UNSIGNED_SHORT_5_5_5_1UNSIGNED_SHORT_5_6_5VALIDATE_STATUSVENDORVERSIONVERTEX_ATTRIB_ARRAY_BUFFER_BINDINGVERTEX_ATTRIB_ARRAY_ENABLEDVERTEX_ATTRIB_ARRAY_NORMALIZEDVERTEX_ATTRIB_ARRAY_POINTERVERTEX_ATTRIB_ARRAY_SIZEVERTEX_ATTRIB_ARRAY_STRIDEVERTEX_ATTRIB_ARRAY_TYPEVERTEX_SHADERVIEWPORTZEROactiveTextureattachShaderbindAttribLocationbindBufferbindFramebufferbindTextureblendColorblendEquationblendEquationSeparateblendFuncblendFuncSeparatebufferDatabufferSubDatacheckFramebufferStatusclearclearColorclearDepthfclearStencilcolorMaskcompileShadercompressedTexImage2DcompressedTexSubImage2DcopyTexImage2DcopyTexSubImage2DcreateBuffercreateFramebuffercreateProgramcreateRenderbuffercreateShadercreateTexturecullFacedeleteBufferdeleteFramebufferdeleteProgramdeleteRenderbufferdeleteShaderdeleteTexturedepthFuncdepthMaskdepthRangefdetachShaderdisabledisableVertexAttribArraydrawArraysdrawElementsenableenableVertexAttribArrayfinishflushframebufferRenderbufferframebufferTexture2DfrontFacegenBuffersgenerateMipmapgenFramebuffersgenRenderbuffersgenTexturesgetActiveAttribgetActiveUniformgetAttachedShadersgetAttribLocationgetBooleangetBooleanvgetBufferParameterigetBufferParameterivgetErrorgetFloatgetFloatvgetFramebufferAttachmentParameterigetFramebufferAttachmentParameterivgetIntegergetIntegervgetProgramInfoLoggetProgramigetProgramivgetRenderbufferParameterigetRenderbufferParameterivgetShaderigetShaderInfoLoggetShaderivgetShaderPrecisionFormatgetShaderSourcegetStringgetTexParameterfgetTexParameterfvgetTexParameterigetTexParameterivgetUniformgetUniformLocationgetVertexAttribfgetVertexAttribfvgetVertexAttribigetVertexAttribivgetVertexAttribPointervhintisBufferisEnabledisFramebufferisProgramisRenderbufferisShaderisTexturelineWidthlinkProgrampixelStoreipolygonOffsetreadPixelsreleaseShaderCompilerrenderbufferStoragesampleCoveragescissorshaderBinaryshaderSourcestencilFuncstencilFuncSeparatestencilMaskstencilMaskSeparatestencilOpstencilOpSeparatetexImage2DtexParameterftexParameteritexSubImage2Duniform1funiform1fvuniform1iuniform1ivuniform2funiform2fvuniform2iuniform2ivuniform3funiform3fvuniform3iuniform3ivuniform4funiform4fvuniform4iuniform4ivuniformMatrix2fvuniformMatrix3fvuniformMatrix4fvuseProgramvalidateProgramvertexAttrib1fvertexAttrib1fvvertexAttrib2fvertexAttrib2fvvertexAttrib3fvertexAttrib3fvvertexAttrib4fvertexAttrib4fvvertexAttribPointerviewportEXTENSIONStypeversionThe `OpenGLES3RenderContext` allows access to OpenGL ES 3.0 features when OpenGL or
OpenGL ES is the render context type of the `Window`, and the current context supports
GLES3 features.
Using an OpenGL ES context on a desktop platform enables support for cross-platform
code that should run on both desktop and mobile platforms (when using
hardware acceleration), though support for OpenGL ES 3.0 features are more limited than
GLES2.
Platforms supporting an OpenGL ES 3.0 context are compatible with the Lime
`WebGLRenderContext` as well as the `WebGL2RenderContext` if you would prefer to write
WebGL-style code, or support web browsers with the same code. Be aware that not all
browsers support WebGL 2, so only plain WebGL might be available.
You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`,
`lime.graphics.opengl.GL`, and can convert to `lime.graphics.OpenGLES2RenderContext`,
`lime.graphics.WebGL2RenderContext` or `lime.graphics.WebGLRenderContext` directly
if desired:
```haxe
var gles3:OpenGLES3RenderContext = window.context;
var gles3:OpenGLES3RenderContext = gl;
var gles3:OpenGLES3RenderContext = GL;
var gles2:OpenGLES2RenderContext = gles3;
var webgl2:WebGL2RenderContext = gles3;
var webgl:WebGLRenderContext = gles3;
```
<__extensions static="1">{ buffers : null }{ framebuffers : null }{ queries : null }{ renderbuffers : null }{ samplers : null }{ textures : null }{ transformFeedbacks : null }
<__extensions static="1">{ buffers : null }{ framebuffers : null }{ queries : null }{ renderbuffers : null }{ samplers : null }{ textures : null }{ transformFeedbacks : null }The `OpenGLRenderContext` allows access to OpenGL features when OpenGL is the render
context type of the `Window`. Historically, Lime was designed for WebGL render support
on all platforms, and support has expanded to provide additional OpenGL ES native APIs.
Support for desktop OpenGL-specific features is currently sparse, but the
`OpenGLRenderContext` provides the platform for us to add additional desktop specific
features.
The `OpenGLRenderContext` is not compatible with mobile or web targets, but it can be
converted to an OpenGL ES or a WebGL-style context for cross-platform development.
You can convert from `lime.graphics.RenderContext` or `lime.graphics.opengl.GL`, and
can convert to `lime.graphics.OpenGLES3RenderContext`,
`lime.graphics.OpenGLES2RenderContext`, `lime.graphics.WebGL2RenderContext`, or
`lime.graphics.WebGLRenderContext` directly if desired:
```haxe
var gl:OpenGLRenderContext = window.context;
var gl:OpenGLRenderContext = GL;
var gles3:OpenGLES3RenderContext = gl;
var gles2:OpenGLES2RenderContext = gl;
var webgl2:WebGL2RenderContext = gl;
var webgl:WebGLRenderContext = gl;
```lime.graphics.RenderContextlime.graphics.RenderContextlime.graphics.RenderContextAn enum containing different pixel encoding formats for image datacast 0An image encoded in 32-bit RGBA color ordercast 1An image encoded in 32-bit ARGB color ordercast 2An image encoded in 32-bit BGRA color ordercast 0An image encoded in 32-bit RGBA color ordercast 1An image encoded in 32-bit ARGB color ordercast 2An image encoded in 32-bit BGRA color orderAdditional information about the current contextAccess to the current Cairo render context, if availableAccess to the current HTML5 canvas render context, if availableAccess to the current HTML5 DOM render context, if availableAccess to the current Flash render context, if availableAccess to the current OpenGL render API, if availableAccess to the current OpenGL ES 2.0 render API, if availableAccess to the current OpenGL ES 3.0 render API, if availableThe type of the current `RenderContext`Access to the current WebGL render API, if availableAccess to the current WebGL 2 render API, if availableThe `RenderContext` provides access to rendering for a Lime `Window`.
Only one render context type is used at once, but when `OPENGL` or
`OPENGLES` is the context type, compatibility contexts for other
forms of GL (such as WebGL) may be available also.Whether vertical-sync (VSync) is enabledThe type of render context requestedWhether a stencil buffer is enabledWhether hardware acceleration is allowedWhether a depth buffer is enabledThe color depth of the rendering context in bitsAn optional `background` property to be provided to rendering,
a value of `null` means no background color.Whether to enable anti-aliasing, `0` is disabled, `2` enables
2x2 anti-aliasing or `4` enables 4x4 anti-aliasing.Additional options possible for a render contextAn enum for possible render context typescast "cairo"Describes a Cairo render contextcast "dom"Describes an HTML5 DOM render contextcast "flash"Describes a Flash render contextcast "opengl"Describes an OpenGL render contextcast "opengles"Describes an OpenGL ES render contextcast "webgl"Describes a WebGL render contextcast "custom"Describes a custom render contextcast "cairo"Describes a Cairo render contextcast "dom"Describes an HTML5 DOM render contextcast "flash"Describes a Flash render contextcast "opengl"Describes an OpenGL render contextcast "opengles"Describes an OpenGL ES render contextcast "webgl"Describes a WebGL render contextcast "custom"Describes a custom render contextThe `WebGL2RenderContext` allows access to WebGL 2 features when OpenGL, OpenGL ES
or WebGL is the render context type of the `Window`, and the current context supports
WebGL 2 features.
Using a WebGL context on a desktop platform enables support for cross-platform
code that should run on all platforms (when using hardware acceleration), though support
for WebGL 2 features are more limited than WebGL, and require an OpenGL ES 3.0 compatible
desktop or mobile context.
You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`,
`lime.graphics.OpenGLES3RenderContext` or `lime.graphics.opengl.GL`, and can convert to
`lime.graphics.WebGLRenderContext` directly if desired:
```haxe
var webgl2:WebGL2RenderContext = window.context;
var webgl2:WebGL2RenderContext = gl;
var webgl2:WebGL2RenderContext = gles3;
var webgl2:WebGL2RenderContext = GL;
var webgl:WebGLRenderContext = webgl2;
```lime.graphics.RenderContext
<__tempPointer expr="new BytePointer()" line="312" static="1">
new BytePointer(){ length : 0, srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ dstOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }lime.graphics.RenderContexthide
<__tempPointer expr="new BytePointer()" line="312" static="1">
new BytePointer(){ length : 0, srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ dstOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }{ srcOffset : 0 }lime.graphics.RenderContextThe `WebGLRenderContext` allows access to WebGL features when OpenGL, OpenGL ES or
WebGL is the render context type of the `Window`.
Using a WebGL context on a desktop or mobile platform enables support for cross-platform
code that should run all platforms (when hardware acceleration is supported).
You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`,
`lime.graphics.OpenGLES3RenderContext`, `lime.graphics.OpenGLES2RenderContext`,
`lime.graphics.WebGL2RenderContext` or `lime.graphics.opengl.GL` directly if desired:
```haxe
var webgl:WebGLRenderContext = window.context;
var webgl:WebGLRenderContext = gl;
var webgl:WebGLRenderContext = gles3;
var webgl:WebGLRenderContext = gles2;
var webgl:WebGLRenderContext = webgl2;
var webgl:WebGLRenderContext = GL;
```DEPTH_BUFFER_BITSTENCIL_BUFFER_BITCOLOR_BUFFER_BITPOINTSLINESLINE_LOOPLINE_STRIPTRIANGLESTRIANGLE_STRIPTRIANGLE_FANZEROONESRC_COLORONE_MINUS_SRC_COLORSRC_ALPHAONE_MINUS_SRC_ALPHADST_ALPHAONE_MINUS_DST_ALPHADST_COLORONE_MINUS_DST_COLORSRC_ALPHA_SATURATEFUNC_ADDBLEND_EQUATIONBLEND_EQUATION_RGBBLEND_EQUATION_ALPHAFUNC_SUBTRACTFUNC_REVERSE_SUBTRACTBLEND_DST_RGBBLEND_SRC_RGBBLEND_DST_ALPHABLEND_SRC_ALPHACONSTANT_COLORONE_MINUS_CONSTANT_COLORCONSTANT_ALPHAONE_MINUS_CONSTANT_ALPHABLEND_COLORARRAY_BUFFERELEMENT_ARRAY_BUFFERARRAY_BUFFER_BINDINGELEMENT_ARRAY_BUFFER_BINDINGSTREAM_DRAWSTATIC_DRAWDYNAMIC_DRAWBUFFER_SIZEBUFFER_USAGECURRENT_VERTEX_ATTRIBFRONTBACKFRONT_AND_BACKCULL_FACEBLENDDITHERSTENCIL_TESTDEPTH_TESTSCISSOR_TESTPOLYGON_OFFSET_FILLSAMPLE_ALPHA_TO_COVERAGESAMPLE_COVERAGENO_ERRORINVALID_ENUMINVALID_VALUEINVALID_OPERATIONOUT_OF_MEMORYCWCCWLINE_WIDTHALIASED_POINT_SIZE_RANGEALIASED_LINE_WIDTH_RANGECULL_FACE_MODEFRONT_FACEDEPTH_RANGEDEPTH_WRITEMASKDEPTH_CLEAR_VALUEDEPTH_FUNCSTENCIL_CLEAR_VALUESTENCIL_FUNCSTENCIL_FAILSTENCIL_PASS_DEPTH_FAILSTENCIL_PASS_DEPTH_PASSSTENCIL_REFSTENCIL_VALUE_MASKSTENCIL_WRITEMASKSTENCIL_BACK_FUNCSTENCIL_BACK_FAILSTENCIL_BACK_PASS_DEPTH_FAILSTENCIL_BACK_PASS_DEPTH_PASSSTENCIL_BACK_REFSTENCIL_BACK_VALUE_MASKSTENCIL_BACK_WRITEMASKVIEWPORTSCISSOR_BOXCOLOR_CLEAR_VALUECOLOR_WRITEMASKUNPACK_ALIGNMENTPACK_ALIGNMENTMAX_TEXTURE_SIZEMAX_VIEWPORT_DIMSSUBPIXEL_BITSRED_BITSGREEN_BITSBLUE_BITSALPHA_BITSDEPTH_BITSSTENCIL_BITSPOLYGON_OFFSET_UNITSPOLYGON_OFFSET_FACTORTEXTURE_BINDING_2DSAMPLE_BUFFERSSAMPLESSAMPLE_COVERAGE_VALUESAMPLE_COVERAGE_INVERTCOMPRESSED_TEXTURE_FORMATSDONT_CAREFASTESTNICESTGENERATE_MIPMAP_HINTBYTEUNSIGNED_BYTESHORTUNSIGNED_SHORTINTUNSIGNED_INTFLOATDEPTH_COMPONENTALPHARGBRGBALUMINANCELUMINANCE_ALPHAUNSIGNED_SHORT_4_4_4_4UNSIGNED_SHORT_5_5_5_1UNSIGNED_SHORT_5_6_5FRAGMENT_SHADERVERTEX_SHADERMAX_VERTEX_ATTRIBSMAX_VERTEX_UNIFORM_VECTORSMAX_VARYING_VECTORSMAX_COMBINED_TEXTURE_IMAGE_UNITSMAX_VERTEX_TEXTURE_IMAGE_UNITSMAX_TEXTURE_IMAGE_UNITSMAX_FRAGMENT_UNIFORM_VECTORSSHADER_TYPEDELETE_STATUSLINK_STATUSVALIDATE_STATUSATTACHED_SHADERSACTIVE_UNIFORMSACTIVE_ATTRIBUTESSHADING_LANGUAGE_VERSIONCURRENT_PROGRAMNEVERLESSEQUALLEQUALGREATERNOTEQUALGEQUALALWAYSKEEPREPLACEINCRDECRINVERTINCR_WRAPDECR_WRAPVENDORRENDERERVERSIONNEARESTLINEARNEAREST_MIPMAP_NEARESTLINEAR_MIPMAP_NEARESTNEAREST_MIPMAP_LINEARLINEAR_MIPMAP_LINEARTEXTURE_MAG_FILTERTEXTURE_MIN_FILTERTEXTURE_WRAP_STEXTURE_WRAP_TTEXTURE_2DTEXTURETEXTURE_CUBE_MAPTEXTURE_BINDING_CUBE_MAPTEXTURE_CUBE_MAP_POSITIVE_XTEXTURE_CUBE_MAP_NEGATIVE_XTEXTURE_CUBE_MAP_POSITIVE_YTEXTURE_CUBE_MAP_NEGATIVE_YTEXTURE_CUBE_MAP_POSITIVE_ZTEXTURE_CUBE_MAP_NEGATIVE_ZMAX_CUBE_MAP_TEXTURE_SIZETEXTURE0TEXTURE1TEXTURE2TEXTURE3TEXTURE4TEXTURE5TEXTURE6TEXTURE7TEXTURE8TEXTURE9TEXTURE10TEXTURE11TEXTURE12TEXTURE13TEXTURE14TEXTURE15TEXTURE16TEXTURE17TEXTURE18TEXTURE19TEXTURE20TEXTURE21TEXTURE22TEXTURE23TEXTURE24TEXTURE25TEXTURE26TEXTURE27TEXTURE28TEXTURE29TEXTURE30TEXTURE31ACTIVE_TEXTUREREPEATCLAMP_TO_EDGEMIRRORED_REPEATFLOAT_VEC2FLOAT_VEC3FLOAT_VEC4INT_VEC2INT_VEC3INT_VEC4BOOLBOOL_VEC2BOOL_VEC3BOOL_VEC4FLOAT_MAT2FLOAT_MAT3FLOAT_MAT4SAMPLER_2DSAMPLER_CUBEVERTEX_ATTRIB_ARRAY_ENABLEDVERTEX_ATTRIB_ARRAY_SIZEVERTEX_ATTRIB_ARRAY_STRIDEVERTEX_ATTRIB_ARRAY_TYPEVERTEX_ATTRIB_ARRAY_NORMALIZEDVERTEX_ATTRIB_ARRAY_POINTERVERTEX_ATTRIB_ARRAY_BUFFER_BINDINGCOMPILE_STATUSLOW_FLOATMEDIUM_FLOATHIGH_FLOATLOW_INTMEDIUM_INTHIGH_INTFRAMEBUFFERRENDERBUFFERRGBA4RGB5_A1RGB565DEPTH_COMPONENT16STENCIL_INDEXSTENCIL_INDEX8DEPTH_STENCILRENDERBUFFER_WIDTHRENDERBUFFER_HEIGHTRENDERBUFFER_INTERNAL_FORMATRENDERBUFFER_RED_SIZERENDERBUFFER_GREEN_SIZERENDERBUFFER_BLUE_SIZERENDERBUFFER_ALPHA_SIZERENDERBUFFER_DEPTH_SIZERENDERBUFFER_STENCIL_SIZEFRAMEBUFFER_ATTACHMENT_OBJECT_TYPEFRAMEBUFFER_ATTACHMENT_OBJECT_NAMEFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVELFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACECOLOR_ATTACHMENT0DEPTH_ATTACHMENTSTENCIL_ATTACHMENTDEPTH_STENCIL_ATTACHMENTNONEFRAMEBUFFER_COMPLETEFRAMEBUFFER_INCOMPLETE_ATTACHMENTFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTFRAMEBUFFER_INCOMPLETE_DIMENSIONSFRAMEBUFFER_UNSUPPORTEDFRAMEBUFFER_BINDINGRENDERBUFFER_BINDINGMAX_RENDERBUFFER_SIZEINVALID_FRAMEBUFFER_OPERATIONUNPACK_FLIP_Y_WEBGLUNPACK_PREMULTIPLY_ALPHA_WEBGLCONTEXT_LOST_WEBGLUNPACK_COLORSPACE_CONVERSION_WEBGLBROWSER_DEFAULT_WEBGLtypeversionactiveTextureattachShaderbindAttribLocationbindBufferbindFramebufferbindRenderbufferbindTextureblendColorblendEquationblendEquationSeparateblendFuncblendFuncSeparatecheckFramebufferStatusclearclearColorclearDepthclearStencilcolorMaskcompileShadercopyTexImage2DcopyTexSubImage2DcreateBuffercreateFramebuffercreateProgramcreateRenderbuffercreateShadercreateTexturecullFacecullFacedeleteBufferdeleteFramebufferdeleteProgramdeleteRenderbufferdeleteShaderdeleteTexturedepthFuncdepthMaskdepthRangedetachShaderdisabledisableVertexAttribArraydrawArraysdrawElementsenableenableVertexAttribArrayfinishflushframebufferRenderbufferframebufferTexture2DfrontFacegenerateMipmapgetActiveAttribgetActiveUniformgetAttachedShadersgetAttribLocationgetBufferParametergetContextAttributesgetErrorgetExtensiongetFramebufferAttachmentParametergetParametergetProgramInfoLoggetProgramParametergetRenderbufferParametergetShaderInfoLoggetShaderParametergetShaderPrecisionFormatgetShaderSourcegetSupportedExtensionsgetTexParametergetUniformgetUniformLocationgetVertexAttribgetVertexAttribOffsethintisBufferisContextLostisEnabledisFramebufferisProgramisRenderbufferisShaderisTexturelineWidthlinkProgrampixelStoreipolygonOffsetrenderbufferStoragesampleCoveragescissorshaderSourcestencilFuncstencilFuncSeparatestencilMaskstencilMaskSeparatestencilOpstencilOpSeparatetexParameterftexParameteriuniform1funiform1fvuniform1iuniform1ivuniform2funiform2fvuniform2iuniform2ivuniform3funiform3fvuniform3iuniform3ivuniform4funiform4fvuniform4iuniform4ivuseProgramvalidateProgramvertexAttrib1fvertexAttrib1fvvertexAttrib2fvertexAttrib2fvvertexAttrib3fvertexAttrib3fvvertexAttrib4fvertexAttrib4fvvertexAttribPointerviewport{ srcOffset : 0 }{ srcOffset : 0 }{ surface : null }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIcast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 0x1000cast 0x2000cast 0x3000cast 0x1000cast 0x2000cast 0x3000cast 0cast 1cast 2cast 3cast 0cast 1cast 2cast 3lime._internal.backend.native.NativeCFFI
<_new set="method" line="13" static="1">
lime._internal.backend.native.NativeCFFI
<_new set="method" line="13" static="1">
lime._internal.backend.native.NativeCFFIcast 0cast 1cast 0cast 1cast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 4cast 5lime._internal.backend.native.NativeCFFI
<_new set="method" line="10" static="1">
lime._internal.backend.native.NativeCFFI
<_new set="method" line="10" static="1">
lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="16" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="16" static="1">
lime._internal.backend.native.NativeCFFIcast -1cast 0cast 1cast 2cast 3cast 4cast 5cast -1cast 0cast 1cast 2cast 3cast 4cast 5{ y : 0, x : 0 }"tags=\"haxe,release\""cast 0cast 1cast 2cast 0cast 1cast 2cast 0cast 1cast 2cast 3cast 4cast 0cast 1cast 2cast 3cast 4lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="17" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="17" static="1">
lime._internal.backend.native.NativeCFFIcast 0cast 1cast 2cast 0cast 1cast 2cast 0cast 1cast 2cast 0cast 1cast 2cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18cast 19cast 20cast 21cast 22cast 23cast 24cast 25cast 26cast 27cast 28cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18cast 19cast 20cast 21cast 22cast 23cast 24cast 25cast 26cast 27cast 28lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="16" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="16" static="1">
lime._internal.backend.native.NativeCFFIcast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18cast 19cast 20cast 21cast 22cast 23cast 24cast 25cast 26cast 27cast 28cast 29cast 30cast 31cast 32cast 33cast 34cast 35cast 36cast 37cast 38cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18cast 19cast 20cast 21cast 22cast 23cast 24cast 25cast 26cast 27cast 28cast 29cast 30cast 31cast 32cast 33cast 34cast 35cast 36cast 37cast 38cast 0cast 1cast 2cast 3cast 4cast 0cast 1cast 2cast 3cast 4lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFI0x000001000x000004000x000040000x00000x00010x00020x00030x00040x00050x0006010x03000x03010x03020x03030x03040x03050x03060x03070x03080x80060x80090x80090x883D0x800A0x800B0x80C80x80C90x80CA0x80CB0x80010x80020x80030x80040x80050x88920x88930x88940x88950x88E00x88E40x88E80x87640x87650x86260x04040x04050x04080x0B440x0BE20x0BD00x0B900x0B710x0C110x80370x809E0x80A000x05000x05010x05020x05050x09000x09010x0B210x846D0x846E0x0B450x0B460x0B700x0B720x0B730x0B740x0B910x0B920x0B940x0B950x0B960x0B970x0B930x0B980x88000x88010x88020x88030x8CA30x8CA40x8CA50x0BA20x0C100x0C220x0C230x0CF50x0D050x0D330x0D3A0x0D500x0D520x0D530x0D540x0D550x0D560x0D570x2A000x80380x80690x80A80x80A90x80AA0x80AB0x86A20x86A30x11000x11010x11020x81920x14000x14010x14020x14030x14040x14050x14060x19020x19060x19070x19080x19090x190A0x80330x80340x83630x8B300x8B310x88690x8DFB0x8DFC0x8B4D0x8B4C0x88720x8DFD0x8B4F0x8B800x8B820x8B830x8B850x8B860x8B890x8B8C0x8B8D0x02000x02010x02020x02030x02040x02050x02060x02070x1E000x1E010x1E020x1E030x150A0x85070x85080x1F000x1F010x1F020x1F030x26000x26010x27000x27010x27020x27030x28000x28010x28020x28030x0DE10x17020x85130x85140x85150x85160x85170x85180x85190x851A0x851C0x84C00x84C10x84C20x84C30x84C40x84C50x84C60x84C70x84C80x84C90x84CA0x84CB0x84CC0x84CD0x84CE0x84CF0x84D00x84D10x84D20x84D30x84D40x84D50x84D60x84D70x84D80x84D90x84DA0x84DB0x84DC0x84DD0x84DE0x84DF0x84E00x29010x812F0x83700x8B500x8B510x8B520x8B530x8B540x8B550x8B560x8B570x8B580x8B590x8B5A0x8B5B0x8B5C0x8B5E0x8B600x86220x86230x86240x86250x886A0x86450x889F0x8B9A0x8B9B0x86420x88610x8B810x8DF00x8DF10x8DF20x8DF30x8DF40x8DF50x8D400x8D410x80560x80570x8D620x81A50x19010x8D480x84F90x8D420x8D430x8D440x8D500x8D510x8D520x8D530x8D540x8D550x8CD00x8CD10x8CD20x8CD30x8CE00x8D000x8D200x821A00x8CD50x8CD60x8CD70x8CD90x8CDD0x8CA60x8CA70x84E80x05060x92400x92410x92420x92430x92440x0C020x0CF20x0CF30x0CF40x0D020x0D030x0D040x806A0x806D0x806E0x80730x80E80x80E90x84FD0x8B490x8B4A0x88FF0x89040x89050x8B4B0x8B8B0x8C890x85B50x91220x91250x91110x8D6B0x19030x80510x80580x80590x806F0x80720x813A0x813B0x813C0x813D0x884C0x884D0x8C400x8C410x8C430x884E0x88140x88150x881A0x881B0x8C1A0x8C1D0x8C3A0x8C3D0x8D700x8D710x8D760x8D770x8D7C0x8D7D0x8D820x8D830x8D880x8D890x8D8E0x8D8F0x8D940x8D980x8D990x82290x822B0x822D0x822E0x822F0x82300x82310x82320x82330x82340x82350x82360x82370x82380x82390x823A0x823B0x823C0x8F940x8F950x8F960x8F970x906F0x912F0x82DF0x83680x8C3B0x8C3E0x8DAD0x84FA0x140B0x82270x82280x8D9F0x88650x88660x88670x8C2F0x8D6A0x88240x88250x88260x88270x88280x88290x882A0x882B0x882C0x882D0x882E0x882F0x88300x88310x88320x88330x88340x8CDF0x8CE10x8CE20x8CE30x8CE40x8CE50x8CE60x8CE70x8CE80x8CE90x8CEA0x8CEB0x8CEC0x8CED0x8CEE0x8CEF0x8B5F0x8B620x8DC10x8DC40x8DC50x8DCA0x8DCB0x8DCC0x8DCF0x8DD20x8DD30x8DD40x8DD70x8D570x89190x88EB0x88EC0x88ED0x88EF0x8F360x8F370x8F360x8F370x8B650x8B660x8B670x8B680x8B690x8B6A0x8DC60x8DC70x8DC80x8C170x8F9C0x88FD0x88FE0x8C7F0x8C800x8C830x8C840x8C850x8C880x8C8A0x8C8B0x8C8C0x8C8D0x8C8E0x8C8F0x8E220x8E230x8E240x8E250x82100x82110x82120x82130x82140x82150x82160x82170x82180x88F00x8CA60x8CA80x8CA90x8CAA0x8CAB0x8CD40x8D560x8A110x8A280x8A290x8A2A0x8A2B0x8A2D0x8A2E0x8A2F0x8A300x8A310x8A330x8A340x8A360x8A370x8A380x8A3A0x8A3B0x8A3C0x8A3D0x8A3E0x8A3F0x8A400x8A420x8A430x8A440x8A460x91120x91130x91140x91150x91160x91170x91180x91190x911A0x911B0x911C0x911D0x000000010x18000x18010x18020x80070x80080x81A60x88E10x88E20x88E50x88E60x88E90x88EA0x8CAC0x8CAD0xFFFFFFFF-10x9247
<__getObjectID get="inline" set="null" line="2596" static="1">lime.ui.Windowlime._internal.backend.native.NativeCFFIhidehidecast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11"tags=\"haxe,release\""id"tags=\"haxe,release\""ididrefsidididid"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFIididid
<_3DC_X_AMD public="1" expr="0x87F9">
0x87F9
<_3DC_XY_AMD public="1" expr="0x87FA">
0x87FA0x8C920x8C930x87EE0x8BC00x8BC10x8BC20x8BC30x8BC40x8BC50x8BC60x87400x8CA80x8CA90x8CA60x8CAA0x8CAB0x8D560x8D570x88FE0x93A40x83F20x83F30x93A20x93A30x93A00x8CAB0x8D560x8D570x8CA80x8CA90x8CA60x8CAA0x8A1F0x85BA0x85BB0x8A530x91110x91120x91130x91140x91150x91160x91170x91180x91190x911A0x911B0x911C0x911D0x000000010xFFFFFFFF0x80E10x813D0x8F610x8F600x92500x80E00x80E10x80070x80080x881A0x881B0x822F0x822D0x82110x8C170x8A4F0x8B400x8B480x91510x91530x91540x18000x18010x18020x00010x00020x00040x00080x00100x00200x8D6C0x8CAB0x8D560x8D570x90F00x90F10x0C010x0C020x90F20x8C2F0x8D6A0x88650x88660x88670x84F90x84FA0x88F00x88F10x80E10x83650x83660x82530x82540x82550x90F30x82560x82520x82610x8C400x8C420x8C430x82100x000000010x000000020xFFFFFFFF0x82580x82590x825A0x8A520x884C0x884D0x884E0x8B620x83F00x83F10x83F00x83F10x83F20x83F30x84FE0x84FF0x80E10x19030x82270x82290x822B0x912F0x803C0x80400x80450x88140x88150x88160x88180x88190x881A0x881B0x881C0x881E0x881F0x80590x80520x93A10x82290x822B0x822E0x82300x822D0x822F0x83680x0CF20x0CF30x0CF40x92600x91330x91340x91350x91360x91300x80E10x83650x8C0A0x8C000x8C010x8C020x8C030x82420x82430x82440x82450x82460x82470x82480x82490x824A0x824B0x824C0x824D0x824E0x824F0x82500x82510x82680x82690x826A0x826B0x826C0x826D0x82E00x82E10x82E20x82E30x82E60x82E80x91430x91440x91450x91460x91470x91480x92E00x000000020x05030x05040x93B00x93B10x93B20x93B30x93B40x93B50x93B60x93B70x93B80x93B90x93BA0x93BB0x93BC0x93BD0x93D00x93D10x93D20x93D30x93D40x93D50x93D60x93D70x93D80x93D90x93DA0x93DB0x93DC0x93DD0x90470x90480x90490x904A0x904B0x8ED00x8ED10x8ED20x8ED30x8ED40x8ED50x8ED60x8ED70x80000x8E2C0x88240x88250x88260x88270x88280x88290x882A0x882B0x882C0x882D0x882E0x882F0x88300x88310x88320x88330x88340x8CE00x8CE10x8CE20x8CE30x8CE40x8CE50x8CE60x8CE70x8CE80x8CE90x8CEA0x8CEB0x8CEC0x8CED0x8CEE0x8CEF0x8CDF0x8CE00x8CE10x8CE20x8CE30x8CE40x8CE50x8CE60x8CE70x8CE80x8CE90x8CEA0x8CEB0x8CEC0x8CED0x8CEE0x8CEF0x84F20x84F30x84F40x0C020x8D650x8D660x8D670x8D680x8D640x8B900x8B910x8B920x8B930x8B940x8B950x8B960x8B970x8B980x8B990x81A60x81A70x14050x87410x87FE0x87FF0x88B90x88BB0x88BC0x88BD0x84F90x84FA0x88F00x803C0x81A50x81A60x88F00x81A70x80430x80450x80400x80560x80570x8D620x80510x80580x80520x80590x80510x80580x8B8B0x8D460x8D470x82190x80720x806F0x806A0x80730x8B5F0x8CD40x8D610x85B50x8D610x8DF60x8DF70x0BC00x0BC10x0BC20x8FB00x8FB10x8FB20x8FB30x8BD20x8BD30x8BD40x8BD50x8BD60x8BD70x8BD80x8BD90x8BDA0x8BDB0x8BDC0x8FA00x000000010x000000020x000000040x000000080x000000100x000000200x000000400x000000800x000001000x000002000x000004000x000008000x000010000x000020000x000040000x000080000x000100000x000200000x000400000x000800000x001000000x002000000x004000000x008000000x010000000x020000000x040000000x080000000x100000000x200000000x400000000x800000000x88230x8FC4A utility for storing, accessing and converting colors in an ARGB
(alpha, red, green, blue) color format.
```haxe
var color:ARGB = 0xFF883300;
trace (color.a); // 0xFF
trace (color.r); // 0x88
trace (color.g); // 0x33
trace (color.b); // 0x00
var convert:BGRA = color; // 0x003388FF
```Accesses the alpha component of the colorAccesses the blue component of the colorAccesses the green component of the colorAccesses the red component of the color
<_new public="1" get="inline" set="null" line="51" static="1">
{ argb : 0 }Creates a new ARGB instance
@param argb (Optional) An ARGB color valueCreates a new ARGB instance from component values
@param a An alpha component value
@param r A red component value
@param g A green component value
@param b A blue component value
@return A new ARGB instanceMultiplies the red, green and blue components by the current alpha component{ premultiplied : false, format : RGBA32 }Reads a value from a `UInt8Array` into the current `ARGB` color
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to read
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha formatSets the current `ARGB` color to new component values
@param a The alpha component value to set
@param r The red component value to set
@param g The green component value to set
@param b The blue component vlaue to setDivides the current red, green and blue components by the alpha component{ premultiplied : false, format : RGBA32 }Writes the current `ARGB` color into a `UInt8Array`
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to write
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha format
<__fromBGRA get="inline" set="null" line="175" static="1">
<__fromRGBA get="inline" set="null" line="180" static="1">
Accesses the alpha component of the colorAccesses the blue component of the colorAccesses the green component of the colorAccesses the red component of the color
<_new public="1" get="inline" set="null" line="51" static="1">
{ argb : 0 }Creates a new ARGB instance
@param argb (Optional) An ARGB color valueCreates a new ARGB instance from component values
@param a An alpha component value
@param r A red component value
@param g A green component value
@param b A blue component value
@return A new ARGB instanceMultiplies the red, green and blue components by the current alpha component{ premultiplied : false, format : RGBA32 }Reads a value from a `UInt8Array` into the current `ARGB` color
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to read
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha formatSets the current `ARGB` color to new component values
@param a The alpha component value to set
@param r The red component value to set
@param g The green component value to set
@param b The blue component vlaue to setDivides the current red, green and blue components by the alpha component{ premultiplied : false, format : RGBA32 }Writes the current `ARGB` color into a `UInt8Array`
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to write
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha format
<__fromBGRA get="inline" set="null" line="175" static="1">
<__fromRGBA get="inline" set="null" line="180" static="1">
A utility for storing, accessing and converting colors in a BGRA
(blue, green, red, alpha) color format.
```haxe
var color:BGRA = 0x003388FF;
trace (color.b); // 0x00
trace (color.g); // 0x33
trace (color.r); // 0x88
trace (color.a); // 0xFF
var convert:ARGB = color; // 0xFF883300
```Accesses the alpha component of the colorAccesses the blue component of the colorAccesses the green component of the colorAccesses the red component of the color
<_new public="1" get="inline" set="null" line="51" static="1">
{ bgra : 0 }Creates a new BGRA instance
@param bgra (Optional) A BGRA color valueCreates a new BGRA instance from component values
@param b A blue component value
@param g A green component value
@param r A red component value
@param a An alpha component value
@return A new BGRA instanceMultiplies the red, green and blue components by the current alpha component{ premultiplied : false, format : RGBA32 }Reads a value from a `UInt8Array` into the current `BGRA` color
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to read
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha formatSets the current `BGRA` color to new component values
@param b The blue component vlaue to set
@param g The green component value to set
@param r The red component value to set
@param a The alpha component value to setDivides the current red, green and blue components by the alpha component{ premultiplied : false, format : RGBA32 }Writes the current `BGRA` color into a `UInt8Array`
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to write
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha format
<__fromARGB get="inline" set="null" line="175" static="1">
<__fromRGBA get="inline" set="null" line="180" static="1">
Accesses the alpha component of the colorAccesses the blue component of the colorAccesses the green component of the colorAccesses the red component of the color
<_new public="1" get="inline" set="null" line="51" static="1">
{ bgra : 0 }Creates a new BGRA instance
@param bgra (Optional) A BGRA color valueCreates a new BGRA instance from component values
@param b A blue component value
@param g A green component value
@param r A red component value
@param a An alpha component value
@return A new BGRA instanceMultiplies the red, green and blue components by the current alpha component{ premultiplied : false, format : RGBA32 }Reads a value from a `UInt8Array` into the current `BGRA` color
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to read
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha formatSets the current `BGRA` color to new component values
@param b The blue component vlaue to set
@param g The green component value to set
@param r The red component value to set
@param a The alpha component value to setDivides the current red, green and blue components by the alpha component{ premultiplied : false, format : RGBA32 }Writes the current `BGRA` color into a `UInt8Array`
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to write
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha format
<__fromARGB get="inline" set="null" line="175" static="1">
<__fromRGBA get="inline" set="null" line="180" static="1">
`ColorMatrix` is a 4x5 matrix containing color multiplication
and offset values for tinting and other kinds of color
manipulation. In addition to using the multiplier, offset and
`color` properties, it can be edited directly as a `Float32Array`
<__alphaTable static="1">
<__blueTable static="1">
<__greenTable static="1">
<__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]" line="20" static="1">
[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]
<__redTable static="1">The current alpha multiplication value (default is 1.0)The current alpha offset value (default is 0)The current blue multiplication value (default is 1.0)The current blue offset value (default is 0)Gets or sets a color offset for tinting.
This will change the red, green and blue multipliers
to zero, and affect the red, green and blue offset
values.The current green multiplication value (default is 1.0)The current green offset value (default is 0)The current red multiplication value (default is 1.0)The current red offset value (default is 0)
<_new public="1" set="method" line="78" static="1">
{ data : null }Creates a new `ColorMatrix` instance
@param data (Optional) Initial `Float32Array` data to useCreates a duplicate of the current `ColorMatrix` instance
@return A new `ColorMatrix` instanceAdds the color multipliers from a second `ColorMatrix` to the current one
@param second The `ColorMatrix` to `concat` to the current oneSets the current `ColorMatrix` values to the same as another one
@param other The `ColorMatrix` to copy fromResets to default valuesReturns a reference to a `UInt8Array` table for transforming
alpha values using the current matrix.
The table is 256 values in length, and includes values based
on the `alphaMultipler` and `alphaOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.alphaOffset = 12;
var alphaTable = colorMatrix.getAlphaTable ();
trace (alphaTable[0]); // 12
trace (alphaTable[1]); // 13
```Returns a reference to a `UInt8Array` table for transforming
blue values using the current matrix.
The table is 256 values in length, and includes values based
on the `blueMultiplier` and `blueOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.blueOffset = 16;
var blueTable = colorMatrix.getBlueTable ();
trace (blueTable[0]); // 16
trace (blueTable[1]); // 17
```Returns a reference to a `UInt8Array` table for transforming
green values using the current matrix.
The table is 256 values in length, and includes values based
on the `greenMultiplier` and `greenOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.greenOffset = 16;
var greenTable = colorMatrix.getGreenTable ();
trace (greenTable[0]); // 16
trace (greenTable[1]); // 17
```Returns a reference to a `UInt8Array` table for transforming
red values using the current matrix.
The table is 256 values in length, and includes values based
on the `redMultiplier` and `redOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.redOffset = 16;
var redTable = colorMatrix.getRedTable ();
trace (redTable[0]); // 16
trace (redTable[1]); // 17
```
<__toFlashColorTransform set="method" line="309" static="1">
hidehide
<__alphaTable static="1">
<__blueTable static="1">
<__greenTable static="1">
<__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]" line="20" static="1">
[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]
<__redTable static="1">The current alpha multiplication value (default is 1.0)The current alpha offset value (default is 0)The current blue multiplication value (default is 1.0)The current blue offset value (default is 0)Gets or sets a color offset for tinting.
This will change the red, green and blue multipliers
to zero, and affect the red, green and blue offset
values.The current green multiplication value (default is 1.0)The current green offset value (default is 0)The current red multiplication value (default is 1.0)The current red offset value (default is 0)
<_new public="1" set="method" line="78" static="1">
{ data : null }Creates a new `ColorMatrix` instance
@param data (Optional) Initial `Float32Array` data to useCreates a duplicate of the current `ColorMatrix` instance
@return A new `ColorMatrix` instanceAdds the color multipliers from a second `ColorMatrix` to the current one
@param second The `ColorMatrix` to `concat` to the current oneSets the current `ColorMatrix` values to the same as another one
@param other The `ColorMatrix` to copy fromResets to default valuesReturns a reference to a `UInt8Array` table for transforming
alpha values using the current matrix.
The table is 256 values in length, and includes values based
on the `alphaMultipler` and `alphaOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.alphaOffset = 12;
var alphaTable = colorMatrix.getAlphaTable ();
trace (alphaTable[0]); // 12
trace (alphaTable[1]); // 13
```Returns a reference to a `UInt8Array` table for transforming
blue values using the current matrix.
The table is 256 values in length, and includes values based
on the `blueMultiplier` and `blueOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.blueOffset = 16;
var blueTable = colorMatrix.getBlueTable ();
trace (blueTable[0]); // 16
trace (blueTable[1]); // 17
```Returns a reference to a `UInt8Array` table for transforming
green values using the current matrix.
The table is 256 values in length, and includes values based
on the `greenMultiplier` and `greenOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.greenOffset = 16;
var greenTable = colorMatrix.getGreenTable ();
trace (greenTable[0]); // 16
trace (greenTable[1]); // 17
```Returns a reference to a `UInt8Array` table for transforming
red values using the current matrix.
The table is 256 values in length, and includes values based
on the `redMultiplier` and `redOffset` values of the matrix.
The values are constrained within 0 and 255.
For example:
```haxe
var colorMatrix = new ColorMatrix ();
colorMatrix.redOffset = 16;
var redTable = colorMatrix.getRedTable ();
trace (redTable[0]); // 16
trace (redTable[1]); // 17
```
<__toFlashColorTransform set="method" line="309" static="1">
hidehide`Matrix4` is a 4x4 matrix, useful for 3D calculations
<__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]" line="11" static="1">
[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]Gets the determinant of the matrixGets or sets the position value of this matrix
<_new public="1" set="method" line="27" static="1">
{ data : null }Creates a new matrix instance
@param data (Optional) A `Float32Array` of 16 values to use for this matrixAppends a second matrix by multiplying its values against the current one
@param lhs A second matrix instance{ pivotPoint : null }Appends rotation to the current matrix
@param degrees A rotation value (in degrees)
@param axis The coordinate position of the rotation axis
@param pivotPoint (Optional) A pivot point to use in the rotationAppends a scale value to the current matrix
@param xScale The x scale to append
@param yScale The y scale to append
@param zScale The z scale to appendIncreases the position/translation of the current matrix
@param x The x amount to offset the current position
@param y The y amount to offset the current position
@param z The z amount to offset the current positionCreates a duplicate of the current `Matrix4`
@return A new `Matrix4` with the same values as the current matrixCopies a column of data from a `Vector4` instance into the values of this matrix
@param column The column to copy into (0, 1, 2 or 3)
@param vector The `Vector4` copy fromCopies a column of data from the current matrix into a `Vector4` instance
@param column The column to copy (0, 1, 2 or 3)
@param vector The `Vector4` copy toCopies the values of another `Matrix4` into the current matrix
@param other A `Matrix4` instance to copy fromCopies a row of data from a `Vector4` instance into the values of this matrix
@param row The row to copy into (0, 1, 2 or 3)
@param vector The `Vector4` copy fromCopies a row of data from the current matrix into a `Vector4` instance
@param column The row to copy (0, 1, 2 or 3)
@param vector The `Vector4` copy to{ ty : 0, tx : 0 }Resets the current matrix using two-dimensional transform values
@param a A two-dimensional matrix a value
@param b A two-dimensional matrix b value
@param c A two-dimensional matrix c value
@param d A two-dimensional matrix d value
@param tx (Optional) A two-dimensional matrix tx value (default is 0)
@param ty (Optional) A two-dimensional matrix ty value (default is 0)Initializes this matrix with values for an orthographic projection, useful in rendering
@param left The left (or x0) coordinate for the projection
@param right The right (or x1) coordinate for the projection
@param bottom The bottom (or y0) coordinate for the projection
@param top The top (or y1) coordinate for the projection
@param zNear The near depth-clipping plane position
@param zFar The far depth-clipping plane position{ result : null }* Returns the transformation matrix's translation, rotation, and scale settings as a Vector of three Vector4 objects.Resets the current matrix using default identity values{ result : null }Interpolates from one `Matrix4` instance to another, given a percentage between the two
@param thisMat The first `Matrix4` object to start from
@param toMat The second `Matrix4` object to interpolate toward
@param percent The percentage value to interpolate by
@param result (Optional) A `Matrix4` instance to use when returning the result
@return A `Matrix4` with the resulting valueInterpolates the current matrix toward another matrix, resetting the values of the current matrix
@param toMat The second `Matrix4` object to interpolate toward
@param percetn The percentage value to interpolate byAttempts to invert the current matrix, so long as the determinant is greater than zero
@return Whether the `invert` operation was successful{ up : null, at : null }Sets the matrix values as a transformation orientated toward a certain vector position
@param pos A target vector position in absolute coordinates
@param at (Optional) A vector relative to this matrix which defines the current direction
@param up (Optional) A vector relative to this matrix which defines the "up" directionPrepends a right-hand matrix to the current matrix
@param rhx A right-hand `Matrix4` to append{ pivotPoint : null }Prepends rotation to this matrix
@param degrees The rotation amount in degrees
@param axis The rotation axis
@param pivotPoint (Optional) A pivot point for the rotationPrepends scale to this matrix
@param xScale An x scale value
@param yScale A y scale value
@param zScale A z scale valuePrepends translation values to this matrix
@param x An x translation value
@param y A y translation value
@param z A z translation value{ result : null }Transforms a `Vector4` instance using the current matrix
@param result (Optional) An existing `Vector2` instance to fill with the result
@return The resulting `Vector4` instanceTransforms a series of [x, y, z] value pairs at once
@param ain An input `Float32Array` to transform
@param aout An output `Float32Array` to write toTransposes the current matrix
<__getAxisRotation set="method" line="919" static="1">
<__swap get="inline" set="null" line="949" static="1">
hidehide
<__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]" line="11" static="1">
[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]Gets the determinant of the matrixGets or sets the position value of this matrix
<_new public="1" set="method" line="27" static="1">
{ data : null }Creates a new matrix instance
@param data (Optional) A `Float32Array` of 16 values to use for this matrixAppends a second matrix by multiplying its values against the current one
@param lhs A second matrix instance{ pivotPoint : null }Appends rotation to the current matrix
@param degrees A rotation value (in degrees)
@param axis The coordinate position of the rotation axis
@param pivotPoint (Optional) A pivot point to use in the rotationAppends a scale value to the current matrix
@param xScale The x scale to append
@param yScale The y scale to append
@param zScale The z scale to appendIncreases the position/translation of the current matrix
@param x The x amount to offset the current position
@param y The y amount to offset the current position
@param z The z amount to offset the current positionCreates a duplicate of the current `Matrix4`
@return A new `Matrix4` with the same values as the current matrixCopies a column of data from a `Vector4` instance into the values of this matrix
@param column The column to copy into (0, 1, 2 or 3)
@param vector The `Vector4` copy fromCopies a column of data from the current matrix into a `Vector4` instance
@param column The column to copy (0, 1, 2 or 3)
@param vector The `Vector4` copy toCopies the values of another `Matrix4` into the current matrix
@param other A `Matrix4` instance to copy fromCopies a row of data from a `Vector4` instance into the values of this matrix
@param row The row to copy into (0, 1, 2 or 3)
@param vector The `Vector4` copy fromCopies a row of data from the current matrix into a `Vector4` instance
@param column The row to copy (0, 1, 2 or 3)
@param vector The `Vector4` copy to{ ty : 0, tx : 0 }Resets the current matrix using two-dimensional transform values
@param a A two-dimensional matrix a value
@param b A two-dimensional matrix b value
@param c A two-dimensional matrix c value
@param d A two-dimensional matrix d value
@param tx (Optional) A two-dimensional matrix tx value (default is 0)
@param ty (Optional) A two-dimensional matrix ty value (default is 0)Initializes this matrix with values for an orthographic projection, useful in rendering
@param left The left (or x0) coordinate for the projection
@param right The right (or x1) coordinate for the projection
@param bottom The bottom (or y0) coordinate for the projection
@param top The top (or y1) coordinate for the projection
@param zNear The near depth-clipping plane position
@param zFar The far depth-clipping plane position{ result : null }* Returns the transformation matrix's translation, rotation, and scale settings as a Vector of three Vector4 objects.Resets the current matrix using default identity values{ result : null }Interpolates from one `Matrix4` instance to another, given a percentage between the two
@param thisMat The first `Matrix4` object to start from
@param toMat The second `Matrix4` object to interpolate toward
@param percent The percentage value to interpolate by
@param result (Optional) A `Matrix4` instance to use when returning the result
@return A `Matrix4` with the resulting valueInterpolates the current matrix toward another matrix, resetting the values of the current matrix
@param toMat The second `Matrix4` object to interpolate toward
@param percetn The percentage value to interpolate byAttempts to invert the current matrix, so long as the determinant is greater than zero
@return Whether the `invert` operation was successful{ up : null, at : null }Sets the matrix values as a transformation orientated toward a certain vector position
@param pos A target vector position in absolute coordinates
@param at (Optional) A vector relative to this matrix which defines the current direction
@param up (Optional) A vector relative to this matrix which defines the "up" directionPrepends a right-hand matrix to the current matrix
@param rhx A right-hand `Matrix4` to append{ pivotPoint : null }Prepends rotation to this matrix
@param degrees The rotation amount in degrees
@param axis The rotation axis
@param pivotPoint (Optional) A pivot point for the rotationPrepends scale to this matrix
@param xScale An x scale value
@param yScale A y scale value
@param zScale A z scale valuePrepends translation values to this matrix
@param x An x translation value
@param y A y translation value
@param z A z translation value{ result : null }Transforms a `Vector4` instance using the current matrix
@param result (Optional) An existing `Vector2` instance to fill with the result
@return The resulting `Vector4` instanceTransforms a series of [x, y, z] value pairs at once
@param ain An input `Float32Array` to transform
@param aout An output `Float32Array` to write toTransposes the current matrix
<__getAxisRotation set="method" line="919" static="1">
<__swap get="inline" set="null" line="949" static="1">
hidehideA utility for storing, accessing and converting colors in an RGBA
(red, green, blue, alpha) color format.
```haxe
var color:RGBA = 0x883300FF;
trace (color.r); // 0x88
trace (color.g); // 0x33
trace (color.b); // 0x00
trace (color.a); // 0xFF
var convert:ARGB = color; // 0xFF883300
```lime.math
<__alpha16 static="1">
<__clamp static="1">Accesses the alpha component of the colorAccesses the blue component of the colorAccesses the green component of the colorAccesses the red component of the color
<_new public="1" get="inline" set="null" line="104" static="1">
{ rgba : 0 }Creates a new RGBA instance
@param rgba (Optional) An RGBA color valueCreates a new RGBA instance from component values
@param r A red component value
@param g A green component value
@param b A blue component value
@param a An alpha component value
@return A new RGBA instanceMultiplies the red, green and blue components by the current alpha component{ premultiplied : false, format : RGBA32 }Reads a value from a `UInt8Array` into the current `RGBA` color
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to read
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha formatSets the current `RGBA` color to new component values
@param r The red component value to set
@param g The green component value to set
@param b The blue component vlaue to set
@param a The alpha component value to setDivides the current red, green and blue components by the alpha component{ premultiplied : false, format : RGBA32 }Writes the current `RGBA` color into a `UInt8Array`
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to write
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha format
<__fromARGB get="inline" set="null" line="231" static="1">
<__fromBGRA get="inline" set="null" line="236" static="1">
lime.mathTypedArrayType.None0lime.utils{ len : null, in_byteOffset : 0 }lime.utilslime.utils{ offset : 0, array : null, view : null }{ srcByteOffset : 0 }{ offset : 0 }{ elements : null }lime.utils"tags=\"haxe,release\""hide
<__alpha16 static="1">
<__clamp static="1">Accesses the alpha component of the colorAccesses the blue component of the colorAccesses the green component of the colorAccesses the red component of the color
<_new public="1" get="inline" set="null" line="104" static="1">
{ rgba : 0 }Creates a new RGBA instance
@param rgba (Optional) An RGBA color valueCreates a new RGBA instance from component values
@param r A red component value
@param g A green component value
@param b A blue component value
@param a An alpha component value
@return A new RGBA instanceMultiplies the red, green and blue components by the current alpha component{ premultiplied : false, format : RGBA32 }Reads a value from a `UInt8Array` into the current `RGBA` color
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to read
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha formatSets the current `RGBA` color to new component values
@param r The red component value to set
@param g The green component value to set
@param b The blue component vlaue to set
@param a The alpha component value to setDivides the current red, green and blue components by the alpha component{ premultiplied : false, format : RGBA32 }Writes the current `RGBA` color into a `UInt8Array`
@param data A `UInt8Array` instance
@param offset An offset into the `UInt8Array` to write
@param format (Optional) The `PixelFormat` represented by the `UInt8Array` data
@param premultiplied (Optional) Whether the data is stored in premultiplied alpha format
<__fromARGB get="inline" set="null" line="231" static="1">
<__fromBGRA get="inline" set="null" line="236" static="1">
lime.mathGet or set the bottom (y + height) value of the `Rectangle`Get or set the bottom-right (x + width, y + height) as a `Vector2`Get or set the height of the rectangleGet or set the left (x) of the rectangleGet or set the right (x + width) of the rectangleGet or set the size (width, height) as a `Vector2`Get or set the top (y) of the rectangleGet or set the top-left (x, y) as a `Vector2`Get or set the width of the rectangleGet or set the x of the rectangleGet or set the y of the rectangleCreates a clone of this `Rectangle`
@return A new `Rectangle` instanceReturns whether this rectangle contains the specified (x, y) point
@param x The x coordinate to test
@param y The y coordinate to test
@return Whether the point is contained in the rectanglehide"Use containsVector"Returns whether this rectangle contains another rectangle
This will return `false` if the second rectangle only
overlaps but is not fully contained within the current rectangle
@param rect A second `Rectangle` instance to test
@return Whether the `rect` is contained within the current `Rectangle`Returns whether this rectangle contains the specified vector
@param vector The vector to test
@return Whether the vector is contained in the rectangleCopies the x, y, width and height of another `Rectangle`
@param sourceRect Another `Rectangle` instanceChecks whether the current `Rectangle` and another
instance have equal values
@param toCompare Another `Rectangle` to compare with
@return Whether both rectangles are not `null` and have equal valuesIncreases the size of the current rectangle by
the given delta x and y values
@param dx A delta x value to increase the size by
@param dy A delta y value to increase the size byIncreases the size of the current rectangle by
the given delta vector values
@param vector A delta vector to increase the size by{ result : null }Returns a new rectangle with the area where the current
`Rectangle` and another `Rectangle` instance overlap.
If they do not overlap, the returned `Rectangle` will
be empty
@param toIntersect Another `Rectangle` instance to intersect with
@param result (Optional) A `Rectangle` instance to use for the result
@return A `Rectangle` of the intersection areaReturns if the current `Rectangle` overlaps with another instance
@param toIntersect Another `Rectangle` to compare with
@return Whether the rectangles intersectMoves the rectangle by offset x and values
@param dx A delta x value
@param dy A delta y valueMoves the rectangle by the values of a `Vector2`
@param dx A delta vectorMakes this rectangle emptySets the values of this rectangle at once
@param xa A new x value
@param ya A new y value
@param widtha A new width value
@param heighta A new height value{ result : null }Combines two rectangles together, returning the
minimum `Rectangle` that contains both rectangles
@param toUnion A second `Rectangle` to unify
@param result (Optional) A `Rectangle` instance for the result
@return A `Rectangle` that contains the dimensions of both rectangles
<__toFlashRectangle set="method" line="336">
{ height : 0, width : 0, y : 0, x : 0 }Create a new `Rectangle` instance
@param x (Optional) Initial x value (default is 0)
@param y (Optional) Initial y value (default is 0)
@param width (Optional) Initial width value (default is 0)
@param height (Optional) Initial height value (default is 0)The `Rectangle` class provides a simple object for storing
and manipulating a logical rectangle for calculations"tags=\"haxe,release\""A constant representing the x axis (1, 0, 0)A constant representing the y axis (0, 1, 0)A constant representing the z axis (0, 0, 1)Calculates the angle between two `Vector4` coordinates
@param a A `Vector4` instance
@param b A second `Vector4` instance
@return The calculated angleCalculates the distance between two vectors
@param pt1 A `Vector4` instance
@param pt2 A second `Vector4` instance
@return The distance between each vectorCalculates the squared distance between two vectors,
(avoids the use of `Math.sqrt` for faster performance)
@param pt1 A `Vector4` instance
@param pt2 A second `Vector4` instance
@return The square of the distance between each vectorGet the length of this vectorGet the squared length of this vector
(avoiding the use of `Math.sqrt` for faster
performance)The w component valueThe x component valueThe y component valueThe z component value{ result : null }Adds two `Vector4` instances together and returns the result
@param a A `Vector4` instance to add to the current one
@param result (Optional) A `Vector4` instance to store the result
@return A `Vector4` instance with the added valueCreates a new `Vector4` instance with the same values as the current one
@return A new `Vector4` instance with the same valuesCopies the x, y and z component values of another `Vector4` instance
@param sourceVector4 A `Vector4` instance to copy from{ result : null }Performs vector multiplication between this vector and another `Vector4` instance
@param a A `Vector4` instance to multiply by
@param result (Optional) A `Vector4` to use for the result
@return A `Vector4` instance with the resultDecrements the x, y and z component values by those in another `Vector4` instance
@param a A `Vector4` instance to decrement the current vector byCalculates the dot product of the current vector with another `Vector4` instance
@param a A `Vector4` instance to use in the dot product
@return The calculated dot product value{ allFour : false }Whether two `Vector4` instances have equal component values.
Comparing the w component value is optional.
@param toCompare A `Vector4` instance to compare against
@param allFour (Optional) Whether to compare against the w component (default is false)
@return Whether both instances have equal valuesIncrements the x, y and z component values by those in a second `Vector4` instance
@param a A `Vector4` instance to increment the current vector by{ allFour : false }Whether two `Vector4` instances have nearly equal component values.
Comparison is performed within a given tolerance value.
@param toCompare A `Vector4` instance to compare against
@param tolerance A floating point value determining how near the values must be to be considered near equal
@param allFour (Optional) Whether to compare against the w component (default is false)
@return Whether both instances have equal values, within the given toleranceNegates the x, y and z values of the current vector
(multiplying each value by -1)Divides the x, y and z component values by the
length of the vectorDivides the x, y and z component values by the
w component valueScales the x, y and z component values by a scale value
@param s The amount of scale to applySets the x, y and z component values
@param xa An x value
@param ya A y value
@param za A z value{ result : null }Subtracts the values of a second `Vector4` instance
from the current one
@param a A second `Vector4` instance to substract
@param result (Optional) A `Vector4` instance to store the result
@return A `Vector4` instance containing the subtracted valuehide{ w : 0., z : 0., y : 0., x : 0. }Creates a new `Vector4` instance
@param x (Optional) An initial x value (default is 0)
@param y (Optional) An initial y value (default is 0)
@param z (Optional) An initial z value (default is 0)
@param w (Optional) An initial w value (default is 0)`Vector4` is a vector suitable for three-dimensional
math, containing (x, y, z, w) components"tags=\"haxe,release\""
<__getCodec set="method" line="343" static="1">
<__srcAudio>
<__srcBuffer>
<__srcCustom>
<__srcHowl>
<__srcSound>
<__srcVorbisFile>
lime._internal.backend.native.NativeCFFIlime.utils.Assets"tags=\"haxe,release\""{ type : null }lime.media.FlashAudioContextlime.media.HTML5AudioContextlime.media.OpenALAudioContextlime.media.WebAudioContextcast "flash"cast "html5"cast "openal"cast "web"cast "custom"cast "flash"cast "html5"cast "openal"cast "web"cast "custom"{ context : null }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI()]]>
<__backend>
{ loops : 0, length : null, offset : 0, buffer : null }"tags=\"haxe,release\""{ context : null, stream : null }{ startPosition : -1 }{ context : null }{ sampleRate : 44100, stereo : true, format : null }{ sndTransform : null, loops : 0, startTime : 0 }243100123{ urlString : null }lime.media.AudioBuffer0010x2020x10010x10020x10030x10040x10050x10060x10070x10090x100A0x100D0x100E0x100F0x10100x10110x10120x10130x10140x10150x10160x10200x10210x10220x10230x10240x10250x10260x10270x10280x10290x10300x11000x11010x11020x11030x20010x20020x20030x200400xA0010xA0020xA0030xA0040xA0050xB0010xB0020xB0030xB0040xC0000xC0030xC0010xD0000xD0010xD0020xD0030xD0040xD0050xD0060x10080x10090x10100x10110xA0010xA0020x10020x10030x10040x100510x10120x1013{ attrlist : null }{ count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }{ device : null }{ device : null }{ count : 1 }{ device : null, count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }{ device : null }{ deviceName : null }"tags=\"haxe,release\""0010x2020x10010x10020x10030x10040x10050x10060x10070x10090x100A0x100D0x100E0x100F0x10100x10110x10120x10130x10140x10150x10160x10200x10210x10220x10230x10240x10250x10260x10270x10280x10290x10300x11000x11010x11020x11030x20010x20020x20030x200400xA0010xA0020xA0030xA0040xA0050xB0010xB0020xB0030xB0040xC0000xC0030xC0010xD0000xD0010xD0020xD0030xD0040xD0050xD0060x200040x200050x200060x200070x200080x200090x2000A0x2000B0x2000C0x00010x00020x00030x00040x00050x00060x00070x00080x00090x000A0x000B0x000C0x000D0x00010x00020x00030x00040x00050x00060x00070x00080x00090x000A0x000B0x000C0x000D0x000E0x000F0x00100x00110x00120x00130x00140x00150x00160x00170x00010x00020x00030x00040x00050x00060x00010x00020x00030x00040x00050x00010x00020x00030x00040x00050x00010x00020x00030x00040x00050x00060x00010x00020x00030x00010x00020x00030x00040x00050x00060x00010x00020x00010x00020x00030x00010x00020x00030x00040x00010x00010x00020x00030x00040x00050x00060x00070x00080x00090x000A0x00000x80000x80010x00000x80000x00010x00020x00030x00040x00050x00060x00070x00080x00090x000A0x000B0x000C0x00010x00020x00030x00010x00020x00010x00020x00010x00020x00030x00000x80000x80010x00000x00010x00020x0003"genSource has been renamed to 'createSource' for consistency with OpenGL""genBuffer has been renamed to 'createBuffer' for consistency with OpenGL"{ count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }{ count : 1 }hide{ count : 1 }{ count : 1 }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.ALlime.media.openal.AL
<_new get="inline" set="null" line="10" static="1">
lime.media.openal.AL
<_new get="inline" set="null" line="10" static="1">
lime.media.openal.AL010x10070x10080x10090x10100x101100xA0010xA0020xA0030xA0040xA0050x10020x10030x10040x10050x100610x10120x1013{ attrlist : null }{ deviceName : null }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.media.openal.ALlime.media.openal.ALC
<_new get="inline" set="null" line="10" static="1">
lime.media.openal.ALClime.media.openal.AL
<_new get="inline" set="null" line="10" static="1">
lime.media.openal.ALClime.media.openal.ALlime.media.openal.ALlime.media.openal.ALC
<_new get="inline" set="null" line="10" static="1">
lime.media.openal.ALClime.media.openal.AL
<_new get="inline" set="null" line="10" static="1">
lime.media.openal.ALClime.media.openal.ALlime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.ALlime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.ALlime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.AL
<_new get="inline" set="null" line="9" static="1">
lime.media.openal.AL{ bitstream : -1 }{ bitstream : -1 }{ bitstream : -1 }{ bitstream : -1 }{ bitstream : -1 }{ signed : true, wordSize : 2, bigEndianPacking : false, length : 4096 }{ bitstream : -1 }{ bitstream : -1 }lime._internal.backend.native.NativeCFFI
<__backend>
{ uri : null }{ uri : null }"tags=\"haxe,release\"""tags=\"haxe,release\""lime._internal.macros.HTTPRequestMacro.build(){ uri : null }{ uri : null }"tags=\"haxe,release\""{ uri : null }{ uri : null }"tags=\"haxe,release\""{ value : "" }"tags=\"haxe,release\""cast "DELETE"cast "GET"cast "HEAD"cast "OPTIONS"cast "POST"cast "PUT"cast "DELETE"cast "GET"cast "HEAD"cast "OPTIONS"cast "POST"cast "PUT""tags=\"haxe,release\"""tags=\"haxe,release\"""tags=\"haxe,release\"""tags=\"haxe,release\"""tags=\"haxe,release\""GLOBAL_SSL | GLOBAL_WIN320GLOBAL_ALL{ handle : null }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIcast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18cast 19cast 21cast 22cast 23cast 25cast 26cast 27cast 28cast 30cast 31cast 33cast 34cast 35cast 36cast 37cast 38cast 39cast 42cast 43cast 45cast 47cast 48cast 49cast 51cast 52cast 53cast 54cast 55cast 56cast 58cast 59cast 60cast 61cast 62cast 63cast 64cast 65cast 66cast 67cast 68cast 69cast 70cast 71cast 72cast 73cast 74cast 75cast 76cast 77cast 78cast 79cast 80cast 81cast 82cast 83cast 84cast 85cast 86cast 87cast 88cast 89cast 90cast 91cast 92cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 15cast 16cast 17cast 18cast 19cast 21cast 22cast 23cast 25cast 26cast 27cast 28cast 30cast 31cast 33cast 34cast 35cast 36cast 37cast 38cast 39cast 42cast 43cast 45cast 47cast 48cast 49cast 51cast 52cast 53cast 54cast 55cast 56cast 58cast 59cast 60cast 61cast 62cast 63cast 64cast 65cast 66cast 67cast 68cast 69cast 70cast 71cast 72cast 73cast 74cast 75cast 76cast 77cast 78cast 79cast 80cast 81cast 82cast 83cast 84cast 85cast 86cast 87cast 88cast 89cast 90cast 91cast 92cast 0cast 0x100000 + 1cast 0x200000 + 2cast 0x300000 + 3cast 0x300000 + 4cast 0x300000 + 5cast 0x300000 + 6cast 0x300000 + 7cast 0x600000 + 7cast 0x300000 + 8cast 0x600000 + 8cast 0x300000 + 9cast 0x600000 + 9cast 0x300000 + 10cast 0x600000 + 10cast 0x200000 + 11cast 0x200000 + 12cast 0x200000 + 13cast 0x200000 + 14cast 0x300000 + 15cast 0x600000 + 15cast 0x300000 + 16cast 0x300000 + 16cast 0x300000 + 17cast 0x100000 + 18cast 0x300000 + 19cast 0x200000 + 20cast 0x100000 + 21cast 0x200000 + 22cast 0x200000 + 23cast 0x200000 + 24cast 0x200000 + 25cast 0x200000 + 26cast 0x400000 + 27cast 0x400000 + 28cast 0x200000 + 29cast 0x100000 + 30cast 0x100000 + 31cast 0x100000 + 32cast 0x300000 + 33cast 0x400000 + 34cast 0x200000 + 35cast 0x100000 + 36cast 0x200000 + 37cast 0x200000 + 38cast 0x200000 + 39cast 0x200000 + 40cast 0x100000 + 41cast 0x200000 + 42cast 0x400000 + 43cast 0x500000 + 44cast 0x400000 + 45cast 0x200000 + 46cast 0x200000 + 47cast 0x200000 + 48cast 0x100000 + 49cast 0cast 0x100000 + 1cast 0x200000 + 2cast 0x300000 + 3cast 0x300000 + 4cast 0x300000 + 5cast 0x300000 + 6cast 0x300000 + 7cast 0x600000 + 7cast 0x300000 + 8cast 0x600000 + 8cast 0x300000 + 9cast 0x600000 + 9cast 0x300000 + 10cast 0x600000 + 10cast 0x200000 + 11cast 0x200000 + 12cast 0x200000 + 13cast 0x200000 + 14cast 0x300000 + 15cast 0x600000 + 15cast 0x300000 + 16cast 0x300000 + 16cast 0x300000 + 17cast 0x100000 + 18cast 0x300000 + 19cast 0x200000 + 20cast 0x100000 + 21cast 0x200000 + 22cast 0x200000 + 23cast 0x200000 + 24cast 0x200000 + 25cast 0x200000 + 26cast 0x400000 + 27cast 0x400000 + 28cast 0x200000 + 29cast 0x100000 + 30cast 0x100000 + 31cast 0x100000 + 32cast 0x300000 + 33cast 0x400000 + 34cast 0x200000 + 35cast 0x100000 + 36cast 0x200000 + 37cast 0x200000 + 38cast 0x200000 + 39cast 0x200000 + 40cast 0x100000 + 41cast 0x200000 + 42cast 0x400000 + 43cast 0x500000 + 44cast 0x400000 + 45cast 0x200000 + 46cast 0x200000 + 47cast 0x200000 + 48cast 0x100000 + 49{ handle : null }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.net.curl.CURLlime.net.curl.CURLMultiMessagecast -1cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast -1cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 200001cast 100002cast 3cast 20004cast 10005cast 6cast 7cast 8cast 30009cast 30010cast 10011cast 10012cast 13cast 20014cast 10015cast 200001cast 100002cast 3cast 20004cast 10005cast 6cast 7cast 8cast 30009cast 30010cast 10011cast 10012cast 13cast 20014cast 10015cast 10002cast 3cast 10004cast 10005cast 10006cast 10007cast 10009cast 10009cast 10010cast 20011cast 20012cast 13cast 14cast 10015cast 10016cast 10017cast 10018cast 19cast 20cast 21cast 22cast 10023cast 10023cast 10024cast 10025cast 10026cast 27cast 10028cast 10029cast 10029cast 10031cast 32cast 33cast 34cast 10036cast 10037cast 10039cast 10040cast 41cast 42cast 43cast 44cast 45cast 46cast 47cast 48cast 50cast 51cast 52cast 53cast 54cast 20056cast 10057cast 10057cast 58cast 59cast 60cast 61cast 10062cast 10063cast 64cast 10065cast 68cast 69cast 10070cast 71cast 72cast 74cast 75cast 10076cast 10077cast 78cast 20079cast 80cast 81cast 10082cast 10083cast 84cast 85cast 10086cast 10087cast 10088cast 10089cast 90cast 91cast 92cast 10093cast 20094cast 10095cast 96cast 10097cast 98cast 99cast 10100cast 101cast 10102cast 10103cast 10104cast 105cast 106cast 107cast 20108cast 10109cast 110cast 111cast 112cast 112cast 113cast 114cast 30115cast 30116cast 30117cast 10118cast 119cast 30120cast 121cast 129cast 20130cast 10131cast 10134cast 10135cast 10136cast 137cast 138cast 139cast 140cast 141cast 20142cast 20143cast 20144cast 30145cast 30146cast 10147cast 20148cast 10149cast 150cast 151cast 10152cast 10153cast 154cast 155cast 156cast 157cast 158cast 159cast 160cast 161cast 10162cast 20163cast 10164cast 10165cast 166cast 20167cast 10168cast 10169cast 10170cast 171cast 172cast 10173cast 10174cast 10175cast 10176cast 10177cast 178cast 10179cast 180cast 181cast 182cast 10183cast 20184cast 10185cast 10186cast 10187cast 188cast 189cast 10190cast 10191cast 10192cast 193cast 194cast 10195cast 20196cast 197cast 20198cast 20199cast 20200cast 10201cast 10202cast 10203cast 10204cast 10205cast 10206cast 207cast 20208cast 10209cast 210cast 10211cast 212cast 213cast 214cast 215cast 216cast 10217cast 218cast 20219cast 10220cast 10221cast 10222cast 10223cast 10224cast 225cast 226cast 227cast 10228cast 229cast 10230cast 10231cast 232cast 233cast 234cast 10235cast 10236cast 237cast 10238cast 239cast 10240cast 10241cast 242cast 243cast 244cast 245cast 10246cast 10247cast 248cast 249cast 250cast 10251cast 10252cast 10253cast 10254cast 10255cast 10256cast 10257cast 10258cast 10259cast 10260cast 261cast 10262cast 10263cast 10264cast 265cast 10266cast 267cast 268cast 10269cast 10002cast 3cast 10004cast 10005cast 10006cast 10007cast 10009cast 10009cast 10010cast 20011cast 20012cast 13cast 14cast 10015cast 10016cast 10017cast 10018cast 19cast 20cast 21cast 22cast 10023cast 10023cast 10024cast 10025cast 10026cast 27cast 10028cast 10029cast 10029cast 10031cast 32cast 33cast 34cast 10036cast 10037cast 10039cast 10040cast 41cast 42cast 43cast 44cast 45cast 46cast 47cast 48cast 50cast 51cast 52cast 53cast 54cast 20056cast 10057cast 10057cast 58cast 59cast 60cast 61cast 10062cast 10063cast 64cast 10065cast 68cast 69cast 10070cast 71cast 72cast 74cast 75cast 10076cast 10077cast 78cast 20079cast 80cast 81cast 10082cast 10083cast 84cast 85cast 10086cast 10087cast 10088cast 10089cast 90cast 91cast 92cast 10093cast 20094cast 10095cast 96cast 10097cast 98cast 99cast 10100cast 101cast 10102cast 10103cast 10104cast 105cast 106cast 107cast 20108cast 10109cast 110cast 111cast 112cast 112cast 113cast 114cast 30115cast 30116cast 30117cast 10118cast 119cast 30120cast 121cast 129cast 20130cast 10131cast 10134cast 10135cast 10136cast 137cast 138cast 139cast 140cast 141cast 20142cast 20143cast 20144cast 30145cast 30146cast 10147cast 20148cast 10149cast 150cast 151cast 10152cast 10153cast 154cast 155cast 156cast 157cast 158cast 159cast 160cast 161cast 10162cast 20163cast 10164cast 10165cast 166cast 20167cast 10168cast 10169cast 10170cast 171cast 172cast 10173cast 10174cast 10175cast 10176cast 10177cast 178cast 10179cast 180cast 181cast 182cast 10183cast 20184cast 10185cast 10186cast 10187cast 188cast 189cast 10190cast 10191cast 10192cast 193cast 194cast 10195cast 20196cast 197cast 20198cast 20199cast 20200cast 10201cast 10202cast 10203cast 10204cast 10205cast 10206cast 207cast 20208cast 10209cast 210cast 10211cast 212cast 213cast 214cast 215cast 216cast 10217cast 218cast 20219cast 10220cast 10221cast 10222cast 10223cast 10224cast 225cast 226cast 227cast 10228cast 229cast 10230cast 10231cast 232cast 233cast 234cast 10235cast 10236cast 237cast 10238cast 239cast 10240cast 10241cast 242cast 243cast 244cast 245cast 10246cast 10247cast 248cast 249cast 250cast 10251cast 10252cast 10253cast 10254cast 10255cast 10256cast 10257cast 10258cast 10259cast 10260cast 261cast 10262cast 10263cast 10264cast 265cast 10266cast 267cast 268cast 10269cast 0cast 1cast 2cast 3cast 0cast 1cast 2cast 3"__COMPLETE__""__ERROR__"()]]>()]]>()]]>()]]>
<__runMessage>
<__messageQueue>
<__workerThread>
{ message : null }{ message : null }{ message : null }{ message : null }
<__doWork set="method" line="114">
<__update set="method" line="134">
"tags=\"haxe,release\""
<__moduleNames expr="null" line="15" static="1">
null{ lazy : false, args : 0 }* Tries to load a native CFFI primitive on compatible platforms
* @param library The name of the native library (such as "lime")
* @param method The exported primitive method name
* @param args The number of arguments
* @param lazy Whether to load the symbol immediately, or to allow lazy loading
* @return The loaded method
<__findHaxelib set="method" line="203" static="1">
<__loaderTrace set="method" line="241" static="1">
<__sysName set="method" line="316" static="1">
<__tryLoad set="method" line="330" static="1">"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI
<_new public="1" get="inline" set="null" line="9" static="1">
A == BA == B B]]> B]]>= B]]>= B]]>A != BA != Blime._internal.backend.native.NativeCFFI
<_new public="1" get="inline" set="null" line="9" static="1">
A == BA == B B]]> B]]>= B]]>= B]]>A != BA != Blime._internal.backend.native.NativeCFFI()]]>
<_text static="1">
<__update set="method" line="25" static="1">"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.ui.Window* The desktop area represented by this display, with the upper-leftmost display at 0,0* The current display mode* Pixel density of the display* The name of the device, such as "Samsung SyncMaster P2350", "iPhone 6", "Oculus Rift DK2", etc.* All of the display modes supported by this device"tags=\"haxe,release\""* vertical resolution* pixel format* refresh rate in Hz* horizontal resolution"tags=\"haxe,release\""()]]>false{ quietFail : false, useArray : false }{ quietFail : false, useArray : false }The Java Native Interface (JNI) allows C++ code to call Java functions, and
vice versa. On Android, Haxe code compiles to C++, but only Java code can
access the Android system API, so it's often necessary to use both.
For a working example, run `lime create extension MyExtension`, then look at
MyExtension.hx and MyExtension.java.
You can pass Haxe objects to Java, much like any other data. In Java,
they'll have type `org.haxe.lime.HaxeObject`, meaning the method that
receives them might have signature `(Lorg/haxe/lime/HaxeObject;)V`. Once
sent, the Java class can store the object and call its functions.
Note that most Java code runs on a different thread than Haxe, meaning that
you can get thread-related errors in both directions. Java functions can
use `Extension.callbackHandler.post()` to switch to the UI thread, while
Haxe code can avoid the problem using `lime.system.JNI.JNISafety`."tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIMost times a Java class calls a Haxe function, it does so on the UI thread,
which can lead to thread-related errors. These errors can be avoided by
switching back to the main thread before executing any code.
Usage:
```haxe
class MyClass implements JNISafety
{
@:runOnMainThread
public function callbackFunction(data:Dynamic):Void
{
// Code here is guaranteed to run on Haxe's main thread. It's safe
// to call `callbackFunction` via JNI.
}
public function notACallbackFunction():Void
{
// Code here will run on whichever thread calls the function. It may
// not be safe to call `notACallbackFunction` via JNI.
}
}
```lime.system.JNI.JNISafetyTools.build()The current thread acquire the mutex or wait if not available.
The same thread can acquire several times the same mutex but
must release it as many times it has been acquired.Try to acquire the mutex, returns true if acquire or false
if it's already locked by another thread.Release a mutex that has been acquired by the current thread.
The behavior is undefined if the current thread does not own
the mutex.Creates a mutex.Creates a mutex, which can be used to acquire a temporary lock
to access some ressource. The main difference with a lock is
that a mutex must always be released by the owner thread.new Mutex() Void>>()]]>0new Lock()0Schedule event for execution every `intervalMs` milliseconds in current loop.Prevent execution of a previously scheduled event in current loop.Notify this loop about an upcoming event.
This makes the thread to stay alive and wait for as many events as many times
`.promise()` was called. These events should be added via `.runPromised()`Execute `event` as soon as possible.Add previously promised `event` for execution.Blocks until a new event is added or `timeout` (in seconds) to expires.
Depending on a target platform this method may also automatically execute arriving
events while waiting. However if any event is executed it will stop waiting.
Returns `true` if more events are expected.
Returns `false` if no more events expected.
Depending on a target platform this method may be non-reentrant. It must
not be called from event callbacks.Execute all pending events.
Wait and execute as many events as many times `promiseEvent()` was called.
Runs until all repeating events are cancelled and no more events is expected.
Depending on a target platform this method may be non-reentrant. It must
not be called from event callbacks.
<__progress get="inline" set="null" line="199">
`.progress` implementation with a reusable array for internal usage.
The `nextEventAt` field of the return value denotes when the next event
is expected to run:
* -1 - never
* -2 - now
* other values - at specified timeAn event loop implementation used for `sys.thread.Thread`()]]>Thread.current()@return Whether the calling function is being run on the main thread.
<__systemLocale static="1">
<_new public="1" set="method" line="18" static="1">
A == B
<__init set="method" line="55" static="1">
<__systemLocale static="1">
<_new public="1" set="method" line="18" static="1">
A == B
<__init set="method" line="55" static="1">()]]>()]]>{ type : null } Float -> Float>()]]>"tags=\"haxe,release\""
<__applicationDirectory static="1">
<__applicationEntryPoint static="1">
<__applicationStorageDirectory static="1">
<__desktopDirectory static="1">
<__deviceModel static="1">
<__deviceVendor static="1">
<__directories expr="new Map<SystemDirectory,String>()" line="68" static="1">
()]]>
<__documentsDirectory static="1">
<__endianness static="1">
<__fontsDirectory static="1">
<__platformLabel static="1">
<__platformName static="1">
<__platformVersion static="1">
<__userDirectory static="1">
{ lazy : false, args : 0 }{ target : "_blank" }
<__copyMissingFields set="method" line="335" static="1">
<__getDirectory set="method" line="348" static="1">
<__parseArguments set="method" line="426" static="1">
<__parseBool get="inline" set="null" line="523" static="1">
<__registerEntryPoint set="method" line="528" static="1">
<__runProcess set="method" line="545" static="1">
{ args : null }"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.system.Displaylime.system.DisplayMode"\r\n#if defined(HX_WINDOWS)\r\nextern \"C\" {\r\n\t_declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;\r\n\t_declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;\r\n}\r\n#endif\r\n"cast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 4cast 5()]]>()]]>()]]>()]]>()]]>
<__synchronous>
<__workCompleted>
<__workIncoming expr="new Deque<ThreadPoolMessage>()">
()]]>
<__workQueued>
<__workResult expr="new Deque<ThreadPoolMessage>()">
()]]>{ state : null }{ state : null }{ state : null }{ state : null }{ state : null }
<__doWork set="method" line="155">
<__update set="method" line="172">
{ maxThreads : 1, minThreads : 0 }"tags=\"haxe,release\""<_new public="1" set="method" line="5" static="1">
<_new public="1" set="method" line="5" static="1">
"tags=\"haxe,release\""{ features : null }lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="18" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="18" static="1">
lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="23" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="23" static="1">
lime._internal.backend.native.NativeCFFIcast 0cast 1cast 2cast 0cast 0cast 1cast 2cast 0cast 0cast 1cast 2cast 0cast 1cast 2cast 0cast 4cast 5cast 6cast 7cast 0cast 4cast 5cast 6cast 7lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="14" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="14" static="1">
lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="17" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="17" static="1">
lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="19" static="1">
lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="19" static="1">
lime._internal.backend.native.NativeCFFIlime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="10" static="1">
{ language : null }lime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="10" static="1">
{ language : null }lime._internal.backend.native.NativeCFFIcast 0cast 0()]]>Triggers when the user clicks "Cancel" during any operation, or when a function is unsupported
(such as `open()` on HTML5).()]]>Triggers when `open()` is successful. The `lime.utils.Resource` contains the file's data, and can
be implicitly cast to `haxe.io.Bytes`.()]]>Triggers when `save()` is successful. The `String` is the path to the saved file.()]]>Triggers when `browse()` is successful and `type` is anything other than
`FileDialogType.OPEN_MULTIPLE`. The `String` is the path to the selected file.>()]]>` contains all selected file paths.]]>{ title : null, defaultPath : null, filter : null, type : null }Opens a file selection dialog. If successful, either `onSelect` or `onSelectMultiple` will trigger
with the result(s).
This function only works on desktop targets, and will return `false` otherwise.
@param type Type of the file dialog: `OPEN`, `SAVE`, `OPEN_DIRECTORY` or `OPEN_MULTIPLE`.
@param filter A filter to use when browsing. Asterisks are treated as wildcards. For example,
`"*.jpg"` will match any file ending in `.jpg`.
@param defaultPath The directory in which to start browsing and/or the default filename to
suggest. Defaults to `Sys.getCwd()`, with no default filename.
@param title The title to give the dialog window.
@return Whether `browse()` is supported on this target.{ title : null, defaultPath : null, filter : null }Shows an open file dialog. If successful, `onOpen` will trigger with the file contents.
This function only works on desktop targets, and will return `false` otherwise.
@param filter A filter to use when browsing. Asterisks are treated as wildcards. For example,
`"*.jpg"` will match any file ending in `.jpg`.
@param defaultPath The directory in which to start browsing and/or the default filename to
suggest. Defaults to `Sys.getCwd()`, with no default filename.
@param title The title to give the dialog window.
@return Whether `open()` is supported on this target.{ type : "application/octet-stream", title : null, defaultPath : null, filter : null }Shows an open file dialog. If successful, `onSave` will trigger with the selected path.
This function only works on desktop and HMTL5 targets, and will return `false` otherwise.
@param data The file contents, in `haxe.io.Bytes` format. (Implicit casting possible.)
@param filter A filter to use when browsing. Asterisks are treated as wildcards. For example,
`"*.jpg"` will match any file ending in `.jpg`. Used only if targeting deskop.
@param defaultPath The directory in which to start browsing and/or the default filename to
suggest. When targeting destkop, this defaults to `Sys.getCwd()` with no default filename. When targeting
HTML5, this defaults to the browser's download directory, with a default filename based on the MIME type.
@param title The title to give the dialog window.
@param type The default MIME type of the file, in case the type can't be determined from the
file data. Used only if targeting HTML5.
@return Whether `save()` is supported on this target. trace("Canceled.") );
fileDialog.onSave.add( path -> trace("File saved in " + path) );
fileDialog.onOpen.add( res -> trace("Size of the file = " + (res:haxe.io.Bytes).length) );
if ( fileDialog.open("jpg", null, "Load file") )
trace("File dialog opened, waiting for selection...");
else
trace("This dialog is unsupported.");
```
Availability note: most file dialog operations are only available on desktop targets, though
`save()` is also available in HTML5.]]>"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.graphics.Image()]]>()]]>
<__connect set="method" line="46" static="1">
<__disconnect set="method" line="56" static="1">
Float>()]]>()]]>()]]>()]]>"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFIlime.ui.Joystickcast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 10cast 11cast 12cast 13cast 14()]]>()]]>
<__connect set="method" line="38" static="1">
<__disconnect set="method" line="48" static="1">
Float>()]]>()]]>()]]>()]]> JoystickHatPosition>()]]> Float -> Float>()]]>"tags=\"haxe,release\""lime._internal.backend.native.NativeCFFI
cast 20cast 21cast 22cast 23cast 24cast 25cast 26cast 27cast 28cast 29cast 76cast 57cast 58cast 59cast 60cast 61cast 62cast 63cast 64cast 65cast 66cast 67cast 68cast 69cast 70cast 71cast 72cast 73cast 74cast 75cast 77cast 78cast 79cast 80cast 81cast 82cast 83cast 84cast 85cast 86cast 87cast 88cast 89cast 90cast 91cast 92cast 93cast 94cast 95cast 96cast 97cast 98cast 99cast 101cast 102cast 103cast 104cast 105cast 106cast 107cast 108cast 109cast 110cast 111cast 112cast 113cast 114cast 115cast 116cast 117cast 120cast 121cast 122cast 123cast 124cast 125cast 126cast 127cast 128cast 129cast 133cast 153cast 154cast 155cast 156cast 157cast 158cast 159cast 160cast 161cast 162cast 163cast 164cast 176cast 177cast 178cast 179cast 180cast 181cast 182cast 183cast 184cast 185cast 186cast 187cast 188cast 189cast 190cast 191cast 192cast 193cast 194cast 195cast 196cast 197cast 198cast 199cast 200cast 201cast 202cast 203cast 204cast 205cast 206cast 207cast 208cast 209cast 210cast 211cast 212cast 213cast 214cast 215cast 216cast 217cast 218cast 219cast 220cast 221cast 224cast 225cast 226cast 227cast 228cast 229cast 230cast 231cast 257cast 258cast 259cast 260cast 261cast 262cast 263cast 264cast 265cast 266cast 267cast 268cast 269cast 270cast 271cast 272cast 273cast 274cast 275cast 276cast 277cast 278cast 279cast 280cast 281cast 282 B]]>= B]]>A + Blime.ui.KeyCodelime._internal.backend.native.NativeCFFI()]]>()]]>()]]>()]]>"tags=\"haxe,release\""* The current frame rate (measured in frames-per-second) of the window.
*
* On some platforms, a frame rate of 60 or greater may imply vsync, which will
* perform more quickly on displays with a higher refresh rate()]]>()]]>()]]>()]]>()]]>()]]>()]]>()]]>()]]> KeyModifier>()]]> KeyModifier>()]]>()]]>()]]>()]]> Float -> MouseButton>()]]> Float>()]]> Float>()]]> Float -> Int>()]]> Float -> MouseWheelMode>()]]> Float>()]]>()]]>()]]>()]]> Int>()]]>()]]> Int -> Int>()]]>()]]>
<__attributes>
<__backend>
<__borderless>
<__fullscreen>
<__height>
<__hidden>
<__maximized>
<__minimized>
<__resizable>
<__scale>
<__title>
<__width>
<__x>
<__y>
{ title : null, message : null }{ rect : null }"tags=\"haxe,release\""
<_new public="1" get="inline" set="null" line="21" static="1">
{ end : null }
<_new public="1" get="inline" set="null" line="21" static="1">
{ end : null }hidecast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 9hide
<__extractBundle set="method" line="56" static="1">
"tags=\"haxe,release\""true{ prefix : null }"tags=\"haxe,release\""{ rootPath : null }{ rootPath : null }{ rootPath : null }{ rootPath : null }{ rootPath : null }
<__resolvePath set="method" line="149" static="1">
<__resolveRootPath set="method" line="189" static="1">"tags=\"haxe,release\""cast "BINARY"cast "FONT"cast "IMAGE"cast "MANIFEST"cast "MUSIC"cast "SOUND"cast "TEMPLATE"cast "TEXT"cast "BINARY"cast "FONT"cast "IMAGE"cast "MANIFEST"cast "MUSIC"cast "SOUND"cast "TEMPLATE"cast "TEXT"new AssetCache()()]]>()]]>()]]>()]]>{ type : null }* Gets an instance of a cached or embedded asset
* @usage var sound = Assets.getAsset("sound.wav", SOUND);
* @param id The ID or asset path for the asset
* @return An Asset object, or null.{ useCache : true }* Gets an instance of an embedded sound
* @usage var sound = Assets.getAudioBuffer ("sound.wav");
* @param id The ID or asset path for the sound
* @return A new Sound object* Gets an instance of an embedded binary asset
* @usage var bytes = Assets.getBytes("file.zip");
* @param id The ID or asset path for the file
* @return A new Bytes object{ useCache : true }* Gets an instance of an embedded font
* @usage var fontName = Assets.getFont("font.ttf").fontName;
* @param id The ID or asset path for the font
* @return A new Font object{ useCache : true }* Gets an instance of an embedded bitmap
* @usage var bitmap = new Bitmap(Assets.getBitmapData("image.jpg"));
* @param id The ID or asset path for the bitmap
* @param useCache (Optional) Whether to use BitmapData from the cache(Default: true)
* @return A new BitmapData object* Gets the file path (if available) for an asset
* @usage var path = Assets.getPath("image.jpg");
* @param id The ID or asset path for the asset
* @return The path to the asset (or null)* Gets an instance of an embedded text asset
* @usage var text = Assets.getText("text.txt");
* @param id The ID or asset path for the file
* @return A new String object{ useCache : true, type : null }{ type : null }{ useCache : true }{ useCache : true }{ useCache : true }
<__cacheBreak set="method" line="537" static="1">
<__libraryNotFound set="method" line="556" static="1">
The Assets class provides a cross-platform interface to access
* embedded images, fonts, sounds and other resource files.
*
*
The contents are populated automatically when an application
* is compiled using the Lime command-line tools, based on the
* contents of the project file.
*
*
For most platforms, the assets are included in the same directory
* or package as the application, and the paths are handled
* automatically. For web content, the assets are preloaded before
* the start of the rest of the application.
]]>"tags=\"haxe,release\""lime.utils.AssetLibrary"tags=\"haxe,release\""haxe.io.Byteslime.utils.BytePointerData
<_new public="1" get="inline" set="null" line="13" static="1">
{ offset : 0, bytes : null }
<__arrayGet get="inline" set="null" line="47" static="1">
<__arraySet get="inline" set="null" line="52" static="1">
lime.utils.BytePointerDatahaxe.io.Bytes
<_new public="1" get="inline" set="null" line="13" static="1">
{ offset : 0, bytes : null }
<__arrayGet get="inline" set="null" line="47" static="1">
<__arraySet get="inline" set="null" line="52" static="1">
lime.utils.BytePointerDatahaxe.io.Byteshaxe.io.Byteslime._internal.backend.native.NativeCFFI
<_new public="1" set="method" line="19" static="1">
<__fromNativePointer public="1" set="method" line="132" static="1">lime._internal.backend.native.NativeCFFIhaxe.io.Bytes
<_new public="1" set="method" line="19" static="1">
<__fromNativePointer public="1" set="method" line="132" static="1">lime._internal.backend.native.NativeCFFIhaxe.io.Byteslime._internal.backend.native.NativeCFFIhaxe.io.Bytes
<_new set="method" line="21" static="1">
<__withOffset set="method" line="151" static="1">A == BA == B B]]> B]]>= B]]>= B]]>A != BA != BA + BA + BA - BA - Bhaxe.io.Byteslime._internal.backend.native.NativeCFFI
<_new set="method" line="21" static="1">
<__withOffset set="method" line="151" static="1">A == BA == B B]]> B]]>= B]]>= B]]>A != BA != BA + BA + BA - BA - Bhaxe.io.Byteslime._internal.backend.native.NativeCFFI4
<_new public="1" params="T" get="inline" set="null" line="103" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }4
<_new public="1" params="T" get="inline" set="null" line="103" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }8
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }8
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }2
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }2
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }4
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }4
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }1
<_new public="1" params="T" get="inline" set="null" line="98" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }1
<_new public="1" params="T" get="inline" set="null" line="98" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }"tags=\"haxe,release\""cast 0cast 1cast 2cast 3cast 4cast 5 B]]>= B]]>cast 0cast 1cast 2cast 3cast 4cast 5 B]]>= B]]>()]]> Int>()]]>()]]>()]]>()]]>{ name : null }lime.utils.AssetLibrary"tags=\"haxe,release\""
<_new public="1" set="method" line="8" static="1">
{ size : 0 }
<__fromString get="inline" set="null" line="14" static="1">
<__toString get="inline" set="null" line="19" static="1">
<_new public="1" set="method" line="8" static="1">
{ size : 0 }
<__fromString get="inline" set="null" line="14" static="1">
<__toString get="inline" set="null" line="19" static="1">
2
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }2
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }4
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }4
<_new public="1" params="T" get="inline" set="null" line="100" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }1
<_new public="1" params="T" get="inline" set="null" line="98" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }1
<_new public="1" params="T" get="inline" set="null" line="98" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }1
<_new public="1" params="T" get="inline" set="null" line="110" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }1
<_new public="1" params="T" get="inline" set="null" line="110" static="1">
{ byteoffset : 0 }{ end : null }{ byteOffset : 0 }Base class for any AST item. Roughly corresponds to Node in the DOM. Will
be either an ElementNode or TextNode.Called when a TextNode has been reached.Called when an ElementNode has been reached, before its children have been
visited. Return `false` to skip its children.Called when an ElementNode has been reached, after its children have been
visited. Will not be called if [visitElementBefore] returns `false`.Visitor pattern for the AST. Renderers or other AST transformers should
implement this.A named tag that can contain other nodes.A plain text element.Maintains the internal state needed to parse a series of lines into blocks
of markdown suitable for further inline parsing.new EReg("^([ \\t]*)$", "")The line contains only whitespace or is empty.new EReg("^((=+)|(-+))$", "")A series of `=` or `-` (on the next line) define setext-style headers.new EReg("^(#{1,6})(.*?)( +#* *)?$", "")Leading (and trailing) `#` define atx-style headers.[ ]?(.*)$", "")]]>` with one optional space after.]]>new EReg("^(?: |\t)(.*)$", "")A line indented four spaces. Used for code blocks and lists.new EReg("^```(\\w*)\\s*$", "")GitHub style triple quoted code block.new EReg("^[ ]{0,3}((-+[ ]{0,2}){3,}|(_+[ ]{0,2}){3,}|(\\*+[ ]{0,2}){3,})$", "")Three or more hyphens, asterisks or underscores by themselves. Note that
a line like `----` is valid as both HR and SETEXT. In case of a tie,
SETEXT should win.]", "")]]>new EReg("^[ ]{0,3}[*+-][ \\t]+(.*)$", "")A line starting with one of these markers: `-`, `*`, `+`. May have up to
three leading spaces before the marker and any number of spaces or tabs
after.new EReg("^[ ]{0,3}\\d+\\.[ \\t]+(.*)$", "")A line starting with a number like `123.`. May have up to three leading
spaces before the marker and any number of spaces or tabs after.Gets the collection of built-in block parsers. To turn a series of lines
into blocks, each of these will be tried in turn. Order matters here.Gets whether or not [parser]'s current line should end the
previous block.Gets the regex used to identify the beginning of this block, if any.Parses setext-style headers.Parses atx-style headers: `## Header ##`.falsenew EReg("^(.+?:?\\|:?)+(.+)$", "")new EReg("(\\|)?([^\\|]+)(\\|)?", "g")new EReg("blockquote|h1|h2|h3|h4|h5|h6|hr|p|pre", "")["src", "alt"]Translates a parsed AST to HTML.Represents one kind of markdown tag that can be parsed.Matches autolinks like `http://foo.com`.Matches stuff that should just be passed through as straight text.`.]]>`. Allows nested tags.]]>"\\](?:(" + "\\s?\\[([^\\]]*)\\]" + "|" + "\\s?\\(([^ )]+)(?:[ ]*\"([^\"]+)\"|)\\)" + ")|)"Matches inline links like `[blah] [id]` and `[blah] (url)`."\\](?:(" + "\\s?\\[([^\\]]*)\\]" + "|" + "\\s?\\(([^ )]+)(?:[ ]*\"([^\"]+)\"|)\\)" + ")|)"Matches inline links like `[blah] [id]` and `[blah] (url)`.\n"), new TextSyntax("\\s*[A-Za-z0-9]+"), new AutolinkSyntax(), new LinkSyntax(), new ImgSyntax(), new TextSyntax(" \\* "), new TextSyntax(" _ "), new TextSyntax("&[#a-zA-Z0-9]*;"), new TextSyntax("&", "&"), new TextSyntax("<(?:!--[ ]*|/)?\\w+.*?>"), new TextSyntax("<", "<"), new TagSyntax("\\*\\*", "strong"), new TagSyntax("__", "strong"), new TagSyntax("\\*", "em"), new TagSyntax("\\b_", "em", "_\\b"), new CodeSyntax("``\\s?((?:.|\\n)*?)\\s?``"), new CodeSyntax("`([^`]*)`")]]]>00Maintains the internal state needed to parse inline span elements in
markdown.
<__lastTimerID expr="0" line="29" static="1">
0
<__sentWarnings expr="new Map()" line="30" static="1">
new Map()
<__timers expr="new Map()" line="31" static="1">
new Map()
<__registeredClassAliases expr="new Map()" line="32" static="1">
new Map()Cancels a specified `setInterval()` call.
@param id The ID of the `setInterval()` call, which you set to a variable, as
in the following:Cancels a specified `setTimeout()` call.
@param id The ID of the `setTimeout()` call, which you set to a variable, as in
the followingReturns a reference to the class object of the class specified by the `name`
parameter.
@param name The name of a class.
@returns Returns a reference to the class object of the class specified by the
`name` parameter.
@throws ReferenceError No public definition exists with the specified name.Returns the fully qualified class name of an object.
@param value The object for which a fully qualified class name is desired. Any
ActionScript value may be passed to this method including all available
ActionScript types, object instances, primitive types such as uint, and class
objects.
@returns String A string containing the fully qualified class name.Returns the fully qualified class name of the base class of the object specified
by the value parameter. This function provides a quicker way of retrieving the
base class name than `describeType()`, but also doesn't provide all the
information `describeType()` does.
After you retrieve the name of a class with this function, you can convert the
class name to a class reference with the `getDefinitionByName()` function.
**Note:** This function restricts itself to instance hierarchies, whereas the
`describeType()` function uses class object hierarchies if the value parameter is
a data type. Calling `describeType()` on a data type returns the superclass based
on the class object hierarchy, in which all class objects inherit from Class. The
`getQualifiedSuperclassName()` function, however, ignores the class object
hierarchy and returns the superclass based on the more familiar instance
hierarchy. For example, calling `getQualifiedSuperclassName(String)` returns
Object although technically the String class object inherits from Class. In other
words, the results are the same whether you use an instance of a type or the type
itself.
@param value Any value.
@returns A fully qualified base class name, or null if none exists.Used to compute relative time. For a Flash runtime processing ActionScript 3.0,
this method returns the number of milliseconds that have elapsed since the Flash
runtime virtual machine for ActionScript 3.0 (AVM2) started. For a Flash runtime
processing ActionScript 2.0, this method returns the number of milliseconds since
the Flash runtime began initialization. Flash runtimes use two virtual machines to
process ActionScript. AVM1 is the ActionScript virtual machine used to run
ActionScript 1.0 and 2.0. AVM2 is the ActionScript virtual machine used to run
ActionScript 3.0. The getTimer() method behavior for AVM1 is different than the
behavior for AVM2.
For a calendar date (timestamp), see the Date object.
@returns The number of milliseconds since the runtime was initialized (while
processing ActionScript 2.0), or since the virtual machine started (while
processing ActionScript 3.0). If the runtime starts playing one SWF file, and
another SWF file is loaded later, the return value is relative to when the first
SWF file was loaded.{ target : null }{ window : null }= 4096) {
return (false);
}
return (true);
}
```
For local content running in a browser, calls to the `navigateToURL()` method that
specify a "javascript:" pseudo-protocol (via a URLRequest object passed as the first
parameter) are only permitted if the SWF file and the containing web page (if there
is one) are in the local-trusted security sandbox. Some browsers do not support using
the javascript protocol with the `navigateToURL()` method. Instead, consider using the
`call()` method of the ExternalInterface API to invoke JavaScript methods within the
enclosing HTML page.
In Flash Player, and in non-application sandboxes in Adobe AIR, you cannot connect to
commonly reserved ports. For a complete list of blocked ports, see "Restricting
Networking APIs" in the ActionScript 3.0 Developer's Guide.
In Flash Player 10 and later running in a browser, using this method programmatically
to open a pop-up window may not be successful. Various browsers (and browser
configurations) may block pop-up windows at any time; it is not possible to guarantee
any pop-up window will appear. However, for the best chance of success, use this
method to open a pop-up window only in code that executes as a direct result of a
user action (for example, in an event handler for a mouse click or key-press event.)
In Flash Player 10 and later, if you use a multipart Content-Type (for example
"multipart/form-data") that contains an upload (indicated by a "filename" parameter
in a "content-disposition" header within the POST body), the POST operation is subject
to the security rules applied to uploads:
* The POST operation must be performed in response to a user-initiated action, such
as a mouse click or key press.
* If the POST operation is cross-domain (the POST target is not on the same server
as the SWF file that is sending the POST request), the target server must provide
a URL policy file that permits cross-domain access.
Also, for any multipart Content-Type, the syntax must be valid (according to the
RFC2046 standards). If the syntax appears to be invalid, the POST operation is
subject to the security rules applied to uploads.
In AIR, on mobile platforms, the sms: and tel: URI schemes are supported. On
Android, vipaccess:, connectpro:, and market: URI schemes are supported. The URL
syntax is subject to the platform conventions. For example, on Android, the URI
scheme must be lower case. When you navigate to a URL using one of these schemes,
the runtime opens the URL in the default application for handling the scheme. Thus,
navigating to tel:+5555555555 opens the phone dialer with the specified number
already entered. A separate application or utility, such as a phone dialer must be
available to process the URL.
The following code shows how you can invoke the VIP Access and Connect Pro
applications on Android:
```as3
//Invoke the VIP Access Application.
navigateToURL(new URLRequest("vipaccess://com.verisign.mvip.main?action=securitycode"));
//Invoke the Connect Pro Application.
navigateToURL(new URLRequest("connectpro://"));
```
@param request A URLRequest object that specifies the URL to navigate to.
For content running in Adobe AIR, when using the `navigateToURL()` function, the
runtime treats a URLRequest that uses the POST method (one that has its method
property set to `URLRequestMethod.POST`) as using the GET method.
@param window The browser window or HTML frame in which to display the document
indicated by the request parameter. You can enter the name of a specific window or
use one of the following values:
* `"_self"` specifies the current frame in the current window.
* `"_blank"` specifies a new window.
* `"_parent"` specifies the parent of the current frame.
* `"_top"` specifies the top-level frame in the current window.
If you do not specify a value for this parameter, a new empty window is created.
In the stand-alone player, you can either specify a new ("_blank") window or a
named window. The other values don't apply.
**Note:** When code in a SWF file that is running in the local-with-filesystem
sandbox calls the `navigateToURL()` function and specifies a custom window name
for the window parameter, the window name is transfered into a random name. The
name is in the form "_flashXXXXXXXX", where each X represents a random hexadecimal
digit. Within the same session (until you close the containing browser window),
if you call the function again and specify the same name for the window parameter,
the same random string is used.
@throws IOError The digest property of the request object is not null. You should
only set the digest property of a URLRequest object for use calling the
`URLLoader.load()` method when loading a SWZ file (an Adobe platform component).
@throws SecurityError In Flash Player (and in non-application sandbox content in
Adobe AIR), this error is thrown in the following situations:
* Local untrusted SWF files may not communicate with the Internet. You can avoid
this situation by reclassifying this SWF file as local-with-networking or trusted.
* A navigate operation attempted to evaluate a scripting pseudo-URL, but the
containing document (usually an HTML document in a browser) is from a sandbox to
which you do not have access. You can avoid this situation by specifying
`allowScriptAccess="always"` in the containing document.
* You cannot navigate the special windows "_self", "_top", or "_parent" if your
SWF file is contained by an HTML page that has set the allowScriptAccess to
"none", or to "sameDomain" when the domains of the HTML file and the SWF file do
not match.
* You cannot navigate a window with a nondefault name from within a SWF file that
is in the local-with-filesystem sandbox.
* You cannot connect to commonly reserved ports. For a complete list of blocked
ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide.
@throws Error If the method is not called in response to a user action, such as a
mouse event or keypress event. This requirement only applies to content in Flash
Player and to non-application sandbox content in Adobe AIR.]]>Sends a URL request to a server, but ignores any response.
To examine the server response, use the `URLLoader.load()` method instead.
You cannot connect to commonly reserved ports. For a complete list of blocked
ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide.
You can prevent a SWF file from using this method by setting the `allowNetworking`
parameter of the the object and embed tags in the HTML page that contains the SWF
content.
In Flash Player 10 and later, if you use a multipart Content-Type (for example
"multipart/form-data") that contains an upload (indicated by a "filename" parameter
in a "content-disposition" header within the POST body), the POST operation is
subject to the security rules applied to uploads:
* The POST operation must be performed in response to a user-initiated action,
such as a mouse click or key press.
* If the POST operation is cross-domain (the POST target is not on the same server
as the SWF file that is sending the POST request), the target server must provide
a URL policy file that permits cross-domain access.
Also, for any multipart Content-Type, the syntax must be valid (according to the
RFC2046 standards). If the syntax appears to be invalid, the POST operation is
subject to the security rules applied to uploads.
For more information related to security, see the Flash Player Developer Center
Topic: Security.
@param request A URLRequest object specifying the URL to send data to.
@throws SecurityError Local untrusted SWF files cannot communicate with the
Internet. You can avoid this situation by reclassifying this SWF file as
local-with-networking or trusted.
@throws SecurityError You cannot connect to commonly reserved ports. For a
complete list of blocked ports, see "Restricting Networking APIs" in the
ActionScript 3.0 Developer's Guide.{ args : null }Runs a function at a specified interval (in milliseconds).
Instead of using the `setInterval()` method, consider creating a Timer object, with
the specified interval, using 0 as the `repeatCount` parameter (which sets the timer
to repeat indefinitely).
If you intend to use the `clearInterval()` method to cancel the `setInterval()`
call, be sure to assign the `setInterval()` call to a variable (which the
`clearInterval()` function will later reference). If you do not call the
`clearInterval()` function to cancel the `setInterval()` call, the object
containing the set timeout closure function will not be garbage collected.
@param closure The name of the function to execute. Do not include quotation
marks or parentheses, and do not specify parameters of the function to call. For
example, use `functionName`, not `functionName()` or `functionName(param)`.
@param delay The interval, in milliseconds.
@param args An optional list of arguments that are passed to the closure
function.
@returns Unique numeric identifier for the timed process. Use this identifier
to cancel the process, by calling the `clearInterval()` method.{ args : null }Runs a specified function after a specified delay (in milliseconds).
Instead of using this method, consider creating a Timer object, with the specified
interval, using 1 as the `repeatCount` parameter (which sets the timer to run only
once).
If you intend to use the `clearTimeout()` method to cancel the `setTimeout()` call,
be sure to assign the `setTimeout()` call to a variable (which the
`clearTimeout()` function will later reference). If you do not call the
`clearTimeout()` function to cancel the `setTimeout()` call, the object containing
the set timeout closure function will not be garbage collected.
@param closure The name of the function to execute. Do not include quotation marks
or parentheses, and do not specify parameters of the function to call. For
example, use `functionName`, not `functionName()` or `functionName(param)`.
@param delay The delay, in milliseconds, until the function is executed.
@param args An optional list of arguments that are passed to the closure
function.
@returns Unique numeric identifier for the timed process. Use this identifier to
cancel the process, by calling the `clearTimeout()` method.Determines whether the specified string is a valid name for an XML
element or attribute.Looks up a class that previously had an alias registered through a call
to the `registerClassAlias()` method.
This method does not interact with `getDefinitionByName()` method.Preserves the class (type) of an object when the object is encoded in
Action Message Format (AMF). When you encode an object into AMF, this
function saves the alias for its class, so that you can recover the
class when decoding the object. If the encoding context did not register
an alias for an object's class, the object is encoded as an anonymous
object. Similarly, if the decoding context does not have the same alias
registered, an anonymous object is created for the decoded data.
LocalConnection, ByteArray, SharedObject, NetConnection and NetStream
are all examples of classes that encode objects in AMF.
The encoding and decoding contexts do not need to use the same class for
an alias; they can intentionally change classes, provided that the
destination class contains all of the members that the source class
serializes."tags=\"haxe,release\""openfl.display.Stage`), as shown in this example:
In the first line of the example, the variable `v` is declared as a
Vector. instance. In other words, it represents a Vector (an array) that
can only hold String instances and from which only String instances can be
retrieved. The second line constructs an instance of the same Vector type (that is,
a Vector whose elements are all String objects) and assigns it to `v`.
```as3
var v:Vector.;
v = new Vector.();
```
A variable declared with the Vector. data type can only store a Vector instance
that is constructed with the same base type T. For example, a Vector that's
constructed by calling `new Vector.()` can't be assigned to a variable that's
declared with the Vector. data type. The base types must match exactly. For
example, the following code doesn't compile because the object's base type isn't
the same as the variable's declared base type (even though Sprite is a subclass of
DisplayObject):
```haxe
// This code doesn't compile even though Sprite is a DisplayObject subclass
var v:Vector. = new Vector.();
```
To convert a Vector with base type T to a Vector of a superclass of T, use the
`Vector()` global function.
In addition to the data type restriction, the Vector class has other restrictions
that distinguish it from the Array class:
* A Vector is a dense array. Unlike an Array, which may have values in indices 0 and 7
even if there are no values in positions 1 through 6, a Vector must have a value
(or null) in each index.
* A Vector can optionally be fixed-length, meaning the number of elements it contains
can't change.
* Access to a Vector's elements is bounds-checked. You can never read a value from an
index greater than the final element (length - 1). You can never set a value with an
index more than one beyond the current final index (in other words, you can only set
a value at an existing index or at index [length]).
As a result of its restrictions, a Vector has three primary benefits over an Array
instance whose elements are all instances of a single class:
* Performance: array element access and iteration are much faster when using a
Vector instance than they are when using an Array.
* Type safety: in strict mode the compiler can identify data type errors. Examples
of data type errors include assigning a value of the incorrect data type to a
Vector or expecting the wrong data type when reading a value from a Vector. Note,
however, that when using the push() method or unshift() method to add values to a
Vector, the arguments' data types are not checked at compile time. Instead, they are
checked at run time.
* Reliability: runtime range checking (or fixed-length checking) increases
reliability significantly over Arrays.]]>TIndicates whether the `length` property of the Vector can be changed. If the
value is `true`, the `length` property can't be changed. This means the
following operations are not allowed when `fixed` is `true`:
* setting the `length` property directly
* assigning a value to index position length
* calling a method that changes the `length` property, including:
* `pop()`
* `push()`
* `shift()`
* `unshift()`
* `splice()` (if the `splice()` call changes the length of the Vector).The range of valid indices available in the Vector. A Vector instance has index
positions up to but not including the length value.
Every Vector element always has a value that is either an instance of the base
type or `null`. When the `length` property is set to a value that's larger than
its previous value, additional elements are created and populated with the
default value appropriate to the base type (`null` for reference types).
When the `length` property is set to a value that's smaller than its previous
value, all the elements at index positions greater than or equal to the new
length value are removed from the Vector.{ vec : null }Concatenates the Vectors specified in the parameters list with the elements in
this Vector and creates a new Vector. The Vectors in the parameters list must
have the same base type, or subtype, as this Vector. If you do not pass any
parameters, the returned Vector is a duplicate (shallow clone) of the original
Vector.
@param vec A Vector of the base type, or subtype, of this Vector.
@return A Vector with the same base type as this Vector that contains the
elements from this Vector followed by elements from the Vector in the
parameter list.
@throws TypeError If any argument is not a Vector of the base type, or cannot
be converted to a Vector of the base type.Creates a new shallow clone of the current Vector object
@return A new Vector object):Bool {
// your code here
}
```
The callback function should return a Boolean value.
@param thisObject The object that the identifer this in the callback function
refers to when the function is called. ***Ignored on targets other than neko and
js.
@return A Boolean value of true if the specified function returns true when called
on all items in the Vector; otherwise, false.]]>Executes a test function on each item in the Vector and returns a new Vector
containing all items that return true for the specified function. If an item
returns false, it is not included in the result Vector. The base type of the return
Vector matches the base type of the Vector on which the method is called.
@param callback The function to run on each item in the Vector.hideArray access{ fromIndex : 0 }Searches for an item in the Vector and returns the index position of the item.
The item is compared to the Vector elements using strict equality (`===`).
@param searchElement The item to find in the Vector.
@param fromIndex The location in the Vector from which to start searching for
the item. If this parameter is negative, it is treated as `length + fromIndex`,
meaning the search starts -fromIndex items from the end and searches from that
position forward to the end of the Vector.
@return A zero-based index position of the item in the Vector. If the
`searchElement` argument is not found, the return value is -1.Insert a single element into the Vector. This method modifies the Vector without
making a copy.
@param index An integer that specifies the position in the Vector where the
element is to be inserted. You can use a negative integer to specify a position
relative to the end of the Vector (for example, -1 for the last element of the
Vector).
@param element The value to insert
@throws RangeError If this method is called while `fixed` is `true`.hideIterator{ sep : "," }Converts the elements in the Vector to strings, inserts the specified separator
between the elements, concatenates them, and returns the resulting string. A
nested Vector is always separated by a comma (`,`), not by the separator passed
to the `join()` method.
@param sep A character or string that separates Vector elements in the returned
string. If you omit this parameter, a comma is used as the default separator.
@return A string consisting of the elements of the Vector converted to strings
and separated by the specified string.{ fromIndex : null }Searches for an item in the Vector, working backward from the specified index
position, and returns the index position of the matching item. The item is
compared to the Vector elements using strict equality (`===`).
@param searchElement The item to find in the Vector.
@param fromIndex The location in the Vector from which to start searching for
the item. The default is the maximum allowable index value, meaning that the
search starts at the last item in the Vector.
If this parameter is negative, it is treated as `length + fromIndex`, meaning the
search starts -fromIndex items from the end and searches from that position
backward to index 0.
@return A zero-based index position of the item in the Vector. If the
`searchElement` argument is not found, the return value is -1.Removes the last element from the Vector and returns that element. The `length`
property of the Vector is decreased by one when this function is called.
@return The value of the last element in the specified Vector.
@throws RangeError If this method is called while `fixed` is `true`.Adds one or more elements to the end of the Vector and returns the new length of
the Vector.
Because this function can accept multiple arguments, the data type of the
arguments is not checked at compile time even in strict mode. However, if an
argument is passed that is not an instance of the base type, an exception
occurs at run time.
@param value A value to append to the Vector.
@return The length of the Vector after the new elements are added.
@throws TypeError If any argument is not an instance of the base type T of
the Vector.
@throws RangeError If this method is called while `fixed` is `true`.Remove a single element from the Vector. This method modifies the Vector without
making a copy.
@param index An integer that specifies the index of the element in the Vector
that is to be deleted. You can use a negative integer to specify a position
relative to the end of the Vector (for example, -1 for the last element of the
Vector).
@return The element that was removed from the original Vector.
@throws RangeError If the index argument specifies an index to be deleted that's
outside the Vector's bounds.
@throws RangeError If this method is called while `fixed` is `true`.Reverses the order of the elements in the Vector. This method alters the Vector
on which it is called.
@return The Vector with the elements in reverse order.hideArray accessRemoves the first element from the Vector and returns that element. The
remaining Vector elements are moved from their original position, i, to i - 1.
@return The first element in the Vector.
@throws RangeError If `fixed` is `true`.{ endIndex : null, startIndex : 0 }Returns a new Vector that consists of a range of elements from the original
Vector, without modifying the original Vector. The returned Vector includes the
`startIndex` element and all elements up to, but not including, the
`endIndex` element.
If you don't pass any parameters, the new Vector is a duplicate (shallow clone) of
the original Vector. If you pass a value of 0 for both parameters, a new, empty
Vector is created of the same type as the original Vector.
@param startIndex A number specifying the index of the starting point for the
slice. If startIndex is a negative number, the starting point begins at the end
of the Vector, where -1 is the last element.
@param endIndex A number specifying the index of the ending point for the
slice. If you omit this parameter, the slice includes all elements from the
starting point to the end of the Vector. If endIndex is a negative number, the
ending point is specified from the end of the Vector, where -1 is the last element.
@return A Vector that consists of a range of elements from the original Vector.):Bool
```
The callback function should return a Boolean value.
@param thisObject The object that the identifer this in the callback function refers
to when the function is called. ***Ignored on targets other than neko and js.
@return A Boolean value of true if any items in the Vector return true for the specified
function; otherwise, false.]]>Sorts the elements in the Vector object, and also returns a sorted Vector object.
This method sorts according to the parameter sortBehavior, which is either a
function that compares two values, or a set of sorting options.
The method takes one parameter. The parameter is one of the following:
* a function that takes two arguments of the base type (T) of the Vector and
returns a Number:
```as3
function compare(x:T, y:T):Number {}
```
The logic of the function is that, given two elements `x` and `y`, the function
returns one of the following three values:
* a negative number, if `x` should appear before `y` in the sorted sequence
* 0, if `x` equals `y`
* a positive number, if `x` should appear after `y` in the sorted sequence
* a number which is a bitwise OR of the following values:
* 1 or `Array.CASEINSENSITIVE`
* 2 or `Array.DESCENDING`
* 4 or `Array.UNIQUESORT`
* 8 or `Array.RETURNINDEXEDARRAY`
* 16 or `Array.NUMERIC`
If the value is 0, the sort works in the following way:
* Sorting is case-sensitive (Z precedes a).
* Sorting is ascending (a precedes b).
* The array is modified to reflect the sort order; multiple elements that
have identical sort fields are placed consecutively in the sorted array in
no particular order.
* All elements, regardless of data type, are sorted as if they were strings,
so 100 precedes 99, because "1" is a lower string value than "9".
@param sortBehavior A Function or a Number value that determines the
behavior of the sort. A Function parameter specifies a comparison method. A
Number value specifies the sorting options.
@return A Vector object, with elements in the new order.Adds elements to and removes elements from the Vector. This method modifies the
Vector without making a copy.
**Note:** To override this method in a subclass of Vector, use ...args for the
parameters, as this example shows:
```as3
public override function splice(...args) {
// your statements here
}
```
@param startIndex:int — An integer that specifies the index of the element in the Vector where the insertion or deletion begins. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector).
@param deleteCount:uint (default = 4294967295) — An integer that specifies the number of elements to be deleted. This number includes the element specified in the startIndex parameter. If the value is 0, no elements are deleted.
@param ... items — An optional list of one or more comma-separated values to insert into the Vector at the position specified in the startIndex parameter.
@return a Vector containing the elements that were removed from the original Vector.
@throws RangeError If the startIndex and deleteCount arguments specify an index to be deleted that's outside the Vector's bounds.
@throws RangeError If this method is called while fixed is true and the splice() operation changes the length of the Vector.Returns a string that represents the elements in the Vector. Every element in the
Vector, starting with index 0 and ending with the highest index, is converted to
a concatenated string and separated by commas. To specify a custom separator,
use the `Vector.join()` method.
@return A string of Vector elements.Adds one or more elements to the beginning of the Vector and returns the new
length of the Vector. The other elements in the Vector are moved from their
original position, i, to i + the number of new elements.
Because this function can accept multiple arguments, the data type of the
arguments is not checked at compile time even in strict mode. However, if an
argument is passed that is not an instance of the base type, an exception occurs
at run time.
@param value An instance of the base type of the Vector to be inserted at the
beginning of the Vector.
@return An integer representing the new length of the Vector.
@throws TypeError If any argument is not an instance of the base type T of the
Vector.
@throws RangeError If this method is called while fixed is true.Attempts to cast a Vector to another Vector object of a similar type
@param vec A Vector object to cast
@return The casted Vector object"checkstyle:Dynamic"{ vec : null }{ from : 0 }{ sep : "," }{ from : null }{ endIndex : null, startIndex : 0 }
<__tempIndex>
"checkstyle:FieldDocComment"hide
<__array>
<__tempIndex>
{ a : null }{ from : 0 }{ sep : "," }{ from : null }{ endIndex : null, startIndex : 0 }"checkstyle:Dynamic"{ array : null, fixed : false, length : 0 }"tags=\"haxe,release\"""checkstyle:FieldDocComment"hide
<__array>
<__tempIndex>
{ a : null }{ from : 0 }{ sep : "," }{ from : null }{ endIndex : null, startIndex : 0 }"checkstyle:Dynamic"{ forceCopy : false, array : null, fixed : false, length : 0 }"checkstyle:Dynamic""tags=\"haxe,release\"""checkstyle:FieldDocComment"hide
<__array>
<__tempIndex>
{ a : null }{ from : 0 }{ sep : "," }{ from : null }{ endIndex : null, startIndex : 0 }"checkstyle:Dynamic"{ array : null, fixed : false, length : 0 }"tags=\"haxe,release\"""checkstyle:FieldDocComment"hide
<__array>
<__tempIndex>
{ a : null }{ from : 0 }{ sep : "," }{ from : null }{ endIndex : null, startIndex : 0 }"checkstyle:Dynamic"{ array : null, fixed : false, length : 0 }"tags=\"haxe,release\"""checkstyle:FieldDocComment"hide
<__array>
<__tempIndex>
{ a : null }"checkstyle:Dynamic"{ from : 0 }{ sep : "," }{ from : null }{ endIndex : null, startIndex : 0 }"checkstyle:Dynamic"{ forceCopy : false, array : null, fixed : false, length : 0 }"checkstyle:Dynamic""tags=\"haxe,release\"""checkstyle:FieldDocComment"hideThe Application class is a Lime Application instance that uses
OpenFL Window by default when a new window is created."tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.LoaderInfoopenfl.display.Window"checkstyle:FieldDocComment"The BitmapData object being referenced.Controls whether or not the Bitmap object is snapped to the nearest pixel.
This value is ignored in the native and HTML5 targets.
The PixelSnapping class includes possible values:
* `PixelSnapping.NEVER` - No pixel snapping occurs.
* `PixelSnapping.ALWAYS` - The image is always snapped to
the nearest pixel, independent of transformation.
* `PixelSnapping.AUTO` - The image is snapped to the
nearest pixel if it is drawn with no rotation or skew and it is drawn at a
scale factor of 99.9% to 100.1%. If these conditions are satisfied, the
bitmap image is drawn at 100% scale, snapped to the nearest pixel.
When targeting Flash Player, this value allows the image to be drawn as fast
as possible using the internal vector renderer.Controls whether or not the bitmap is smoothed when scaled. If
`true`, the bitmap is smoothed when scaled. If
`false`, the bitmap is not smoothed when scaled.
<__bitmapData>
<__imageVersion>
<__enterFrame set="method" line="125" override="1">
<__getBounds set="method" line="133" override="1">
<__hitTest set="method" line="151" override="1">
<__hitTestMask set="method" line="179" override="1">
{ smoothing : false, pixelSnapping : null, bitmapData : null }Initializes a Bitmap object to refer to the specified BitmapData object.
@param bitmapData The BitmapData object being referenced.
@param pixelSnapping Whether or not the Bitmap object is snapped to the nearest pixel.
@param smoothing Whether or not the bitmap is smoothed when scaled. For example, the following examples
show the same bitmap scaled by a factor of 3, with `smoothing` set to `false` (left) and `true` (right):
 The Bitmap class represents display objects that represent bitmap images.
These can be images that you load with the `openfl.Assets` or
`openfl.display.Loader` classes, or they can be images that you
create with the `Bitmap()` constructor.
The `Bitmap()` constructor allows you to create a Bitmap
object that contains a reference to a BitmapData object. After you create a
Bitmap object, use the `addChild()` or `addChildAt()`
method of the parent DisplayObjectContainer instance to place the bitmap on
the display list.
A Bitmap object can share its BitmapData reference among several Bitmap
objects, independent of translation or rotation properties. Because you can
create multiple Bitmap objects that reference the same BitmapData object,
multiple display objects can use the same complex BitmapData object without
incurring the memory overhead of a BitmapData object for each display
object instance.
A BitmapData object can be drawn to the screen by a Bitmap object in one
of two ways: by using the default hardware renderer with a single hardware surface,
or by using the slower software renderer when 3D acceleration is not available.
If you would prefer to perform a batch rendering command, rather than using a
single surface for each Bitmap object, you can also draw to the screen using the
`openfl.display.Tilemap` class.
**Note:** The Bitmap class is not a subclass of the InteractiveObject
class, so it cannot dispatch mouse events. However, you can use the
`addEventListener()` method of the display object container that
contains the Bitmap object."tags=\"haxe,release\""openfl.display.BitmapDataopenfl.display.Graphicsopenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.RectangleThe BitmapDataChannel class is an enumeration of constant values that
indicate which channel to use: red, blue, green, or alpha transparency.
When you call some methods, you can use the bitwise OR operator
(`|`) to combine BitmapDataChannel constants to indicate
multiple color channels.
The BitmapDataChannel constants are provided for use as values in the
following:
* The `sourceChannel` and `destChannel`
parameters of the `openfl.display.BitmapData.copyChannel()`
method
* The `channelOptions` parameter of the
`openfl.display.BitmapData.noise()` method
* The `openfl.filters.DisplacementMapFilter.componentX` and
`openfl.filters.DisplacementMapFilter.componentY` propertiescast 8The alpha channel.cast 4The blue channel.cast 2The green channel.cast 1The red channel.cast 8The alpha channel.cast 4The blue channel.cast 2The green channel.cast 1The red channel.A class that provides constant values for visual blend mode effects. These
constants are used in the following:
* The `blendMode` property of the
openfl.display.DisplayObject class.
* The `blendMode` parameter of the `draw()`
method of the openfl.display.BitmapData classhscript.UsingHandler.build()cast 0 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]>cast 1Applies the alpha value of each pixel of the display object to the
background. This requires the `blendMode` property of the
parent display object be set to
`openfl.display.BlendMode.LAYER`.
Not supported under GPU rendering.cast 2
0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
Not supported under GPU rendering.]]>cast 3Compares the constituent colors of the display object with the colors of
its background, and subtracts the darker of the values of the two
constituent colors from the lighter value. This setting is commonly used
for more vibrant colors.
For example, if the display object has a pixel with an RGB value of
0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the
resulting RGB value for the displayed pixel is 0x222C33(because 0xFF -
0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33).cast 4Erases the background based on the alpha value of the display object. This
process requires that the `blendMode` property of the parent
display object be set to `openfl.display.BlendMode.LAYER`.
Not supported under GPU rendering.cast 5Adjusts the color of each pixel based on the darkness of the display
object. If the display object is lighter than 50% gray, the display object
and background colors are screened, which results in a lighter color. If
the display object is darker than 50% gray, the colors are multiplied,
which results in a darker color. This setting is commonly used for shading
effects.
Not supported under GPU rendering.cast 6Inverts the background.cast 7Forces the creation of a transparency group for the display object. This
means that the display object is precomposed in a temporary buffer before
it is processed further. The precomposition is done automatically if the
display object is precached by means of bitmap caching or if the display
object is a display object container that has at least one child object
with a `blendMode` setting other than `"normal"`.
Not supported under GPU rendering.cast 8
0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
Not supported under GPU rendering.]]>cast 9Multiplies the values of the display object constituent colors by the
constituent colors of the background color, and normalizes by dividing by
0xFF, resulting in darker colors. This setting is commonly used for
shadows and depth effects.
For example, if a constituent color(such as red) of one pixel in the
display object and the corresponding color of the pixel in the background
both have the value 0x88, the multiplied result is 0x4840. Dividing by
0xFF yields a value of 0x48 for that constituent color, which is a darker
shade than the color of the display object or the color of the
background.cast 10The display object appears in front of the background. Pixel values of the
display object override the pixel values of the background. Where the
display object is transparent, the background is visible.cast 11Adjusts the color of each pixel based on the darkness of the background.
If the background is lighter than 50% gray, the display object and
background colors are screened, which results in a lighter color. If the
background is darker than 50% gray, the colors are multiplied, which
results in a darker color. This setting is commonly used for shading
effects.
Not supported under GPU rendering.cast 12Multiplies the complement(inverse) of the display object color by the
complement of the background color, resulting in a bleaching effect. This
setting is commonly used for highlights or to remove black areas of the
display object.cast 13Uses a shader to define the blend between objects.
Setting the blendShader property to a Shader instance automatically sets the
display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode`
property is set to `BlendMode.SHADER` without first setting the `blendShader`
property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the
`blendShader` property is set (which sets the `blendMode` property to
`BlendMode.SHADER`), then later the value of the `blendMode` property is changed,
the blend mode can be reset to use the blend shader simply by setting the
`blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not
need to be set again except to change the shader that's used to define the blend
mode.
Not supported under GPU rendering.cast 14hscript.UsingHandler.build()cast 0 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]>cast 1Applies the alpha value of each pixel of the display object to the
background. This requires the `blendMode` property of the
parent display object be set to
`openfl.display.BlendMode.LAYER`.
Not supported under GPU rendering.cast 2
0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
Not supported under GPU rendering.]]>cast 3Compares the constituent colors of the display object with the colors of
its background, and subtracts the darker of the values of the two
constituent colors from the lighter value. This setting is commonly used
for more vibrant colors.
For example, if the display object has a pixel with an RGB value of
0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the
resulting RGB value for the displayed pixel is 0x222C33(because 0xFF -
0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33).cast 4Erases the background based on the alpha value of the display object. This
process requires that the `blendMode` property of the parent
display object be set to `openfl.display.BlendMode.LAYER`.
Not supported under GPU rendering.cast 5Adjusts the color of each pixel based on the darkness of the display
object. If the display object is lighter than 50% gray, the display object
and background colors are screened, which results in a lighter color. If
the display object is darker than 50% gray, the colors are multiplied,
which results in a darker color. This setting is commonly used for shading
effects.
Not supported under GPU rendering.cast 6Inverts the background.cast 7Forces the creation of a transparency group for the display object. This
means that the display object is precomposed in a temporary buffer before
it is processed further. The precomposition is done automatically if the
display object is precached by means of bitmap caching or if the display
object is a display object container that has at least one child object
with a `blendMode` setting other than `"normal"`.
Not supported under GPU rendering.cast 8
0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
Not supported under GPU rendering.]]>cast 9Multiplies the values of the display object constituent colors by the
constituent colors of the background color, and normalizes by dividing by
0xFF, resulting in darker colors. This setting is commonly used for
shadows and depth effects.
For example, if a constituent color(such as red) of one pixel in the
display object and the corresponding color of the pixel in the background
both have the value 0x88, the multiplied result is 0x4840. Dividing by
0xFF yields a value of 0x48 for that constituent color, which is a darker
shade than the color of the display object or the color of the
background.cast 10The display object appears in front of the background. Pixel values of the
display object override the pixel values of the background. Where the
display object is transparent, the background is visible.cast 11Adjusts the color of each pixel based on the darkness of the background.
If the background is lighter than 50% gray, the display object and
background colors are screened, which results in a lighter color. If the
background is darker than 50% gray, the colors are multiplied, which
results in a darker color. This setting is commonly used for shading
effects.
Not supported under GPU rendering.cast 12Multiplies the complement(inverse) of the display object color by the
complement of the background color, resulting in a bleaching effect. This
setting is commonly used for highlights or to remove black areas of the
display object.cast 13Uses a shader to define the blend between objects.
Setting the blendShader property to a Shader instance automatically sets the
display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode`
property is set to `BlendMode.SHADER` without first setting the `blendShader`
property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the
`blendShader` property is set (which sets the `blendMode` property to
`BlendMode.SHADER`), then later the value of the `blendMode` property is changed,
the blend mode can be reset to use the blend shader simply by setting the
`blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not
need to be set again except to change the shader that's used to define the blend
mode.
Not supported under GPU rendering.cast 14hscript.UsingHandler.build()cast (0, openfl.display.BlendMode) 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]>cast (1, openfl.display.BlendMode)Applies the alpha value of each pixel of the display object to the
background. This requires the `blendMode` property of the
parent display object be set to
`openfl.display.BlendMode.LAYER`.
Not supported under GPU rendering.cast (2, openfl.display.BlendMode)
0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
Not supported under GPU rendering.]]>cast (3, openfl.display.BlendMode)Compares the constituent colors of the display object with the colors of
its background, and subtracts the darker of the values of the two
constituent colors from the lighter value. This setting is commonly used
for more vibrant colors.
For example, if the display object has a pixel with an RGB value of
0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the
resulting RGB value for the displayed pixel is 0x222C33(because 0xFF -
0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33).cast (4, openfl.display.BlendMode)Erases the background based on the alpha value of the display object. This
process requires that the `blendMode` property of the parent
display object be set to `openfl.display.BlendMode.LAYER`.
Not supported under GPU rendering.cast (5, openfl.display.BlendMode)Adjusts the color of each pixel based on the darkness of the display
object. If the display object is lighter than 50% gray, the display object
and background colors are screened, which results in a lighter color. If
the display object is darker than 50% gray, the colors are multiplied,
which results in a darker color. This setting is commonly used for shading
effects.
Not supported under GPU rendering.cast (6, openfl.display.BlendMode)Inverts the background.cast (7, openfl.display.BlendMode)Forces the creation of a transparency group for the display object. This
means that the display object is precomposed in a temporary buffer before
it is processed further. The precomposition is done automatically if the
display object is precached by means of bitmap caching or if the display
object is a display object container that has at least one child object
with a `blendMode` setting other than `"normal"`.
Not supported under GPU rendering.cast (8, openfl.display.BlendMode)
0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33).
Not supported under GPU rendering.]]>cast (9, openfl.display.BlendMode)Multiplies the values of the display object constituent colors by the
constituent colors of the background color, and normalizes by dividing by
0xFF, resulting in darker colors. This setting is commonly used for
shadows and depth effects.
For example, if a constituent color(such as red) of one pixel in the
display object and the corresponding color of the pixel in the background
both have the value 0x88, the multiplied result is 0x4840. Dividing by
0xFF yields a value of 0x48 for that constituent color, which is a darker
shade than the color of the display object or the color of the
background.cast (10, openfl.display.BlendMode)The display object appears in front of the background. Pixel values of the
display object override the pixel values of the background. Where the
display object is transparent, the background is visible.cast (11, openfl.display.BlendMode)Adjusts the color of each pixel based on the darkness of the background.
If the background is lighter than 50% gray, the display object and
background colors are screened, which results in a lighter color. If the
background is darker than 50% gray, the colors are multiplied, which
results in a darker color. This setting is commonly used for shading
effects.
Not supported under GPU rendering.cast (12, openfl.display.BlendMode)Multiplies the complement(inverse) of the display object color by the
complement of the background color, resulting in a bleaching effect. This
setting is commonly used for highlights or to remove black areas of the
display object.cast (13, openfl.display.BlendMode)Uses a shader to define the blend between objects.
Setting the blendShader property to a Shader instance automatically sets the
display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode`
property is set to `BlendMode.SHADER` without first setting the `blendShader`
property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the
`blendShader` property is set (which sets the `blendMode` property to
`BlendMode.SHADER`), then later the value of the `blendMode` property is changed,
the blend mode can be reset to use the blend shader simply by setting the
`blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not
need to be set again except to change the shader that's used to define the blend
mode.
Not supported under GPU rendering.cast (14, openfl.display.BlendMode)hscript.UsingHandler.build()
<__allowSmoothing>
<__blendMode>
<__cleared>
<__context>
"checkstyle:Dynamic"
<__overrideBlendMode>
<__pixelRatio>
<__roundPixels>
<__stage>
<__tempColorTransform>
<__transparent>
<__type>
"checkstyle:Dynamic"
<__worldAlpha>
<__worldColorTransform>
<__worldTransform>
<__clear set="method" line="70">
<__getAlpha set="method" line="73">
<__getColorTransform set="method" line="78">
<__popMask set="method" line="91">
<__popMaskObject set="method" line="93">
{ handleScrollRect : true }
<__popMaskRect set="method" line="95">
<__pushMask set="method" line="97">
<__pushMaskObject set="method" line="99">
{ handleScrollRect : true }
<__pushMaskRect set="method" line="101">
<__render set="method" line="103">
<__renderEvent set="method" line="106">
<__resize set="method" line="163">
<__setBlendMode set="method" line="165">
<__shouldCacheHardware set="method" line="168">
<__shouldCacheHardware_DisplayObject set="method" line="201">
<__updateCacheBitmap set="method" line="213">
"tags=\"haxe,release\""openfl.display._internal.Context3DGraphicslime.graphics.ImageBufferopenfl.display.Bitmapopenfl.display.BitmapDataopenfl.display.DisplayObjectopenfl.display.Graphicsopenfl.display.Tilemapopenfl.display3D.Context3Dopenfl.events.RenderEventopenfl.filters.BitmapFilteropenfl.geom.ColorTransformopenfl.geom.Rectangleopenfl.geom.Transformopenfl.text.TextFieldopenfl.display._internalopenfl.displayopenfl.text"checkstyle:Dynamic"The current Cairo render context
<__matrix>
<__matrix3>
"checkstyle:Dynamic"{ cairo : null }"checkstyle:Dynamic"Set the matrix value for the current render context, or (optionally) another Cairo
object
<__clear set="method" line="101" override="1">
<__popMask set="method" line="119" override="1">
<__popMaskObject set="method" line="124" override="1">
{ handleScrollRect : true }
<__popMaskRect set="method" line="137" override="1">
<__pushMask set="method" line="142" override="1">
<__pushMaskObject set="method" line="153" override="1">
{ handleScrollRect : true }
<__pushMaskRect set="method" line="166" override="1">
<__render set="method" line="177" override="1">
<__renderDrawable set="method" line="184">
<__renderDrawableMask set="method" line="210">
<__setBlendMode set="method" line="236" override="1">
<__setBlendModeCairo set="method" line="246">
"checkstyle:Dynamic""checkstyle:Dynamic"**BETA**
The CairoRenderer API exposes support for native Cairo render instructions within the
`RenderEvent.RENDER_CAIRO` event"tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.Graphicsopenfl.display.IBitmapDrawableopenfl.display.Stageopenfl.display.Stage3Dopenfl.display._internalopenfl.display"checkstyle:Dynamic"The current HTML5 canvas render context
<__isDOM>
<__tempMatrix>
"checkstyle:Dynamic"Set whether smoothing should be enabled on a canvas context{ context : null }"checkstyle:Dynamic"Set the matrix value for the current render context, or (optionally) another canvas
context
<__clear set="method" line="98" override="1">
<__popMask set="method" line="123" override="1">
<__popMaskObject set="method" line="128" override="1">
{ handleScrollRect : true }
<__popMaskRect set="method" line="141" override="1">
<__pushMask set="method" line="146" override="1">
<__pushMaskObject set="method" line="159" override="1">
{ handleScrollRect : true }
<__pushMaskRect set="method" line="172" override="1">
<__render set="method" line="183" override="1">
<__renderDrawable set="method" line="188">
<__renderDrawableMask set="method" line="214">
<__setBlendMode set="method" line="240" override="1">
<__setBlendModeContext set="method" line="250">
"checkstyle:Dynamic""checkstyle:Dynamic"**BETA**
The CanvasRenderer API exposes support for HTML5 canvas render instructions within the
`RenderEvent.RENDER_CANVAS` event"tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.IBitmapDrawableopenfl.display.Stageopenfl.display.Stage3Dopenfl.display._internalopenfl.displayopenfl.textThe CapsStyle class is an enumeration of constant values that specify the
caps style to use in drawing lines. The constants are provided for use as
values in the `caps` parameter of the
`openfl.display.Graphics.lineStyle()` method. You can specify the
following three types of caps:
cast 0Used to specify no caps in the `caps` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 1Used to specify round caps in the `caps` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 2Used to specify square caps in the `caps` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 0Used to specify no caps in the `caps` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 1Used to specify round caps in the `caps` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 2Used to specify square caps in the `caps` parameter of the
`openfl.display.Graphics.lineStyle()` method."checkstyle:Dynamic"The current HTML5 DOM element
<__canvasRenderer>
<__clipRects>
<__currentClipRect>
<__numClipRects>
<__transformOriginProperty>
<__transformProperty>
<__vendorPrefix>
<__z>
"checkstyle:Dynamic"Applies CSS styles to the specified DOM element, using a DisplayObject as the
virtual parent. This helps set the z-order, position and other components for
the DOM object"checkstyle:Dynamic"Removes previously set CSS styles from a DOM element, used when the element
should no longer be a part of the display hierarchy
<__applyStyle set="method" line="138">
<__popMask set="method" line="204" override="1">
<__popMaskObject set="method" line="209" override="1">
{ handleScrollRect : true }
<__popMaskRect set="method" line="222" override="1">
<__pushMask set="method" line="239" override="1">
<__pushMaskObject set="method" line="246" override="1">
{ handleScrollRect : true }
<__pushMaskRect set="method" line="259" override="1">
<__render set="method" line="291" override="1">
<__renderDrawable set="method" line="306">
<__renderDrawableClear set="method" line="357">
<__setBlendMode set="method" line="383" override="1">
<__updateClip set="method" line="459">
"checkstyle:Dynamic"**BETA**
The DOMRenderer API exposes support for HTML5 DOM render instructions within the
`RenderEvent.RENDER_DOM` event"tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.IBitmapDrawableopenfl.display.Stage3Dopenfl.geom.Matrixopenfl.geom.Rectangleopenfl.display._internalopenfl.displayhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internal{ code : null }"attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;""openfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;""#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}""varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;" 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}"]]>"#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\""The current frame rate, expressed using frames-per-second
<__enterFrame set="method" line="63" override="1">
{ color : 0x000000, y : 10, x : 10 }The FPS class provides an easy-to-use monitor to display
the current frame rate of an OpenFL project"tags=\"haxe,release\""The frame number containing the label.The name of the label.The FrameLabel object contains properties that specify a frame number and
the corresponding label name. The Scene class includes a `labels`
property, which is an array of FrameLabel objects for the scene."tags=\"haxe,release\"""tags=\"haxe,release\""The GradientType class provides values for the `type` parameter
in the `beginGradientFill()` and
`lineGradientStyle()` methods of the openfl.display.Graphics
class.cast 0Value used to specify a linear gradient fill.cast 1Value used to specify a radial gradient fill.cast 0Value used to specify a linear gradient fill.cast 1Value used to specify a radial gradient fill.nullnull
<__bounds>
<__commands>
<__dirty set="accessor" expr="true">
true
<__hardwareDirty>
<__height>
<__managed>
<__positionX>
<__positionY>
<__quadBuffer>
<__renderTransform>
<__shaderBufferPool>
<__softwareDirty>
<__strokePadding>
<__transformDirty>
<__triangleIndexBuffer>
<__triangleIndexBufferCount>
<__triangleIndexBufferData>
<__usedShaderBuffers>
<__vertexBuffer>
<__vertexBufferCount>
<__vertexBufferCountUVT>
<__vertexBufferData>
<__vertexBufferDataUVT>
<__vertexBufferUVT>
<__visible>
<__owner>
<__width>
<__worldTransform>
<__cairo>
"checkstyle:Dynamic"
<__bitmap>
<__bitmapScale>
{ smooth : false, repeat : true, matrix : null }Fills a drawing area with a bitmap image. The bitmap can be repeated or
tiled to fill the area. The fill remains in effect until you call the
`beginFill()`, `beginBitmapFill()`,
`beginGradientFill()`, or `beginShaderFill()`
method. Calling the `clear()` method clears the fill.
The application renders the fill whenever three or more points are
drawn, or when the `endFill()` method is called.
@param bitmap A transparent or opaque bitmap image that contains the bits
to be displayed.
@param matrix A matrix object(of the openfl.geom.Matrix class), which you
can use to define transformations on the bitmap. For
example, you can use the following matrix to rotate a bitmap
by 45 degrees(pi/4 radians):
```haxe
matrix = new openfl.geom.Matrix();
matrix.rotate(Math.PI / 4);
```
@param repeat If `true`, the bitmap image repeats in a tiled
pattern. If `false`, the bitmap image does not
repeat, and the edges of the bitmap are used for any fill
area that extends beyond the bitmap.
For example, consider the following bitmap(a 20 x
20-pixel checkerboard pattern):

When `repeat` is set to `true`(as
in the following example), the bitmap fill repeats the
bitmap:

When `repeat` is set to `false`,
the bitmap fill uses the edge pixels for the fill area
outside the bitmap:

@param smooth If `false`, upscaled bitmap images are rendered
by using a nearest-neighbor algorithm and look pixelated. If
`true`, upscaled bitmap images are rendered by
using a bilinear algorithm. Rendering by using the nearest
neighbor algorithm is faster.{ alpha : 1, color : 0 }Specifies a simple one-color fill that subsequent calls to other Graphics
methods(such as `lineTo()` or `drawCircle()`) use
when drawing. The fill remains in effect until you call the
`beginFill()`, `beginBitmapFill()`,
`beginGradientFill()`, or `beginShaderFill()`
method. Calling the `clear()` method clears the fill.
The application renders the fill whenever three or more points are
drawn, or when the `endFill()` method is called.
@param color The color of the fill(0xRRGGBB).
@param alpha The alpha value of the fill(0.0 to 1.0).{ focalPointRatio : 0, interpolationMethod : InterpolationMethod.RGB, spreadMethod : SpreadMethod.PAD, matrix : null }`InterpolationMethod.LINEAR_RGB` |  `InterpolationMethod.RGB` |
@param focalPointRatio A number that controls the location of the focal point of the gradient. 0 means that
the focal point is in the center. 1 means that the focal point is at one border of the gradient circle. -1
means that the focal point is at the other border of the gradient circle. A value less than -1 or greater
than 1 is rounded to -1 or 1. For example, the following example shows a `focalPointRatio` set to 0.75:

@throws ArgumentError If the `type` parameter is not valid.]]>{ matrix : null } instance is
used as an input and the `width` and `height`
properties aren't specified for the ShaderInput,
or the specified values don't match the amount
of data in the input object. See the
`ShaderInput.input` property for more
information.]]>Clears the graphics that were drawn to this Graphics object, and resets
fill and line style settings.Copies all of drawing commands from the source Graphics object into
the calling Graphics object.
@param sourceGraphics The Graphics object from which to copy the
drawing commands.Draws a cubic Bezier curve from the current drawing position to the specified
anchor point. Cubic Bezier curves consist of two anchor points and two control
points. The curve interpolates the two anchor points and curves toward the two
control points.

The four points you use to draw a cubic Bezier curve with the `cubicCurveTo()`
method are as follows:
* The current drawing position is the first anchor point.
* The `anchorX` and `anchorY` parameters specify the second anchor point.
* The `controlX1` and `controlY1` parameters specify the first control point.
* The `controlX2` and `controlY2` parameters specify the second control point.
If you call the `cubicCurveTo()` method before calling the `moveTo()` method, your
curve starts at position (0, 0).
If the `cubicCurveTo()` method succeeds, the OpenFL runtime sets the current
drawing position to (`anchorX`, `anchorY`). If the `cubicCurveTo()` method fails,
the current drawing position remains unchanged.
If your movie clip contains content created with the Flash drawing tools, the
results of calls to the `cubicCurveTo()` method are drawn underneath that content.
@param controlX1 Specifies the horizontal position of the first control point
relative to the registration point of the parent display object.
@param controlY1 Specifies the vertical position of the first control point
relative to the registration point of the parent display object.
@param controlX2 Specifies the horizontal position of the second control point
relative to the registration point of the parent display object.
@param controlY2 Specifies the vertical position of the second control point
relative to the registration point of the parent display object.
@param anchorX Specifies the horizontal position of the anchor point relative to
the registration point of the parent display object.
@param anchorY Specifies the vertical position of the anchor point relative to
the registration point of the parent display object.Draws a quadratic curve using the current line style from the current drawing
position to(anchorX, anchorY) and using the control point that
(`controlX`, `controlY`) specifies. The current
drawing position is then set to(`anchorX`,
`anchorY`). If the movie clip in which you are drawing contains
content created with the Flash drawing tools, calls to the
`curveTo()` method are drawn underneath this content. If you
call the `curveTo()` method before any calls to the
`moveTo()` method, the default of the current drawing position
is(0, 0). If any of the parameters are missing, this method fails and the
current drawing position is not changed.
The curve drawn is a quadratic Bezier curve. Quadratic Bezier curves
consist of two anchor points and one control point. The curve interpolates
the two anchor points and curves toward the control point.

@param controlX A number that specifies the horizontal position of the
control point relative to the registration point of the
parent display object.
@param controlY A number that specifies the vertical position of the
control point relative to the registration point of the
parent display object.
@param anchorX A number that specifies the horizontal position of the
next anchor point relative to the registration point of
the parent display object.
@param anchorY A number that specifies the vertical position of the next
anchor point relative to the registration point of the
parent display object.Draws an ellipse. Set the line style, fill, or both before you call the
`drawEllipse()` method, by calling the
`linestyle()`, `lineGradientStyle()`,
`beginFill()`, `beginGradientFill()`, or
`beginBitmapFill()` method.
@param x The _x_ location of the top-left of the bounding-box of
the ellipse relative to the registration point of the parent
display object(in pixels).
@param y The _y_ location of the top left of the bounding-box of
the ellipse relative to the registration point of the parent
display object(in pixels).
@param width The width of the ellipse(in pixels).
@param height The height of the ellipse(in pixels).Submits a series of IGraphicsData instances for drawing. This method
accepts a Vector containing objects including paths, fills, and strokes
that implement the IGraphicsData interface. A Vector of IGraphicsData
instances can refer to a part of a shape, or a complex fully defined set
of data for rendering a complete shape.
Graphics paths can contain other graphics paths. If the
`graphicsData` Vector includes a path, that path and all its
sub-paths are rendered during this operation.{ winding : GraphicsPathWinding.EVEN_ODD }Submits a series of commands for drawing. The `drawPath()`
method uses vector arrays to consolidate individual `moveTo()`,
`lineTo()`, and `curveTo()` drawing commands into a
single call. The `drawPath()` method parameters combine drawing
commands with x- and y-coordinate value pairs and a drawing direction. The
drawing commands are values from the GraphicsPathCommand class. The x- and
y-coordinate value pairs are Numbers in an array where each pair defines a
coordinate location. The drawing direction is a value from the
GraphicsPathWinding class.
Generally, drawings render faster with `drawPath()` than
with a series of individual `lineTo()` and
`curveTo()` methods.
The `drawPath()` method uses a uses a floating computation
so rotation and scaling of shapes is more accurate and gives better
results. However, curves submitted using the `drawPath()`
method can have small sub-pixel alignment errors when used in conjunction
with the `lineTo()` and `curveTo()` methods.
The `drawPath()` method also uses slightly different rules
for filling and drawing lines. They are:
* When a fill is applied to rendering a path:
* A sub-path of less than 3 points is not rendered.(But note that the
stroke rendering will still occur, consistent with the rules for strokes
below.)
* A sub-path that isn't closed(the end point is not equal to the
begin point) is implicitly closed.
* When a stroke is applied to rendering a path:
* The sub-paths can be composed of any number of points.
* The sub-path is never implicitly closed.
@param commands A Vector of integers representing drawing commands. The set
of accepted values is defined by the constants in the GraphicsPathCommand class.
@param data A Vector of Number instances where each pair of numbers is treated
as a coordinate location (an x, y pair). The x- and y-coordinate value pairs are
not Point objects; the data vector is a series of numbers where each group of two
numbers represents a coordinate location.
@param winding Specifies the winding rule using a value defined in the
GraphicsPathWinding class.{ transforms : null, indices : null }Renders a set of quadrilaterals. This is similar to calling `drawRect`
repeatedly, but each rectangle can use a transform value to rotate, scale
or skew the result.
Any type of fill can be used, but if the fill has a transform matrix
that transform matrix is ignored.
The optional `indices` parameter allows the use of either repeated
rectangle geometry, or allows the use of a subset of a broader rectangle
data Vector, such as Tileset `rectData`.
@param rects A Vector containing rectangle coordinates in
[ x0, y0, width0, height0, x1, y1 ... ] format.
@param indices A Vector containing optional index values to reference
the data contained in `rects`. Each index is a rectangle
index in the Vector, not an array index. If this parameter
is ommitted, each index from `rects` will be used in order.
@param transforms A Vector containing optional transform data to adjust
_x_, _y_, _a_, _b_, _c_ or _d_ value for the resulting
quadrilateral. A `transforms` Vector that is double the
size of the draw count (the length of `indices`, or if
omitted, the rectangle count in `rects`) will be treated
as [ x, y, ... ] pairs. A `transforms` Vector that is
four times the size of the draw count will be used as
matrix [ a, b, c, d, ... ] values. A `transforms` object
which is six times the draw count in size will use full
matrix [ a, b, c, d, tx, ty, ... ] values per draw.Draws a rectangle. Set the line style, fill, or both before you call the
`drawRect()` method, by calling the `linestyle()`,
`lineGradientStyle()`, `beginFill()`,
`beginGradientFill()`, or `beginBitmapFill()`
method.
@param x A number indicating the horizontal position relative to the
registration point of the parent display object(in pixels).
@param y A number indicating the vertical position relative to the
registration point of the parent display object(in pixels).
@param width The width of the rectangle(in pixels).
@param height The height of the rectangle(in pixels).
@throws ArgumentError If the `width` or `height`
parameters are not a number
(`Number.NaN`).{ ellipseHeight : null }Draws a rounded rectangle. Set the line style, fill, or both before you
call the `drawRoundRect()` method, by calling the
`linestyle()`, `lineGradientStyle()`,
`beginFill()`, `beginGradientFill()`, or
`beginBitmapFill()` method.
@param x A number indicating the horizontal position relative
to the registration point of the parent display
object(in pixels).
@param y A number indicating the vertical position relative to
the registration point of the parent display object
(in pixels).
@param width The width of the round rectangle(in pixels).
@param height The height of the round rectangle(in pixels).
@param ellipseWidth The width of the ellipse used to draw the rounded
corners(in pixels).
@param ellipseHeight The height of the ellipse used to draw the rounded
corners(in pixels). Optional; if no value is
specified, the default value matches that provided
for the `ellipseWidth` parameter.
@throws ArgumentError If the `width`, `height`,
`ellipseWidth` or
`ellipseHeight` parameters are not a
number(`Number.NaN`).Undocumented method{ culling : TriangleCulling.NONE, uvtData : null, indices : null }Renders a set of triangles, typically to distort bitmaps and give them a
three-dimensional appearance. The `drawTriangles()` method maps
either the current fill, or a bitmap fill, to the triangle faces using a
set of(u,v) coordinates.
Any type of fill can be used, but if the fill has a transform matrix
that transform matrix is ignored.
A `uvtData` parameter improves texture mapping when a
bitmap fill is used.
@param culling Specifies whether to render triangles that face in a
specified direction. This parameter prevents the rendering
of triangles that cannot be seen in the current view. This
parameter can be set to any value defined by the
TriangleCulling class.Applies a fill to the lines and curves that were added since the last call
to the `beginFill()`, `beginGradientFill()`, or
`beginBitmapFill()` method. Flash uses the fill that was
specified in the previous call to the `beginFill()`,
`beginGradientFill()`, or `beginBitmapFill()`
method. If the current drawing position does not equal the previous
position specified in a `moveTo()` method and a fill is
defined, the path is closed with a line and then filled.{ smooth : false, repeat : true, matrix : null }Specifies a bitmap to use for the line stroke when drawing lines.
The bitmap line style is used for subsequent calls to Graphics methods
such as the `lineTo()` method or the `drawCircle()`
method. The line style remains in effect until you call the
`lineStyle()` or `lineGradientStyle()` methods, or
the `lineBitmapStyle()` method again with different parameters.
You can call the `lineBitmapStyle()` method in the middle of
drawing a path to specify different styles for different line segments
within a path.
Call the `lineStyle()` method before you call the
`lineBitmapStyle()` method to enable a stroke, or else the
value of the line style is `undefined`.
Calls to the `clear()` method set the line style back to
`undefined`.
@param bitmap The bitmap to use for the line stroke.
@param matrix An optional transformation matrix as defined by the
openfl.geom.Matrix class. The matrix can be used to scale or
otherwise manipulate the bitmap before applying it to the
line style.
@param repeat Whether to repeat the bitmap in a tiled fashion.
@param smooth Whether smoothing should be applied to the bitmap.{ focalPointRatio : 0, interpolationMethod : InterpolationMethod.RGB, spreadMethod : SpreadMethod.PAD, matrix : null }`SpreadMethod.PAD` |  `SpreadMethod.REFLECT` |  `SpreadMethod.REPEAT` |
@param interpolationMethod A value from the InterpolationMethod class that specifies which value to use. For
example, consider a simple linear gradient between two colors (with the `spreadMethod` parameter set to
`SpreadMethod.REFLECT`). The different interpolation methods affect the appearance as follows:
| | |
| --- | --- |
|  `InterpolationMethod.LINEAR_RGB` |  `InterpolationMethod.RGB` |
@param focalPointRatio A number that controls the location of the focal point of the gradient. The value 0
means the focal point is in the center. The value 1 means the focal point is at one border of the gradient
circle. The value -1 means that the focal point is at the other border of the gradient circle. Values less
than -1 or greater than 1 are rounded to -1 or 1. The following image shows a gradient with a
`focalPointRatio` of -0.75:
]]>{ miterLimit : 3, joints : null, caps : null, scaleMode : LineScaleMode.NORMAL, pixelHinting : false, alpha : 1, color : 0, thickness : null }Specifies a shader to use for the line stroke when drawing lines.
The shader line style is used for subsequent calls to Graphics methods such as the `lineTo()` method or the
`drawCircle()` method. The line style remains in effect until you call the `lineStyle()` or
`lineGradientStyle()` methods, or the `lineBitmapStyle()` method again with different parameters.
You can call the `lineShaderStyle()` method in the middle of drawing a path to specify different styles for
different line segments within a path.
Call the `lineStyle()` method before you call the `lineShaderStyle()` method to enable a stroke, or else the
value of the line style is undefined.
Calls to the `clear()` method set the line style back to undefined.Draws a line using the current line style from the current drawing
position to(`x`, `y`); the current drawing position
is then set to(`x`, `y`). If the display object in
which you are drawing contains content that was created with the Flash
drawing tools, calls to the `lineTo()` method are drawn
underneath the content. If you call `lineTo()` before any calls
to the `moveTo()` method, the default position for the current
drawing is(_0, 0_). If any of the parameters are missing, this
method fails and the current drawing position is not changed.
@param x A number that indicates the horizontal position relative to the
registration point of the parent display object(in pixels).
@param y A number that indicates the vertical position relative to the
registration point of the parent display object(in pixels).Moves the current drawing position to(`x`, `y`). If
any of the parameters are missing, this method fails and the current
drawing position is not changed.
@param x A number that indicates the horizontal position relative to the
registration point of the parent display object(in pixels).
@param y A number that indicates the vertical position relative to the
registration point of the parent display object(in pixels)."checkstyle:FieldDocComment"hide{ recurse : true }Queries a Sprite or Shape object (and optionally, its children) for its vector
graphics content. The result is a Vector of IGraphicsData objects. Transformations
are applied to the display object before the query, so the returned paths are all
in the same coordinate space. Coordinates in the result data set are relative to
the stage, not the display object being sampled.
The result includes the following types of objects, with the specified limitations:
* GraphicsSolidFill
* GraphicsGradientFill
* All properties of the gradient fill are returned by `readGraphicsData()`.
* The matrix returned is close to, but not exactly the same as, the input
matrix.
* GraphicsEndFill
* GraphicsBitmapFill
* The matrix returned is close to, but not exactly the same as, the input
matrix.
* `repeat` is always `true`.
* `smooth` is always `false`.
* GraphicsStroke
* `thickness` is supported.
* `fill` supports GraphicsSolidFill, GraphicsGradientFill, and GraphicsBitmapFill
as described previously
* All other properties have default values.
* GraphicsPath
* The only supported commands are `MOVE_TO`, `CURVE_TO`, and `LINE_TO`.
The following visual elements and transformations can't be represented and are not
included in the result:
* Masks
* Text, with one exception: Static text that is defined with anti-alias type
"anti-alias for animation" is rendered as vector shapes so it is included in the
result.
* Shader fills
* Blend modes
* 9-slice scaling
* Triangles (created with the `drawTriangles()` method)
* Opaque background
* `scrollRect` settings
* 2.5D transformations
* Non-visible objects (objects whose `visible` property is `false`)
@param recurse whether the runtime should also query display object children of
the current display object. A recursive query can take more time and memory to
execute. The results are returned in a single flattened result set, not separated
by display object.
@returns A Vector of IGraphicsData objects representing the vector graphics
content of the related display object
<__calculateBezierCubicPoint get="inline" set="null" line="1621">
<__calculateBezierQuadPoint get="inline" set="null" line="1628">
<__cleanup set="method" line="1634">
<__getBounds set="method" line="1660">
<__hitTest set="method" line="1670">
<__inflateBounds set="method" line="1694">
<__readGraphicsData set="method" line="1728">
<__update set="method" line="1838">
The Graphics class contains a set of methods that you can use to create a
vector shape. Display objects that support drawing include Sprite and Shape
objects. Each of these classes includes a `graphics` property
that is a Graphics object. The following are among those helper functions
provided for ease of use: `drawRect()`,
`drawRoundRect()`, `drawCircle()`, and
`drawEllipse()`.
You cannot create a Graphics object directly from ActionScript code. If
you call `new Graphics()`, an exception is thrown.
The Graphics class is final; it cannot be subclassed."tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.GraphicsPathopenfl.display.IGraphicsDataopenfl.display.IGraphicsFillopenfl.display.Shaderopenfl.geom.Matrixopenfl.geom.Rectangle<__graphicsFillType set="null">
<__graphicsDataType set="null">
A transparent or opaque bitmap image.A matrix object (of the openfl.geom.Matrix class) that defines
transformations on the bitmap. For example, the following matrix
rotates a bitmap by 45 degrees (pi/4 radians):
```haxe
var matrix = new openfl.geom.Matrix();
matrix.rotate(Math.PI / 4);
```Specifies whether to repeat the bitmap image in a tiled pattern.
If `true`, the bitmap image repeats in a tiled pattern. If `false`,
the bitmap image does not repeat, and the outermost pixels along the
edges of the bitmap are used for any fill area that extends beyond the
bounds of the bitmap.
For example, consider the following bitmap (a 20 x 20-pixel
checkerboard pattern):

When `repeat` is set to `true` (as in the following example), the
bitmap fill repeats the bitmap:

When `repeat` is set to `false`, the bitmap fill uses the edge pixels
for the fill area outside the bitmap:
Specifies whether to apply a smoothing algorithm to the bitmap image.
If `false`, upscaled bitmap images are rendered by using a
nearest-neighbor algorithm and look pixelated. If `true`, upscaled
bitmap images are rendered by using a bilinear algorithm. Rendering by
using the nearest neighbor algorithm is usually faster.
<__graphicsDataType set="null">
<__graphicsFillType set="null">
{ smooth : false, repeat : true, matrix : null, bitmapData : null }Creates a new GraphicsBitmapFill object.
@param bitmapData A transparent or opaque bitmap image that contains
the bits to display.
@param matrix A matrix object (of the openfl.geom.Matrix class),
which you use to define transformations on the
bitmap.
@param repeat If `true`, the bitmap image repeats in a tiled
pattern. If `false`, the bitmap image does not
repeat, and the edges of the bitmap are used for any
fill area that extends beyond the bitmap.
@param smooth If `false`, upscaled bitmap images are rendered
using a nearest-neighbor algorithm and appear
pixelated. If `true`, upscaled bitmap images are
rendered using a bilinear algorithm. Rendering that
uses the nearest-neighbor algorithm is usually
faster.Defines a bitmap fill. The bitmap can be smoothed, repeated or tiled to
fill the area; or manipulated using a transformation matrix.
Use a GraphicsBitmapFill object with the `Graphics.drawGraphicsData()`
method. Drawing a GraphicsBitmapFill object is the equivalent of calling
the `Graphics.beginBitmapFill()` method."tags=\"haxe,release\""
<__graphicsDataType set="null">
<__graphicsFillType set="null">
Creates an object to use with the `Graphics.drawGraphicsData()`
method to end the fill, explicitly.Indicates the end of a graphics fill. Use a GraphicsEndFill object with the
`Graphics.drawGraphicsData()` method.
Drawing a GraphicsEndFill object is the equivalent of calling the
`Graphics.endFill()` method."tags=\"haxe,release\""An array of alpha values for the corresponding colors in the colors
array. Valid values are between 0 and 1. If the value is less than 0,
0 is used. If the value is greater than 1, 1 is used.An array of RGB hexadecimal color values to use in the gradient. For
example, red is 0xFF0000, blue is 0x0000FF, and so on. You can specify
up to 15 colors. For each color, specify a corresponding value in the
alphas and ratios properties.A number that controls the location of the focal point of the
gradient. A value of 0 sets the focal point in the center. A value of
1 means that the focal point is at one border of the gradient circle.A
value of -1 sets the focal point at the other border of the gradient
circle. A value of less than -1 or greater than 1 is rounded to -1 or
1, respectively. For example, the following shows a `focalPointRatio`
set to 0.75:
A value from the InterpolationMethod class that specifies which value
to use. Valid values are: `InterpolationMethod.LINEAR_RGB` or
`InterpolationMethod.RGB`
For example, the following shows a simple linear gradient between two
colors (with the `spreadMethod` parameter set to
`SpreadMethod.REFLECT`). The different interpolation methods change
the appearance as follows:
| `InterpolationMethod.LINEAR_RGB` | `InterpolationMethod.RGB` |
| --- | --- |
|  |  |A transformation matrix as defined by the Matrix class. The
openfl.geom.Matrix class includes a `createGradientBox()` method to set
up the matrix for use with the `beginGradientFill()` method.An array of color distribution ratios. Valid values are between 0 and
255. This value defines the percentage of the width where the color is
sampled at 100%. The value 0 represents the left position in the
gradient box, and the value 255 represents the right position in the
gradient box.
**Note:** This value represents positions in the gradient box, not the
coordinate space of the final gradient which can be wider or thinner
than the gradient box. Specify a value for corresponding to each value
in the `colors` property.
For example, for a linear gradient that includes two colors (blue and
green) the following example illustrates the placement of the colors
in the gradient based on different values in the `ratios` array:
| `ratios` | Gradient |
| --- | --- |
| `[0, 127]` |  |
| `[0, 255]` |  |
| `[127, 255]` |  |
The values in the array must increase sequentially; for example, `[0,
63, 127, 190, 255]`.A value from the SpreadMethod class that specifies which spread method
to use. Valid values are: `SpreadMethod.PAD`, `SpreadMethod.REFLECT`,
or `SpreadMethod.REPEAT`.
For example, the following shows a simple linear gradient between two
colors:
```haxe
import openfl.geom.*;
import openfl.display.*;
var fillType = GradientType.LINEAR;
var colors = [0xFF0000, 0x0000FF];
var alphas = [1, 1];
var ratios = [0x00, 0xFF];
var matr = new Matrix();
matr.createGradientBox(20, 20, 0, 0, 0);
var spreadMethod = SpreadMethod.PAD;
graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod);
graphics.drawRect(0,0,100,100);
```
This example uses `SpreadMethod.PAD` for the spread method, and the
gradient fill looks like the following:

If you use `SpreadMethod.REFLECT` for the spread method, the gradient
fill looks like the following:

If you use `SpreadMethod.REPEAT` for the spread method, the gradient
fill looks like the following:
A value from the GradientType class that specifies which gradient type
to use. Values are `GradientType.LINEAR` or `GradientType.RADIAL`.
<__graphicsDataType set="null">
<__graphicsFillType set="null">
{ focalPointRatio : 0, interpolationMethod : null, spreadMethod : null, matrix : null, ratios : null, alphas : null, colors : null, type : null }Creates a new GraphicsGradientFill object.
@param type A value from the GradientType class that
specifies which gradient type to use:
`GradientType.LINEAR` or
`GradientType.RADIAL`.
@param matrix A transformation matrix as defined by the
openfl.geom.Matrix class. The
openfl.geom.Matrix class includes a
`createGradientBox()` method, which lets
you conveniently set up the matrix for use
with the `beginGradientFill()` method.
@param spreadMethod A value from the SpreadMethod class that
specifies which spread method to use,
either: `SpreadMethod.PAD`,
`SpreadMethod.REFLECT`, or
`SpreadMethod.REPEAT`.
@param interpolationMethod A value from the InterpolationMethod class
that specifies which value to use:
`InterpolationMethod.LINEAR_RGB` or
`InterpolationMethod.RGB`
@param focalPointRatio A number that controls the location of the
focal point of the gradient. A value of 0
sets the focal point in the center. A value
of 1 sets the focal point at one border of
the gradient circle. A value of -1 sets the
focal point at the other border of the
gradient circle. A value less than -1 or
greater than 1 is rounded to -1 or 1,
respectively.Defines a gradient fill.
Use a GraphicsGradientFill object with the `Graphics.drawGraphicsData()`
method. Drawing a GraphicsGradientFill object is the equivalent of calling
the `Graphics.beginGradientFill()` method."tags=\"haxe,release\""0.707106781186547524400844362104850.4142135623730950488016887242097The Vector of drawing commands as integers representing the path. Each
command can be one of the values defined by the GraphicsPathCommand class.The Vector of Numbers containing the parameters used with the drawing
commands.Specifies the winding rule using a value defined in the
GraphicsPathWinding class.
<__graphicsDataType set="null">
Adds a new "cubicCurveTo" command to the commands vector and new coordinates to
the data vector.
@param controlX1 A number that specifies the horizontal position of the first
control point relative to the registration point of the parent display object.
@param controlY1 A number that specifies the vertical position of the first
control point relative to the registration point of the parent display object.
@param controlX2 A number that specifies the horizontal position of the second
control point relative to the registration point of the parent display object.
@param controlY2 A number that specifies the vertical position of the second
control point relative to the registration point of the parent display object.
@param anchorX A number that specifies the horizontal position of the next anchor
point relative to the registration point of the parent display object.
@param anchorY A number that specifies the vertical position of the next anchor
point relative to the registration point of the parent display object.Adds a new "curveTo" command to the `commands` vector and new
coordinates to the `data` vector.
@param controlX A number that specifies the horizontal position of the
control point relative to the registration point of the
parent display object.
@param controlY A number that specifies the vertical position of the
control point relative to the registration point of the
parent display object.
@param anchorX A number that specifies the horizontal position of the
next anchor point relative to the registration point of
the parent display object.
@param anchorY A number that specifies the vertical position of the next
anchor point relative to the registration point of the
parent display object.Adds a new "lineTo" command to the `commands` vector and new
coordinates to the `data` vector.
@param x The x coordinate of the destination point for the line.
@param y The y coordinate of the destination point for the line.Adds a new "moveTo" command to the `commands` vector and new
coordinates to the `data` vector.
@param x The x coordinate of the destination point.
@param y The y coordinate of the destination point.Adds a new "wideLineTo" command to the `commands` vector and
new coordinates to the `data` vector.
@param x The x-coordinate of the destination point for the line.
@param y The y-coordinate of the destination point for the line.Adds a new "wideMoveTo" command to the `commands` vector and
new coordinates to the `data` vector.
@param x The x-coordinate of the destination point.
@param y The y-coordinate of the destination point.
<__drawCircle set="method" line="195">
<__drawEllipse set="method" line="200">
<__drawRect set="method" line="205">
<__drawRoundRect set="method" line="214">
{ winding : GraphicsPathWinding.EVEN_ODD, data : null, commands : null }Creates a new GraphicsPath object.
@param winding Specifies the winding rule using a value defined in the
GraphicsPathWinding class.A collection of drawing commands and the coordinate parameters for those
commands.
Use a GraphicsPath object with the
`Graphics.drawGraphicsData()` method. Drawing a GraphicsPath
object is the equivalent of calling the `Graphics.drawPath()`
method.
The GraphicsPath class also has its own set of methods
(`curveTo()`, `lineTo()`, `moveTo()`
`wideLineTo()` and `wideMoveTo()`) similar to those
in the Graphics class for making adjustments to the
`GraphicsPath.commands` and `GraphicsPath.data`
vector arrays."tags=\"haxe,release\""Defines the values to use for specifying path-drawing commands.
The values in this class are used by the
`Graphics.drawPath()` method, or stored in the
`commands` vector of a GraphicsPath object.cast 6Specifies a drawing command that draws a curve from the current drawing position
to the x- and y-coordinates specified in the data vector, using a 2 control points.cast 3Specifies a drawing command that draws a curve from the current drawing position
to the x- and y-coordinates specified in the data vector, using a control point.
This command produces the same effect as the `Graphics.lineTo()` method, and uses
two points in the data vector control and anchor: (cx, cy, ax, ay).cast 2Specifies a drawing command that draws a line from the current drawing position to
the x- and y-coordinates specified in the data vector. This command produces the
same effect as the `Graphics.lineTo()` method, and uses one point in the data
vector: (x,y).cast 1Specifies a drawing command that moves the current drawing position to the x- and
y-coordinates specified in the data vector. This command produces the same effect as
the `Graphics.moveTo()` method, and uses one point in the data vector: (x,y).cast 0Represents the default "do nothing" command.cast 5Specifies a "line to" drawing command, but uses two sets of coordinates (four
values) instead of one set. This command allows you to switch between "line to"
and "curve to" commands without changing the number of data values used per command.
This command uses two sets in the data vector: one dummy location and one (x,y)
location.
The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of
parameters as does the `CURVE_TO` command.cast 4Specifies a "move to" drawing command, but uses two sets of coordinates (four
values) instead of one set. This command allows you to switch between "move to"
and "curve to" commands without changing the number of data values used per
command. This command uses two sets in the data vector: one dummy location and one
(x,y) location.
The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of
parameters as does the `CURVE_TO` command.cast 6Specifies a drawing command that draws a curve from the current drawing position
to the x- and y-coordinates specified in the data vector, using a 2 control points.cast 3Specifies a drawing command that draws a curve from the current drawing position
to the x- and y-coordinates specified in the data vector, using a control point.
This command produces the same effect as the `Graphics.lineTo()` method, and uses
two points in the data vector control and anchor: (cx, cy, ax, ay).cast 2Specifies a drawing command that draws a line from the current drawing position to
the x- and y-coordinates specified in the data vector. This command produces the
same effect as the `Graphics.lineTo()` method, and uses one point in the data
vector: (x,y).cast 1Specifies a drawing command that moves the current drawing position to the x- and
y-coordinates specified in the data vector. This command produces the same effect as
the `Graphics.moveTo()` method, and uses one point in the data vector: (x,y).cast 0Represents the default "do nothing" command.cast 5Specifies a "line to" drawing command, but uses two sets of coordinates (four
values) instead of one set. This command allows you to switch between "line to"
and "curve to" commands without changing the number of data values used per command.
This command uses two sets in the data vector: one dummy location and one (x,y)
location.
The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of
parameters as does the `CURVE_TO` command.cast 4Specifies a "move to" drawing command, but uses two sets of coordinates (four
values) instead of one set. This command allows you to switch between "move to"
and "curve to" commands without changing the number of data values used per
command. This command uses two sets in the data vector: one dummy location and one
(x,y) location.
The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of
parameters as does the `CURVE_TO` command.The GraphicsPathWinding class provides values for the
`openfl.display.GraphicsPath.winding` property and the
`openfl.display.Graphics.drawPath()` method to determine the
direction to draw a path. A clockwise path is positively wound, and a
counter-clockwise path is negatively wound:

When paths intersect or overlap, the winding direction determines the
rules for filling the areas created by the intersection or overlap:
cast 0Establishes the even-odd winding type. The even-odd winding type is the rule
used by all of the original drawing API and is the default type for the
`openfl.display.Graphics.drawPath()` method. Any overlapping paths will
alternate between open and closed fills. If two squares drawn with the same
fill intersect, the area of the intersection is not filled. Adjacent areas are not
the same (neither both filled nor both unfilled).cast 1Establishes the non-zero winding type. The non-zero winding type determines that
when paths of opposite winding intersect, the intersection area is unfilled
(as with the even-odd winding type). For paths of the same winding, the
intersection area is filled.cast 0Establishes the even-odd winding type. The even-odd winding type is the rule
used by all of the original drawing API and is the default type for the
`openfl.display.Graphics.drawPath()` method. Any overlapping paths will
alternate between open and closed fills. If two squares drawn with the same
fill intersect, the area of the intersection is not filled. Adjacent areas are not
the same (neither both filled nor both unfilled).cast 1Establishes the non-zero winding type. The non-zero winding type determines that
when paths of opposite winding intersect, the intersection area is unfilled
(as with the even-odd winding type). For paths of the same winding, the
intersection area is filled.A Vector containing optional index values to reference the data contained in
`rects`. Each index is a rectangle index in the Vector, not an array index. If
this parameter is omitted, each index from `rects` will be used in order.A Vector containing rectangle coordinates in [ x0, y0, width0, height0, x1, y1 ... ]
format.A Vector containing optional transform data to adjust _x_, _y_, _a_, _b_, _c_ or _d_
value for the resulting quadrilateral. A `transforms` Vector that is double the size
of the draw count (the length of `indices`, or if omitted, the rectangle count in
`rects`) will be treated as [ x, y, ... ] pairs. A `transforms` Vector that is four
times the size of the draw count will be used as matrix [ a, b, c, d, ... ] values.
A `transforms` object which is six times the draw count in size will use full matrix
[ a, b, c, d, tx, ty, ... ] values per draw.
<__graphicsDataType set="null">
{ transforms : null, indices : null, rects : null }Creates a new GraphicsTrianglePath object.
@param rects A Vector containing rectangle coordinates in [ x0, y0, width0, height0, x1, y1 ... ]
format.
@param indices A Vector containing optional index values to reference the data contained in
`rects`
@param transforms A Vector containing optional transform data to adjust _x_, _y_, _a_, _b_, _c_ or _d_
value for the resulting quadrilateral.Defines a set of quadrilaterals. This is similar to using GraphicsPath `drawRect`
repeatedly, but each rectangle can use a transform value to rotate, scale or skew
the result.
Any type of fill can be used, but if the fill has a transform matrix
that transform matrix is ignored.
The optional `indices` parameter allows the use of either repeated
rectangle geometry, or allows the use of a subset of a broader rectangle
data Vector, such as Tileset `rectData`."tags=\"haxe,release\""A matrix object (of the openfl.geom.Matrix class), which you can use to
define transformations on the shader. For example, you can use the
following matrix to rotate a shader by 45 degrees (pi/4 radians):
```haxe
var matrix = new openfl.geom.Matrix();
matrix.rotate(Math.PI / 4);
```
The coordinates received in the shader are based on the matrix that is
specified for the `matrix` parameter. For a default (`null`) matrix,
the coordinates in the shader are local pixel coordinates which can be
used to sample an input.The shader to use for the fill. This Shader instance is not required
to specify an image input. However, if an image input is specified in
the shader, the input must be provided manually by setting the `input`
property of the corresponding ShaderInput property of the
`Shader.data` property.
When you pass a Shader instance as an argument the shader is copied
internally and the drawing fill operation uses that internal copy, not
a reference to the original shader. Any changes made to the shader,
such as changing a parameter value, input, or bytecode, are not
applied to the copied shader that's used for the fill.
<__graphicsDataType set="null">
<__graphicsFillType set="null">
{ matrix : null }Creates a new GraphicsShaderFill object.
@param shader The shader to use for the fill. This Shader instance is
not required to specify an image input. However, if an
image input is specified in the shader, the input must
be provided manually by setting the `input` property of
the corresponding ShaderInput property of the
`Shader.data` property.
@param matrix A matrix object (of the openfl.geom.Matrix class), which
you can use to define transformations on the shader.Defines a shader fill.
Use a GraphicsShaderFill object with the `Graphics.drawGraphicsData()`
method. Drawing a GraphicsShaderFill object is the equivalent of calling
the `Graphics.beginShaderFill()` method."tags=\"haxe,release\""Indicates the alpha transparency value of the fill. Valid values are 0
(fully transparent) to 1(fully opaque). The default value is 1. Display
objects with alpha set to 0 are active, even though they are invisible.The color of the fill. Valid values are in the hexadecimal format
0xRRGGBB. The default value is 0xFF0000(or the uint 0).
<__graphicsDataType set="null">
<__graphicsFillType set="null">
{ alpha : 1, color : 0 }Creates a new GraphicsSolidFill object.
@param color The color value. Valid values are in the hexadecimal format
0xRRGGBB.
@param alpha The alpha transparency value. Valid values are 0(fully
transparent) to 1(fully opaque).Defines a solid fill.
Use a GraphicsSolidFill object with the
`Graphics.drawGraphicsData()` method. Drawing a
GraphicsSolidFill object is the equivalent of calling the
`Graphics.beginFill()` method."tags=\"haxe,release\""Specifies the type of caps at the end of lines. Valid values are:
`CapsStyle.NONE`, `CapsStyle.ROUND`, and
`CapsStyle.SQUARE`. If a value is not indicated, Flash uses
round caps.
For example, the following illustrations show the different
`capsStyle` settings. For each setting, the illustration shows
a blue line with a thickness of 30(for which the `capsStyle`
applies), and a superimposed black line with a thickness of 1(for which
no `capsStyle` applies):Specifies the instance containing data for filling a stroke. An
IGraphicsFill instance can represent a series of fill commands.Specifies the type of joint appearance used at angles. Valid values are:
`JointStyle.BEVEL`, `JointStyle.MITER`, and
`JointStyle.ROUND`. If a value is not indicated, Flash uses
round joints.
For example, the following illustrations show the different
`joints` settings. For each setting, the illustration shows an
angled blue line with a thickness of 30(for which the
`jointStyle` applies), and a superimposed angled black line
with a thickness of 1(for which no `jointStyle` applies):
**Note:** For `joints` set to
`JointStyle.MITER`, you can use the `miterLimit`
parameter to limit the length of the miter.Indicates the limit at which a miter is cut off. Valid values range from 1
to 255(and values outside that range are rounded to 1 or 255). This value
is only used if the `jointStyle` is set to
`"miter"`. The `miterLimit` value represents the
length that a miter can extend beyond the point at which the lines meet to
form a joint. The value expresses a factor of the line
`thickness`. For example, with a `miterLimit` factor
of 2.5 and a `thickness` of 10 pixels, the miter is cut off at
25 pixels.
For example, consider the following angled lines, each drawn with a
`thickness` of 20, but with `miterLimit` set to 1,
2, and 4. Superimposed are black reference lines showing the meeting
points of the joints:
Notice that a given `miterLimit` value has a specific
maximum angle for which the miter is cut off. The following table lists
some examples:Specifies whether to hint strokes to full pixels. This affects both the
position of anchors of a curve and the line stroke size itself. With
`pixelHinting` set to `true`, Flash Player hints
line widths to full pixel widths. With `pixelHinting` set to
`false`, disjoints can appear for curves and straight lines.
For example, the following illustrations show how Flash Player renders two
rounded rectangles that are identical, except that the
`pixelHinting` parameter used in the `lineStyle()`
method is set differently(the images are scaled by 200%, to emphasize the
difference):Specifies the stroke thickness scaling. Valid values are:
* `LineScaleMode.NORMAL` - Always scale the line thickness
when the object is scaled(the default).
* `LineScaleMode.NONE` - Never scale the line thickness.
* `LineScaleMode.VERTICAL` - Do not scale the line
thickness if the object is scaled vertically _only_. For example,
consider the following circles, drawn with a one-pixel line, and each with
the `scaleMode` parameter set to
`LineScaleMode.VERTICAL`. The circle on the left is scaled
vertically only, and the circle on the right is scaled both vertically and
horizontally:
* `LineScaleMode.HORIZONTAL` - Do not scale the line
thickness if the object is scaled horizontally _only_. For example,
consider the following circles, drawn with a one-pixel line, and each with
the `scaleMode` parameter set to
`LineScaleMode.HORIZONTAL`. The circle on the left is scaled
horizontally only, and the circle on the right is scaled both vertically
and horizontally:Indicates the thickness of the line in points; valid values are 0-255. If
a number is not specified, or if the parameter is undefined, a line is not
drawn. If a value of less than 0 is passed, the default is 0. The value 0
indicates hairline thickness; the maximum thickness is 255. If a value
greater than 255 is passed, the default is 255.
<__graphicsDataType set="null">
{ fill : null, miterLimit : 3, joints : JointStyle.ROUND, caps : CapsStyle.NONE, scaleMode : LineScaleMode.NORMAL, pixelHinting : false, thickness : null }Creates a new GraphicsStroke object.
@param pixelHinting A Boolean value that specifies whether to hint strokes
to full pixels. This affects both the position of
anchors of a curve and the line stroke size itself.
With `pixelHinting` set to
`true`, Flash Player hints line widths to
full pixel widths. With `pixelHinting` set
to `false`, disjoints can appear for curves
and straight lines. For example, the following
illustrations show how Flash Player renders two
rounded rectangles that are identical, except that the
`pixelHinting` parameter used in the
`lineStyle()` method is set differently
(the images are scaled by 200%, to emphasize the
difference):
If a value is not supplied, the line does not use
pixel hinting.
@param scaleMode A value from the LineScaleMode class that specifies
which scale mode to use:
* `LineScaleMode.NORMAL` - Always
scale the line thickness when the object is scaled
(the default).
* `LineScaleMode.NONE` - Never scale
the line thickness.
* `LineScaleMode.VERTICAL` - Do not
scale the line thickness if the object is scaled
vertically _only_. For example, consider the
following circles, drawn with a one-pixel line, and
each with the `scaleMode` parameter set to
`LineScaleMode.VERTICAL`. The circle on the
left is scaled vertically only, and the circle on the
right is scaled both vertically and horizontally:
* `LineScaleMode.HORIZONTAL` - Do not
scale the line thickness if the object is scaled
horizontally _only_. For example, consider the
following circles, drawn with a one-pixel line, and
each with the `scaleMode` parameter set to
`LineScaleMode.HORIZONTAL`. The circle on
the left is scaled horizontally only, and the circle
on the right is scaled both vertically and
horizontally:
@param caps A value from the CapsStyle class that specifies the
type of caps at the end of lines. Valid values are:
`CapsStyle.NONE`,
`CapsStyle.ROUND`, and
`CapsStyle.SQUARE`. If a value is not
indicated, Flash uses round caps.
For example, the following illustrations show the
different `capsStyle` settings. For each
setting, the illustration shows a blue line with a
thickness of 30(for which the `capsStyle`
applies), and a superimposed black line with a
thickness of 1(for which no `capsStyle`
applies):
@param joints A value from the JointStyle class that specifies the
type of joint appearance used at angles. Valid values
are: `JointStyle.BEVEL`,
`JointStyle.MITER`, and
`JointStyle.ROUND`. If a value is not
indicated, Flash uses round joints.
For example, the following illustrations show the
different `joints` settings. For each
setting, the illustration shows an angled blue line
with a thickness of 30(for which the
`jointStyle` applies), and a superimposed
angled black line with a thickness of 1(for which no
`jointStyle` applies):
**Note:** For `joints` set to
`JointStyle.MITER`, you can use the
`miterLimit` parameter to limit the length
of the miter.Defines a line style or stroke.
Use a GraphicsStroke object with the
`Graphics.drawGraphicsData()` method. Drawing a GraphicsStroke
object is the equivalent of calling one of the methods of the Graphics
class that sets the line style, such as the
`Graphics.lineStyle()` method, the
`Graphics.lineBitmapStyle()` method, or the
`Graphics.lineGradientStyle()` method."tags=\"haxe,release\""Specifies whether to render triangles that face in a given direction.
Used to prevent the rendering of triangles that cannot be seen in the
current view.
Can be set to any value defined by the TriangleCulling class.A Vector of integers or indexes, where every three indexes define a
triangle. If the indexes parameter is null then every three vertices
(six x,y pairs in the vertices Vector) defines a triangle. Otherwise
each index refers to a vertex, which is a pair of numbers in the
vertices Vector. For example `indexes[1]` refers to (`vertices[2]`,
`vertices[3]`).A Vector of normalized coordinates used to apply texture mapping. Each
coordinate refers to a point on the bitmap used for the fill. There
must be one UV or one UVT coordinate per vertex.
In UV coordinates, (0,0) is the upper left of the bitmap, and (1,1) is
the lower right of the bitmap.
If the length of this vector is twice the length of the `vertices`
vector then normalized coordinates are used without perspective
correction.
If the length of this vector is three times the length of the
`vertices` vector then the third coordinate is interpreted as 't', the
distance from the eye to the texture in eye space. This helps the
rendering engine correctly apply perspective when mapping textures in
3D.A Vector of Numbers where each pair of numbers is treated as a point
(an x, y pair).
<__graphicsDataType set="null">
{ culling : NONE, uvtData : null, indices : null, vertices : null }Creates a new GraphicsTrianglePath object.
@param vertices A Vector of Numbers where each pair of numbers is treated as a point (an x, y pair).
Required.
@param indices A Vector of integers or indexes, where every three indexes define a triangle.
@param uvtData A Vector of normalized coordinates used to apply texture mapping.
@param culling Specifies whether to render triangles that face in a
given direction. Used to prevent the rendering of
triangles that cannot be seen in the current view. Can
be set to any value defined by the TriangleCulling
class.Defines an ordered set of triangles that can be rendered using either
(u,v) fill coordinates or a normal fill. Each triangle in the path is
represented by three sets of (x, y) coordinates, each of which is one
point of the triangle.
The triangle vertices do not contain z coordinates and do not necessarily
represent 3D faces. However a triangle path can be used to support the
rendering of 3D geometry in a 2D space."tags=\"haxe,release\""Returns the number of tiles of this object.Adds a Tile instance to this ITileContainer instance. The tile is
added to the front (top) of all other tiles in this ITileContainer
instance. (To add a tile to a specific index position, use the `addTileAt()`
method.)
@param tile The Tile instance to add to this ITileContainer instance.
@return The Tile instance that you pass in the `tile` parameter.Adds a Tile instance to this ITileContainer instance. The tile is added
at the index position specified. An index of 0 represents the back (bottom)
of the rendered list for this ITileContainer object.
For example, the following example shows three tiles, labeled
a, b, and c, at index positions 0, 2, and 1, respectively:

@param tile The Tile instance to add to this ITileContainer instance.
@param index The index position to which the tile is added. If you
specify a currently occupied index position, the tile object
that exists at that position and all higher positions are
moved up one position in the tile list.
@return The Tile instance that you pass in the `tile` parameter.Adds an Array of Tile instances to this ITileContainer instance. The tiles
are added to the front (top) of all other tiles in this ITileContainer
instance.
@param tiles The Tile instances to add to this ITileContainer instance.
@return The Tile Array that you pass in the `tiles` parameter.Determines whether the specified tile is contained within the
ITileContainer instance. The search includes the entire tile list including
this ITileContainer instance. Grandchildren, great-grandchildren, and so on
each return `true`.
@param tile The tile object to test.
@return `true` if the `tile` object is contained within the ITileContainer;
otherwise `false`.Returns the tile instance that exists at the specified index.
@param index The index position of the tile object.
@return The tile object at the specified index position.Returns the index position of a contained Tile instance.
@param child The Tile instance to identify.
@return The index position of the tile object to identify.Removes the specified Tile instance from the tile list of the ITileContainer
instance. The index positions of any tile objects above the tile in the
ITileContainer are decreased by 1.
@param tile The Tile instance to remove.
@return The Tile instance that you pass in the `tile` parameter.Removes a Tile from the specified `index` position in the tile list of the
ITileContainer. The index positions of any tile objects above the tile in
the ITileContainer are decreased by 1.
@param index The index of the Tile to remove.
@return The Tile instance that was removed.{ endIndex : 0x7fffffff, beginIndex : 0 }Removes all Tile instances from the tile list of the ITileContainer instance.
@param beginIndex The beginning position.
@param endIndex The ending position.Changes the position of an existing tile in the tile container.
This affects the layering of tile objects. For example, the following
example shows three tile objects, labeled a, b, and c, at index
positions 0, 1, and 2, respectively:

When you use the `setTileIndex()` method and specify an
index position that is already occupied, the only positions that change
are those in between the tile object's former and new position. All
others will stay the same. If a tile is moved to an index LOWER than its
current index, all tiles in between will INCREASE by 1 for their index
reference. If a tile is moved to an index HIGHER than its current index,
all tiles in between will DECREASE by 1 for their index reference. For
example, if the tile container in the previous example is named
`container`, you can swap the position of the tile objects
labeled a and b by calling the following code:
```haxe
container.setTileIndex(container.getTileAt(1), 0);
```
This code results in the following arrangement of objects:

@param tile The Tile instance for which you want to change the index
number.
@param index The resulting index number for the `tile` object.Sorts the z-order (front-to-back order) of all the tile objects in this
container based on a comparison function.
A comparison function should take two arguments to compare. Given the elements
A and B, the result of `compareFunction` can have a negative, 0, or positive value:
* A negative return value specifies that A appears before B in the sorted sequence.
* A return value of 0 specifies that A and B have the same sort order.
* A positive return value specifies that A appears after B in the sorted sequence.
The sort operation is not guaranteed to be stable, which means that the
order of equal elements may not be retained.
@param compareFunction A comparison function to use when sorting.Swaps the z-order (front-to-back order) of the two specified tile
objects. All other tile objects in the tile container remain in
the same index positions.
@param child1 The first tile object.
@param child2 The second tile object.Swaps the z-order (front-to-back order) of the tile objects at the two
specified index positions in the tile list. All other tile objects in
the tile container remain in the same index positions.
@param index1 The index position of the first tile object.
@param index2 The index position of the second tile object.ITileContainer is an interface implemented by compatible tile container
objects, including the Tilemap and TileContainer classes.The InterpolationMethod class provides values for the
`interpolationMethod` parameter in the
`Graphics.beginGradientFill()` and
`Graphics.lineGradientStyle()` methods. This parameter
determines the RGB space to use when rendering the gradient.cast 0Specifies that the RGB interpolation method should be used. This means
that the gradient is rendered with exponential sRGB(standard RGB) space.
The sRGB space is a W3C-endorsed standard that defines a non-linear
conversion between red, green, and blue component values and the actual
intensity of the visible component color.
For example, consider a simple linear gradient between two colors(with
the `spreadMethod` parameter set to
`SpreadMethod.REFLECT`). The different interpolation methods
affect the appearance as follows:cast 1Specifies that the RGB interpolation method should be used. This means
that the gradient is rendered with exponential sRGB(standard RGB) space.
The sRGB space is a W3C-endorsed standard that defines a non-linear
conversion between red, green, and blue component values and the actual
intensity of the visible component color.
For example, consider a simple linear gradient between two colors(with
the `spreadMethod` parameter set to
`SpreadMethod.REFLECT`). The different interpolation methods
affect the appearance as follows:cast 0Specifies that the RGB interpolation method should be used. This means
that the gradient is rendered with exponential sRGB(standard RGB) space.
The sRGB space is a W3C-endorsed standard that defines a non-linear
conversion between red, green, and blue component values and the actual
intensity of the visible component color.
For example, consider a simple linear gradient between two colors(with
the `spreadMethod` parameter set to
`SpreadMethod.REFLECT`). The different interpolation methods
affect the appearance as follows:cast 1Specifies that the RGB interpolation method should be used. This means
that the gradient is rendered with exponential sRGB(standard RGB) space.
The sRGB space is a W3C-endorsed standard that defines a non-linear
conversion between red, green, and blue component values and the actual
intensity of the visible component color.
For example, consider a simple linear gradient between two colors(with
the `spreadMethod` parameter set to
`SpreadMethod.REFLECT`). The different interpolation methods
affect the appearance as follows:A value between 1 and 100, where 1 means the lowest quality and 100 means the
highest quality. The higher the value, the larger the size of the output of the
compression, and the smaller the compression ratio.{ quality : 80 }Creates a JPEGEncoderOptions object with the specified setting.
@param quality The initial quality value.The JPEGEncoderOptions class defines a compression algorithm for the
`openfl.display.BitmapData.encode()` method."tags=\"haxe,release\""The JointStyle class is an enumeration of constant values that specify the
joint style to use in drawing lines. These constants are provided for use
as values in the `joints` parameter of the
`openfl.display.Graphics.lineStyle()` method. The method supports
three types of joints: miter, round, and bevel, as the following example
shows:cast 0Specifies beveled joints in the `joints` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 1Specifies mitered joints in the `joints` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 2Specifies round joints in the `joints` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 0Specifies beveled joints in the `joints` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 1Specifies mitered joints in the `joints` parameter of the
`openfl.display.Graphics.lineStyle()` method.cast 2Specifies round joints in the `joints` parameter of the
`openfl.display.Graphics.lineStyle()` method.The LineScaleMode class provides values for the `scaleMode`
parameter in the `Graphics.lineStyle()` method.cast 0With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line scales
_only_ vertically. For example, consider the following circles, drawn
with a one-pixel line, and each with the `scaleMode` parameter
set to `LineScaleMode.VERTICAL`. The circle on the left is
scaled only vertically, and the circle on the right is scaled both
vertically and horizontally.cast 1With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line never scales.cast 2With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line always scales
when the object is scaled(the default).cast 3With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line scales
_only_ horizontally. For example, consider the following circles,
drawn with a one-pixel line, and each with the `scaleMode`
parameter set to `LineScaleMode.HORIZONTAL`. The circle on the
left is scaled only horizontally, and the circle on the right is scaled
both vertically and horizontally.cast 0With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line scales
_only_ vertically. For example, consider the following circles, drawn
with a one-pixel line, and each with the `scaleMode` parameter
set to `LineScaleMode.VERTICAL`. The circle on the left is
scaled only vertically, and the circle on the right is scaled both
vertically and horizontally.cast 1With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line never scales.cast 2With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line always scales
when the object is scaled(the default).cast 3With this setting used as the `scaleMode` parameter of the
`lineStyle()` method, the thickness of the line scales
_only_ horizontally. For example, consider the following circles,
drawn with a one-pixel line, and each with the `scaleMode`
parameter set to `LineScaleMode.HORIZONTAL`. The circle on the
left is scaled only horizontally, and the circle on the right is scaled
both vertically and horizontally.Contains the root display object of the SWF file or image(JPG, PNG, or
GIF) file that was loaded by using the `load()` or
`loadBytes()` methods.
@throws SecurityError The loaded SWF file or image file belongs to a
security sandbox to which you do not have access.
For a loaded SWF file, you can avoid this situation
by having the file call the
`Security.allowDomain()` method or by
having the loading file specify a
`loaderContext` parameter with its
`securityDomain` property set to
`SecurityDomain.currentDomain` when you
call the `load()` or
`loadBytes()` method.Returns a LoaderInfo object corresponding to the object being loaded.
LoaderInfo objects are shared between the Loader object and the loaded
content object. The LoaderInfo object supplies loading progress
information and statistics about the loaded file.
Events related to the load are dispatched by the LoaderInfo object
referenced by the `contentLoaderInfo` property of the Loader
object. The `contentLoaderInfo` property is set to a valid
LoaderInfo object, even before the content is loaded, so that you can add
event listeners to the object prior to the load.
To detect uncaught errors that happen in a loaded SWF, use the
`Loader.uncaughtErrorEvents` property, not the
`Loader.contentLoaderInfo.uncaughtErrorEvents` property.An object that dispatches an uncaughtError event when an unhandled error occurs in
the SWF that's loaded by this Loader object. An uncaught error happens when an
error is thrown outside of any `try..catch` blocks or when an ErrorEvent object is
dispatched with no registered listeners.
Note that a Loader object's `uncaughtErrorEvents` property dispatches events that
bubble through it, not events that it dispatches directly. It never dispatches an
`uncaughtErrorEvent` in the target phase. It only dispatches the event in the
capture and bubbling phases. To detect an uncaught error in the current SWF (the
SWF in which the Loader object is defined) use the `LoaderInfo.uncaughtErrorEvents`
property instead.
If the content loaded by the Loader object is an AVM1 (ActionScript 2) SWF file,
uncaught errors in the AVM1 SWF file do not result in an `uncaughtError` event.
<__library>
<__path>
<__unloaded>
Cancels a `load()` method operation that is currently in
progress for the Loader instance.{ context : null }Loads a SWF, JPEG, progressive JPEG, unanimated GIF, or PNG file into an
object that is a child of this Loader object. If you load an animated GIF
file, only the first frame is displayed. As the Loader object can contain
only a single child, issuing a subsequent `load()` request
terminates the previous request, if still pending, and commences a new
load.
**Note**: In AIR 1.5 and Flash Player 10, the maximum size for a
loaded image is 8,191 pixels in width or height, and the total number of
pixels cannot exceed 16,777,215 pixels.(So, if an loaded image is 8,191
pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and
earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height
and 2,880 pixels in width.
A SWF file or image loaded into a Loader object inherits the position,
rotation, and scale properties of the parent display objects of the Loader
object.
Use the `unload()` method to remove movies or images loaded
with this method, or to cancel a load operation that is in progress.
You can prevent a SWF file from using this method by setting the
`allowNetworking` parameter of the the `object` and
`embed` tags in the HTML page that contains the SWF
content.
When you use this method, consider the Flash Player security model,
which is described in the Loader class description.
In Flash Player 10 and later, if you use a multipart Content-Type(for
example "multipart/form-data") that contains an upload(indicated by a
"filename" parameter in a "content-disposition" header within the POST
body), the POST operation is subject to the security rules applied to
uploads:
* The POST operation must be performed in response to a user-initiated
action, such as a mouse click or key press.
* If the POST operation is cross-domain(the POST target is not on the
same server as the SWF file that is sending the POST request), the target
server must provide a URL policy file that permits cross-domain
access.
Also, for any multipart Content-Type, the syntax must be valid
(according to the RFC2046 standard). If the syntax appears to be invalid,
the POST operation is subject to the security rules applied to
uploads.
For more information related to security, see the Flash Player
Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@param request The absolute or relative URL of the SWF, JPEG, GIF, or PNG
file to be loaded. A relative path must be relative to the
main SWF file. Absolute URLs must include the protocol
reference, such as http:// or file:///. Filenames cannot
include disk drive specifications.
@param context A LoaderContext object, which has properties that define
the following:
* Whether or not to check for the existence of a policy
file upon loading the object
* The ApplicationDomain for the loaded object
* The SecurityDomain for the loaded object
* The ImageDecodingPolicy for the loaded image
object
If the `context` parameter is not specified
or refers to a null object, the loaded content remains in
its own security domain.
For complete details, see the description of the
properties in the [LoaderContext](../system/LoaderContext.html)
class.
@throws IOError The `digest` property of the
`request` object is not
`null`. You should only set the
`digest` property of a URLRequest
object when calling the
`URLLoader.load()` method when
loading a SWZ file(an Adobe platform
component).
@throws IllegalOperationError If the `requestedContentParent`
property of the `context`
parameter is a `Loader`.
@throws IllegalOperationError If the `LoaderContext.parameters`
parameter is set to non-null and has some
values which are not Strings.
@throws SecurityError The value of
`LoaderContext.securityDomain`
must be either `null` or
`SecurityDomain.currentDomain`.
This reflects the fact that you can only
place the loaded media in its natural
security sandbox or your own(the latter
requires a policy file).
@throws SecurityError Local SWF files may not set
LoaderContext.securityDomain to anything
other than `null`. It is not
permitted to import non-local media into a
local sandbox, or to place other local media
in anything other than its natural sandbox.
@throws SecurityError You cannot connect to commonly reserved
ports. For a complete list of blocked ports,
see "Restricting Networking APIs" in the
_ActionScript 3.0 Developer's Guide_.
@throws SecurityError If the `applicationDomain` or
`securityDomain` properties of
the `context` parameter are from
a disallowed domain.
@throws SecurityError If a local SWF file is attempting to use the
`securityDomain` property of the
`context` parameter.
@event asyncError Dispatched by the `contentLoaderInfo`
object if the
`LoaderContext.requestedContentParent`
property has been specified and it is not possible to
add the loaded content as a child to the specified
DisplayObjectContainer. This could happen if the
loaded content is a
`openfl.display.AVM1Movie` or if the
`addChild()` call to the
requestedContentParent throws an error.
@event complete Dispatched by the `contentLoaderInfo`
object when the file has completed loading. The
`complete` event is always dispatched
after the `init` event.
@event httpStatus Dispatched by the `contentLoaderInfo`
object when a network request is made over HTTP and
Flash Player can detect the HTTP status code.
@event init Dispatched by the `contentLoaderInfo`
object when the properties and methods of the loaded
SWF file are accessible. The `init` event
always precedes the `complete` event.
@event ioError Dispatched by the `contentLoaderInfo`
object when an input or output error occurs that
causes a load operation to fail.
@event open Dispatched by the `contentLoaderInfo`
object when the loading operation starts.
@event progress Dispatched by the `contentLoaderInfo`
object as data is received while load operation
progresses.
@event securityError Dispatched by the `contentLoaderInfo`
object if a SWF file in the local-with-filesystem
sandbox attempts to load content in the
local-with-networking sandbox, or vice versa.
@event securityError Dispatched by the `contentLoaderInfo`
object if the
`LoaderContext.requestedContentParent`
property has been specified and the security sandbox
of the
`LoaderContext.requestedContentParent`
does not have access to the loaded SWF.
@event unload Dispatched by the `contentLoaderInfo`
object when a loaded object is removed.{ context : null }Loads from binary data stored in a ByteArray object.
The `loadBytes()` method is asynchronous. You must wait for
the "init" event before accessing the properties of a loaded object.
When you use this method, consider the Flash Player security model,
which is described in the Loader class description.
@param bytes A ByteArray object. The contents of the ByteArray can be
any of the file formats supported by the Loader class: SWF,
GIF, JPEG, or PNG.
@param context A LoaderContext object. Only the
`applicationDomain` property of the
LoaderContext object applies; the
`checkPolicyFile` and
`securityDomain` properties of the LoaderContext
object do not apply.
If the `context` parameter is not specified
or refers to a null object, the content is loaded into the
current security domain - a process referred to as "import
loading" in Flash Player security documentation.
Specifically, if the loading SWF file trusts the remote SWF
by incorporating the remote SWF into its code, then the
loading SWF can import it directly into its own security
domain.
For more information related to security, see the Flash
Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@throws ArgumentError If the `length` property of the
ByteArray object is not greater than 0.
@throws IllegalOperationError If the `checkPolicyFile` or
`securityDomain` property of the
`context` parameter are non-null.
@throws IllegalOperationError If the `requestedContentParent`
property of the `context`
parameter is a `Loader`.
@throws IllegalOperationError If the `LoaderContext.parameters`
parameter is set to non-null and has some
values which are not Strings.
@throws SecurityError If the provided
`applicationDomain` property of
the `context` property is from a
disallowed domain.
@throws SecurityError You cannot connect to commonly reserved
ports. For a complete list of blocked ports,
see "Restricting Networking APIs" in the
_ActionScript 3.0 Developer's Guide_.
@event asyncError Dispatched by the `contentLoaderInfo`
object if the
`LoaderContext.requestedContentParent`
property has been specified and it is not possible to
add the loaded content as a child to the specified
DisplayObjectContainer. This could happen if the
loaded content is a
`openfl.display.AVM1Movie` or if the
`addChild()` call to the
requestedContentParent throws an error.
@event complete Dispatched by the `contentLoaderInfo`
object when the operation is complete. The
`complete` event is always dispatched
after the `init` event.
@event init Dispatched by the `contentLoaderInfo`
object when the properties and methods of the loaded
data are accessible. The `init` event
always precedes the `complete` event.
@event ioError Dispatched by the `contentLoaderInfo`
object when the runtime cannot parse the data in the
byte array.
@event open Dispatched by the `contentLoaderInfo`
object when the operation starts.
@event progress Dispatched by the `contentLoaderInfo`
object as data is transfered in memory.
@event securityError Dispatched by the `contentLoaderInfo`
object if the
`LoaderContext.requestedContentParent`
property has been specified and the security sandbox
of the
`LoaderContext.requestedContentParent`
does not have access to the loaded SWF.
@event unload Dispatched by the `contentLoaderInfo`
object when a loaded object is removed.Removes a child of this Loader object that was loaded by using the
`load()` method. The `property` of the associated
LoaderInfo object is reset to `null`. The child is not
necessarily destroyed because other objects might have references to it;
however, it is no longer a child of the Loader object.
As a best practice, before you unload a child SWF file, you should
explicitly close any streams in the child SWF file's objects, such as
LocalConnection, NetConnection, NetStream, and Sound objects. Otherwise,
audio in the child SWF file might continue to play, even though the child
SWF file was unloaded. To close streams in the child SWF file, add an
event listener to the child that listens for the `unload`
event. When the parent calls `Loader.unload()`, the
`unload` event is dispatched to the child. The following code
shows how you might do this:
```
function closeAllStreams(evt:Event) {
myNetStream.close();
mySound.close();
myNetConnection.close();
myLocalConnection.close();
}
myMovieClip.loaderInfo.addEventListener(Event.UNLOAD,
closeAllStreams);
```{ gc : true }Attempts to unload child SWF file contents and stops the execution of
commands from loaded SWF files. This method attempts to unload SWF files
that were loaded using `Loader.load()` or
`Loader.loadBytes()` by removing references to EventDispatcher,
NetConnection, Timer, Sound, or Video objects of the child SWF file. As a
result, the following occurs for the child SWF file and the child SWF
file's display list:
* Sounds are stopped.
* Stage event listeners are removed.
* Event listeners for `enterFrame`,
`frameConstructed`, `exitFrame`,
`activate` and `deactivate` are removed.
* Timers are stopped.
* Camera and Microphone instances are detached
* Movie clips are stopped.
@param gc Provides a hint to the garbage collector to run on the child SWF
objects(`true`) or not(`false`). If you
are unloading many objects asynchronously, setting the
`gc` paramter to `false` might improve
application performance. However, if the parameter is set to
`false`, media and display objects of the child SWF
file might persist in memory after running the
`unloadAndStop()` command.
<__dispatchError set="method" line="705">
<__setContent set="method" line="712">
"checkstyle:Dynamic"Creates a Loader object that you can use to load files, such as SWF, JPEG,
GIF, or PNG files. Call the `load()` method to load the asset
as a child of the Loader instance. You can then add the Loader object to
the display list(for instance, by using the `addChild()`
method of a DisplayObjectContainer instance). The asset appears on the
Stage as it loads.
You can also use a Loader instance "offlist," that is without adding it
to a display object container on the display list. In this mode, the
Loader instance might be used to load a SWF file that contains additional
modules of an application.
To detect when the SWF file is finished loading, you can use the events
of the LoaderInfo object associated with the
`contentLoaderInfo` property of the Loader object. At that
point, the code in the module SWF file can be executed to initialize and
start the module. In the offlist mode, a Loader instance might also be
used to load a SWF file that contains components or media assets. Again,
you can use the LoaderInfo object event notifications to detect when the
components are finished loading. At that point, the application can start
using the components and media assets in the library of the SWF file by
instantiating the ActionScript 3.0 classes that represent those components
and assets.
To determine the status of a Loader object, monitor the following
events that the LoaderInfo object associated with the
`contentLoaderInfo` property of the Loader object:
* The `open` event is dispatched when loading begins.
* The `ioError` or `securityError` event is
dispatched if the file cannot be loaded or if an error occured during the
load process.
* The `progress` event fires continuously while the file is
being loaded.
* The `complete` event is dispatched when a file completes
downloading, but before the loaded movie clip's methods and properties are
available.
* The `init` event is dispatched after the properties and
methods of the loaded SWF file are accessible, so you can begin
manipulating the loaded SWF file. This event is dispatched before the
`complete` handler. In streaming SWF files, the
`init` event can occur significantly earlier than the
`complete` event. For most purposes, use the `init`
handler.The Loader class is used to load SWF files or image (JPG, PNG, or GIF)
files. Use the `load()` method to initiate loading. The loaded
display object is added as a child of the Loader object.
Use the URLLoader class to load text or binary data.
The Loader class overrides the following methods that it inherits,
because a Loader object can only have one child display object - the
display object that it loads. Calling the following methods throws an
exception: `addChild()`, `addChildAt()`,
`removeChild()`, `removeChildAt()`, and
`setChildIndex()`. To remove a loaded display object, you must
remove the _Loader_ object from its parent DisplayObjectContainer
child array.
**Note:** The ActionScript 2.0 MovieClipLoader and LoadVars classes
are not used in ActionScript 3.0. The Loader and URLLoader classes replace
them.
When you use the Loader class, consider the Flash Player and Adobe AIR
security model:
* You can load content from any accessible source.
* Loading is not allowed if the calling SWF file is in a network
sandbox and the file to be loaded is local.
* If the loaded content is a SWF file written with ActionScript 3.0, it
cannot be cross-scripted by a SWF file in another security sandbox unless
that cross-scripting arrangement was approved through a call to the
`System.allowDomain()` or the
`System.allowInsecureDomain()` method in the loaded content
file.
* If the loaded content is an AVM1 SWF file(written using ActionScript
1.0 or 2.0), it cannot be cross-scripted by an AVM2 SWF file(written using
ActionScript 3.0). However, you can communicate between the two SWF files
by using the LocalConnection class.
* If the loaded content is an image, its data cannot be accessed by a
SWF file outside of the security sandbox, unless the domain of that SWF
file was included in a URL policy file at the origin domain of the
image.
* Movie clips in the local-with-file-system sandbox cannot script movie
clips in the local-with-networking sandbox, and the reverse is also
prevented.
* You cannot connect to commonly reserved ports. For a complete list of
blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0
Developer's Guide_.
However, in AIR, content in the `application` security
sandbox(content installed with the AIR application) are not restricted by
these security limitations.
For more information related to security, see the Flash Player Developer
Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
When loading a SWF file from an untrusted source(such as a domain other
than that of the Loader object's root SWF file), you may want to define a
mask for the Loader object, to prevent the loaded content(which is a child
of the Loader object) from drawing to portions of the Stage outside of that
mask, as shown in the following code:"tags=\"haxe,release\""openfl.display.LoaderInfoopenfl.events.Event
<__rootURL expr="""" line="114" static="1">
""hide"checkstyle:FieldDocComment"When an external SWF file is loaded, all ActionScript 3.0 definitions
contained in the loaded class are stored in the
`applicationDomain` property.
All code in a SWF file is defined to exist in an application domain.
The current application domain is where your main application runs. The
system domain contains all application domains, including the current
domain and all classes used by Flash Player or Adobe AIR.
All application domains, except the system domain, have an associated
parent domain. The parent domain of your main application's
`applicationDomain` is the system domain. Loaded classes are
defined only when their parent doesn't already define them. You cannot
override a loaded class definition with a newer definition.
For usage examples of application domains, see the "Client System
Environment" chapter in the _ActionScript 3.0 Developer's Guide_.
@throws SecurityError This security sandbox of the caller is not allowed
to access this ApplicationDomain.The bytes associated with a LoaderInfo object.
@throws SecurityError If the object accessing this API is prevented from
accessing the loaded object due to security
restrictions. This situation can occur, for
instance, when a Loader object attempts to access
the `contentLoaderInfo.content` property
and it is not granted security permission to access
the loaded content.
For more information related to security, see the
Flash Player Developer Center Topic:
[Security](http://www.adobe.com/go/devnet_security_en).The number of bytes that are loaded for the media. When this number equals
the value of `bytesTotal`, all of the bytes are loaded.The number of compressed bytes in the entire media file.
Before the first `progress` event is dispatched by this
LoaderInfo object's corresponding Loader object, `bytesTotal`
is 0. After the first `progress` event from the Loader object,
`bytesTotal` reflects the actual number of bytes to be
downloaded.Expresses the trust relationship from content(child) to the Loader
(parent). If the child has allowed the parent access, `true`;
otherwise, `false`. This property is set to `true`
if the child object has called the `allowDomain()` method to
grant permission to the parent domain or if a URL policy is loaded at the
child domain that grants permission to the parent domain. If child and
parent are in the same domain, this property is set to `true`.
For more information related to security, see the Flash Player
Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@throws Error Thrown if the file is not downloaded sufficiently to
retrieve the requested information.The loaded object associated with this LoaderInfo object.
@throws SecurityError If the object accessing this API is prevented from
accessing the loaded object due to security
restrictions. This situation can occur, for
instance, when a Loader object attempts to access
the `contentLoaderInfo.content` property
and it is not granted security permission to access
the loaded content.
For more information related to security, see the
Flash Player Developer Center Topic:
[Security](http://www.adobe.com/go/devnet_security_en).The MIME type of the loaded file. The value is `null` if not
enough of the file has loaded in order to determine the type. The
following list gives the possible values:
* `"application/x-shockwave-flash"`
* `"image/jpeg"`
* `"image/gif"`
* `"image/png"`The nominal frame rate, in frames per second, of the loaded SWF file. This
number is often an integer, but need not be.
This value may differ from the actual frame rate in use. Flash Player
or Adobe AIR only uses a single frame rate for all loaded SWF files at any
one time, and this frame rate is determined by the nominal frame rate of
the main SWF file. Also, the main frame rate may not be able to be
achieved, depending on hardware, sound synchronization, and other
factors.
@throws Error If the file is not downloaded sufficiently to retrieve the
requested information.
@throws Error If the file is not a SWF file.The nominal height of the loaded file. This value might differ from the
actual height at which the content is displayed, since the loaded content
or its parent display objects might be scaled.
@throws Error If the file is not downloaded sufficiently to retrieve the
requested information.The Loader object associated with this LoaderInfo object. If this
LoaderInfo object is the `loaderInfo` property of the instance
of the main class of the SWF file, no Loader object is associated.
@throws SecurityError If the object accessing this API is prevented from
accessing the Loader object because of security
restrictions. This can occur, for instance, when a
loaded SWF file attempts to access its
`loaderInfo.loader` property and it is
not granted security permission to access the
loading SWF file.
For more information related to security, see the
Flash Player Developer Center Topic:
[Security](http://www.adobe.com/go/devnet_security_en).The URL of the SWF file that initiated the loading of the media described
by this LoaderInfo object. For the instance of the main class of the SWF
file, this URL is the same as the SWF file's own URL."checkstyle:Dynamic"An object that contains name-value pairs that represent the parameters
provided to the loaded SWF file.
You can use a `for-in` loop to extract all the names and
values from the `parameters` object.
The two sources of parameters are: the query string in the URL of the
main SWF file, and the value of the `FlashVars` HTML parameter
(this affects only the main SWF file).
The `parameters` property replaces the ActionScript 1.0 and
2.0 technique of providing SWF file parameters as properties of the main
timeline.
The value of the `parameters` property is null for Loader
objects that contain SWF files that use ActionScript 1.0 or 2.0. It is
only non-null for Loader objects that contain SWF files that use
ActionScript 3.0.Expresses the trust relationship from Loader(parent) to the content
(child). If the parent has allowed the child access, `true`;
otherwise, `false`. This property is set to `true`
if the parent object called the `allowDomain()` method to grant
permission to the child domain or if a URL policy file is loaded at the
parent domain granting permission to the child domain. If child and parent
are in the same domain, this property is set to `true`.
For more information related to security, see the Flash Player
Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@throws Error Thrown if the file is not downloaded sufficiently to
retrieve the requested information.Expresses the domain relationship between the loader and the content:
`true` if they have the same origin domain; `false`
otherwise.
@throws Error Thrown if the file is not downloaded sufficiently to
retrieve the requested information.An EventDispatcher instance that can be used to exchange events across
security boundaries. Even when the Loader object and the loaded content
originate from security domains that do not trust one another, both can
access `sharedEvents` and send and receive events via this
object.An object that dispatches an `uncaughtError` event when an
unhandled error occurs in code in this LoaderInfo object's SWF file. An
uncaught error happens when an error is thrown outside of any
`try..catch` blocks or when an ErrorEvent object is dispatched
with no registered listeners.
This property is created when the SWF associated with this LoaderInfo
has finished loading. Until then the `uncaughtErrorEvents`
property is `null`. In an ActionScript-only project, you can
access this property during or after the execution of the constructor
function of the main class of the SWF file. For a Flex project, the
`uncaughtErrorEvents` property is available after the
`applicationComplete` event is dispatched.The URL of the media being loaded.
Before the first `progress` event is dispatched by this
LoaderInfo object's corresponding Loader object, the value of the
`url` property might reflect only the initial URL specified in
the call to the `load()` method of the Loader object. After the
first `progress` event, the `url` property reflects
the media's final URL, after any redirects and relative URLs are
resolved.
In some cases, the value of the `url` property is truncated;
see the `isURLInaccessible` property for details.The nominal width of the loaded content. This value might differ from the
actual width at which the content is displayed, since the loaded content
or its parent display objects might be scaled.
@throws Error If the file is not downloaded sufficiently to retrieve the
requested information.
<__completed>
<__complete set="method" line="419">
<__update set="method" line="435">
The LoaderInfo class provides information about a loaded SWF file or a
loaded image file(JPEG, GIF, or PNG). LoaderInfo objects are available for
any display object. The information provided includes load progress, the
URLs of the loader and loaded content, the number of bytes total for the
media, and the nominal height and width of the media.
You can access LoaderInfo objects in two ways:
* The `contentLoaderInfo` property of a openfl.display.Loader
object - The `contentLoaderInfo` property is always available
for any Loader object. For a Loader object that has not called the
`load()` or `loadBytes()` method, or that has not
sufficiently loaded, attempting to access many of the properties of the
`contentLoaderInfo` property throws an error.
* The `loaderInfo` property of a display object.
The `contentLoaderInfo` property of a Loader object provides
information about the content that the Loader object is loading, whereas
the `loaderInfo` property of a DisplayObject provides
information about the root SWF file for that display object.
When you use a Loader object to load a display object(such as a SWF
file or a bitmap), the `loaderInfo` property of the display
object is the same as the `contentLoaderInfo` property of the
Loader object(`DisplayObject.loaderInfo =
Loader.contentLoaderInfo`). Because the instance of the main class of
the SWF file has no Loader object, the `loaderInfo` property is
the only way to access the LoaderInfo for the instance of the main class of
the SWF file.
The following diagram shows the different uses of the LoaderInfo
object - for the instance of the main class of the SWF file, for the
`contentLoaderInfo` property of a Loader object, and for the
`loaderInfo` property of a loaded object:
When a loading operation is not complete, some properties of the
`contentLoaderInfo` property of a Loader object are not
available. You can obtain some properties, such as
`bytesLoaded`, `bytesTotal`, `url`,
`loaderURL`, and `applicationDomain`. When the
`loaderInfo` object dispatches the `init` event, you
can access all properties of the `loaderInfo` object and the
loaded image or SWF file.
**Note:** All properties of LoaderInfo objects are read-only.
The `EventDispatcher.dispatchEvent()` method is not
applicable to LoaderInfo objects. If you call `dispatchEvent()`
on a LoaderInfo object, an IllegalOperationError exception is thrown.
@event complete Dispatched when data has loaded successfully. In other
words, it is dispatched when all the content has been
downloaded and the loading has finished. The
`complete` event is always dispatched after
the `init` event. The `init` event
is dispatched when the object is ready to access, though
the content may still be downloading.
@event httpStatus Dispatched when a network request is made over HTTP and
an HTTP status code can be detected.
@event init Dispatched when the properties and methods of a loaded
SWF file are accessible and ready for use. The content,
however, can still be downloading. A LoaderInfo object
dispatches the `init` event when the following
conditions exist:
* All properties and methods associated with the
loaded object and those associated with the LoaderInfo
object are accessible.
* The constructors for all child objects have
completed.
* All ActionScript code in the first frame of the
loaded SWF's main timeline has been executed.
For example, an `Event.INIT` is dispatched
when the first frame of a movie or animation is loaded.
The movie is then accessible and can be added to the
display list. The complete movie, however, can take
longer to download. The `Event.COMPLETE` is
only dispatched once the full movie is loaded.
The `init` event always precedes the
`complete` event.
@event ioError Dispatched when an input or output error occurs that
causes a load operation to fail.
@event open Dispatched when a load operation starts.
@event progress Dispatched when data is received as the download
operation progresses.
@event unload Dispatched by a LoaderInfo object whenever a loaded
object is removed by using the `unload()`
method of the Loader object, or when a second load is
performed by the same Loader object and the original
content is removed prior to the load beginning."tags=\"haxe,release\""Creates a new MovieClip based upon a Timeline instance.
@param timeline A Timeline object
@return A new SpriteSpecifies the number of the frame in which the playhead is located in the
timeline of the MovieClip instance. If the movie clip has multiple scenes,
this value is the frame number in the current scene.The label at the current frame in the timeline of the MovieClip instance.
If the current frame has no label, `currentLabel` is
`null`.The current label in which the playhead is located in the timeline of the
MovieClip instance. If the current frame has no label,
`currentLabel` is set to the name of the previous frame that
includes a label. If the current frame and previous frames do not include
a label, `currentLabel` returns `null`.Returns an array of FrameLabel objects from the current scene. If the
MovieClip instance does not use scenes, the array includes all frame
labels from the entire MovieClip instance.The current scene in which the playhead is located in the timeline of
the MovieClip instance.A Boolean value that indicates whether a movie clip is enabled. The
default value of `enabled` is `true`. If
`enabled` is set to `false`, the movie clip's Over,
Down, and Up frames are disabled. The movie clip continues to receive
events(for example, `mouseDown`, `mouseUp`,
`keyDown`, and `keyUp`).
The `enabled` property governs only the button-like
properties of a movie clip. You can change the `enabled`
property at any time; the modified movie clip is immediately enabled or
disabled. If `enabled` is set to `false`, the object
is not included in automatic tab ordering.The number of frames that are loaded from a streaming SWF file. You can
use the `framesLoaded` property to determine whether the
contents of a specific frame and all the frames before it loaded and are
available locally in the browser. You can also use it to monitor the
downloading of large SWF files. For example, you might want to display a
message to users indicating that the SWF file is loading until a specified
frame in the SWF file finishes loading.
If the movie clip contains multiple scenes, the
`framesLoaded` property returns the number of frames loaded for
_all_ scenes in the movie clip.A Boolean value that indicates whether a movie clip is curently playing.An array of Scene objects, each listing the name, the number of frames,
and the frame labels for a scene in the MovieClip instance.The total number of frames in the MovieClip instance.
If the movie clip contains multiple frames, the
`totalFrames` property returns the total number of frames in
_all_ scenes in the movie clip.
<__enabled>
<__hasDown>
<__hasOver>
<__hasUp>
<__mouseIsDown>
<__scene>
<__timeline>
Adds a new FrameScript to this MovieClip.
The FrameScript will be executed automatically when the
MovieClip enters the specified frame.
This is only functional if this MovieClip has an attached
Timeline.
@param index A zero-based index referencing a frame
@param method A method to be called entering the requested frame.Attaches a Timeline to this MovieClip.
MovieClips that contain a Timeline can play(), stop() and can
include FrameScripts.
@param timeline A Timeline object{ scene : null }Starts playing the SWF file at the specified frame. This happens after all
remaining actions in the frame have finished executing. To specify a scene
as well as a frame, specify a value for the `scene` parameter.
@param frame A number representing the frame number, or a string
representing the label of the frame, to which the playhead is
sent. If you specify a number, it is relative to the scene
you specify. If you do not specify a scene, the current scene
determines the global frame number to play. If you do specify
a scene, the playhead jumps to the frame number in the
specified scene.
@param scene The name of the scene to play. This parameter is optional.{ scene : null }Brings the playhead to the specified frame of the movie clip and stops it
there. This happens after all remaining actions in the frame have finished
executing. If you want to specify a scene in addition to a frame, specify
a `scene` parameter.
@param frame A number representing the frame number, or a string
representing the label of the frame, to which the playhead is
sent. If you specify a number, it is relative to the scene
you specify. If you do not specify a scene, the current scene
determines the global frame number at which to go to and
stop. If you do specify a scene, the playhead goes to the
frame number in the specified scene and stops.
@param scene The name of the scene. This parameter is optional.
@throws ArgumentError If the `scene` or `frame`
specified are not found in this movie clip.Sends the playhead to the next frame and stops it. This happens after all
remaining actions in the frame have finished executing.Moves the playhead in the timeline of the movie clip.Sends the playhead to the previous frame and stops it. This happens after
all remaining actions in the frame have finished executing.Stops the playhead in the movie clip.
<__enterFrame set="method" line="341" override="1">
<__stopAllMovieClips set="method" line="354" override="1">
<__tabTest set="method" line="360" override="1">
<__onMouseDown set="method" line="367">
<__onMouseUp set="method" line="382">
<__onRollOut set="method" line="406">
<__onRollOver set="method" line="420">
Creates a new MovieClip instance. After creating the MovieClip, call the
`addChild()` or `addChildAt()` method of a display
object container that is onstage.The MovieClip class inherits from the following classes: Sprite,
DisplayObjectContainer, InteractiveObject, DisplayObject, and
EventDispatcher.
Unlike the Sprite object, a MovieClip object has a timeline.
In Flash Professional, the methods for the MovieClip class provide the
same functionality as actions that target movie clips. Some additional
methods do not have equivalent actions in the Actions toolbox in the
Actions panel in the Flash authoring tool.
Children instances placed on the Stage in Flash Professional cannot be
accessed by code from within the constructor of a parent instance since
they have not been created at that point in code execution. Before
accessing the child, the parent must instead either create the child
instance by code or delay access to a callback function that listens for
the child to dispatch its `Event.ADDED_TO_STAGE` event.
If you modify any of the following properties of a MovieClip object that
contains a motion tween, the playhead is stopped in that MovieClip object:
`alpha`, `blendMode`, `filters`,
`height`, `opaqueBackground`, `rotation`,
`scaleX`, `scaleY`, `scale9Grid`,
`scrollRect`, `transform`, `visible`,
`width`, `x`, or `y`. However, it does not
stop the playhead in any child MovieClip objects of that MovieClip
object.
**Note:**Flash Lite 4 supports the MovieClip.opaqueBackground
property only if FEATURE_BITMAPCACHE is defined. The default configuration
of Flash Lite 4 does not define FEATURE_BITMAPCACHE. To enable the
MovieClip.opaqueBackground property for a suitable device, define
FEATURE_BITMAPCACHE in your project.openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()"tags=\"haxe,release\""openfl.display.Timelineopenfl.geom.ColorTransform
<__alphaValue expr="[1]" line="57" static="1">
[1]
<__colorMultipliersValue expr="[0, 0, 0, 0]" line="58" static="1">
[0, 0, 0, 0]
<__colorOffsetsValue expr="[0, 0, 0, 0]" line="59" static="1">
[0, 0, 0, 0]
<__defaultColorMultipliersValue expr="[1, 1, 1, 1]" line="60" static="1">
[1, 1, 1, 1]
<__emptyColorValue expr="[0, 0, 0, 0]" line="61" static="1">
[0, 0, 0, 0]
<__emptyAlphaValue expr="[1]" line="62" static="1">
[1]
<__hasColorTransformValue expr="[false]" line="63" static="1">
[false]
<__scissorRectangle expr="new Rectangle()" line="64" static="1">
new Rectangle()
<__textureSizeValue expr="[0, 0]" line="65" static="1">
[0, 0]"checkstyle:Dynamic"The current OpenGL render context
<__context3D>
<__clipRects>
<__currentDisplayShader>
<__currentGraphicsShader>
<__currentRenderTarget>
<__currentShader>
<__currentShaderBuffer>
<__defaultDisplayShader>
<__defaultGraphicsShader>
<__defaultRenderTarget>
<__defaultShader>
<__displayHeight>
<__displayWidth>
<__flipped>
<__gl>
"checkstyle:Dynamic"
<__height>
<__maskShader>
<__matrix>
"checkstyle:Dynamic"
<__maskObjects>
<__numClipRects>
<__offsetX>
<__offsetY>
<__projection>
"checkstyle:Dynamic"
<__projectionFlipped>
"checkstyle:Dynamic"
<__scrollRectMasks>
<__softwareRenderer>
<__stencilReference>
<__tempRect>
<__updatedStencil>
<__upscaled>
<__values>
<__width>
Applies an alpha value to the active shader, if compatible with OpenFL core shaders{ repeat : false }Binds a BitmapData object as the first active texture of the current active shader,
if compatible with OpenFL core shadersApplies a color transform value to the active shader, if compatible with OpenFL
core shadersApplies the "has color transform" uniform value for the active shader, if
compatible with OpenFL core shadersApplies render matrix to the active shader, if compatible with OpenFL core shaders"checkstyle:Dynamic"Converts an OpenFL two-dimensional matrix to a compatible 3D matrix for use with
OpenGL rendering. Repeated calls to this method will return the same object with
new values, so it will need to be cloned if the result must be cachedSets the current active shader, which automatically unbinds the previous shader
if it was bound using an OpenFL Shader objectUpdates the current OpenGL viewport using the current OpenFL stage coordinatesUpdates the current active shader with cached alpha, color transform,
bitmap data and other uniform or attribute values. This should be called in advance
of renderingUpdates the active shader to expect an alpha array, if the current shader
is compatible with OpenFL core shadersUpdates the active shader to expect a color transform array, if the current shader
is compatible with OpenFL core shaders
<__cleanup set="method" line="432">
<__clear set="method" line="448" override="1">
<__clearShader set="method" line="462">
<__copyShader set="method" line="484">
<__getMatrix set="method" line="494">
<__initShader set="method" line="530">
<__initDisplayShader set="method" line="549">
<__initGraphicsShader set="method" line="568">
<__initShaderBuffer set="method" line="587">
<__popMask set="method" line="597" override="1">
<__popMaskObject set="method" line="624" override="1">
{ handleScrollRect : true }
<__popMaskRect set="method" line="645" override="1">
<__pushMask set="method" line="662" override="1">
<__pushMaskObject set="method" line="683" override="1">
{ handleScrollRect : true }
<__pushMaskRect set="method" line="708" override="1">
<__render set="method" line="746" override="1">
<__renderDrawable set="method" line="842">
<__renderDrawableMask set="method" line="868">
<__renderFilterPass set="method" line="894">
{ clear : true }
<__resize set="method" line="937" override="1">
<__resumeClipAndMask set="method" line="954">
<__scissorRect set="method" line="977">
{ clipRect : null }
<__setBlendMode set="method" line="999" override="1">
<__setRenderTarget set="method" line="1036">
<__setShaderBuffer set="method" line="1047">
<__suspendClipAndMask set="method" line="1053">
<__updateShaderBuffer set="method" line="1067">
{ defaultRenderTarget : null }**BETA**
The OpenGLRenderer API exposes support for OpenGL render instructions within the
`RenderEvent.RENDER_OPENGL` event."tags=\"haxe,release\""lime.graphics.GLRenderContextopenfl.display._internal.ShaderBufferopenfl.display3D.Context3Dopenfl.display.BitmapDataopenfl.display.DisplayObjectopenfl.display.Graphicsopenfl.display.IBitmapDrawableopenfl.display.Shaderopenfl.display.ShaderParameteropenfl.display.Stage3Dopenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.Rectangleopenfl.display._internalopenfl.display3D.texturesopenfl.display3Dopenfl.displayopenfl.textChooses compression speed over file size. Setting this property to true improves
compression speed but creates larger files.{ fastCompression : false }Creates a PNGEncoderOptions object, optionally specifying compression settings.
@param fastCompression The initial compression mode.The PNGEncoderOptions class defines a compression algorithm for the
`openfl.display.BitmapData.encode()` method."tags=\"haxe,release\""The PixelSnapping class is an enumeration of constant values for setting
the pixel snapping options by using the `pixelSnapping` property
of a Bitmap object.cast 0A constant value used in the `pixelSnapping` property of a
Bitmap object to specify that the bitmap image is always snapped to the
nearest pixel, independent of any transformation.cast 1A constant value used in the `pixelSnapping` property of a
Bitmap object to specify that the bitmap image is snapped to the nearest
pixel if it is drawn with no rotation or skew and it is drawn at a scale
factor of 99.9% to 100.1%. If these conditions are satisfied, the image is
drawn at 100% scale, snapped to the nearest pixel. Internally, this
setting allows the image to be drawn as fast as possible by using the
vector renderer.cast 2A constant value used in the `pixelSnapping` property of a
Bitmap object to specify that no pixel snapping occurs.cast 0A constant value used in the `pixelSnapping` property of a
Bitmap object to specify that the bitmap image is always snapped to the
nearest pixel, independent of any transformation.cast 1A constant value used in the `pixelSnapping` property of a
Bitmap object to specify that the bitmap image is snapped to the nearest
pixel if it is drawn with no rotation or skew and it is drawn at a scale
factor of 99.9% to 100.1%. If these conditions are satisfied, the image is
drawn at 100% scale, snapped to the nearest pixel. Internally, this
setting allows the image to be drawn as fast as possible by using the
vector renderer.cast 2A constant value used in the `pixelSnapping` property of a
Bitmap object to specify that no pixel snapping occurs.()]]>"checkstyle:Dynamic"{ display : null }The Preloader class is a Lime Preloader instance that uses an OpenFL
display object to display loading progress."tags=\"haxe,release\""openfl.display.LoaderInfo"checkstyle:FieldDocComment"openfl.utils._internal.AssetsMacro.initBinding()openfl.utils._internal.AssetsMacro.initBinding()"checkstyle:FieldDocComment"hide"tags=\"haxe,release\""
kernel DoNothing
<
namespace: "Adobe::Example";
vendor: "Adobe examples";
version: 1;
description: "A shader that does nothing, but does it well.";
>
{
input image4 src;
output pixel4 dst;
parameter float2 size
<
description: "The size of the image to which the kernel is applied";
minValue: float2(0.0, 0.0);
maxValue: float2(100.0, 100.0);
defaultValue: float2(50.0, 50.0);
>;
parameter float radius
<
description: "The radius of the effect";
minValue: 0.0;
maxValue: 50.0;
defaultValue: 25.0;
>;
void evaluatePixel()
{
float2 one = (radius / radius) ∗ (size / size);
dst = sampleNearest(src, outCoord());
}
}
```
If you create a Shader instance by loading the byte code for this shader,
the ShaderData instance in its `data` property contains these properties:
| Property | Data type | Value |
| --- | --- | --- |
| name | `String` | "DoNothing" |
| nameSpace | `String` | "Adobe::Example" |
| version | `String` | "1" |
| description | `String` | "A shader that does nothing, but does it well." |
| src | `ShaderInput` | _[A ShaderInput instance]_ |
| size | `ShaderParameter` | _[A ShaderParameter instance, with properties for the parameter metadata]_ |
| radius | `ShaderParameter` | _[A ShaderParameter instance, with properties for the parameter metadata]_ |
Note that any input image or parameter that is defined in the shader
source code but not used in the shader's `evaluatePixel()` function is
removed when the shader is compiled to byte code. In that case, there is
no corresponding ShaderInput or ShaderParameter instance added as a
property of the ShaderData instance.
Generally, developer code does not create a ShaderData instance. A
ShaderData instance containing data, parameters, and inputs for a shader
is available as the Shader instance's `data` property.]]>"tags=\"haxe,release\"""checkstyle:Dynamic"
<_new public="1" set="method" line="103" static="1">
Creates a ShaderData instance. Generally, developer code does not call
the ShaderData constructor directly. A ShaderData instance containing
data, parameters, and inputs for a Shader instance is accessed using
its `data` property.
@param byteCode The shader's byte code.
<_new public="1" set="method" line="103" static="1">
Creates a ShaderData instance. Generally, developer code does not call
the ShaderData constructor directly. A ShaderData instance containing
data, parameters, and inputs for a Shader instance is accessed using
its `data` property.
@param byteCode The shader's byte code.
instance.]]>The texture filter to use when binding this shader input.
This property is not available when targeting Flash. instance. When the input
is a BitmapData instance the height is automatically determined.]]>"checkstyle:Dynamic"The zero-based index of the input in the shader, indicating the order
of the input definitions in the shader. instance.
If a ByteArray value is assigned to the `input` property, the
following conditions must be met:
* The `height` and `width` properties must be set.
* The byte array's contents must only consist of 32-bit floating-point
values. These values can be written using the `ByteArray.writeFloat()`
method.
* The total length in bytes of the ByteArray must be exactly `width`
times `height` times `channels` times 4.
* The byte array's `endian` property must be `Endian.LITTLE_ENDIAN`.
If a Vector. instance is assigned to the `input` property, the
length of the Vector must be equal to `width` times `height` times
`channels`.]]>The mip filter to use when binding this shader input.
This property is not available when targeting Flash.hide"checkstyle:FieldDocComment" instance. When the input
is a BitmapData instance the width is automatically determined.]]>The wrap mode to use when binding this shader input.
This property is not available when targeting Flash.
<__isUniform>
<__disableGL set="method" line="152">
<__updateGL set="method" line="161">
{ overrideWrap : null, overrideMipFilter : null, overrideFilter : null, overrideInput : null }Creates a ShaderInput instance. Developer code does not call the
ShaderInput constructor directly. A ShaderInput instance is created
for each of a shader's inputs when the Shader instance is created. instance containing the image data and
assign it to the `input` property.
The ShaderInput instance representing a Shader instance's input image is
accessed as a property of the Shader instance's `data` property. The
ShaderInput property has the same name as the input's name in the shader
code. For example, if a shader defines an input named `src`, the
ShaderInput instance representing the `src` input is available as the
`src` property, as this example shows:
```haxe
myShader.data.src.input = new BitmapData(50, 50, true, 0xFF990000);
```
For some uses of a Shader instance, you do not need to specify an input
image, because it is automatically specified by the operation. You only
need to specify an input when a Shader is used for the following:
* Shader fill
* ShaderFilter, only for the second or additional inputs if the shader is
defined to use more than one input. (The object to which the filter is
applied is automatically used as the first input.)
* Shader blend mode, only for the third or additional inputs if the shader
is defined to use more than two inputs. (The objects being blended are
automatically used as the first and second inputs.)
* ShaderJob background execution
If the shader is being executed using a ShaderJob instance to process a
ByteArray containing a linear array of data, set the ShaderInput
instance's `height` to 1 and `width` to the number of 32-bit floating
point values in the ByteArray. In that case, the input in the shader must
be defined with the `image1` data type.
Generally, developer code does not create a ShaderInput instance directly.
A ShaderInput instance is created for each of a shader's inputs when the
Shader instance is created.]]>openfl.display3D.Context3D"tags=\"haxe,release\"""checkstyle:Dynamic"The zero-based index of the parameter.hide"checkstyle:FieldDocComment"The data type of the parameter as defined in the shader. The set of
possible values for the `type` property is defined by the constants in
the ShaderParameterType class.The value or values that are passed in as the parameter value to the
shader. The `value` property is an indexed Array. The number and type
of the elements of the Array correspond to the data type of the
parameter, which can be determined using the `type` property.
The following table indicates the parameter type and corresponding
number and data type of the `value` Array's elements:
| Parameter type | # Elements | Element data type |
| --- | --- | --- |
| float (`ShaderParameterType.FLOAT`) | 1 | Number |
| float2 (`ShaderParameterType.FLOAT2`) | 2 | Number |
| float3 (`ShaderParameterType.FLOAT3`) | 3 | Number |
| float4 (`ShaderParameterType.FLOAT4`) | 4 | Number |
| int (`ShaderParameterType.INT`) | 1 | int or uint |
| int2 (`ShaderParameterType.INT2`) | 2 | int or uint |
| int3 (`ShaderParameterType.INT3`) | 3 | int or uint |
| int4 (`ShaderParameterType.INT4`) | 4 | int or uint |
| bool (`ShaderParameterType.BOOL`) | 1 | Boolean |
| bool2 (`ShaderParameterType.BOOL2`) | 2 | Boolean |
| bool3 (`ShaderParameterType.BOOL3`) | 3 | Boolean |
| bool4 (`ShaderParameterType.BOOL4`) | 4 | Boolean |
| float2x2 (`ShaderParameterType.MATRIX2X2`) | 4 | Number |
| float3x3 (`ShaderParameterType.MATRIX3X3`) | 9 | Number |
| float4x4 (`ShaderParameterType.MATRIX4X4`) | 16 | Number |
For the matrix parameter types, the array elements fill the rows of
the matrix, then the columns. For example, suppose the following line
of ActionScript is used to fill a `float2x2` parameter named
`myMatrix`:
```haxe
myShader.data.myMatrix.value = [.1, .2, .3, .4];
```
Within the shader, the matrix elements have the following values:
* `myMatrix[0][0]`: .1
* `myMatrix[0][1]`: .2
* `myMatrix[1][0]`: .3
* `myMatrix[1][1]`: .4
<__arrayLength>
<__internal>
<__isBool>
<__isFloat>
<__isInt>
<__isUniform>
<__length>
<__uniformMatrix>
<__useArray>
<__disableGL set="method" line="172">
<__updateGL set="method" line="187">
{ overrideValue : null }
<__updateGLFromBuffer set="method" line="423">
;
parameter float radius
<
description: "The radius of the effect";
minValue: 0.0;
maxValue: 50.0;
defaultValue: 25.0;
>;
```
The ShaderParameter instance corresponding to the `size` parameter has the
following metadata properties in addition to its built-in properties:
| Property name | Data type | Value |
| --- | --- | --- |
| `name` | String | `"size"` |
| `description` | String | `"The size of the image to which the kernel is applied"` |
| `minValue` | Array | `[0, 0]` |
| `maxValue` | Array | `[100, 100]` |
| `defaultValue` | Array | `[50, 50]` |
The ShaderParameter corresponding to the `radius` parameter has the
following additional properties:
| Property name | Data type | Value |
| --- | --- | --- |
| `name` | String | `"radius"` |
| `description` | String | `"The radius of the effect"` |
| `minValue` | Array | `[0]` |
| `maxValue` | Array | `[50]` |
| `defaultValue` | Array | `[25]` |
Generally, developer code does not create a ShaderParameter instance
directly. A ShaderParameter instance is created for each of a shader's
parameters when the Shader instance is created.]]>"tags=\"haxe,release\""openfl.display3D.Context3DThis class defines the constants that represent the possible values for
the ShaderParameter class's `type` property. Each constant represents one
of the data types available in Flash Player for parameters in the Pixel
Bender shader language.cast 0Indicates that the shader parameter is defined as a `bool` value,
equivalent to a single Boolean instance in ActionScript.
Note that even though the parameter only expects a single value, the
`ShaderParameter.value` property is an Array, so the single value must
be the only element of an Array assigned to the `value` property, like
this:
```haxe
// assumes the shader has a parameter named "param"
// whose data type is bool
myShader.data.param.value = [true];
```cast 1Indicates that the shader parameter is defined as a `bool2` value,
equivalent to an Array of two Boolean instances in ActionScript.cast 2Indicates that the shader parameter is defined as a `bool3` value,
equivalent to an Array of three Boolean instances in ActionScript.cast 3Indicates that the shader parameter is defined as a `bool4` value,
equivalent to an Array of four Boolean instances in ActionScript.cast 4Indicates that the shader parameter is defined as a `float` value,
equivalent to a single Number instance in ActionScript.
Note that even though the parameter only expects a single value, the
`ShaderParameter.value` property is an Array, so the single value must
be the only element of an Array assigned to the `value` property, like
this:
```haxe
// assumes the shader has a parameter named "param"
// whose data type is float
myShader.data.param.value = [22.5];
```cast 5Indicates that the shader parameter is defined as a `float2` value,
equivalent to an Array of two Number instances in ActionScript.cast 6Indicates that the shader parameter is defined as a `float3` value,
equivalent to an Array of three Number instances in ActionScript.cast 7Indicates that the shader parameter is defined as a `float4` value,
equivalent to an Array of four Number instances in ActionScript.cast 8Indicates that the shader parameter is defined as an `int` value,
equivalent to a single int or uint instance in ActionScript.
Note that even though the parameter only expects a single value, the
`ShaderParameter.value` property is an Array, so the single value must
be the only element of an Array assigned to the `value` property, like
this:
```haxe
// assumes the shader has a parameter named "param"
// whose data type is int
myShader.data.param.value = [275];
```cast 9Indicates that the shader parameter is defined as an `int2` value,
equivalent to an Array of two int or uint instances in ActionScript.cast 10Indicates that the shader parameter is defined as an `int3` value,
equivalent to an Array of three int or uint instances in ActionScript.cast 11Indicates that the shader parameter is defined as an `int4` value,
equivalent to an Array of four int or uint instances in ActionScript.cast 12Indicates that the shader parameter is defined as a `float2x2` value,
equivalent to a 2-by-2 matrix. This matrix is represented as an Array
of four Number instances in ActionScript.cast 13Indicates that the shader parameter is defined as a `float2x3` value,
equivalent to a 2-by-3 matrix. This matrix is represented as an Array
of six Float instances in Haxe.cast 14Indicates that the shader parameter is defined as a `float2x4` value,
equivalent to a 2-by-4 matrix. This matrix is represented as an Array
of eight Float instances in Haxe.cast 15Indicates that the shader parameter is defined as a `float3x2` value,
equivalent to a 3-by-2 matrix. This matrix is represented as an Array
of six Float instances in Haxe.cast 16Indicates that the shader parameter is defined as a `float3x3` value,
equivalent to a 3-by-3 matrix. This matrix is represented as an Array
of nine Number instances in ActionScript.cast 17Indicates that the shader parameter is defined as a `float3x4` value,
equivalent to a 3-by-4 matrix. This matrix is represented as an Array
of twelve Float instances in Haxe.cast 18Indicates that the shader parameter is defined as a `float4x2` value,
equivalent to a 4-by-2 matrix. This matrix is represented as an Array
of eight Float instances in Haxe.cast 19Indicates that the shader parameter is defined as a `float4x3` value,
equivalent to a 4-by-3 matrix. This matrix is represented as an Array
of twelve Float instances in Haxe.cast 20Indicates that the shader parameter is defined as a `float4x4` value,
equivalent to a 4-by-4 matrix. This matrix is represented as an Array
of 16 Number instances in ActionScript.cast 0Indicates that the shader parameter is defined as a `bool` value,
equivalent to a single Boolean instance in ActionScript.
Note that even though the parameter only expects a single value, the
`ShaderParameter.value` property is an Array, so the single value must
be the only element of an Array assigned to the `value` property, like
this:
```haxe
// assumes the shader has a parameter named "param"
// whose data type is bool
myShader.data.param.value = [true];
```cast 1Indicates that the shader parameter is defined as a `bool2` value,
equivalent to an Array of two Boolean instances in ActionScript.cast 2Indicates that the shader parameter is defined as a `bool3` value,
equivalent to an Array of three Boolean instances in ActionScript.cast 3Indicates that the shader parameter is defined as a `bool4` value,
equivalent to an Array of four Boolean instances in ActionScript.cast 4Indicates that the shader parameter is defined as a `float` value,
equivalent to a single Number instance in ActionScript.
Note that even though the parameter only expects a single value, the
`ShaderParameter.value` property is an Array, so the single value must
be the only element of an Array assigned to the `value` property, like
this:
```haxe
// assumes the shader has a parameter named "param"
// whose data type is float
myShader.data.param.value = [22.5];
```cast 5Indicates that the shader parameter is defined as a `float2` value,
equivalent to an Array of two Number instances in ActionScript.cast 6Indicates that the shader parameter is defined as a `float3` value,
equivalent to an Array of three Number instances in ActionScript.cast 7Indicates that the shader parameter is defined as a `float4` value,
equivalent to an Array of four Number instances in ActionScript.cast 8Indicates that the shader parameter is defined as an `int` value,
equivalent to a single int or uint instance in ActionScript.
Note that even though the parameter only expects a single value, the
`ShaderParameter.value` property is an Array, so the single value must
be the only element of an Array assigned to the `value` property, like
this:
```haxe
// assumes the shader has a parameter named "param"
// whose data type is int
myShader.data.param.value = [275];
```cast 9Indicates that the shader parameter is defined as an `int2` value,
equivalent to an Array of two int or uint instances in ActionScript.cast 10Indicates that the shader parameter is defined as an `int3` value,
equivalent to an Array of three int or uint instances in ActionScript.cast 11Indicates that the shader parameter is defined as an `int4` value,
equivalent to an Array of four int or uint instances in ActionScript.cast 12Indicates that the shader parameter is defined as a `float2x2` value,
equivalent to a 2-by-2 matrix. This matrix is represented as an Array
of four Number instances in ActionScript.cast 13Indicates that the shader parameter is defined as a `float2x3` value,
equivalent to a 2-by-3 matrix. This matrix is represented as an Array
of six Float instances in Haxe.cast 14Indicates that the shader parameter is defined as a `float2x4` value,
equivalent to a 2-by-4 matrix. This matrix is represented as an Array
of eight Float instances in Haxe.cast 15Indicates that the shader parameter is defined as a `float3x2` value,
equivalent to a 3-by-2 matrix. This matrix is represented as an Array
of six Float instances in Haxe.cast 16Indicates that the shader parameter is defined as a `float3x3` value,
equivalent to a 3-by-3 matrix. This matrix is represented as an Array
of nine Number instances in ActionScript.cast 17Indicates that the shader parameter is defined as a `float3x4` value,
equivalent to a 3-by-4 matrix. This matrix is represented as an Array
of twelve Float instances in Haxe.cast 18Indicates that the shader parameter is defined as a `float4x2` value,
equivalent to a 4-by-2 matrix. This matrix is represented as an Array
of eight Float instances in Haxe.cast 19Indicates that the shader parameter is defined as a `float4x3` value,
equivalent to a 4-by-3 matrix. This matrix is represented as an Array
of twelve Float instances in Haxe.cast 20Indicates that the shader parameter is defined as a `float4x4` value,
equivalent to a 4-by-4 matrix. This matrix is represented as an Array
of 16 Number instances in ActionScript.This class defines the constants that represent the possible values for
the Shader class's `precisionHint` property. Each constant represents one
of the precision modes for executing shader operations.
The precision mode selection affects the following shader operations.
These operations are faster on an Intel processor with the SSE instruction
set:
* `sin(x)`
* `cos(x)`
* `tan(x)`
* `asin(x)`
* `acos(x)`
* `atan(x)`
* `atan(x, y)`
* `exp(x)`
* `exp2(x)`
* `log(x)`
* `log2(x)`
* `pow(x, y)`
* `reciprocal(x)`
* `sqrt(x)`cast 0Represents fast precision mode.
Fast precision mode is designed for maximum performance but does not
work consistently on different platforms and individual CPU
configurations. In many cases, this level of precision is sufficient
to create graphic effects without visible artifacts.
It is usually faster to use fast precision mode than to use lookup
tables.cast 1Represents full precision mode.
In full precision mode, the shader computes all math operations to the
full width of the IEEE 32-bit floating standard. This mode provides
consistent behavior on all platforms. In this mode, some math
operations such as trigonometric and exponential functions can be
slow.cast 0Represents fast precision mode.
Fast precision mode is designed for maximum performance but does not
work consistently on different platforms and individual CPU
configurations. In many cases, this level of precision is sufficient
to create graphic effects without visible artifacts.
It is usually faster to use fast precision mode than to use lookup
tables.cast 1Represents full precision mode.
In full precision mode, the shader computes all math operations to the
full width of the IEEE 32-bit floating standard. This mode provides
consistent behavior on all platforms. In this mode, some math
operations such as trigonometric and exponential functions can be
slow.
<__constructor static="1">
Specifies a display object that is used as the visual object for the
button "Down" state - the state that the button is in when the user
selects the `hitTestState` object.A Boolean value that specifies whether a button is enabled. When a button
is disabled(the enabled property is set to `false`), the
button is visible but cannot be clicked. The default value is
`true`. This property is useful if you want to disable part of
your navigation; for example, you might want to disable a button in the
currently displayed page so that it can't be clicked and the page cannot
be reloaded.
**Note:** To prevent mouseClicks on a button, set both the
`enabled` and `mouseEnabled` properties to
`false`.Specifies a display object that is used as the hit testing object for the
button. For a basic button, set the `hitTestState` property to
the same display object as the `overState` property. If you do
not set the `hitTestState` property, the SimpleButton is
inactive - it does not respond to user input events.Specifies a display object that is used as the visual object for the
button over state - the state that the button is in when the pointer is
positioned over the button.The SoundTransform object assigned to this button. A SoundTransform object
includes properties for setting volume, panning, left speaker assignment,
and right speaker assignment. This SoundTransform object applies to all
states of the button. This SoundTransform object affects only embedded
sounds.Indicates whether other display objects that are SimpleButton or MovieClip
objects can receive user input release events. The
`trackAsMenu` property lets you create menus. You can set the
`trackAsMenu` property on any SimpleButton or MovieClip object.
If the `trackAsMenu` property does not exist, the default
behavior is `false`.
You can change the `trackAsMenu` property at any time; the
modified button immediately takes on the new behavior.Specifies a display object that is used as the visual object for the
button up state - the state that the button is in when the pointer is
not positioned over the button.A Boolean value that, when set to `true`, indicates whether the
hand cursor is shown when the pointer rolls over a button. If this
property is set to `false`, the arrow pointer cursor is
displayed instead. The default is `true`.
You can change the `useHandCursor` property at any time; the
modified button immediately uses the new cursor behavior.
<__currentState set="accessor">
<__downState>
<__hitTestState>
<__ignoreEvent>
<__overState>
<__previousStates>
<__soundTransform>
<__upState>
<__getBounds set="method" line="196" override="1">
<__getRenderBounds set="method" line="209" override="1">
<__getCursor set="method" line="230" override="1">
<__hitTest set="method" line="236" override="1">
<__hitTestMask set="method" line="285" override="1">
<__setStageReference set="method" line="297" override="1">
<__setTransformDirty set="method" line="312" override="1">
<__update set="method" line="327" override="1">
<__updateTransforms set="method" line="345" override="1">
{ overrideTransform : null }
<__this_onMouseDown set="method" line="502">
<__this_onMouseOut set="method" line="510">
<__this_onMouseOver set="method" line="520">
<__this_onMouseUp set="method" line="533">
{ hitTestState : null, downState : null, overState : null, upState : null }Creates a new SimpleButton instance. Any or all of the display objects
that represent the various button states can be set as parameters in the
constructor.
@param upState The initial value for the SimpleButton up state.
@param overState The initial value for the SimpleButton over state.
@param downState The initial value for the SimpleButton down state.
@param hitTestState The initial value for the SimpleButton hitTest state.The SimpleButton class lets you control all instances of button symbols in
a SWF file.
In Flash Professional, you can give a button an instance name in the
Property inspector. SimpleButton instance names are displayed in the Movie
Explorer and in the Insert Target Path dialog box in the Actions panel.
After you create an instance of a button in Flash Professional, you can use
the methods and properties of the SimpleButton class to manipulate buttons
with ActionScript.
In ActionScript 3.0, you use the `new SimpleButton()`
constructor to create a SimpleButton instance.
The SimpleButton class inherits from the InteractiveObject class."tags=\"haxe,release\""openfl.display.MovieClipopenfl.geom.Matrixopenfl.geom.Rectangleopenfl.utils._internal.AssetsMacro.initBinding()The SpreadMethod class provides values for the `spreadMethod`
parameter in the `beginGradientFill()` and
`lineGradientStyle()` methods of the Graphics class.
The following example shows the same gradient fill using various spread
methods:cast 0Specifies that the gradient use the _pad_ spread method.cast 1Specifies that the gradient use the _reflect_ spread method.cast 2Specifies that the gradient use the _repeat_ spread method.cast 0Specifies that the gradient use the _pad_ spread method.cast 1Specifies that the gradient use the _reflect_ spread method.cast 2Specifies that the gradient use the _repeat_ spread method.A value from the StageAlign class that specifies the alignment of the
stage in Flash Player or the browser. The following are valid values:
The `align` property is only available to an object that is
in the same security sandbox as the Stage owner(the main SWF file). To
avoid this, the Stage owner can grant permission to the domain of the
calling object by calling the `Security.allowDomain()` method
or the `Security.alowInsecureDomain()` method. For more
information, see the "Security" chapter in the _ActionScript 3.0
Developer's Guide_.Specifies whether this stage allows the use of the full screen modeSpecifies whether this stage allows the use of the full screen with text input modeThe associated Lime Application instance.The window background color.Specifies the effective pixel scaling factor of the stage. This
value is 1 on standard screens and HiDPI (Retina display)
screens. When the stage is rendered on HiDPI screens the pixel
resolution is doubled; even if the stage scaling mode is set to
`StageScaleMode.NO_SCALE`. `Stage.stageWidth` and `Stage.stageHeight`
continue to be reported in classic pixel units.**BETA**
The current Context3D the default display renderer.
This property is supported only when using hardware rendering.A value from the StageDisplayState class that specifies which display
state to use. The following are valid values:
* `StageDisplayState.FULL_SCREEN` Sets AIR application or
Flash runtime to expand the stage over the user's entire screen, with
keyboard input disabled.
* `StageDisplayState.FULL_SCREEN_INTERACTIVE` Sets the AIR
application to expand the stage over the user's entire screen, with
keyboard input allowed.(Not available for content running in Flash
Player.)
* `StageDisplayState.NORMAL` Sets the Flash runtime back to
the standard stage display mode.
The scaling behavior of the movie in full-screen mode is determined by
the `scaleMode` setting(set using the
`Stage.scaleMode` property or the SWF file's `embed`
tag settings in the HTML file). If the `scaleMode` property is
set to `noScale` while the application transitions to
full-screen mode, the Stage `width` and `height`
properties are updated, and the Stage dispatches a `resize`
event. If any other scale mode is set, the stage and its contents are
scaled to fill the new screen dimensions. The Stage object retains its
original `width` and `height` values and does not
dispatch a `resize` event.
The following restrictions apply to SWF files that play within an HTML
page(not those using the stand-alone Flash Player or not running in the
AIR runtime):
* To enable full-screen mode, add the `allowFullScreen`
parameter to the `object` and `embed` tags in the
HTML page that includes the SWF file, with `allowFullScreen`
set to `"true"`, as shown in the following example:
* Full-screen mode is initiated in response to a mouse click or key
press by the user; the movie cannot change `Stage.displayState`
without user input. Flash runtimes restrict keyboard input in full-screen
mode. Acceptable keys include keyboard shortcuts that terminate
full-screen mode and non-printing keys such as arrows, space, Shift, and
Tab keys. Keyboard shortcuts that terminate full-screen mode are: Escape
(Windows, Linux, and Mac), Control+W(Windows), Command+W(Mac), and
Alt+F4.
A Flash runtime dialog box appears over the movie when users enter
full-screen mode to inform the users they are in full-screen mode and that
they can press the Escape key to end full-screen mode.
* Starting with Flash Player 9.0.115.0, full-screen works the same in
windowless mode as it does in window mode. If you set the Window Mode
(`wmode` in the HTML) to Opaque Windowless
(`opaque`) or Transparent Windowless
(`transparent`), full-screen can be initiated, but the
full-screen window will always be opaque.
These restrictions are _not_ present for SWF content running in
the stand-alone Flash Player or in AIR. AIR supports an interactive
full-screen mode which allows keyboard input.
For AIR content running in full-screen mode, the system screen saver
and power saving options are disabled while video content is playing and
until either the video stops or full-screen mode is exited.
On Linux, setting `displayState` to
`StageDisplayState.FULL_SCREEN` or
`StageDisplayState.FULL_SCREEN_INTERACTIVE` is an asynchronous
operation.
@throws SecurityError Calling the `displayState` property of a
Stage object throws an exception for any caller that
is not in the same security sandbox as the Stage
owner(the main SWF file). To avoid this, the Stage
owner can grant permission to the domain of the
caller by calling the
`Security.allowDomain()` method or the
`Security.allowInsecureDomain()` method.
For more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.
Trying to set the `displayState` property
while the settings dialog is displayed, without a
user response, or if the `param` or
`embed` HTML tag's
`allowFullScreen` attribute is not set to
`true` throws a security error.The interactive object with keyboard focus; or `null` if focus
is not set or if the focused object belongs to a security sandbox to which
the calling object does not have access.
@throws Error Throws an error if focus cannot be set to the target.Gets and sets the frame rate of the stage. The frame rate is defined as
frames per second. By default the rate is set to the frame rate of the
first SWF file loaded. Valid range for the frame rate is from 0.01 to 1000
frames per second.
**Note:** An application might not be able to follow high frame rate
settings, either because the target platform is not fast enough or the
player is synchronized to the vertical blank timing of the display device
(usually 60 Hz on LCD devices). In some cases, a target platform might
also choose to lower the maximum frame rate if it anticipates high CPU
usage.
For content running in Adobe AIR, setting the `frameRate`
property of one Stage object changes the frame rate for all Stage objects
(used by different NativeWindow objects).
@throws SecurityError Calling the `frameRate` property of a
Stage object throws an exception for any caller that
is not in the same security sandbox as the Stage
owner(the main SWF file). To avoid this, the Stage
owner can grant permission to the domain of the
caller by calling the
`Security.allowDomain()` method or the
`Security.allowInsecureDomain()` method.
For more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.Returns the height of the monitor that will be used when going to full
screen size, if that state is entered immediately. If the user has
multiple monitors, the monitor that's used is the monitor that most of
the stage is on at the time.
**Note**: If the user has the opportunity to move the browser from one
monitor to another between retrieving the value and going to full
screen size, the value could be incorrect. If you retrieve the value
in an event handler that sets `Stage.displayState` to
`StageDisplayState.FULL_SCREEN`, the value will be correct.
This is the pixel height of the monitor and is the same as the stage
height would be if `Stage.align` is set to `StageAlign.TOP_LEFT` and
`Stage.scaleMode` is set to `StageScaleMode.NO_SCALE`.www.adobe.com/go/display_settings.]]>Returns the width of the monitor that will be used when going to full
screen size, if that state is entered immediately. If the user has
multiple monitors, the monitor that's used is the monitor that most of
the stage is on at the time.
**Note**: If the user has the opportunity to move the browser from one
monitor to another between retrieving the value and going to full
screen size, the value could be incorrect. If you retrieve the value
in an event handler that sets `Stage.displayState` to
`StageDisplayState.FULL_SCREEN`, the value will be correct.
This is the pixel width of the monitor and is the same as the stage
width would be if `Stage.align` is set to `StageAlign.TOP_LEFT` and
`Stage.scaleMode` is set to `StageScaleMode.NO_SCALE`.A value from the StageQuality class that specifies which rendering quality
is used. The following are valid values:
* `StageQuality.LOW` - Low rendering quality. Graphics are
not anti-aliased, and bitmaps are not smoothed, but runtimes still use
mip-mapping.
* `StageQuality.MEDIUM` - Medium rendering quality.
Graphics are anti-aliased using a 2 x 2 pixel grid, bitmap smoothing is
dependent on the `Bitmap.smoothing` setting. Runtimes use
mip-mapping. This setting is suitable for movies that do not contain
text.
* `StageQuality.HIGH` - High rendering quality. Graphics
are anti-aliased using a 4 x 4 pixel grid, and bitmap smoothing is
dependent on the `Bitmap.smoothing` setting. Runtimes use
mip-mapping. This is the default rendering quality setting that Flash
Player uses.
* `StageQuality.BEST` - Very high rendering quality.
Graphics are anti-aliased using a 4 x 4 pixel grid. If
`Bitmap.smoothing` is `true` the runtime uses a high
quality downscale algorithm that produces fewer artifacts(however, using
`StageQuality.BEST` with `Bitmap.smoothing` set to
`true` slows performance significantly and is not a recommended
setting).
Higher quality settings produce better rendering of scaled bitmaps.
However, higher quality settings are computationally more expensive. In
particular, when rendering scaled video, using higher quality settings can
reduce the frame rate.
In the desktop profile of Adobe AIR, `quality` can be set to
`StageQuality.BEST` or `StageQuality.HIGH`(and the
default value is `StageQuality.HIGH`). Attempting to set it to
another value has no effect(and the property remains unchanged). In the
moble profile of AIR, all four quality settings are available. The default
value on mobile devices is `StageQuality.MEDIUM`.
For content running in Adobe AIR, setting the `quality`
property of one Stage object changes the rendering quality for all Stage
objects(used by different NativeWindow objects).
**_Note:_** The operating system draws the device fonts, which are
therefore unaffected by the `quality` property.
@throws SecurityError Calling the `quality` property of a Stage
object throws an exception for any caller that is
not in the same security sandbox as the Stage owner
(the main SWF file). To avoid this, the Stage owner
can grant permission to the domain of the caller by
calling the `Security.allowDomain()`
method or the
`Security.allowInsecureDomain()` method.
For more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.A value from the StageScaleMode class that specifies which scale mode to
use. The following are valid values:
* `StageScaleMode.EXACT_FIT` - The entire application is
visible in the specified area without trying to preserve the original
aspect ratio. Distortion can occur, and the application may appear
stretched or compressed.
* `StageScaleMode.SHOW_ALL` - The entire application is
visible in the specified area without distortion while maintaining the
original aspect ratio of the application. Borders can appear on two sides
of the application.
* `StageScaleMode.NO_BORDER` - The entire application fills
the specified area, without distortion but possibly with some cropping,
while maintaining the original aspect ratio of the application.
* `StageScaleMode.NO_SCALE` - The entire application is
fixed, so that it remains unchanged even as the size of the player window
changes. Cropping might occur if the player window is smaller than the
content.
@throws SecurityError Calling the `scaleMode` property of a
Stage object throws an exception for any caller that
is not in the same security sandbox as the Stage
owner(the main SWF file). To avoid this, the Stage
owner can grant permission to the domain of the
caller by calling the
`Security.allowDomain()` method or the
`Security.allowInsecureDomain()` method.
For more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.Specifies whether to show or hide the default items in the Flash
runtime context menu.
If the `showDefaultContextMenu` property is set to `true` (the
default), all context menu items appear. If the
`showDefaultContextMenu` property is set to `false`, only the Settings
and About... menu items appear.
@throws SecurityError Calling the `showDefaultContextMenu` property of
a Stage object throws an exception for any
caller that is not in the same security sandbox
as the Stage owner (the main SWF file). To avoid
this, the Stage owner can grant permission to
the domain of the caller by calling the
`Security.allowDomain()` method or the
`Security.allowInsecureDomain()` method. For
more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.The area of the stage that is currently covered by the software
keyboard.
The area has a size of zero (0,0,0,0) when the soft keyboard is not
visible.
When the keyboard opens, the `softKeyboardRect` is set at the time the
softKeyboardActivate event is dispatched. If the keyboard changes size
while open, the runtime updates the `softKeyboardRect` property and
dispatches an additional softKeyboardActivate event.
**Note:** On Android, the area covered by the keyboard is estimated
when the operating system does not provide the information necessary
to determine the exact area. This problem occurs in fullscreen mode
and also when the keyboard opens in response to an InteractiveObject
receiving focus or invoking the `requestSoftKeyboard()` method.A list of Stage3D objects available for displaying 3-dimensional content.
You can use only a limited number of Stage3D objects at a time. The number of
available Stage3D objects depends on the platform and on the available hardware.
A Stage3D object draws in front of a StageVideo object and behind the OpenFL
display list.Specifies whether or not objects display a glowing border when they have
focus.
@throws SecurityError Calling the `stageFocusRect` property of
a Stage object throws an exception for any caller
that is not in the same security sandbox as the
Stage owner(the main SWF file). To avoid this, the
Stage owner can grant permission to the domain of
the caller by calling the
`Security.allowDomain()` method or the
`Security.allowInsecureDomain()` method.
For more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.The current height, in pixels, of the Stage.
If the value of the `Stage.scaleMode` property is set to
`StageScaleMode.NO_SCALE` when the user resizes the window, the
Stage content maintains its size while the `stageHeight`
property changes to reflect the new height size of the screen area
occupied by the SWF file.(In the other scale modes, the
`stageHeight` property always reflects the original height of
the SWF file.) You can add an event listener for the `resize`
event and then use the `stageHeight` property of the Stage
class to determine the actual pixel dimension of the resized Flash runtime
window. The event listener allows you to control how the screen content
adjusts when the user resizes the window.
Air for TV devices have slightly different behavior than desktop
devices when you set the `stageHeight` property. If the
`Stage.scaleMode` property is set to
`StageScaleMode.NO_SCALE` and you set the
`stageHeight` property, the stage height does not change until
the next frame of the SWF.
**Note:** In an HTML page hosting the SWF file, both the
`object` and `embed` tags' `height`
attributes must be set to a percentage(such as `100%`), not
pixels. If the settings are generated by JavaScript code, the
`height` parameter of the `AC_FL_RunContent() `
method must be set to a percentage, too. This percentage is applied to the
`stageHeight` value.
@throws SecurityError Calling the `stageHeight` property of a
Stage object throws an exception for any caller that
is not in the same security sandbox as the Stage
owner(the main SWF file). To avoid this, the Stage
owner can grant permission to the domain of the
caller by calling the
`Security.allowDomain()` method or the
`Security.allowInsecureDomain()` method.
For more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.Specifies the current width, in pixels, of the Stage.
If the value of the `Stage.scaleMode` property is set to
`StageScaleMode.NO_SCALE` when the user resizes the window, the
Stage content maintains its defined size while the `stageWidth`
property changes to reflect the new width size of the screen area occupied
by the SWF file.(In the other scale modes, the `stageWidth`
property always reflects the original width of the SWF file.) You can add
an event listener for the `resize` event and then use the
`stageWidth` property of the Stage class to determine the
actual pixel dimension of the resized Flash runtime window. The event
listener allows you to control how the screen content adjusts when the
user resizes the window.
Air for TV devices have slightly different behavior than desktop
devices when you set the `stageWidth` property. If the
`Stage.scaleMode` property is set to
`StageScaleMode.NO_SCALE` and you set the
`stageWidth` property, the stage width does not change until
the next frame of the SWF.
**Note:** In an HTML page hosting the SWF file, both the
`object` and `embed` tags' `width`
attributes must be set to a percentage(such as `100%`), not
pixels. If the settings are generated by JavaScript code, the
`width` parameter of the `AC_FL_RunContent() `
method must be set to a percentage, too. This percentage is applied to the
`stageWidth` value.
@throws SecurityError Calling the `stageWidth` property of a
Stage object throws an exception for any caller that
is not in the same security sandbox as the Stage
owner (the main SWF file). To avoid this, the Stage
owner can grant permission to the domain of the
caller by calling the
`Security.allowDomain()` method or the
`Security.allowInsecureDomain()` method.
For more information, see the "Security" chapter in
the _ActionScript 3.0 Developer's Guide_.The associated Lime Window instance for this Stage.
<__cacheFocus>
Indicates whether GPU compositing is available and in use. The
`wmodeGPU` value is `true` _only_ when all three of the following
conditions exist:
* GPU compositing has been requested.
* GPU compositing is available.
* GPU compositing is in use.
Specifically, the `wmodeGPU` property indicates one of the following:
1. GPU compositing has not been requested or is unavailable. In this
case, the `wmodeGPU` property value is `false`.
2. GPU compositing has been requested (if applicable and available),
but the environment is operating in "fallback mode" (not optimal
rendering) due to limitations of the content. In this case, the
`wmodeGPU` property value is `true`.
3. GPU compositing has been requested (if applicable and available),
and the environment is operating in the best mode. In this case, the
`wmodeGPU` property value is also `true`.
In other words, the `wmodeGPU` property identifies the capability and
state of the rendering environment. For runtimes that do not support
GPU compositing, such as AIR 1.5.2, the value is always `false`,
because (as stated above) the value is `true` only when GPU
compositing has been requested, is available, and is in use.
The `wmodeGPU` property is useful to determine, at runtime, whether or
not GPU compositing is in use. The value of `wmodeGPU` indicates if
your content is going to be scaled by hardware, or not, so you can
present graphics at the correct size. You can also determine if you're
rendering in a fast path or not, so that you can adjust your content
complexity accordingly.
For Flash Player in a browser, GPU compositing can be requested by the
value of `gpu` for the `wmode` HTML parameter in the page hosting the
SWF file. For other configurations, GPU compositing can be requested
in the header of a SWF file (set using SWF authoring tools).
However, the `wmodeGPU` property does not identify the current
rendering performance. Even if GPU compositing is "in use" the
rendering process might not be operating in the best mode. To adjust
your content for optimal rendering, use a Flash runtime debugger
version, and set the `DisplayGPUBlendsetting` in your mm.cfg file.
**Note:** This property is always `false` when referenced from
ActionScript that runs before the runtime performs its first rendering
pass. For example, if you examine `wmodeGPU` from a script in Frame 1
of Adobe Flash Professional, and your SWF file is the first SWF file
loaded in a new instance of the runtime, then the `wmodeGPU` value is
`false`. To get an accurate value, wait until at least one rendering
pass has occurred. If you write an event listener for the `exitFrame`
event of any `DisplayObject`, the `wmodeGPU` value at is the correct
value.
<__clearBeforeRender>
<__color>
<__colorSplit>
<__colorString>
<__contentsScaleFactor>
<__currentTabOrderIndex>
<__deltaTime>
<__dirty>
<__displayMatrix>
<__displayRect>
<__displayState>
<__dragBounds>
<__dragObject>
<__dragOffsetX>
<__dragOffsetY>
<__focus>
<__forceRender>
<__fullscreen>
<__fullScreenSourceRect>
<__invalidated>
<__lastClickTime>
<__lastClickTarget>
<__logicalWidth>
<__logicalHeight>
<__macKeyboard>
<__mouseDownLeft>
<__mouseDownMiddle>
<__mouseDownRight>
<__mouseOutStack>
<__mouseOverTarget>
<__mouseX>
<__mouseY>
<__pendingMouseEvent>
<__pendingMouseX>
<__pendingMouseY>
<__quality>
<__renderer>
<__rendering>
<__rollOutStack>
<__scaleMode>
<__stack>
<__touchData>
<__transparent>
<__uncaughtErrorEvents>
<__wasDirty>
<__wasFullscreen>
<__primaryTouch>
Calling the `invalidate()` method signals Flash runtimes to
alert display objects on the next opportunity it has to render the display
list(for example, when the playhead advances to a new frame). After you
call the `invalidate()` method, when the display list is next
rendered, the Flash runtime sends a `render` event to each
display object that has registered to listen for the `render`
event. You must call the `invalidate()` method each time you
want the Flash runtime to send `render` events.
The `render` event gives you an opportunity to make changes
to the display list immediately before it is actually rendered. This lets
you defer updates to the display list until the latest opportunity. This
can increase performance by eliminating unnecessary screen updates.
The `render` event is dispatched only to display objects
that are in the same security domain as the code that calls the
`stage.invalidate()` method, or to display objects from a
security domain that has been granted permission via the
`Security.allowDomain()` method.
<__broadcastEvent set="method" line="1156">
"checkstyle:Dynamic"
<__createRenderer set="method" line="1189">
<__dispatchEvent set="method" line="1244" override="1">
["checkstyle:Dynamic", "checkstyle:LeftCurly"]
<__dispatchPendingMouseEvent set="method" line="1266">
<__dispatchStack set="method" line="1276">
["checkstyle:Dynamic", "checkstyle:LeftCurly"]
<__dispatchTarget set="method" line="1397">
"checkstyle:Dynamic"
<__drag set="method" line="1417">
<__getInteractive set="method" line="1453" override="1">
<__globalToLocal set="method" line="1463" override="1">
<__handleError set="method" line="1474">
"checkstyle:Dynamic"
<__onKey set="method" line="1528">
<__onLimeCreateWindow set="method" line="1767">
<__onLimeGamepadAxisMove set="method" line="1801">
<__onLimeGamepadButtonDown set="method" line="1820">
<__onLimeGamepadButtonUp set="method" line="1839">
<__onLimeGamepadConnect set="method" line="1858">
<__onLimeGamepadDisconnect set="method" line="1882">
<__onLimeKeyDown set="method" line="1901">
<__onLimeKeyUp set="method" line="1908">
<__onLimeModuleExit set="method" line="1915">
<__onLimeMouseDown set="method" line="1936">
<__onLimeMouseMove set="method" line="1957">
<__onLimeMouseMoveRelative set="method" line="1970">
<__onLimeMouseUp set="method" line="1975">
<__onLimeMouseWheel set="method" line="1996">
<__onLimeRender set="method" line="2012">
<__onLimeRenderContextLost set="method" line="2149">
<__onLimeRenderContextRestored set="method" line="2160">
<__onLimeTextEdit set="method" line="2170">
<__onLimeTextInput set="method" line="2175">
<__onLimeTouchCancel set="method" line="2207">
<__onLimeTouchMove set="method" line="2219">
<__onLimeTouchEnd set="method" line="2224">
<__onLimeTouchStart set="method" line="2235">
<__onLimeUpdate set="method" line="2245">
<__onLimeWindowActivate set="method" line="2252">
<__onLimeWindowClose set="method" line="2259">
<__onLimeWindowCreate set="method" line="2284">
<__onLimeWindowDeactivate set="method" line="2294">
<__onLimeWindowDropFile set="method" line="2301">
<__onLimeWindowEnter set="method" line="2304">
<__onLimeWindowExpose set="method" line="2309">
<__onLimeWindowFocusIn set="method" line="2316">
<__onLimeWindowFocusOut set="method" line="2345">
<__onLimeWindowFullscreen set="method" line="2376">
<__onLimeWindowLeave set="method" line="2390">
<__onLimeWindowMinimize set="method" line="2412">
<__onLimeWindowMove set="method" line="2420">
<__onLimeWindowResize set="method" line="2425">
<__onLimeWindowRestore set="method" line="2448">
<__onMouse set="method" line="2461">
<__onMouseWheel set="method" line="2858">
<__onTouch set="method" line="2892">
<__registerLimeModule set="method" line="3058">
<__resize set="method" line="3077">
<__setLogicalSize set="method" line="3218">
<__startDrag set="method" line="3226">
<__stopDrag set="method" line="3271">
<__unregisterLimeModule set="method" line="3277">
<__update set="method" line="3292" override="1">
{ color : null }® Player),
the Stage represents the entire area where Flash content is shown. For
content running in AIR on desktop operating systems, each NativeWindow
object has a corresponding Stage object.
The Stage object is not globally accessible. You need to access it
through the `stage` property of a DisplayObject instance.
The Stage class has several ancestor classes - DisplayObjectContainer,
InteractiveObject, DisplayObject, and EventDispatcher - from which it
inherits properties and methods. Many of these properties and methods are
either inapplicable to Stage objects, or require security checks when
called on a Stage object. The properties and methods that require security
checks are documented as part of the Stage class.
In addition, the following inherited properties are inapplicable to
Stage objects. If you try to set them, an IllegalOperationError is thrown.
These properties may always be read, but since they cannot be set, they
will always contain default values.
* `accessibilityProperties`
* `alpha`
* `blendMode`
* `cacheAsBitmap`
* `contextMenu`
* `filters`
* `focusRect`
* `loaderInfo`
* `mask`
* `mouseEnabled`
* `name`
* `opaqueBackground`
* `rotation`
* `scale9Grid`
* `scaleX`
* `scaleY`
* `scrollRect`
* `tabEnabled`
* `tabIndex`
* `transform`
* `visible`
* `x`
* `y`
Some events that you might expect to be a part of the Stage class, such
as `enterFrame`, `exitFrame`,
`frameConstructed`, and `render`, cannot be Stage
events because a reference to the Stage object cannot be guaranteed to
exist in every situation where these events are used. Because these events
cannot be dispatched by the Stage object, they are instead dispatched by
every DisplayObject instance, which means that you can add an event
listener to any DisplayObject instance to listen for these events. These
events, which are part of the DisplayObject class, are called broadcast
events to differentiate them from events that target a specific
DisplayObject instance. Two other broadcast events, `activate`
and `deactivate`, belong to DisplayObject's superclass,
EventDispatcher. The `activate` and `deactivate`
events behave similarly to the DisplayObject broadcast events, except that
these two events are dispatched not only by all DisplayObject instances,
but also by all EventDispatcher instances and instances of other
EventDispatcher subclasses. For more information on broadcast events, see
the DisplayObject class.
@event fullScreen Dispatched when the Stage object enters, or
leaves, full-screen mode. A change in
full-screen mode can be initiated through
ActionScript, or the user invoking a keyboard
shortcut, or if the current focus leaves the
full-screen window.
@event mouseLeave Dispatched by the Stage object when the
pointer moves out of the stage area. If the
mouse button is pressed, the event is not
dispatched.
@event orientationChange Dispatched by the Stage object when the stage
orientation changes.
Orientation changes can occur when the
user rotates the device, opens a slide-out
keyboard, or when the
`setAspectRatio()` is called.
**Note:** If the
`autoOrients` property is
`false`, then the stage
orientation does not change when a device is
rotated. Thus, StageOrientationEvents are
only dispatched for device rotation when
`autoOrients` is
`true`.
@event orientationChanging Dispatched by the Stage object when the stage
orientation begins changing.
**Important:** orientationChanging
events are not dispatched on Android
devices.
**Note:** If the
`autoOrients` property is
`false`, then the stage
orientation does not change when a device is
rotated. Thus, StageOrientationEvents are
only dispatched for device rotation when
`autoOrients` is
`true`.
@event resize Dispatched when the `scaleMode`
property of the Stage object is set to
`StageScaleMode.NO_SCALE` and the
SWF file is resized.
@event stageVideoAvailability Dispatched by the Stage object when the state
of the stageVideos property changes.]]>"tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.DisplayObjectRendereropenfl.display.LoaderInfoopenfl.display.Spriteopenfl.display.Stage3Dopenfl.events.Eventopenfl.events.UncaughtErrorEventsopenfl.geom.Matrixopenfl.geom.Pointopenfl.ui.GameInputopenfl.ui.Keyboardopenfl.ui.Mouse
<__active static="1">
The Context3D object associated with this Stage3D instance.
This property is initially `null`. To create the Context3D instance for this
Stage3D object, add an event listener for the `context3DCreate` event and then call
the `requestContext3D` method. The listener is called once the Context3D object has
been created.Specifies whether this Stage3D object is visible.
Use this property to temporarily hide a Stage3D object on the Stage. This property
defaults to `true`.The horizontal coordinate of the Stage3D display on the stage, in pixels.
This property defaults to zero.The vertical coordinate of the Stage3D display on the stage, in pixels.
This property defaults to zero.
<__contextLost>
<__contextRequested>
<__height>
<__indexBuffer>
<__projectionTransform>
<__renderTransform>
<__stage>
<__vertexBuffer>
<__width>
<__x>
<__y>
{ profile : BASELINE, context3DRenderMode : AUTO } 0 )
{
var stage3D:Stage3D = stage.stage3Ds[0];
stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler );
stage3D.requestContext3D( );
}
function myContext3DHandler ( event : Event ) : void
{
var targetStage3D : Stage3D = cast event.target;
InitAll3DResources( targetStage3D.context3D );
StartRendering( targetStage3D.context3D );
}
```
@param context3DRenderMode The type of rendering context to request. The default
is `Context3DRenderMode.AUTO` for which the runtime will create a
hardware-accelerated context if possible and fall back to software otherwise. Use
`Context3DRenderMode.SOFTWARE` to request a software rendering context. Software
rendering is not available on mobile devices. Software rendering is available only
for `Context3DProfile.BASELINE` and `Context3DProfile.BASELINE_CONSTRAINED`.
@param profile (AIR 3.4 and higher) Specifies the extent to which Flash Player
supports lower-level GPUs. The default is `Context3DProfile.BASELINE`, which
returns a Context3D instance similar to that used in previous releases. To get
details of all available profiles, see openfl.display3D.Context3DProfile.
@event context3DCreate Dispatched when the requested rendering context is
successfully completed.
@event error Dispatched when the requested rendering context cannot be created.
@throws Error if no listeners for the `context3DCreate` event have been added to
this Stage3D object.
@throws ArgumentError if this method is called again with a different
`context3DRenderMode` before the previous call has completed.]]> 0 )
{
var stage3D:Stage3D = stage.stage3Ds[0];
stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler );
stage3D.requestContext3DMatchingProfiles(Vector.([Context3DProfile.BASELINE, Context3DProfile.BASELINE_EXTENDED]));
}
function myContext3DHandler ( event : Event ) : Void
{
var targetStage3D : Stage3D = cast event.target;
if(targetStage3D.context3D.profile.localeCompare(Context3DProfile.BASELINE) == 0)
{
InitAll3DResources( targetStage3D.context3D );
}
StartRendering( targetStage3D.context3D );
}
```
@param profiles (AIR 3.4 and higher) a profile arrays that developer want to
use in their flash program. When developer pass profile array to
`Stage3D.requestContext3DMatchingProfiles`, he will get a Context3D based on the
high level profile in that array according to their hardware capability. The
`rendermode` is set to AUTO, so the parameter is omitted.
@event context3DCreate Dispatched when the requested rendering context is
successfully completed.
@event error Dispatched when the requested rendering context cannot be created.
If the hardware is not available, it will not create a software context3d.
@throws Error if no listeners for the context3DCreate event have been added to
this Stage3D object.
@throws ArgumentError if this method is called before the previous call has
completed.
@throws ArgumentError if the item in array is not openfl.display3D.Context3DProfile.]]>
<__createContext set="method" line="376">
<__dispatchError set="method" line="476">
<__dispatchCreate set="method" line="482">
<__lostContext set="method" line="491">
<__resize set="method" line="502">
<__restoreContext set="method" line="542">
® Player), the
Stage represents the entire area where Flash content is shown. For content
running in AIR on desktop operating systems, each NativeWindow object has
a corresponding Stage object.
The Stage object is not globally accessible. You need to access it through
the `stage` property of a DisplayObject instance.
The Stage class has several ancestor classes × DisplayObjectContainer,
InteractiveObject, DisplayObject, and EventDispatcher × from which it
inherits properties and methods. Many of these properties and methods are
either inapplicable to Stage objects, or require security checks when
called on a Stage object. The properties and methods that require security
checks are documented as part of the Stage class.
In addition, the following inherited properties are inapplicable to Stage
objects. If you try to set them, an IllegalOperationError is thrown. These
properties may always be read, but since they cannot be set, they will
always contain default values.
* `accessibilityProperties`
* `alpha`
* `blendMode`
* `cacheAsBitmap`
* `contextMenu`
* `filters`
* `focusRect`
* `loaderInfo`
* `mask`
* `mouseEnabled`
* `name`
* `opaqueBackground`
* `rotation`
* `scale9Grid`
* `scaleX`
* `scaleY`
* `scrollRect`
* `tabEnabled`
* `tabIndex`
* `transform`
* `visible`
* `x`
* `y`
Some events that you might expect to be a part of the Stage class, such as
`enterFrame`, `exitFrame`, `frameConstructed`, and `render`, cannot be
Stage events because a reference to the Stage object cannot be guaranteed
to exist in every situation where these events are used. Because these
events cannot be dispatched by the Stage object, they are instead
dispatched by every DisplayObject instance, which means that you can add
an event listener to any DisplayObject instance to listen for these
events. These events, which are part of the DisplayObject class, are
called broadcast events to differentiate them from events that target a
specific DisplayObject instance. Two other broadcast events, `activate`
and `deactivate`, belong to DisplayObject's superclass, EventDispatcher.
The `activate` and `deactivate` events behave similarly to the
DisplayObject broadcast events, except that these two events are
dispatched not only by all DisplayObject instances, but also by all
EventDispatcher instances and instances of other EventDispatcher
subclasses. For more information on broadcast events, see the
DisplayObject class.
@event fullScreen Dispatched when the Stage object enters, or
leaves, full-screen mode. A change in
full-screen mode can be initiated through
ActionScript, or the user invoking a
keyboard shortcut, or if the current focus
leaves the full-screen window.
@event mouseLeave Dispatched by the Stage object when the
pointer moves out of the stage area. If the
mouse button is pressed, the event is not
dispatched.
@event orientationChange Dispatched by the Stage object when the
stage orientation changes.
Orientation changes can occur when the user
rotates the device, opens a slide-out
keyboard, or when the `setAspectRatio()` is
called.
**Note:** If the `autoOrients` property is
`false`, then the stage orientation does not
change when a device is rotated. Thus,
StageOrientationEvents are only dispatched
for device rotation when `autoOrients` is
`true`.
@event orientationChanging Dispatched by the Stage object when the
stage orientation begins changing.
**Important:** orientationChanging events
are not dispatched on Android devices.
**Note:** If the `autoOrients` property is
`false`, then the stage orientation does not
change when a device is rotated. Thus,
StageOrientationEvents are only dispatched
for device rotation when `autoOrients` is
`true`.
@event resize Dispatched when the `scaleMode` property of
the Stage object is set to
`StageScaleMode.NO_SCALE` and the SWF file
is resized.
@event stageVideoAvailability Dispatched by the Stage object when the
state of the stageVideos property changes.]]>"tags=\"haxe,release\""lime.graphics.opengl.GLopenfl.display3D.Context3Dopenfl.display3D.Program3Dopenfl.display.Bitmapopenfl.display.BitmapDataopenfl.display.StageThe StageAlign class provides constant values to use for the
`Stage.align` property.cast 0Specifies that the Stage is aligned at the bottom.cast 1Specifies that the Stage is aligned on the left.cast 2Specifies that the Stage is aligned to the right.cast 3Specifies that the Stage is aligned on the left.cast 4Specifies that the Stage is aligned to the right.cast 5Specifies that the Stage is aligned at the top.cast 6Specifies that the Stage is aligned on the left.cast 7Specifies that the Stage is aligned to the right.cast 0Specifies that the Stage is aligned at the bottom.cast 1Specifies that the Stage is aligned on the left.cast 2Specifies that the Stage is aligned to the right.cast 3Specifies that the Stage is aligned on the left.cast 4Specifies that the Stage is aligned to the right.cast 5Specifies that the Stage is aligned at the top.cast 6Specifies that the Stage is aligned on the left.cast 7Specifies that the Stage is aligned to the right.The StageDisplayState class provides values for the
`Stage.displayState` property.cast 0Specifies that the Stage is in full-screen mode.cast 1Specifies that the Stage is in full-screen mode with keyboard interactivity enabled.cast 2Specifies that the Stage is in normal mode.cast 0Specifies that the Stage is in full-screen mode.cast 1Specifies that the Stage is in full-screen mode with keyboard interactivity enabled.cast 2Specifies that the Stage is in normal mode.The StageQuality class provides values for the `Stage.quality`
property.cast 0Specifies very high rendering quality: graphics are anti-aliased using a 4
x 4 pixel grid and bitmaps are always smoothed.cast 1Specifies high rendering quality: graphics are anti-aliased using a 4 x 4
pixel grid, and bitmaps are smoothed if the movie is static.cast 2Specifies low rendering quality: graphics are not anti-aliased, and
bitmaps are not smoothed.cast 3Specifies medium rendering quality: graphics are anti-aliased using a 2 x
2 pixel grid, but bitmaps are not smoothed. This setting is suitable for
movies that do not contain text.cast 0Specifies very high rendering quality: graphics are anti-aliased using a 4
x 4 pixel grid and bitmaps are always smoothed.cast 1Specifies high rendering quality: graphics are anti-aliased using a 4 x 4
pixel grid, and bitmaps are smoothed if the movie is static.cast 2Specifies low rendering quality: graphics are not anti-aliased, and
bitmaps are not smoothed.cast 3Specifies medium rendering quality: graphics are anti-aliased using a 2 x
2 pixel grid, but bitmaps are not smoothed. This setting is suitable for
movies that do not contain text.The StageScaleMode class provides values for the
`Stage.scaleMode` property.cast 0Specifies that the entire application be visible in the specified area without
trying to preserve the original aspect ratio. Distortion can occur.cast 1Specifies that the entire application fill the specified area, without
distortion but possibly with some cropping, while maintaining the original
aspect ratio of the application.cast 2Specifies that the size of the application be fixed, so that it remains
unchanged even as the size of the player window changes. Cropping might occur
if the player window is smaller than the content.cast 3Specifies that the entire application be visible in the specified area without
distortion while maintaining the original aspect ratio of the application.
Borders can appear on two sides of the application.cast 0Specifies that the entire application be visible in the specified area without
trying to preserve the original aspect ratio. Distortion can occur.cast 1Specifies that the entire application fill the specified area, without
distortion but possibly with some cropping, while maintaining the original
aspect ratio of the application.cast 2Specifies that the size of the application be fixed, so that it remains
unchanged even as the size of the player window changes. Cropping might occur
if the player window is smaller than the content.cast 3Specifies that the entire application be visible in the specified area without
distortion while maintaining the original aspect ratio of the application.
Borders can appear on two sides of the application.Indicates the alpha transparency value of the object specified. Valid
values are 0 (fully transparent) to 1 (fully opaque). The default value is 1.
Tile objects with `alpha` set to 0 _are_ active, even though they are invisible.A value from the BlendMode class that specifies which blend mode to use.
This property is supported only when using hardware rendering or the Flash target.A ColorTransform object containing values that universally adjust the
colors in the display object.
This property is supported only when using hardware rendering."checkstyle:Dynamic"An additional field for custom user-dataIndicates the height of the tile, in pixels. The height is
calculated based on the bounds of the tile after local transformations.
When you set the `height` property, the `scaleY` property
is adjusted accordingly.
If a tile has a height of zero, no change is appliedThe ID of the tile to draw from the TilesetA Matrix object containing values that alter the scaling, rotation, and
translation of the tile object.
If the `matrix` property is set to a value (not `null`), the `x`, `y`,
`scaleX`, `scaleY` and the `rotation` values will be overwritten.Modifies the origin x coordinate for this tile, which is the center value
used when determining position, scale and rotation.Modifies the origin y coordinate for this tile, which is the center value
used when determining position, scale and rotation.Indicates the ITileContainer object that contains this display
object. Use the `parent` property to specify a relative path to
tile objects that are above the current tile object in the tile
list hierarchy.The custom rectangle to draw from the TilesetIndicates the rotation of the Tile instance, in degrees, from its
original orientation. Values from 0 to 180 represent clockwise rotation;
values from 0 to -180 represent counterclockwise rotation. Values outside
this range are added to or subtracted from 360 to obtain a value within
the range. For example, the statement `tile.rotation = 450`
is the same as ` tile.rotation = 90`.Indicates the horizontal scale (percentage) of the object as applied from
the origin point. The default origin point is (0,0). 1.0
equals 100% scale.
Scaling the local coordinate system changes the `x` and
`y` property values, which are defined in whole pixels.Indicates the vertical scale (percentage) of an object as applied from the
origin point of the object. The default origin point is (0,0).
1.0 is 100% scale.
Scaling the local coordinate system changes the `x` and
`y` property values, which are defined in whole pixels.Uses a custom Shader instance when rendering this tile.
This property is only supported when using hardware rendering.The Tileset that this Tile is rendered from.
If `null`, this Tile will use the Tileset value of its parent.Whether or not the tile object is visible.Indicates the width of the tile, in pixels. The width is
calculated based on the bounds of the tile after local transformations.
When you set the `width` property, the `scaleX` property
is adjusted accordingly.
If a tile has a width of zero, no change is appliedIndicates the _x_ coordinate of the Tile instance relative
to the local coordinates of the parent ITileContainer. If the
object is inside a TileContainer that has transformations, it is
in the local coordinate system of the enclosing TileContainer.
Thus, for a TileContainer rotated 90° counterclockwise, the
TileContainer's children inherit a coordinate system that is
rotated 90° counterclockwise. The object's coordinates refer to the
registration point position.Indicates the _y_ coordinate of the Tile instance relative
to the local coordinates of the parent ITileContainer. If the
object is inside a TileContainer that has transformations, it is
in the local coordinate system of the enclosing TileContainer.
Thus, for a TileContainer rotated 90° counterclockwise, the
TileContainer's children inherit a coordinate system that is
rotated 90° counterclockwise. The object's coordinates refer to the
registration point position.
<__alpha>
<__blendMode>
<__colorTransform>
<__dirty>
<__id>
<__length>
<__matrix>
<__originX>
<__originY>
<__rect>
<__rotation>
<__rotationCosine>
<__rotationSine>
<__scaleX>
<__scaleY>
<__shader>
<__tileset>
<__visible>
Duplicates an instance of a Tile subclass.
@return A new Tile object that is identical to the original.Gets you the bounding box of the Tile.
It will find a tileset to know the original rect
Then it will apply all the transformations from his parent.
@param targetCoordinateSpace The tile that works as a coordinate system.
@return Rectangle The bounding box. If no box found, this will return {0,0,0,0} rectangle instead of null.
<__getBounds set="method" line="384">
Evaluates the bounding box of the tile to see if it overlaps or
intersects with the bounding box of the `obj` tile.
Both tiles must be under the same Tilemap for this to work.
@param obj The tile to test against.
@return `true` if the bounding boxes of the tiles
intersect; `false` if not.Calling the `invalidate()` method signals to have the current tile
redrawn the next time the tile object is eligible to be rendered.
Invalidation is handled automatically, but in some cases it is
necessary to trigger it manually, such as changing the parameters
of a Shader instance attached to this tile.
<__findTileRect set="method" line="460">
<__findTileset set="method" line="497">
<__getWorldTransform set="method" line="512">
Climbs all the way up to get a transformation matrix
adds his own matrix and then returns it.
@return Matrix The final transformation matrix from stage to this point.
<__setRenderDirty set="method" line="524">
{ originY : 0, originX : 0, rotation : 0, scaleY : 1, scaleX : 1, y : 0, x : 0, id : 0 }The Tile class is the base class for all objects that can be contained in a
ITileContainer object. Use the Tilemap or TileContainer class to arrange the tile
objects in the tile list. Tilemap or TileContainer objects can contain tile'
objects, while other the Tile class is a "leaf" node that have only parents and
siblings, no children.
The Tile class supports basic functionality like the _x_ and _y_ position of an
tile, as well as more advanced properties of a tile such as its transformation
matrix.
Tile objects render from a Tileset using either an `id` or a `rect` value, to
reference either an existing rectangle within the Tileset, or a custom rectangle.
Tile objects cannot be rendered on their own. In order to display a Tile object,
it should be contained within a Tilemap instance."tags=\"haxe,release\""openfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.RectangleReturns the number of tiles of this object.
<__tiles>
Adds a Tile instance to this TileContainer instance. The tile is
added to the front (top) of all other tiles in this TileContainer
instance. (To add a tile to a specific index position, use the `addTileAt()`
method.)
@param tile The Tile instance to add to this TileContainer instance.
@return The Tile instance that you pass in the `tile` parameter.Adds a Tile instance to this TileContainer instance. The tile is added
at the index position specified. An index of 0 represents the back (bottom)
of the rendered list for this TileContainer object.
For example, the following example shows three tiles, labeled
a, b, and c, at index positions 0, 2, and 1, respectively:

@param tile The Tile instance to add to this TileContainer instance.
@param index The index position to which the tile is added. If you
specify a currently occupied index position, the tile object
that exists at that position and all higher positions are
moved up one position in the tile list.
@return The Tile instance that you pass in the `tile` parameter.Adds an Array of Tile instances to this TileContainer instance. The tiles
are added to the front (top) of all other tiles in this TileContainer
instance.
@param tiles The Tile instances to add to this TileContainer instance.
@return The Tile Array that you pass in the `tiles` parameter.Determines whether the specified tile is contained within the
TileContainer instance. The search includes the entire tile list including
this TileContainer instance. Grandchildren, great-grandchildren, and so on
each return `true`.
@param tile The tile object to test.
@return `true` if the `tile` object is contained within the TileContainer;
otherwise `false`.Override from tile. A single tile, just has his rectangle.
A container must get a rectangle that contains all other rectangles.
@param targetCoordinateSpace The tile that works as a coordinate system.
@return Rectangle The bounding box. If no box found, this will return {0,0,0,0} rectangle instead of null.Returns the tile instance that exists at the specified index.
@param index The index position of the tile object.
@return The tile object at the specified index position.Returns the index position of a contained Tile instance.
@param child The Tile instance to identify.
@return The index position of the tile object to identify.Removes the specified Tile instance from the tile list of the TileContainer
instance. The index positions of any tile objects above the tile in the
TileContainer are decreased by 1.
@param tile The Tile instance to remove.
@return The Tile instance that you pass in the `tile` parameter.Removes a Tile from the specified `index` position in the tile list of the
TileContainer. The index positions of any tile objects above the tile in
the TileContainer are decreased by 1.
@param index The index of the Tile to remove.
@return The Tile instance that was removed.{ endIndex : 0x7fffffff, beginIndex : 0 }Removes all Tile instances from the tile list of the TileContainer instance.
@param beginIndex The beginning position.
@param endIndex The ending position.Changes the position of an existing tile in the tile container.
This affects the layering of tile objects. For example, the following
example shows three tile objects, labeled a, b, and c, at index
positions 0, 1, and 2, respectively:

When you use the `setTileIndex()` method and specify an
index position that is already occupied, the only positions that change
are those in between the tile object's former and new position. All
others will stay the same. If a tile is moved to an index LOWER than its
current index, all tiles in between will INCREASE by 1 for their index
reference. If a tile is moved to an index HIGHER than its current index,
all tiles in between will DECREASE by 1 for their index reference. For
example, if the tile container in the previous example is named
`container`, you can swap the position of the tile objects
labeled a and b by calling the following code:
```haxe
container.setTileIndex(container.getTileAt(1), 0);
```
This code results in the following arrangement of objects:

@param tile The Tile instance for which you want to change the index
number.
@param index The resulting index number for the `tile` object.Sorts the z-order (front-to-back order) of all the tile objects in this
container based on a comparison function.
A comparison function should take two arguments to compare. Given the elements
A and B, the result of `compareFunction` can have a negative, 0, or positive value:
* A negative return value specifies that A appears before B in the sorted sequence.
* A return value of 0 specifies that A and B have the same sort order.
* A positive return value specifies that A appears after B in the sorted sequence.
The sort operation is not guaranteed to be stable, which means that the
order of equal elements may not be retained.
@param compareFunction A comparison function to use when sorting.Swaps the z-order (front-to-back order) of the two specified tile
objects. All other tile objects in the tile container remain in
the same index positions.
@param child1 The first tile object.
@param child2 The second tile object.Swaps the z-order (front-to-back order) of the tile objects at the two
specified index positions in the tile list. All other tile objects in
the tile container remain in the same index positions.
@param index1 The index position of the first tile object.
@param index2 The index position of the second tile object.{ originY : 0, originX : 0, rotation : 0, scaleY : 1, scaleX : 1, y : 0, x : 0 }The TileContainer type is a special kind of Tile that can hold
other tiles within it.
Tile and TileContainer objects can be rendered by adding them to
a Tilemap instance."tags=\"haxe,release\""openfl.geom.Matrixopenfl.geom.RectangleReturns the number of tiles of this object.Enable or disable support for the `alpha` property of contained tiles. Disabling
this property can improve performance on certain renderers.Enable or disable support for the `blendMode` property of contained tiles.
Disabling this property can improve performance on certain renderers.Enable or disable support for the `colorTransform` property of contained tiles.
Disabling this property can improve performance on certain renderers.Optionally define a default Tileset to be used for all contained tiles. Tile
instances that do not have their `tileset` property defined will use this value.
If a Tile object does not have a Tileset set, either using this property or using
the Tile `tileset` property, it will not be rendered.Controls whether or not the tilemap is smoothed when scaled. If
`true`, the bitmap is smoothed when scaled. If `false`, the tilemap is not
smoothed when scaled.
<__group>
<__tileset>
<__buffer>
<__bufferDirty>
<__height>
<__width>
Adds a Tile instance to this Tilemap instance. The tile is
added to the front (top) of all other tiles in this Tilemap
instance. (To add a tile to a specific index position, use the `addTileAt()`
method.)
@param tile The Tile instance to add to this Tilemap instance.
@return The Tile instance that you pass in the `tile` parameter.Adds a Tile instance to this Tilemap instance. The tile is added
at the index position specified. An index of 0 represents the back (bottom)
of the rendered list for this Tilemap object.
For example, the following example shows three tiles, labeled
a, b, and c, at index positions 0, 2, and 1, respectively:

@param tile The Tile instance to add to this Tilemap instance.
@param index The index position to which the tile is added. If you
specify a currently occupied index position, the tile object
that exists at that position and all higher positions are
moved up one position in the tile list.
@return The Tile instance that you pass in the `tile` parameter.Adds an Array of Tile instances to this Tilemap instance. The tiles
are added to the front (top) of all other tiles in this Tilemap
instance.
@param tiles The Tile instances to add to this Tilemap instance.
@return The Tile Array that you pass in the `tiles` parameter.Determines whether the specified tile is contained within the
Tilemap instance. The search includes the entire tile list including
this Tilemap instance. Grandchildren, great-grandchildren, and so on
each return `true`.
@param tile The tile object to test.
@return `true` if the `tile` object is contained within the Tilemap;
otherwise `false`.Returns the tile instance that exists at the specified index.
@param index The index position of the tile object.
@return The tile object at the specified index position.Returns the index position of a contained Tile instance.
@param child The Tile instance to identify.
@return The index position of the tile object to identify.Returns a TileContainer with each of the tiles contained within this
Tilemap.
@return A new TileContainer with the same Tile references as this TilemapRemoves the specified Tile instance from the tile list of the Tilemap
instance. The index positions of any tile objects above the tile in the
Tilemap are decreased by 1.
@param tile The Tile instance to remove.
@return The Tile instance that you pass in the `tile` parameter.Removes a Tile from the specified `index` position in the tile list of the
Tilemap. The index positions of any tile objects above the tile in
the Tilemap are decreased by 1.
@param index The index of the Tile to remove.
@return The Tile instance that was removed.{ endIndex : 0x7fffffff, beginIndex : 0 }Removes all Tile instances from the tile list of the ITileContainer instance.
@param beginIndex The beginning position.
@param endIndex The ending position.Changes the position of an existing tile in the tile container.
This affects the layering of tile objects. For example, the following
example shows three tile objects, labeled a, b, and c, at index
positions 0, 1, and 2, respectively:

When you use the `setTileIndex()` method and specify an
index position that is already occupied, the only positions that change
are those in between the tile object's former and new position. All
others will stay the same. If a tile is moved to an index LOWER than its
current index, all tiles in between will INCREASE by 1 for their index
reference. If a tile is moved to an index HIGHER than its current index,
all tiles in between will DECREASE by 1 for their index reference. For
example, if the tile container in the previous example is named
`container`, you can swap the position of the tile objects
labeled a and b by calling the following code:
```haxe
container.setTileIndex(container.getTileAt(1), 0);
```
This code results in the following arrangement of objects:

@param tile The Tile instance for which you want to change the index
number.
@param index The resulting index number for the `tile` object.Sets all the Tile instances of this Tilemap instance.
@param beginIndex The beginning position.
@param endIndex The ending position.Sorts the z-order (front-to-back order) of all the tile objects in this
container based on a comparison function.
A comparison function should take two arguments to compare. Given the elements
A and B, the result of `compareFunction` can have a negative, 0, or positive value:
* A negative return value specifies that A appears before B in the sorted sequence.
* A return value of 0 specifies that A and B have the same sort order.
* A positive return value specifies that A appears after B in the sorted sequence.
The sort operation is not guaranteed to be stable, which means that the
order of equal elements may not be retained.
@param compareFunction A comparison function to use when sorting.Swaps the z-order (front-to-back order) of the two specified tile
objects. All other tile objects in the tile container remain in
the same index positions.
@param child1 The first tile object.
@param child2 The second tile object.Swaps the z-order (front-to-back order) of the tile objects at the two
specified index positions in the tile list. All other tile objects in
the tile container remain in the same index positions.
@param index1 The index position of the first tile object.
@param index2 The index position of the second tile object.
<__enterFrame set="method" line="380" override="1">
<__getBounds set="method" line="390" override="1">
<__hitTest set="method" line="404" override="1">
<__renderFlash set="method" line="428">
{ smoothing : true, tileset : null }Creates a new Tilemap object.
@param width The width of the tilemap in pixels.
@param height The height of the tilemap in pixels.
@param tileset A Tileset being referenced.
@param smoothing Whether or not the tilemap is smoothed when scaled. For example, the following examples
show the same tilemap scaled by a factor of 3, with `smoothing` set to `false` (left) and `true` (right):
 The Tilemap class represents a "quad batch", or series of objects that are
rendered from the same bitmap. The Tilemap class is designed to encourage
the use of a single Tileset reference for best performance, but it is possible
to use unique Tileset references for each Tile or TileContainer within a
Tilemap.
On software renderered platforms, the Tilemap class uses a rendering method
similar to BitmapData `copyPixels`, so it will perform fastest if tile objects
do not use rotation or scale.
On hardware rendered platforms, the Tilemap class uses a rendering method
that is fast even with transforms, and allows support for additional features,
such as custom `shader` references, and color transform. Using multiple Shader
or Tileset references will require a new draw call each time there is a change.
**Note:** The Tilemap class is not a subclass of the InteractiveObject
class, so it cannot dispatch mouse events. However, you can use the
`addEventListener()` method of the display object container that
contains the Tilemap object."tags=\"haxe,release\""openfl.display.Tileopenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.RectangleThe BitmapData object being referenced.The rectangles contained in this Tileset, structured as a Vector object.
You can use the Tileset `rectData` property alongside the Graphics
`drawQuads` method as a convenient way of re-using a list of rectangles.Returns the number of rectangles defined in this Tileset.
<__bitmapData>
<__data>
Adds a new rectangle to this Tilemap object.
@param rect A Rectangle represented a part of the referenced BitmapData object
@returns The assigned ID value for this new rectangleDuplicates an instance of a Tileset subclass.
@return A new Tileset object that is identical to the original.Returns whether the current Tileset already has a rectangle
defined that matches the dimensions of a specific rectangle
object.
@param rect A Rectangle object to compare against
@returns Whether the Tileset already contains the value of this rectangleGet the rectangle value associated with a specific tile ID.
If the ID is invalid, then a `null` value will be returned.
@param id A tile ID
@return A new Rectangle containing the tile source rectangle, or `null` if the
tile ID does not exist in this TilesetGets the tile ID associated with a specified rectangle
value, if it is defined in the Tileset. This will return
`null` if the rectangle value is not defined in the Tileset.
@param rect A Rectangle object to compare against
@returns The defined tile ID, or `null` if the rectangle
value is not present in this Tileset{ rects : null }Creates a new Tileset instance.
@param bitmapData A BitmapData object to reference
@param rects An optional array of rectangles to define with the referenced BitmapDataThe Tileset class lets you specify logical rectangles within a larger
BitmapData object, to be rendered using a Tilemap instance.
The `Tileset()` constructor allows you to create a Tileset
object that contains a reference to a BitmapData object. After you create a
Tileset object, use the `addRect()` method to specify rectangles to be used
for tile rendering."tags=\"haxe,release\""openfl.geom.Rectangle
<__bitmapData public="1">
<__uvHeight public="1">
<__uvWidth public="1">
<__uvX public="1">
<__uvY public="1">
<__update set="method" line="247">
{ rect : null }"tags=\"haxe,release\"""checkstyle:FieldDocComment"openfl.display.TilesethideThe original frame rate for this Timeline.An Array of Scenes contained within this Timeline.
Scenes are assumed to occur in order, so if the first Scene
contains 10 frames, then the beginning of the second Scene will
be treated as frame 11 when setting FrameScripts or implementing
enterFrame().An optional array of frame scripts to be executed.
<__currentFrame>
<__currentFrameLabel>
<__currentLabel>
<__currentLabels>
<__currentScene>
<__frameScripts>
<__framesLoaded>
<__frameTime>
<__isPlaying>
<__lastFrameScriptEval>
<__lastFrameUpdate>
<__scope>
<__timeElapsed>
<__totalFrames>
OpenFL will call this method automatically.
If you are making your own Timeline type, please override this method
and implement the first frame initialization for a MovieClip.
OpenFL will expect to use one Timeline instance per MovieClip.
Please initialize the first frame in this method. Afterward enterFrame()
will be called automatically when it is time to enter a different frame.OpenFL will call this method automatically for MovieClips with
attached timelines.
Please update your attached MovieClip instance to the requested frame
when this method is called.OpenFL will call this method automatically.
If you are making your own Timeline type, please override this method
and implement the initialization of a Sprite.
Sprites do not use frame scripts, or enter multiple frames. In other
words, they will be similar to the first frame of a MovieClip.
enterFrame() will not be called, and this Timeline object might be
re-used again.
<__addFrameScript set="method" line="115">
<__attachMovieClip set="method" line="139">
<__enterFrame set="method" line="188">
<__evaluateFrameScripts set="method" line="225">
<__getNextFrame set="method" line="257">
<__goto set="method" line="278">
<__gotoAndPlay set="method" line="290">
{ scene : null }
<__gotoAndStop set="method" line="296">
{ scene : null }
<__nextFrame set="method" line="302">
<__nextScene set="method" line="308">
<__play set="method" line="313">
<__prevFrame set="method" line="326">
<__prevScene set="method" line="332">
<__stop set="method" line="337">
<__resolveFrameReference set="method" line="342">
<__updateFrameLabel set="method" line="368">
<__updateSymbol set="method" line="393">
Provides support for MovieClip animations (or a single frame Sprite) when
this class is overridden.
For example, the OpenFL SWF library provides a Timeline generated from SWF
assets. However, any editor that may provide UI or display elements could
be used to generate assets for OpenFL timelines.
To implement a custom Timeline, please override this class. Each Timeline
can set their original animation frame rate, and can also provide Scenes or
FrameScripts. OpenFL will automatically execute FrameScripts and request frame
updates.
There are currently three internal methods which should not be called by the user,
which can be overridden to implement a new type of Timeline:
attachMovieClip();
enterFrame();
initializeSprite();"tags=\"haxe,release\""Defines codes for culling algorithms that determine which triangles not to
render when drawing triangle paths.
The terms `POSITIVE` and `NEGATIVE` refer to the
sign of a triangle's normal along the z-axis. The normal is a 3D vector
that is perpendicular to the surface of the triangle.
A triangle whose vertices 0, 1, and 2 are arranged in a clockwise order
has a positive normal value. That is, its normal points in a positive
z-axis direction, away from the current view point. When the
`TriangleCulling.POSITIVE` algorithm is used, triangles with
positive normals are not rendered. Another term for this is backface
culling.
A triangle whose vertices are arranged in a counter-clockwise order has
a negative normal value. That is, its normal points in a negative z-axis
direction, toward the current view point. When the
`TriangleCulling.NEGATIVE` algorithm is used, triangles with
negative normals will not be rendered.cast 0Specifies culling of all triangles facing toward the current view point.cast 1Specifies no culling. All triangles in the path are rendered.cast 2Specifies culling of all triangles facing away from the current view
point. This is also known as backface culling.cast 0Specifies culling of all triangles facing toward the current view point.cast 1Specifies no culling. All triangles in the path are rendered.cast 2Specifies culling of all triangles facing away from the current view
point. This is also known as backface culling."checkstyle:Dynamic"The Window class is a Lime Window instance that automatically
initializes an OpenFL stage for the current window."tags=\"haxe,release\""openfl.display.LoaderInfoopenfl.display.Stage"checkstyle:FieldDocComment"{ stitch_threshold : 0.05, stitch : false }"tags=\"haxe,release\"""checkstyle:FieldDocComment""tags=\"haxe,release\""lime.graphics.ImageBufferopenfl.display.Bitmapopenfl.display.BitmapDataopenfl.geom.Matrix"checkstyle:FieldDocComment""tags=\"haxe,release\""openfl.display.BitmapData"tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.geom.Matrix"checkstyle:FieldDocComment""tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.DisplayObjectContainernew DrawCommandBuffer()"checkstyle:Dynamic""tags=\"haxe,release\""openfl.display._internal.DrawCommandReader"checkstyle:FieldDocComment"0.707106781186547524400844362104850.4142135623730950488016887242097new DrawCommandBuffer()new DrawCommandBuffer()new Matrix3(){ strokeBefore : false }{ skipT : false }{ stroke : false }"tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.BitmapDataopenfl.display.Graphicsopenfl.geom.Matrixopenfl.geom.Pointopenfl.geom.Rectangle"checkstyle:FieldDocComment"new Matrix3()"tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.display.Graphicsopenfl.geom.Matrix"checkstyle:FieldDocComment""tags=\"haxe,release\""openfl.display.SimpleButton"tags=\"haxe,release\""openfl.display.BitmapDataopenfl.display.Graphicsopenfl.geom.Matrixopenfl.text.TextField"checkstyle:FieldDocComment""checkstyle:Dynamic""tags=\"haxe,release\""lime.graphics.ImageBufferopenfl.display.BitmapDataopenfl.display.Tileopenfl.display.TileContaineropenfl.display.Tilemapopenfl.display.Tilesetopenfl.geom.Matrixopenfl.geom.Rectangle"checkstyle:FieldDocComment"openfl.display.Bitmapopenfl.display.BitmapData"checkstyle:FieldDocComment"openfl.display.BitmapDataopenfl.display.DisplayObjectopenfl.geom.Matrix"checkstyle:FieldDocComment"openfl.display.DisplayObjectopenfl.display.DisplayObjectContainer0.707106781186547524400844362104850.4142135623730950488016887242097new DrawCommandBuffer()new DrawCommandBuffer()"checkstyle:Dynamic"{ strokeBefore : false }"checkstyle:Dynamic""checkstyle:Dynamic"{ skipT : false }{ stroke : false }openfl.display.DisplayObjectopenfl.display.BitmapDataopenfl.display.Graphicsopenfl.geom.Matrixopenfl.geom.Pointopenfl.geom.Rectangle"checkstyle:FieldDocComment"openfl.display.SimpleButtonopenfl.text._internal.TextEngineopenfl.display.Graphicsopenfl.geom.Matrixopenfl.text.TextFieldopenfl.text.TextFormat"checkstyle:FieldDocComment""checkstyle:Dynamic"lime.graphics.ImageBufferopenfl.display.BitmapDataopenfl.display.Tileopenfl.display.TileContaineropenfl.display.Tilemapopenfl.display.Tilesetopenfl.geom.Matrixopenfl.geom.Rectangle"checkstyle:FieldDocComment"openfl.media.Videoopenfl.net.NetStream"checkstyle:FieldDocComment"" tags=\"haxe,release\" "openfl.display3D.Context3Dopenfl.display.Bitmapopenfl.display.BitmapDataopenfl.display.Shaderopenfl.display.Stageopenfl.filters.BitmapFilteropenfl.geom.ColorTransform"checkstyle:FieldDocComment"" tags=\"haxe,release\" "openfl.display.BitmapDataopenfl.display.Shaderopenfl.display3D.Context3D0xFFFF0x2AAA0xFFFC{ length : -1 }{ dataPerVertex : -1 }"checkstyle:FieldDocComment""tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.DisplayObjectopenfl.geom.Matrixopenfl.geom.Rectangle"checkstyle:FieldDocComment"" tags=\"haxe,release\" "openfl.display.DisplayObjectopenfl.display.DisplayObjectContainernew BitmapData(1, 1, false, 0)new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0)"tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.DisplayObjectopenfl.display.Graphicsopenfl.display.Shaderopenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.Rectangle"checkstyle:FieldDocComment"new BitmapData(1, 1, false, 0)hideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internal"varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t\tif (color.a == 0.0) {\n\n\t\t\t\tdiscard;\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = color;\n\n\t\t\t}\n\n\t\t}""attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\"""tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.DisplayObjectopenfl.display.BitmapDataopenfl.display.Graphicsopenfl.display.Shaderopenfl.filters.BitmapFilteropenfl.geom.ColorTransformopenfl.geom.Matrix"checkstyle:FieldDocComment"" tags=\"haxe,release\" "openfl.display.SimpleButton" tags=\"haxe,release\" "openfl.display.Graphicsopenfl.text.TextField"checkstyle:FieldDocComment"{ isTopLevel : true }"tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display3D.VertexBuffer3Dopenfl.display.Shaderopenfl.display.Tilemapopenfl.display.Tilesetopenfl.display.Tileopenfl.filters.BitmapFilteropenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.Rectangle"checkstyle:FieldDocComment"
<__textureSizeValue expr="[0, 0.]" line="22" static="1">
[0, 0.]"tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.Shaderopenfl.geom.ColorTransformopenfl.media.Videoopenfl.net.NetStream"checkstyle:FieldDocComment"lime.graphics.ImageBufferopenfl.display.Bitmapopenfl.display.BitmapData"checkstyle:FieldDocComment"openfl.display.DisplayObjectopenfl.geom.Matrix"checkstyle:FieldDocComment"openfl.display.DisplayObjectopenfl.display.DisplayObjectContaineropenfl.display.DisplayObjectopenfl.display.Graphicsopenfl.geom.Matrixopenfl.geom.Rectangle"checkstyle:FieldDocComment"openfl.display.DisplayObjectopenfl.display.SimpleButton
<__regexColor expr="~/color=("#([^"]+)"|'#([^']+)')/" line="20" static="1">
~/color=("#([^"]+)"|'#([^']+)')/
<__regexFace expr="~/face=("([^"]+)"|'([^']+)')/" line="21" static="1">
~/face=("([^"]+)"|'([^']+)')/
<__regexFont expr="~/<font ([^>]+)>/" line="22" static="1">
]+)>/]]>
<__regexCloseFont expr="new EReg("</font>", "gi")" line="23" static="1">
", "gi")]]>
<__regexSize expr="~/size=("([^"]+)"|'([^']+)')/" line="24" static="1">
~/size=("([^"]+)"|'([^']+)')/
<__getAttributeMatch set="method" line="449" static="1">openfl.display.DisplayObjectopenfl.text._internal.TextEngineopenfl.text.TextField"checkstyle:FieldDocComment"openfl.display.DisplayObjectopenfl.display.TileContaineropenfl.display.Tilemapopenfl.geom.Matrix"checkstyle:FieldDocComment"openfl.media.Videoopenfl.net.NetStream"checkstyle:FieldDocComment""checkstyle:Dynamic""tags=\"haxe,release\""openfl.display._internalopenfl.display._internal"checkstyle:FieldDocComment"
<_new public="1" get="inline" set="null" line="335" static="1">
<_new public="1" get="inline" set="null" line="335" static="1">
<_new public="1" get="inline" set="null" line="371" static="1">
<_new public="1" get="inline" set="null" line="371" static="1">
<_new public="1" get="inline" set="null" line="393" static="1">
<_new public="1" get="inline" set="null" line="393" static="1">
<_new public="1" get="inline" set="null" line="457" static="1">
<_new public="1" get="inline" set="null" line="457" static="1">
<_new public="1" get="inline" set="null" line="472" static="1">
<_new public="1" get="inline" set="null" line="472" static="1">
<_new public="1" get="inline" set="null" line="522" static="1">
<_new public="1" get="inline" set="null" line="522" static="1">
<_new public="1" get="inline" set="null" line="558" static="1">
<_new public="1" get="inline" set="null" line="558" static="1">
<_new public="1" get="inline" set="null" line="587" static="1">
<_new public="1" get="inline" set="null" line="587" static="1">
<_new public="1" get="inline" set="null" line="623" static="1">
<_new public="1" get="inline" set="null" line="623" static="1">
<_new public="1" get="inline" set="null" line="652" static="1">
<_new public="1" get="inline" set="null" line="652" static="1">
<_new public="1" get="inline" set="null" line="688" static="1">
<_new public="1" get="inline" set="null" line="688" static="1">
<_new public="1" get="inline" set="null" line="738" static="1">
<_new public="1" get="inline" set="null" line="738" static="1">
<_new public="1" get="inline" set="null" line="774" static="1">
<_new public="1" get="inline" set="null" line="774" static="1">
<_new public="1" get="inline" set="null" line="782" static="1">
<_new public="1" get="inline" set="null" line="782" static="1">
<_new public="1" get="inline" set="null" line="818" static="1">
<_new public="1" get="inline" set="null" line="818" static="1">
<_new public="1" get="inline" set="null" line="882" static="1">
<_new public="1" get="inline" set="null" line="882" static="1">
<_new public="1" get="inline" set="null" line="946" static="1">
<_new public="1" get="inline" set="null" line="946" static="1">
<_new public="1" get="inline" set="null" line="968" static="1">
<_new public="1" get="inline" set="null" line="968" static="1">
<_new public="1" get="inline" set="null" line="990" static="1">
<_new public="1" get="inline" set="null" line="990" static="1">
<_new public="1" get="inline" set="null" line="1005" static="1">
<_new public="1" get="inline" set="null" line="1005" static="1">
<_new public="1" get="inline" set="null" line="1020" static="1">
<_new public="1" get="inline" set="null" line="1020" static="1">
<_new public="1" get="inline" set="null" line="1028" static="1">
<_new public="1" get="inline" set="null" line="1028" static="1">
"checkstyle:FieldDocComment"
<__renderFlash set="method">openfl.display._internal.FlashRenderernew ColorTransform()new Bitmap()new Point()new Rectangle()openfl.display.Tileopenfl.display.TileContaineropenfl.display.Tilemapopenfl.display.Tileset"checkstyle:FieldDocComment"hidecast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 8cast 0cast 1cast 2cast 3cast 4cast 0cast 1cast 2cast 3cast 4cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 9cast 10cast 0cast 1cast 2cast 3cast 4cast 5cast 6cast 7cast 9cast 10
{ stitch_threshold : 0.05, stitch : false }"tags=\"haxe,release\"""checkstyle:FieldDocComment"{ textureAlpha : false, centroid : false, ignoreSampler : false, lodBias : 0.0, mipfilter : MIPNONE, filter : NEAREST, wrap : CLAMP }"tags=\"haxe,release\"""checkstyle:FieldDocComment""checkstyle:Dynamic""tags=\"haxe,release\""openfl.display.Shader"checkstyle:FieldDocComment"falseIndicates if Context3D supports video texture.
<__driverInfo static="1">
<__glDepthStencil expr="-1" line="255" static="1">
-1
<__glMaxTextureMaxAnisotropy expr="-1" line="256" static="1">
-1
<__glMaxViewportDims expr="-1" line="257" static="1">
-1
<__glMemoryCurrentAvailable expr="-1" line="258" static="1">
-1
<__glMemoryTotalAvailable expr="-1" line="259" static="1">
-1
<__glTextureMaxAnisotropy expr="-1" line="260" static="1">
-10Specifies the height of the back buffer, which can be changed by a successful
call to the `configureBackBuffer()` method. The height may be modified when the
browser zoom factor changes if the `wantsBestResolutionOnBrowserZoom` parameter
is set to `true` in the last successful call to the `configureBackBuffer()`
method. The change in height can be detected by registering an event listener
for the browser zoom change event.0Specifies the width of the back buffer, which can be changed by a successful
call to the `configureBackBuffer()` method. The width may be modified when the
browser zoom factor changes if the `wantsBestResolutionOnBrowserZoom` parameter
is set to `true` in the last successful call to the `configureBackBuffer()`
method. The change in width can be detected by registering an event listener
for the browser zoom change event."OpenGL (Direct blitting)"The type of graphics library driver used by this rendering context. Indicates
whether the rendering is using software, a DirectX driver, or an OpenGL driver.
Also indicates whether hardware rendering failed. If hardware rendering fails,
Flash Player uses software rendering for Stage3D and `driverInfo` contains one
of the following values:
* "Software Hw_disabled=userDisabled" - The Enable hardware acceleration
checkbox in the Adobe Flash Player Settings UI is not selected.
* "Software Hw_disabled=oldDriver" - There are known problems with the
hardware graphics driver. Updating the graphics driver may fix this problem.
* "Software Hw_disabled=unavailable" - Known problems with the hardware
graphics driver or hardware graphics initialization failure.
* "Software Hw_disabled=explicit" - The content explicitly requested software
rendering through requestContext3D.
* "Software Hw_disabled=domainMemory" - The content uses domainMemory, which
requires a license when used with Stage3D hardware rendering. Visit
adobe.com/go/fpl.Specifies whether errors encountered by the renderer are reported to the
application.
When `enableErrorChecking` is `true`, the `clear()`, and `drawTriangles()`
methods are synchronous and can throw errors. When `enableErrorChecking`
is `false`, the default, the `clear()`, and `drawTriangles()` methods are
asynchronous and errors are not reported. Enabling error checking reduces
rendering performance. You should only enable error checking when debugging.Specifies the maximum height of the back buffer. The inital value is the system
limit in the platform. The property can be set to a value smaller than or equal
to, but not greater than, the system limit. The property can be set to a value
greater than or equal to, but not smaller than, the minimum limit. The minimum
limit is a constant value, 32, when the back buffer is not configured. The
minimum limit will be the value of the `height` parameter in the last successful
call to the `configureBackBuffer()` method after the back buffer is configured.Specifies the maximum width of the back buffer. The inital value is the system
limit in the platform. The property can be set to a value smaller than or equal
to, but not greater than, the system limit. The property can be set to a value
greater than or equal to, but not smaller than, the minimum limit. The minimum
limit is a constant value, 32, when the back buffer is not configured. The
minimum limit will be the value of the width parameter in the last successful
call to the `configureBackBuffer()` method after the back buffer is configured.STANDARDThe feature-support profile in use by this Context3D object.gpu` will
fall back to `direct`)
This API can be used when the SWF version is 32 or later.]]>
<__backBufferAntiAlias>
<__backBufferTexture>
<__backBufferWantsBestResolution>
<__backBufferWantsBestResolutionOnBrowserZoom>
<__cleared>
<__context>
<__contextState>
<__renderStage3DProgram>
<__enableErrorChecking>
<__fragmentConstants>
<__frontBufferTexture>
<__positionScale>
<__present>
<__programs>
<__quadIndexBuffer>
<__quadIndexBufferCount>
<__quadIndexBufferElements>
<__stage>
<__stage3D>
<__state>
<__vertexConstants>
{ mask : Context3DClearMask.ALL, stencil : 0, depth : 1, alpha : 1, blue : 0, green : 0, red : 0 }Clears the color, depth, and stencil buffers associated with this Context3D
object and fills them with the specified values.
Set the `mask` parameter to specify which buffers to clear. Use the constants
defined in the Context3DClearMask class to set the `mask` parameter. Use the
bitwise OR operator, "|", to add multiple buffers to the mask (or use
Context3DClearMask.ALL). When rendering to the back buffer, the
`configureBackBuffer()` method must be called before any `clear()` calls.
**Note:** If you specify a parameter value outside the allowed range, Numeric
parameter values are silently clamped to the range zero to one. Likewise, if
stencil is greater than 0xff it is set to 0xff.
@param red the red component of the color with which to clear the color buffer,
in the range zero to one.
@param green the green component of the color with which to clear the color
buffer, in the range zero to one.
@param blue the blue component of the color with which to clear the color
buffer, in the range zero to one.
@param alpha the alpha component of the color with which to clear the color
buffer, in the range zero to one. The alpha component is not used for blending.
It is written to the buffer alpha directly.
@param depth the value with which to clear the depth buffer, in the range
zero to one.
@param stencil the 8-bit value with which to clear the stencil buffer, in a
range of 0x00 to 0xff.
@param mask specifies which buffers to clear.
@throws Error Object Disposed: If this Context3D object has been disposed by a calling
dispose() or because the underlying rendering hardware has been lost.
@throws Error 3768: The Stage3D API may not be used during background execution.{ wantsBestResolutionOnBrowserZoom : false, wantsBestResolution : false, enableDepthAndStencil : true }Sets the viewport dimensions and other attributes of the rendering buffer.
Rendering is double-buffered. The back buffer is swapped with the visible,
front buffer when the `present()` method is called. The minimum size of the
buffer is 32x32 pixels. The maximum size of the back buffer is limited by the
device capabilities and can also be set by the user through the properties
`maxBackBufferWidth` and `maxBackBufferHeight`. Configuring the buffer is a
slow operation. Avoid changing the buffer size or attributes during normal
rendering operations.
@param width width in pixels of the buffer.
@param height height in pixels of the buffer.
@param antiAlias an integer value specifying the requested antialiasing
quality. The value correlates to the number of subsamples used when
antialiasing. Using more subsamples requires more calculations to be performed,
although the relative performance impact depends on the specific rendering
hardware. The type of antialiasing and whether antialiasing is performed at all is
dependent on the device and rendering mode. Antialiasing is not supported at all by
the software rendering context.
| --- | --- |
| 0 | No antialiasing |
| 2 | Minimal antialiasing |
| 4 | High-quality antialiasing |
| 16 | Very high-quality antialiasing |
@param enableDepthAndStencil `false` indicates no depth or stencil buffer is
created, `true` creates a depth and a stencil buffer. For an AIR 3.2 or later
application compiled with SWF version 15 or higher, if the `renderMode` element in
the application descriptor file is `direct`, then the `depthAndStencil` element in
the application descriptor file must have the same value as this argument. By
default, the value of the `depthAndStencil` element is `false`.
@param wantsBestResolution `true` indicates that if the device supports HiDPI
screens it will attempt to allocate a larger back buffer than indicated with the
`width` and `height` parameters. Since this add more pixels and potentially changes
the result of shader operations this is turned off by default. Use
`Stage.contentsScaleFactor` to determine by how much the native back buffer was
scaled up.
@param wantsBestResolutionOnBrowserZoom `true` indicates that the size of the
back buffer should increase in proportion to the increase in the browser zoom
factor. The setting of this value is persistent across multiple browser zooms.
The default value of the parameter is `false`. Set `maxBackBufferWidth` and
`maxBackBufferHeight` properties to limit the back buffer size increase. Use
`backBufferWidth` and `backBufferHeight` to determine the current size of the
back buffer.
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error Bad Input Size: The `width` or `height` parameter is either less
than the minimum back buffer allowed size or greater than the maximum back buffer
size allowed.
@throws Error 3709: The `depthAndStencil` flag in the application descriptor
must match the `enableDepthAndStencil` Boolean passed to `configureBackBuffer()`
on the Context3D object.{ streamingLevels : 0 } 0 can impact memory usage and
performance.
@return A new CubeTexture object
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error Resource Limit Exceeded: if too many Texture objects are created
or the amount of memory allocated to textures is exceeded.
@throws ArgumentError Depth Texture Not Implemented: if you attempt to create
a depth texture.
@throws ArgumentError Texture Size Is Zero: if the size parameter is not greater
than zero.
@throws ArgumentError Texture Not Power Of Two: if the size parameter is not a
power of two.
@throws ArgumentError Texture Too Big: if the size parameter is greater than
1024.
@throws Error Texture Creation Failed: if the CubeTexture object could not be
created by the rendering context (but information about the reason is not
available).
@throws ArgumentError Invalid streaming level: if streamingLevels is greater or
equal to `log2(size)`.]]>{ bufferUsage : STATIC_DRAW }Creates an IndexBuffer3D object.
Use an IndexBuffer3D object to upload a set of triangle indices to the rendering
context and to reference that set of indices for rendering. Each index in the
index buffer references a corresponding vertex in a vertex buffer. Each set of
three indices identifies a triangle. Pass the IndexBuffer3D object to the
`drawTriangles()` method to render one or more triangles defined in the index
buffer.
You cannot create IndexBuffer3D objects with the IndexBuffer3D class constructor;
use this method instead. After creating a IndexBuffer3D object, upload the
indices using the IndexBuffer3D `uploadFromVector()` or `uploadFromByteArray()`
methods.
@param numIndices the number of vertices to be stored in the buffer.
@param bufferUsage the expected buffer usage. Use one of the constants defined
in Context3DBufferUsage. The hardware driver can do appropriate optimization
when you set it correctly. This parameter is only available after Flash 12/AIR 4.
@return A new IndexBuffer3D object
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error Resource Limit Exceeded: if too many index buffers are created
or the amount of memory allocated to index buffers is exceeded.
@throws Error 3768: The Stage3D API may not be used during background execution.
@throws ArgumentError Buffer Too Big: when `numIndices` is greater than or equal
to 0xf0000.{ format : AGAL }Creates a Program3D object.
Use a Program3D object to upload shader programs to the rendering context and
to reference uploaded programs during rendering. A Program3D object stores
two programs, a vertex program and a fragment program (also known as a pixel
program). The programs are written in a binary shader assembly language.
You cannot create Program3D objects with a Program3D constructor; use this method
instead. After creating a Program3D object, upload the programs using the
Program3D `upload()` method.
@param format (Experimental) Set the format of this Program3D instance to AGAL
(default) or to GLSL for use on GL-based renderers
@return A new Program3D object
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error The number of programs exceeds 4096 or the total memory size
exceeds 16MB (use dispose to free Program3D resources).Creates a Rectangle Texture object.
Use a RectangleTexture object to upload texture bitmaps to the rendering context
and to reference a texture during rendering.
You cannot create RectangleTexture objects with a RectangleTexture constructor;
use this method instead. After creating a RectangleTexture object, upload the
texture bitmaps using the Texture `uploadFromBitmapData()` or
`uploadFromByteArray()` methods.
Note that 32-bit integer textures are stored in a packed BGRA format to match
the OpenFL BitmapData format. Floating point textures use a conventional RGBA
format.
Rectangle textures are different from regular 2D textures in that their width and
height do not have to be powers of two. Also, they do not contain mip maps.
They are most useful for use in render to texture cases. If a rectangle texture
is used with a sampler that uses mip map filtering or repeat wrapping the
drawTriangles call will fail. Rectangle texture also do not allow streaming. The
only texture formats supported by Rectangle textures are BGRA, BGR_PACKED,
BGRA_PACKED. The compressed texture formats are not supported by Rectangle
Textures.
@param width The texture width in texels.
@param height The texture height in texels.
@param format The texel format, of the Context3DTextureFormat enumerated list.
@param optimizeForRenderToTexture Set to true if the texture is likely to be
used as a render target.
@return A new RectangleTexture object
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling dispose() or because the underlying rendering hardware has been lost.
@throws Error Resource Limit Exceeded: if too many Texture objects are created
or the amount of memory allocated to textures is exceeded.
@throws ArgumentError Texture Size Is Zero: if both the width or height
parameters are not greater than zero.
@throws ArgumentError Texture Too Big: if either the width or the height
parameter is greater than 2048.
@throws Error Texture Creation Failed: if the Texture object could not be
created by the rendering context (but information about the reason is not
available).
@throws Error Requires Baseline Profile Or Above: if rectangular texture is
created with baseline constrained profile.{ streamingLevels : 0 } 0 can impact memory usage and
performance.
@return A new Texture object
@throws Error Object Disposed: if this Context3D object has been disposed by a calling dispose() or because the underlying rendering hardware has been lost.
@throws Error Resource Limit Exceeded: if too many Texture objects are created or the amount of memory allocated to textures is exceeded.
@throws ArgumentError Depth Texture Not Implemented: if you attempt to create a depth texture.
@throws ArgumentError Texture Size Is Zero: if both the width or height parameters are not greater than zero.
@throws ArgumentError Texture Not Power Of Two: if both the width and height parameters are not a power of two.
@throws ArgumentError Texture Too Big: if either the width or the height parameter is greater than 2048 for baseline and baseline constrained profile or if either the width or the height parameter is greater than 4096 for profile baseline extended and above.
@throws Error Texture Creation Failed: if the Texture object could not be created by the rendering context (but information about the reason is not available).
@throws ArgumentError Invalid streaming level: if streamingLevels is greater or equal to log2(min(width,height)).]]>{ bufferUsage : STATIC_DRAW }Creates a VertexBuffer3D object.
Use a VertexBuffer3D object to upload a set of vertex data to the rendering
context. A vertex buffer contains the data needed to render each point in the
scene geometry. The data attributes associated with each vertex typically
includes position, color, and texture coordinates and serve as the input to
the vertex shader program. Identify the data values that correspond to one of
the inputs of the vertex program using the `setVertexBufferAt()` method. You can
specify up to sixty-four 32-bit values for each vertex.
You cannot create VertexBuffer3D objects with a VertexBuffer3D constructor; use
this method instead. After creating a VertexBuffer3D object, upload the vertex
data using the VertexBuffer3D `uploadFromVector()` or `uploadFromByteArray()`
methods.
@param numVertices the number of vertices to be stored in the buffer. The
maximum number of vertices in a single buffer is 65535.
@param data32PerVertex the number of 32-bit(4-byte) data values associated
with each vertex. The maximum number of 32-bit data elements per vertex is 64
(or 256 bytes). Note that only eight attribute registers are accessible by a
vertex shader program at any given time. Use `setVertextBufferAt()` to select
attributes from within a vertex buffer.
@param bufferUsage the expected buffer usage. Use one of the constants defined
in Context3DBufferUsage. The hardware driver can do appropriate optimization when
you set it correctly. This parameter is only available after Flash 12/AIR 4
@return A new VertexBuffer3D object
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error Resource Limit Exceeded: if too many vertex buffer objects are
created or the amount of memory alloted to vertex buffers is exceeded.
@throws ArgumentError Buffer Too Big: when `numVertices` is greater than 0x10000
or `data32PerVertex` is greater than 64.
@throws ArgumentError Buffer Has Zero Size: when `numVertices` is zero or
`data32PerVertex` is zero.
@throws ArgumentError Buffer Creation Failed: if the VertexBuffer3D object
could not be created by the rendering context (but additional information about
the reason is not available).
@throws Error 3768: The Stage3D API may not be used during background execution.Creates a VideoTexture object.
Use a VideoTexture object to obtain video frames as texture from NetStream object
or Camera object and to upload the video frames to the rendering context.
The VideoTexture object cannot be created with the VideoTexture constructor; use
this method instead. After creating a VideoTexture object, attach NetStream
object or Camera Object to get the video frames with the VideoTexture
`attachNetStream()` or `attachCamera()` methods.
Note that this method returns null if the system doesn't support this feature.
VideoTexture does not contain mipmaps. If VideoTexture is used with a sampler
that uses mip map filtering or repeat wrapping, the drawTriangles call will fail.
VideoTexture can be treated as BGRA texture by the shaders. The attempt to
instantiate the VideoTexture Object will fail if the Context3D was requested
with sotfware rendering mode.
A maximum of 4 VideoTexture objects are available per Context3D instance. On
mobile the actual number of supported VideoTexture objects may be less than 4
due to platform limitations.
@return A new VideoTexture object
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error Resource Limit Exceeded: if too many Texture objects are created
or the amount of memory allocated to textures is exceeded.
@throws Error Texture Creation Failed: if the Texture object could not be
created by the rendering context (but information about the reason is not
available).{ recreate : true }Frees all resources and internal storage associated with this Context3D.
All index buffers, vertex buffers, textures, and programs that were created
through this Context3D are disposed just as if calling `dispose()` on each of
them individually. In addition, the Context3D itself is disposed freeing all
temporary buffers and the back buffer. If you call `configureBackBuffer()`,
`clear()`, `drawTriangles()`, `createCubeTexture()`, `createTexture()`,
`createProgram()`, `createIndexBuffer()`, `createVertexBuffer()`, or
`drawToBitmapData()` after calling `dispose()`, the runtime throws an exception.
Warning: calling `dispose()` on a Context3D while there is still a event
listener for `Events.CONTEXT3D_CREATE` set on the asociated Stage3D object the
`dispose()` call will simulate a device loss. It will create a new Context3D on
the Stage3D and issue the `Events.CONTEXT3D_CREATE` event again. If this is not
desired remove the event listener from the Stage3D object before calling
`dispose()` or set the `recreate` parameter to `false`.
@param recreate Whether to allow this Stage3D object to create itself again{ destPoint : null, srcRect : null }Draws the current render buffer to a bitmap.
The current contents of the back render buffer are copied to a BitmapData
object. This is potentially a very slow operation that can take up to a second.
Use with care. Note that this function does not copy the front render buffer
(the one shown on stage), but the buffer being drawn to. To capture the rendered
image as it appears on the stage, call `drawToBitmapData()` immediately before you
calling `present()`.
Beginning with AIR 25, two new parameters have been introduced in the API
`drawToBitmapData()`. This API now takes three parameters. The first one is the
existing parameter `destination:BitmapData`. The second parameter is
`srcRect:Rectangle`, which is target rectangle on Stage3D. The third parameter is
`destPoint:Point`, which is the coordinate on the destination bitmap. The
parameters `srcRect` and `destPoint` are optional and default to
`(0,0,bitmapWidth,bitmapHeight)` and `(0,0)`, respectively.
When the image is drawn, it is not scaled to fit the bitmap. Instead, the
contents are clipped to the size of the destination bitmap.
OpenFL BitmapData objects store colors already multiplied by the alpha component.
For example, if the "pure" rgb color components of a pixel are (0x0A, 0x12, 0xBB)
and the alpha component is 0x7F (.5), then the pixel is stored in the
BitmapData object with the rgba values: (0x05, 0x09, 0x5D, 0x7F). You can set the
blend factors so that the colors rendered to the buffer are multiplied by alpha
or perform the operation in the fragment shader. The rendering context does not
validate that the colors are stored in premultiplied format.
@param destination The target BitmapData for this drawing operation
@param srcRect The source rectangle in the current Stage3D context
@param destPoint A destination point to write to in the target BitmapData
@throws Error Object Disposed: if this Context3D object has been disposed by
a calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error 3768: The Stage3D API may not be used during background execution.
@throws Error 3802: If either one of the parameters `destPoint:Point` or
`srcRect:Rectangle` is outside the bitmap/stage3D coordinate bound, or if
non-numeric(NaN) values are passed as input.{ numTriangles : -1, firstIndex : 0 }Render the specified triangles using the current buffers and state of this
Context3D object.
For each triangle, the triangle vertices are processed by the vertex shader
program and the triangle surface is processed by the pixel shader program. The
output color from the pixel program for each pixel is drawn to the render
target depending on the stencil operations, depth test, source and destination
alpha, and the current blend mode. The render destination can be the main render
buffer or a texture.
If culling is enabled, (with the `setCulling()` method), then triangles can be
discarded from the scene before the pixel program is run. If stencil and depth
testing are enabled, then output pixels from the pixel program can be discarded
without updating the render destination. In addition, the pixel program can
decide not to output a color for a pixel.
The rendered triangles are not displayed in the viewport until you call the
`present()` method. After each `present()` call, the `clear()` method must be
called before the first `drawTriangles()` call or rendering fails.
When `enableErrorChecking` is `false`, this function returns immediately, does
not wait for results, and throws exceptions only if this Context3D instance has
been disposed or there are too many draw calls. If the rendering context state
is invalid rendering fails silently. When the `enableErrorChecking` property is
`true`, this function returns after the triangles are drawn and throws exceptions
for any drawing errors or invalid context state.
@param indexBuffer:IndexBuffer3D — a set of vertex indices referencing the
vertices to render.
@param firstIndex:int (default = 0) — the index of the first vertex index
selected to render. Default 0.
@param numTriangles:int (default = -1) — the number of triangles to render.
Each triangle consumes three indices. Pass -1 to draw all triangles in the index
buffer. Default -1.
@throws Error — Object Disposed: if this Context3D object has been disposed by
a calling `dispose()` or because the underlying rendering hardware has been lost.
@throws Error — If this method is called too many times between calls to
`present()`. The maximum number of calls is 32,768.
The following errors are only thrown when `enableErrorChecking` property is true:
@throws Error Need To Clear Before Draw: If the buffer has not been cleared
since the last `present()` call.
@throws Error If a valid Program3D object is not set.
@throws Error No Valid Index Buffer Set: If an IndexBuffer3D object is not set.
@throws Error Sanity Check On Parameters Failed: when the number of triangles
to be drawn or the `firstIndex` exceed allowed values.
@throws RangeError — Not Enough Indices In This Buffer: when there aren't enough
indices in the buffer to define the number of triangles to be drawn.
@throws Error — Sample Binds Texture Also Bound To Render: when the render target
is a texture and that texture assigned to a texture input of the current fragment
program.
@throws Error — Sample Binds Invalid Texture: an invalid texture is specified as
the input to the current fragment program.
@throws Error — Sampler Format Does Not Match Texture Format: when the texture
assigned as the input to the current fragment program has a different format than
that specified for the sampler register. For example, a 2D texture is assigned to
a cube texture sampler.
@throws Error — Sample Binds Undefined Texture: The current fragment program
accesses a texture register that has not been set (using `setTextureAt()`).
@throws Error — Same Texture Needs Same Sampler Params: If a texture is used for
more than one sampler register, all of the samplers must have the same settings.
For example, you cannot set one sampler to clamp and another to wrap.
@throws Error — Texture Bound But Not Used: A texture is set as a shader input,
but it is not used.
@throws Error — Stream Is Not Used: A vertex buffer is assigned to a vertex
attribute input, but the vertex program does not reference the corresponding
register.
@throws Error — Stream Is Invalid: a VertexBuffer3D object assigned to a vertex
program input is not a valid object.
@throws RangeError — Stream Does Not Have Enough Vertices: A vertex buffer
supplying data for drawing the specified triangles does not have enough data.
@throws RangeError — Stream Vertex Offset Out Of Bounds: The offset specified in
a `setVertexBufferAt()` call is negative or past the end of the buffer.
@throws Error — Stream Read But Not Set: A vertex attribute used by the current
vertex program is not set (using `setVertexBufferAt()`).Displays the back rendering buffer.
Calling the `present()` method makes the results of all rendering operations
since the last `present()` call visible and starts a new rendering cycle.
After calling `present`, you must call `clear()` before making another
`drawTriangles()` call. Otherwise, this function will alternately clear the
render buffer to yellow and green or, if `enableErrorChecking` has been set to
`true`, an exception is thrown.
Calling `present()` also resets the render target, just like calling
`setRenderToBackBuffer()`.
@throws Error Need To Clear Before Draw: If the `clear()` has not been called
since the previous call to `present()`. (Two consecutive `present()` calls are
not allowed without calling `clear()` in between.)
@throws Error 3768: The Stage3D API may not be used during background execution.Specifies the factors used to blend the output color of a drawing operation with
the existing color.
The output (source) color of the pixel shader program is combined with the
existing (destination) color at that pixel according to the following formula:
`result color = (source color * sourceFactor) + (destination color * destinationFactor)`
The destination color is the current color in the render buffer for that pixel.
Thus it is the result of the most recent `clear()` call and any intervening
`drawTriangles()` calls.
Use `setBlendFactors()` to set the factors used to multiply the source and
destination colors before they are added together. The default blend factors
are, `sourceFactor = Context3DBlendFactor.ONE`, and
`destinationFactor = Context3DBlendFactor.ZERO`, which results in the source
color overwriting the destination color (in other words, no blending of the
two colors occurs). For normal alpha blending, use
`sourceFactor = Context3DBlendFactor.SOURCE_ALPHA` and
`destinationFactor = Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA`.
Use the constants defined in the Context3DBlendFactor class to set the
parameters of this function.
@param sourceFactor The factor with which to multiply the source color.
Defaults to `Context3DBlendFactor.ONE`.
@param destinationFactor The factor with which to multiply the destination
color. Defaults to `Context3DBlendFactor.ZERO`.
@throws Error — Invalid Enum: when `sourceFactor` or `destinationFactor` is
not one of the recognized values, which are defined in the
Context3DBlendFactor class.hideSets the mask used when writing colors to the render buffer.
Only color components for which the corresponding color mask parameter is `true`
are updated when a color is written to the render buffer. For example, if
you call: `setColorMask(true, false, false, false)`, only the red component
of a color is written to the buffer until you change the color mask again. The
color mask does not affect the behavior of the `clear()` method.
@param red set false to block changes to the red channel.
@param green set false to block changes to the green channel.
@param blue set false to block changes to the blue channel.
@param alpha set false to block changes to the alpha channel.Sets triangle culling mode.
Triangles may be excluded from the scene early in the rendering pipeline based
on their orientation relative to the view plane. Specify vertex order
consistently (clockwise or counter-clockwise) as seen from the outside of the
model to cull correctly.
@param triangleFaceToCull the culling mode. Use one of the constants defined
in the Context3DTriangleFace class.
@throws Error Invalid Enum Error: when triangleFaceToCull is not one of the
values defined in the Context3DTriangleFace class.Sets type of comparison used for depth testing.
The depth of the source pixel output from the pixel shader program is compared
to the current value in the depth buffer. If the comparison evaluates as `false`,
then the source pixel is discarded. If `true`, then the source pixel is processed
by the next step in the rendering pipeline, the stencil test. In addition, the
depth buffer is updated with the depth of the source pixel, as long as the
`depthMask` parameter is set to `true`.
Sets the test used to compare depth values for source and destination pixels.
The source pixel is composited with the destination pixel when the comparison is
`true`. The comparison operator is applied as an infix operator between the
source and destination pixel values, in that order.
@param depthMask the destination depth value will be updated from the source
pixel when `true`.
@param passCompareMode the depth comparison test operation. One of the values
of Context3DCompareMode.Sets vertex and fragment shader programs to use for subsequent rendering.
@param program the Program3D object representing the vertex and fragment
programs to use.Set constants for use by shader programs using values stored in a ByteArray.
Sets constants that can be accessed from the vertex or fragment program.
@param programType one of Context3DProgramType.
@param firstRegister the index of the first shader program constant to set.
@param numRegisters the number of registers to set. Every register is read
as four float values.
@param data the source ByteArray object
@param byteArrayOffset an offset into the ByteArray for reading
@throws TypeError kNullPointerError when data is null.
@throws RangeError kConstantRegisterOutOfBounds when attempting to set more than
the maximum number of shader constants.
@throws RangeError kBadInputSize if `byteArrayOffset` is greater than or equal to
the length of data or no. of elements in `data - byteArrayOffset` is less than
`numRegisters*16`{ transposedMatrix : false }Sets constants for use by shader programs using values stored in a Matrix3D.
Use this function to pass a matrix to a shader program. The function sets 4
constant registers used by the vertex or fragment program. The matrix is
assigned to registers row by row. The first constant register is assigned the
top row of the matrix. You can set 128 registers for a vertex program and 28
for a fragment program.
@param programType The type of shader program, either
`Context3DProgramType.VERTEX` or `Context3DProgramType.FRAGMENT`.
@param firstRegister the index of the first constant register to set. Since
a Matrix3D has 16 values, four registers are set.
@param matrix the matrix containing the constant values.
@param transposedMatrix if `true` the matrix entries are copied to registers
in transposed order. The default value is `false`.
@throws TypeError Null Pointer Error: when matrix is `null`.
@throws RangeError Constant Register Out Of Bounds: when attempting to set more
than the maximum number of shader constant registers.{ numRegisters : -1 }Sets the constant inputs for the shader programs.
Sets an array of constants to be accessed by a vertex or fragment shader
program. Constants set in Program3D are accessed within the shader programs as
constant registers. Each constant register is comprised of 4 floating point
values (x, y, z, w). Therefore every register requires 4 entries in the data
Vector. The number of registers that you can set for vertex program and
fragment program depends on the Context3DProfile.
@param programType The type of shader program, either
`Context3DProgramType.VERTEX` or `Context3DProgramType.FRAGMENT`.
@param firstRegister the index of the first constant register to set.
@param data the floating point constant values. There must be at least
`numRegisters` 4 elements in data.
@param numRegisters the number of constants to set. Specify -1, the default
value, to set enough registers to use all of the available data.
@throws TypeError Null Pointer Error: when data is `null`.
@throws RangeError Constant Register Out Of Bounds: when attempting to set more
than the maximum number of shader constant registers.
@throws RangeError Bad Input Size: When the number of elements in data is less
than `numRegisters*4`Sets the back rendering buffer as the render target. Subsequent calls to
`drawTriangles()` and `clear()` methods result in updates to the back buffer.
Use this method to resume normal rendering after using the
`setRenderToTexture()` method.{ surfaceSelector : 0, antiAlias : 0, enableDepthAndStencil : false }Sets the specified texture as the rendering target.
Subsequent calls to `drawTriangles()` and `clear()` methods update the
specified texture instead of the back buffer. Mip maps are created
automatically. Use the `setRenderToBackBuffer()` to resume normal rendering to
the back buffer.
No clear is needed before drawing. If there is no clear operation, the render
content will be retained. depth buffer and stencil buffer will also not be
cleared. But it is forced to clear when first drawing. Calling `present()`
resets the target to the back buffer.
@param texture the target texture to render into. Set to `null` to resume
rendering to the back buffer (`setRenderToBackBuffer()` and `present` also reset
the target to the back buffer).
@param enableDepthAndStencil if `true`, depth and stencil testing are
available. If `false`, all depth and stencil state is ignored for subsequent
drawing operations.
@param antiAlias the antialiasing quality. Use 0 to disable antialiasing;
higher values improve antialiasing quality, but require more calculations. The
value is currently ignored by mobile platform and software rendering context.
@param surfaceSelector specifies which element of the texture to update.
Texture objects have one surface, so you must specify 0, the default value.
CubeTexture objects have six surfaces, so you can specify an integer from 0
through 5.
@param colorOutputIndex The output color register. Must be 0 for constrained
or baseline mode. Otherwise specifies the output color register.
@throws ArgumentError for a mismatched surfaceSelector parameter. The value
must be 0 for 2D textures and 0..5 for cube maps.
@throws ArgumentError texture is not derived from the TextureBase class
(either Texture or CubeTexture classes).
@throws ArgumentError colorOutputIndex must be an integer is from 0 through 3.
@throws ArgumentError this call requires a Context3D that is created with the
standard profile or above.Manually override texture sampler state.
Texture sampling state is typically set at the time setProgram is called.
However, you can override texture sampler state with this function. If you do not
want the program to change sampler state, set the `ignoresamnpler` bit in AGAL
and use this function.
@param sampler sampler The sampler register to use. Maps to the sampler register
in AGAL.
@param wrap Wrapping mode. Defined in Context3DWrapMode. The default is repeat.
@param filter Texture filtering mode. Defined in Context3DTextureFilter. The
default is nearest.
@param mipfilter Mip map filter. Defined in Context3DMipFilter. The default
is none.
@throws Error sampler out of range
@throws Error wrap, filter, mipfilter bad enum
@throws Error Object Disposed: if this Context3D object has been disposed by a
calling `dispose()` or because the underlying rendering hardware has been lost.Sets a scissor rectangle, which is type of drawing mask. The renderer only draws
to the area inside the scissor rectangle. Scissoring does not affect clear
operations.
Pass `null` to turn off scissoring.
@param rectangle The rectangle in which to draw. Specify the rectangle
position and dimensions in pixels. The coordinate system origin is the top left
corner of the viewport, with positive values increasing down and to the right
(the same as the normal OpenFL display coordinate system).{ actionOnDepthPassStencilFail : KEEP, actionOnDepthFail : KEEP, actionOnBothPass : KEEP, compareMode : ALWAYS, triangleFace : FRONT_AND_BACK }Sets stencil mode and operation.
An 8-bit stencil reference value can be associated with each draw call. During
rendering, the reference value can be tested against values stored previously
in the frame buffer. The result of the test can control the draw action and
whether or how the stored stencil value is updated. In addition, depth testing
controls whether stencil testing is performed. A failed depth test can also be
used to control the action taken on the stencil buffer.
In the pixel processing pipeline, depth testing is performed first. If the depth
test fails, a stencil buffer update action can be taken, but no further evaluation
of the stencil buffer value can be made. If the depth test passes, then the
stencil test is performed. Alternate actions can be taken depending on the outcome
of the stencil test.
The stencil reference value is set using `setStencilReferenceValue()`.
@param triangleFace the triangle orientations allowed to contribute to the
stencil operation. One of Context3DTriangleFace.
@param compareMode the test operator used to compare the current stencil
reference value and the destination pixel stencil value. Destination pixel color
and depth update is performed when the comparison is true. The stencil actions
are performed as requested in the following action parameters. The comparison
operator is applied as an infix operator between the current and destination
reference values, in that order (in pseudocode:
`if stencilReference OPERATOR stencilBuffer then pass`). Use one of the constants
defined in the Context3DCompareMode class.
@param actionOnBothPass action to be taken when both depth and stencil
comparisons pass. Use one of the constants defined in the Context3DStencilAction
class.
@param actionOnDepthFail action to be taken when depth comparison fails. Use
one of the constants defined in the Context3DStencilAction class.
@param actionOnDepthPassStencilFail action to be taken when depth comparison
passes and the stencil comparison fails. Use one of the constants defined in the
Context3DStencilAction class.
@throws Error Invalid Enum Error: when `triangleFace` is not one of the values
defined in the Context3DTriangleFace class.
@throws Error Invalid Enum Error: when `compareMode` is not one of the values
defined in the Context3DCompareMode class.
@throws Error Invalid Enum Error: when `actionOnBothPass`, `actionOnDepthFail`,
or `actionOnDepthPassStencilFail` is not one of the values defined in the
Context3DStencilAction class.{ writeMask : 0xFF, readMask : 0xFF }Sets the stencil comparison value used for stencil tests.
Only the lower 8 bits of the reference value are used. The stencil buffer value
is also 8 bits in length. Use the `readMask` and `writeMask` to use the stencil
buffer as a bit field.
@param referenceValue an 8-bit reference value used in reference value
comparison tests.
@param readMask an 8-bit mask for applied to both the current stencil
buffer value and the reference value before the comparison.
@param writeMask an 8-bit mask applied to the reference value before updating
the stencil buffer.Specifies the texture to use for a texture input register of a fragment program.
A fragment program can read information from up to eight texture objects. Use
this function to assign a Texture or CubeTexture object to one of the sampler
registers used by the fragment program.
**Note:** if you change the active fragment program (with setProgram) to a
shader that uses fewer textures, set the unused registers to `null`:
``haxe
setTextureAt(7, null);
```
@param sampler the sampler register index, a value from 0 through 7.
@param texture the texture object to make available, either a Texture or a
CubeTexture instance.{ format : FLOAT_4, bufferOffset : 0 }Specifies which vertex data components correspond to a single vertex shader
program input.
Use the setVertexBufferAt method to identify which components of the data
defined for each vertex in a VertexBuffer3D buffer belong to which inputs to the
vertex program. The developer of the vertex program determines how much data is
needed per vertex. That data is mapped from 1 or more VertexBuffer3D stream(s) to
the attribute registers of the vertex shader program.
The smallest unit of data consumed by the vertex shader is a 32-bit data.
Offsets into the vertex stream are specified in multiples of 32-bits.
As an example, a programmer might define each vertex with the following data:
```
position: x float32
y float32
z float32
color: r unsigned byte
g unsigned byte
b unsigned byte
a unsigned byte
```
Assuming the vertex was defined in a VertexBuffer3D object named buffer, it
would be assigned to a vertex shader with the following code:
```haxe
setVertexBufferAt(0, buffer, 0, Context3DVertexBufferFormat.FLOAT_3); // attribute #0 will contain the position information
setVertexBufferAt(1, buffer, 3, Context3DVertexBufferFormat.BYTES_4); // attribute #1 will contain the color information
```
@param index the index of the attribute register in the vertex shader (0
through 7).
@param buffer the buffer that contains the source vertex data to be fed to the
vertex shader.
@param bufferOffset an offset from the start of the data for a single vertex
at which to start reading this attribute. In the example above, the position data
has an offset of 0 because it is the first attribute; color has an offset of 3
because the color attribute follows the three 32-bit position values. The offset
is specified in units of 32 bits.
@param format a value from the Context3DVertexBufferFormat class specifying
the data type of this attribute.
@throws Error Invalid Enum: when format is not one of the values defined in
the Context3DVertexBufferFormat class.
@throws RangeError Attribute Register Out Of Bounds: when the index parameter
is outside the range from 0 through 7. (A maximum of eight vertex attribute
registers can be used by a shader.)
<__bindGLArrayBuffer set="method" line="1905">
<__bindGLElementArrayBuffer set="method" line="1914">
<__bindGLFramebuffer set="method" line="1923">
<__bindGLTexture2D set="method" line="1932">
<__bindGLTextureCubeMap set="method" line="1944">
<__dispose set="method" line="1956">
<__drawTriangles set="method" line="1980">
{ firstIndex : 0 }
<__flushGL set="method" line="2008">
<__flushGLBlend set="method" line="2023">
<__flushGLColor get="inline" set="null" line="2050">
<__flushGLCulling set="method" line="2065">
<__flushGLDepth set="method" line="2095">
<__flushGLFramebuffer set="method" line="2134">
<__flushGLProgram set="method" line="2181">
<__flushGLScissor set="method" line="2225">
<__flushGLStencil set="method" line="2262">
<__flushGLTextures set="method" line="2295">
<__flushGLViewport set="method" line="2379">
<__getGLBlend set="method" line="2424">
<__getGLCompareMode set="method" line="2455">
<__getGLStencilAction set="method" line="2471">
<__getGLTriangleFace set="method" line="2487">
<__renderStage3D set="method" line="2499">
<__setGLBlend set="method" line="2546">
<__setGLBlendEquation set="method" line="2562">
<__setGLCullFace set="method" line="2571">
<__setGLDepthTest set="method" line="2587">
<__setGLFrontFace set="method" line="2603">
<__setGLScissorTest set="method" line="2612">
<__setGLStencilTest set="method" line="2628">
{ stage3D : null, contextState : null }The Context3D class provides a context for rendering geometrically defined graphics.
A rendering context includes a drawing surface and its associated resources and
state. When possible, the rendering context uses the hardware graphics processing
unit (GPU). Otherwise, the rendering context uses software. (If rendering through
Context3D is not supported on a platform, the stage3Ds property of the Stage object
contains an empty list.)
The Context3D rendering context is a programmable pipeline that is very similar to
OpenGL ES 2, but is abstracted so that it is compatible with a range of hardware and
GPU interfaces. Although designed for 3D graphics, the rendering pipeline does not
mandate that the rendering is three dimensional. Thus, you can create a 2D renderer
by supplying the appropriate vertex and pixel fragment programs. In both the 3D and
2D cases, the only geometric primitive supported is the triangle.
Get an instance of the Context3D class by calling the requestContext3D() method of a
Stage3D object. A limited number of Context3D objects can exist per stage; one for
each Stage3D in the Stage.stage3Ds list. When the context is created, the Stage3D
object dispatches a context3DCreate event. A rendering context can be destroyed and
recreated at any time, such as when another application that uses the GPU gains
focus. Your code should anticipate receiving multiple context3DCreate events.
Position the rendering area on the stage using the x and y properties of the
associated Stage3D instance.
To render and display a scene (after getting a Context3D object), the following steps
are typical:
1. Configure the main display buffer attributes by calling `configureBackBuffer()`.
2. Create and initialize your rendering resources, including:
* Vertex and index buffers defining the scene geometry
* Vertex and pixel programs (shaders) for rendering the scene
* Textures
3. Render a frame:
* Set the render state as appropriate for an object or collection of objects in
the scene.
* Call the `drawTriangles()` method to render a set of triangles.
* Change the rendering state for the next group of objects.
* Call `drawTriangles()` to draw the triangles defining the objects.
* Repeat until the scene is entirely rendered.
* Call the `present()` method to display the rendered scene on the stage.
The following limits apply to rendering:
Resource limits:
| Resource | Number allowed | Total memory |
| --- | --- | --- |
| Vertex buffers | 4096 | 256 MB |
| Index buffers | 4096 | 128 MB |
| Programs | 4096 | 16 MB |
| Textures | 4096 | 128 MB |
| Cube textures | 4096 | 256 MB |
AGAL limits: 200 opcodes per program.
Draw call limits: 32,768 `drawTriangles()` calls for each `present()` call.
The following limits apply to textures:
Texture limits for AIR 32 bit:
| Texture | Maximum size | Total GPU memory |
| --- | --- | --- |
| Normal Texture (below Baseline extended) | 2048x2048 | 512 MB |
| Normal Texture (Baseline extended and above) | 4096x4096 | 512 MB |
| Rectangular Texture (below Baseline extended) | 2048x2048 | 512 MB |
| Rectangular Texture (Baseline extended and above) | 4096x4096 | 512 MB |
| Cube Texture | 1024x1024 | 256 MB |
Texture limits for AIR 64 bit (Desktop):
| Texture | Maximum size | Total GPU memory |
| --- | --- | --- |
| Normal Texture (below Baseline extended) | 2048x2048 | 512 MB |
| Normal Texture (Baseline extended to Standard) | 4096x4096 | 512 MB |
| Normal Texture (Standard extended and above) | 4096x4096 | 2048 MB |
| Rectangular Texture (below Baseline extended) | 2048x2048 | 512 MB |
| Rectangular Texture (Baseline extended to Standard) | 4096x4096 | 512 MB |
| Rectangular Texture (Standard extended and above) | 4096x4096 | 2048 MB |
| Cube Texture | 1024x1024 | 256 MB |
512 MB is the absolute limit for textures, including the texture memory required
for mipmaps. However, for Cube Textures, the memory limit is 256 MB.
You cannot create Context3D objects with the Context3D constructor. It is
constructed and available as a property of a Stage3D instance. The Context3D class
can be used on both desktop and mobile platforms, both when running in Flash Player
and AIR."tags=\"haxe,release\""openfl.display3D._internal.Context3DStateopenfl.display3D.textures.CubeTextureopenfl.display3D.textures.RectangleTextureopenfl.display3D.textures.TextureBaseopenfl.display3D.textures.Textureopenfl.display3D.textures.VideoTextureopenfl.display3D.IndexBuffer3Dopenfl.display3D.Program3Dopenfl.display3D.VertexBuffer3Dopenfl.display.BitmapDataopenfl.display.Bitmapopenfl.display.DisplayObjectRendereropenfl.display.Shaderopenfl.display.Stageopenfl.display.Stage3Dopenfl.geom.Pointopenfl.geom.RectangleDefines the values to use for specifying the source and destination blend factors.
A blend factor represents a particular four-value vector that is multiplied with the
source or destination color in the blending formula. The blending formula is:
```
result = source * sourceFactor + destination * destinationFactor
```
In the formula, the source color is the output color of the pixel shader program.
The destination color is the color that currently exists in the color buffer, as set
by previous clear and draw operations.
For example, if the source color is (.6, .6, .6, .4) and the source blend factor is
`Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA`, then the source part of the blending
equation is calculated as:
```
(.6, .6, .6, .4) * (1-0.4, 1-0.4, 1-0.4, 1-0.4) = (.36, .36, .36, .24)
```
The final calculation is clamped to the range [0,1].
**Examples**
The following examples demonstrate the blending math using
`source color = (.6,.4,.2,.4)`, `destination color = (.8,.8,.8,.5)`, and various blend
factors.
| Purpose | Source factor | Destination factor | Blend formula | Result |
| --- | --- | --- | --- | --- |
| No blending | ONE | ZERO | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | ( .6, .4, .2, .4) |
| Alpha | SOURCE_ALPHA | ONE_MINUS_SOURCE_ALPHA | (.6,.4,.2,.4) * (.4,.4,.4,.4) + (.8,.8,.8,.5) * (.6,.6,.6,.6) | (.72,.64,.56,.46) |
| Additive | ONE | ONE | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 1, 1, 1, 1) ( 1, 1, 1, .9) |
| Multiply | DESTINATION_COLOR | ZERO | (.6,.4,.2,.4) * (.8,.8,.8,.5) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | (.48,.32,.16, .2) |
| Screen | ONE | ONE_MINUS_SOURCE_COLOR | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * (.4,.6,.8,.6) | (.92,.88,.68, .7) |
Note that not all combinations of blend factors are useful and that you can sometimes achieve the same effect in different ways.cast 0a,Da,Da,Da),
where Da is the alpha component of the fragment color computed by the
pixel program.]]>cast 1r,Dg,Db,Da),
where Dr/g/b/a is the corresponding component of the current color
in the color buffer.]]>cast 2The blend factor is (1,1,1,1).cast 3a,1-Da,1-Da,1-Da),
where Da is the alpha component of the current color in the color buffer.]]>cast 4r,1-Dg,1-Db,1-Da),
where Dr/g/b/a is the corresponding component of the current color in
the color buffer.]]>cast 5a,1-Sa,1-Sa,1-Sa),
where Sa is the alpha component of the fragment color computed by the
pixel program.]]>cast 6r,1-Sg,1-Sb,1-Sa),
where Sr/g/b/a is the corresponding component of the fragment color
computed by the pixel program.]]>cast 7a,Sa,Sa,Sa),
where Sa is the alpha component of the fragment color computed by the
pixel program.]]>cast 8r,Sg,Sb,Sa),
where Sr/g/b/a is the corresponding component of the fragment color
computed by the pixel program.]]>cast 9The blend factor is (0,0,0,0).cast 0a,Da,Da,Da),
where Da is the alpha component of the fragment color computed by the
pixel program.]]>cast 1r,Dg,Db,Da),
where Dr/g/b/a is the corresponding component of the current color
in the color buffer.]]>cast 2The blend factor is (1,1,1,1).cast 3a,1-Da,1-Da,1-Da),
where Da is the alpha component of the current color in the color buffer.]]>cast 4r,1-Dg,1-Db,1-Da),
where Dr/g/b/a is the corresponding component of the current color in
the color buffer.]]>cast 5a,1-Sa,1-Sa,1-Sa),
where Sa is the alpha component of the fragment color computed by the
pixel program.]]>cast 6r,1-Sg,1-Sb,1-Sa),
where Sr/g/b/a is the corresponding component of the fragment color
computed by the pixel program.]]>cast 7a,Sa,Sa,Sa),
where Sa is the alpha component of the fragment color computed by the
pixel program.]]>cast 8r,Sg,Sb,Sa),
where Sr/g/b/a is the corresponding component of the fragment color
computed by the pixel program.]]>cast 9The blend factor is (0,0,0,0).Defines the values to use for specifying the buffer usage type.cast 0Indicates the buffer will be used for drawing and be updated frequentlycast 1Indicates the buffer will be used for drawing and be updated once
This type is the default value for buffers in `Stage3D`.cast 0Indicates the buffer will be used for drawing and be updated frequentlycast 1Indicates the buffer will be used for drawing and be updated once
This type is the default value for buffers in `Stage3D`.Defines the values to use for specifying Context3D clear masks.cast 0x07Clear all buffers.cast 0x01Clear only the color buffer.cast 0x02Clear only the depth buffer.cast 0x04Clear only the stencil buffer.cast 0x07Clear all buffers.cast 0x01Clear only the color buffer.cast 0x02Clear only the depth buffer.cast 0x04Clear only the stencil buffer.Defines the values to use for specifying 3D buffer comparisons in the
`setDepthTest()` and `setStencilAction()` methods of a Context3D instance.cast 0The comparison always evaluates as true.cast 1Equal (==).cast 2).]]>cast 3=).]]>cast 4cast 5cast 6The comparison never evaluates as true.cast 7Not equal (!=).cast 0The comparison always evaluates as true.cast 1Equal (==).cast 2).]]>cast 3=).]]>cast 4cast 5cast 6The comparison never evaluates as true.cast 7Not equal (!=).Defines the values to use for sampler mipmap filter modecast 0Select the two closest MIP levels and linearly blend between them (the highest
quality mode, but has some performance cost).cast 1Use the nearest neighbor metric to select MIP levels (the fastest rendering method).cast 2Always use the top level texture (has a performance penalty when downscaling).cast 0Select the two closest MIP levels and linearly blend between them (the highest
quality mode, but has some performance cost).cast 1Use the nearest neighbor metric to select MIP levels (the fastest rendering method).cast 2Always use the top level texture (has a performance penalty when downscaling).Defines the values to use for specifying the Context3D profile.cast 0Use the default feature support profile.
This profile most closely resembles Stage3D support used in previous releases.cast 1Use a constrained feature support profile to target older GPUs
This profile is primarily targeted at devices that only support PS_2.0 level
shaders like the Intel GMA 9xx series. In addition, this mode tries to improve
memory bandwidth usage by rendering directly into the back buffer. There are
several side effects:
* You are limited to 64 ALU and 32 texture instructions per shader.
* Only four texture read instructions per shader.
* No support for predicate register. This affects sln/sge/seq/sne, which you
replace with compound mov/cmp instructions, available with ps_2_0.
* The Context3D back buffer must always be within the bounds of the stage.
* Only one instance of a Context3D running in Constrained profile is allowed
within a Flash Player instance.
* Standard display list list rendering is driven by `Context3D.present()` instead of
being based on the SWF frame rate. That is, if a Context3D object is active and
visible you must call `Context3D.present()` to render the standard display list.
* Reading back from the back buffer through `Context3D.drawToBitmapData()` might
include parts of the display list content. Alpha information will be lost.cast 2Use an extended feature support profile to target newer GPUs which support larger
textures
This profile increases the maximum 2D Texture and RectangleTexture size to 4096x4096cast 3Use an standard profile to target GPUs which support MRT, AGAL2 and float textures.
This profile supports 4 render targets. Increase AGAL commands and register count.
Add float textures.cast 4Use an standard profile to target GPUs which support AGAL2 and float textures.
This profile is an alternative to standard profile, which removes MRT and a few
features in AGAL2 but can reach more GPUs.cast 5Use standard extended profile to target GPUs which support AGAL3 and instanced
drawing feature.
This profile extends the standard profile.
This profile is enabled on mobile platforms from AIR 17.0 and on Windows and Mac
from AIR 18.0.cast 0Use the default feature support profile.
This profile most closely resembles Stage3D support used in previous releases.cast 1Use a constrained feature support profile to target older GPUs
This profile is primarily targeted at devices that only support PS_2.0 level
shaders like the Intel GMA 9xx series. In addition, this mode tries to improve
memory bandwidth usage by rendering directly into the back buffer. There are
several side effects:
* You are limited to 64 ALU and 32 texture instructions per shader.
* Only four texture read instructions per shader.
* No support for predicate register. This affects sln/sge/seq/sne, which you
replace with compound mov/cmp instructions, available with ps_2_0.
* The Context3D back buffer must always be within the bounds of the stage.
* Only one instance of a Context3D running in Constrained profile is allowed
within a Flash Player instance.
* Standard display list list rendering is driven by `Context3D.present()` instead of
being based on the SWF frame rate. That is, if a Context3D object is active and
visible you must call `Context3D.present()` to render the standard display list.
* Reading back from the back buffer through `Context3D.drawToBitmapData()` might
include parts of the display list content. Alpha information will be lost.cast 2Use an extended feature support profile to target newer GPUs which support larger
textures
This profile increases the maximum 2D Texture and RectangleTexture size to 4096x4096cast 3Use an standard profile to target GPUs which support MRT, AGAL2 and float textures.
This profile supports 4 render targets. Increase AGAL commands and register count.
Add float textures.cast 4Use an standard profile to target GPUs which support AGAL2 and float textures.
This profile is an alternative to standard profile, which removes MRT and a few
features in AGAL2 but can reach more GPUs.cast 5Use standard extended profile to target GPUs which support AGAL3 and instanced
drawing feature.
This profile extends the standard profile.
This profile is enabled on mobile platforms from AIR 17.0 and on Windows and Mac
from AIR 18.0.Defines the values to use for specifying a Program3D source format.cast 0The program will use the AGAL (Adobe Graphics Assembly Language) formatcast 1The program will use the GLSL (GL Shader Language) formatcast 0The program will use the AGAL (Adobe Graphics Assembly Language) formatcast 1The program will use the GLSL (GL Shader Language) formatDefines the values to use for specifying whether a shader program is a fragment
or a vertex program.cast 0A fragment (or pixel) program.cast 1A vertex program.cast 0A fragment (or pixel) program.cast 1A vertex program.Defines the values to use for specifying the Context3D render mode.cast 0Automatically choose rendering engine.
A hardware-accelerated rendering engine is used if available on the current
device. Availability of hardware acceleration is influenced by the device
capabilites, the wmode when running under Flash Player, and the render mode when
running under AIR.cast 1Use software 3D rendering.
Software rendering is not available on mobile devices.cast 0Automatically choose rendering engine.
A hardware-accelerated rendering engine is used if available on the current
device. Availability of hardware acceleration is influenced by the device
capabilites, the wmode when running under Flash Player, and the render mode when
running under AIR.cast 1Use software 3D rendering.
Software rendering is not available on mobile devices.Defines the values to use for specifying stencil actions.
A stencil action specifies how the values in the stencil buffer should be changed.cast 0Decrement the stencil buffer value, clamping at 0, the minimum value.cast 1Decrement the stencil buffer value. If the result is less than 0, the minimum
value, then the buffer value is "wrapped around" to 255.cast 2Increment the stencil buffer value, clamping at 255, the maximum value.cast 3Increment the stencil buffer value. If the result exceeds 255, the maximum
value, then the buffer value is "wrapped around" to 0.cast 4Invert the stencil buffer value, bitwise.
For example, if the 8-bit binary number in the stencil buffer is: 11110000, then
the value is changed to: 00001111.cast 5Keep the current stencil buffer value.cast 6Replace the stencil buffer value with the reference value.cast 7Set the stencil buffer value to 0.cast 0Decrement the stencil buffer value, clamping at 0, the minimum value.cast 1Decrement the stencil buffer value. If the result is less than 0, the minimum
value, then the buffer value is "wrapped around" to 255.cast 2Increment the stencil buffer value, clamping at 255, the maximum value.cast 3Increment the stencil buffer value. If the result exceeds 255, the maximum
value, then the buffer value is "wrapped around" to 0.cast 4Invert the stencil buffer value, bitwise.
For example, if the 8-bit binary number in the stencil buffer is: 11110000, then
the value is changed to: 00001111.cast 5Keep the current stencil buffer value.cast 6Replace the stencil buffer value with the reference value.cast 7Set the stencil buffer value to 0.Defines the values to use for sampler filter mode.cast 0Use anisotropic filter with radio 16 when upsampling texturescast 1Use anisotropic filter with radio 2 when upsampling texturescast 2Use anisotropic filter with radio 4 when upsampling texturescast 3Use anisotropic filter with radio 8 when upsampling texturescast 4Use linear interpolation when upsampling textures (gives a smooth, blurry look).cast 5Use nearest neighbor sampling when upsampling textures (gives a pixelated,
sharp mosaic look).cast 0Use anisotropic filter with radio 16 when upsampling texturescast 1Use anisotropic filter with radio 2 when upsampling texturescast 2Use anisotropic filter with radio 4 when upsampling texturescast 3Use anisotropic filter with radio 8 when upsampling texturescast 4Use linear interpolation when upsampling textures (gives a smooth, blurry look).cast 5Use nearest neighbor sampling when upsampling textures (gives a pixelated,
sharp mosaic look).Defines the values to use for specifying a texture format.cast 016 bit, bgr packed as 5:6:5cast 132 bitcast 216 bit, bgra packed as 4:4:4:4cast 3ATF (Adobe Texture Format)cast 4ATF (Adobe Texture Format), with alphacast 564 bit, rgba as 16:16:16:16cast 016 bit, bgr packed as 5:6:5cast 132 bitcast 216 bit, bgra packed as 4:4:4:4cast 3ATF (Adobe Texture Format)cast 4ATF (Adobe Texture Format), with alphacast 564 bit, rgba as 16:16:16:16Constants to specify the orientation of a triangle relative to the view point."checkstyle:FieldDocComment"cast 0cast 1cast 2cast 3cast 0cast 1cast 2cast 3Defines the values to use for specifying vertex buffers."checkstyle:FieldDocComment"cast 0cast 1cast 2cast 3cast 4cast 0cast 1cast 2cast 3cast 4Defines the values to use for sampler wrap modecast 0Clamp texture coordinates outside the 0..1 range.
The function is x = max(min(x,0),1)cast 1Clamp in U axis but Repeat in V axis.cast 2cast 3Repeat in U axis but Clamp in V axis.cast 0Clamp texture coordinates outside the 0..1 range.
The function is x = max(min(x,0),1)cast 1Clamp in U axis but Repeat in V axis.cast 2cast 3Repeat in U axis but Clamp in V axis.
<__context>
<__id>
<__memoryUsage>
<__numIndices>
<__tempUInt16Array>
<__usage>
Free all native GPU resources associated with this object. No `upload()` calls
on this object will work and using the object in rendering will also fail.Store in the graphics subsystem vertex indices.
@param data a ByteArray containing index data. Each index is represented by
16-bits (two bytes) in the array. The number of bytes in data should be
`byteArrayOffset` plus two times count.
@param byteArrayOffset offset, in bytes, into the data ByteArray from where to
start reading.
@param startOffset The index in this IndexBuffer3D object of the first index to
be loaded in this IndexBuffer3D object. A value for `startIndex` not equal to zero
may be used to load a sub-region of the index data.
@param count The number of indices represented by data.
@throws TypeError kNullPointerError when data is null.
@throws RangeError kBadInputSize when any of `count`, `byteArrayOffset`, or
`startOffset` is less than 0, or if `byteArrayOffset` is greater than or equal
to the length of data, or if two times count plus `byteArrayOffset` is greater
than the length of data, or if `startOffset + count` is greater than `numIndices`
given in `context3D.createIndexBuffer()`.
@throws Error 3768: The Stage3D API may not be used during background execution.{ byteLength : -1 }Store in the graphics subsystem vertex indices.
@param data an ArrayBufferView containing index data. Each index is represented by
16-bits (two bytes) in the array.
@param byteLength The number of bytes to read.Store in the graphics subsystem vertex indices.
@param data a vector of vertex indices. Only the low 16 bits of each index
value are used. The length of the vector must be greater than or equal to count.
@param startOffset The index in this IndexBuffer3D object of the first index to
be loaded. A value for startOffset not equal to zero may be used to load a
sub-region of the index data.
@param count The number of indices in `data`.
@throws TypeError kNullPointerError when `data` is `null`.
@throws RangeError kBadInputSize when `count is less than 0 or greater than the
length of `data`, or when `startOffset + count` is greater than `numIndices`
given in `context3D.createIndexBuffer()`.
@throws Error 3768: The Stage3D API may not be used during background execution.IndexBuffer3D is used to represent lists of vertex indices comprising graphic elements
retained by the graphics subsystem.
Indices managed by an IndexBuffer3D object may be used to select vertices from a
vertex stream. Indices are 16-bit unsigned integers. The maximum allowable index
value is 65535 (0xffff). The graphics subsystem does not retain a reference to
vertices provided to this object. Data uploaded to this object may be modified or
discarded without affecting the stored values.
IndexBuffer3D cannot be instantiated directly. Create instances by using
`context3D.createIndexBuffer()`"tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.Stage
<__agalAlphaSamplerEnabled>
<__agalAlphaSamplerUniforms>
<__agalFragmentUniformMap>
<__agalPositionScale>
<__agalSamplerUniforms>
<__agalSamplerUsageMask>
<__agalUniforms>
<__agalVertexUniformMap>
<__context>
<__format>
<__glFragmentShader>
<__glFragmentSource>
<__glProgram>
<__glslAttribNames>
<__glslAttribTypes>
<__glslSamplerNames>
<__glslUniformLocations>
<__glslUniformNames>
<__glslUniformTypes>
<__glVertexShader>
<__glVertexSource>
<__samplerStates>
Frees all resources associated with this object. After disposing a
Program3D object, calling `upload()` and rendering using this object will fail.**BETA**
Get the index for the specified shader attribute.
@returns The index, or -1 if the attribute is not bound or
was not found in the shader sources**BETA**
Get the index for the specified shader constant.
@returns The index, or -1 if the constant is not bound or
was not found in the shader sourcesUploads a pair of rendering programs expressed in AGAL (Adobe Graphics Assembly
Language) bytecode.
Program bytecode can be created using the Pixel Bender 3D offline tools. It can
also be created dynamically. The AGALMiniAssembler class is a utility class
that compiles AGAL assembly language programs to AGAL bytecode. The class is not
part of the runtime. When you upload the shader programs, the bytecode is
compiled into the native shader language for the current device (for example,
OpenGL or Direct3D). The runtime validates the bytecode on upload.
The programs run whenever the Context3D `drawTriangles()` method is invoked. The
vertex program is executed once for each vertex in the list of triangles to be
drawn. The fragment program is executed once for each pixel on a triangle surface.
The "variables" used by a shader program are called registers. The following
registers are defined:
| Name | Number per Fragment program | Number per Vertex program | Purpose |
| --- | --- | --- | --- |
| Attribute | n/a | 8 | Vertex shader input; read from a vertex buffer specified using `Context3D.setVertexBufferAt()`. |
| Constant | 28 | 128 | Shader input; set using the `Context3D.setProgramConstants()` family of functions. |
| Temporary | 8 | 8 | Temporary register for computation, not accessible outside program. |
| Output | 1 | 1 | Shader output: in a vertex program, the output is the clipspace position; in a fragment program, the output is a color. |
| Varying | 8 | 8 | Transfer interpolated data between vertex and fragment shaders. The varying registers from the vertex program are applied as input to the fragment program. Values are interpolated according to the distance from the triangle vertices. |
| Sampler | 8 | n/a | Fragment shader input; read from a texture specified using `Context3D.setTextureAt()` |
A vertex program receives input from two sources: vertex buffers and constant
registers. Specify which vertex data to use for a particular vertex attribute
register using the Context3D `setVertexBufferAt()` method. You can define up to
eight input registers for vertex attributes. The vertex attribute values are read
from the vertex buffer for each vertex in the triangle list and placed in the
attribute register. Specify constant registers using the Context3D
`setProgramConstantsFromMatrix()` or `setProgramConstantsFromVector()`
methods. Constant registers retain the same value for every vertex in the
triangle list. (You can only modify the constant values between calls to
`drawTriangles().`)
The vertex program is responsible for projecting the triangle vertices into
clip space (the canonical viewing area within ±1 on the x and y axes and 0-1 on
the z axis) and placing the transformed coordinates in its output register.
(Typically, the appropriate projection matrix is provided to the shader in a set
of constant registers.) The vertex program must also copy any vertex attributes
or computed values needed by the fragment program to a special set of variables
called varying registers. When a fragment shader runs, the value supplied in a
varying register is linearly interpolated according to the distance of the
current fragment from each triangle vertex.
A fragment program receives input from the varying registers and from a separate
set of constant registers (set with `setProgramConstantsFromMatrix()` or
`setProgramConstantsFromVector()`). You can also read texture data from textures
uploaded to the rendering context using sampler registers. Specify which texture
to access with a particular sampler register using the Context3D `setTextureAt()`
method. The fragment program is responsible for setting its output register to a
color value.
@param vertexProgram AGAL bytecode for the Vertex program. The ByteArray object
must use the little endian format.
@param fragmentProgram AGAL bytecode for the Fragment program. The ByteArray
object must use the little endian format.
@throws TypeError Null Pointer Error: if vertexProgram or fragmentProgram is
`null`.
@throws Error Object Disposed: if the Program3D object was disposed either
directly by a call to `dispose()`, or indirectly by calling the Context3D
`dispose()` or because the rendering context was disposed because of device loss.
@throws ArgumentError Agal Program Too Small: when either program code array
is smaller than 31 bytes length. This is the size of the shader bytecode of a
one-instruction program.
@throws ArgumentError Program Must Be Little Endian: if either of the program
byte code arrays is not little endian.
@throws Error Native Shader Compilation Failed: if the output of the AGAL
translator is not a compilable native shader language program. This error is only
thrown in release players.
@throws Error Native Shader Compilation Failed OpenGL: if the output of the
AGAL translator is not a compilable OpengGL shader language program, and
includes compilation diagnostics. This error is only thrown in debug players.
@throws Error Native Shader Compilation Failed D3D9: if the output of the AGAL
translator is not a compilable Direct3D shader language program, and includes
compilation diagnostics. This error is only thrown in debug players.
The following errors are thrown when the AGAL bytecode validation fails:
@throws Error Not An Agal Program: if the header "magic byte" is wrong. The
first byte of the bytecode must be 0xa0. This error can indicate that the byte
array is set to the wrong endian order.
@throws Error Bad Agal Version: if the AGAL version is not supported by the
current SWF version. The AGAL version must be set to 1 for SWF version 13.
@throws Error Bad Agal Program Type: if the AGAL program type identifier is
not valid. The third byte in the byte code must be 0xa1. This error can indicates
that the byte array is set to the wrong endian order.
@throws Error Bad Agal Shader Type: if the shader type code is not either
fragment or vertex (1 or 0).
@throws Error Invalid Agal Opcode Out Of Range: if an invalid opcode is
encountered in the token stream.
@throws Error Invalid Agal Opcode Not Implemented: if an invalid opcode is
encountered in the token stream.
@throws Error Agal Opcode Only Allowed In Fragment Program: if an opcode is
encountered in the token stream of the vertex program that is only allowed in fragment programs, such as KIL or TEX.
@throws Error Bad Agal Source Operands: if both source operands are constant
registers. You must compute the result outside the shader program and pass it
in using a single constant register.
@throws Error Both Operands Are Indirect Reads: if both operands are indirect
reads.
@throws Error Opcode Destination Must Be All Zero: if a token with an opcode
(such as KIL) that has no destination sets a non-zero value for the destination
register.
@throws Error Opcode Destination Must Use Mask: if an opcode that produces
only a 3 component result is used without masking.
@throws Error Too Many Tokens: if there are too many tokens (more than 200) in
an AGAL program.
@throws Error Fragment Shader Type: if the fragment program type (byte 6 of
fragmentProgram parameter) is not set to 1.
@throws Error Vertex Shader Type: if the vertex program type (byte 6 of
vertexProgram parameter) is not set to 0.
@throws Error Varying Read But Not Written To: if the fragment shader reads a
varying register that was never written to by the vertex shader.
@throws Error Varying Partial Write: if a varying register is only partially
written to. All components of a varying register must be written to.
@throws Error Fragment Write All Components: if a fragment color output is only
partially written to. All four components of the color output must be written to.
@throws Error Vertex Write All Components: if a vertex clip space output is only
partially written to. All components of the vertex clip space output must be
written to.
@throws Error Unused Operand: if an unused operand in a token is not set to all
zero.
@throws Error Sampler Register Only In Fragment: if a texture sampler register
is used in a vertex program.
@throws Error Sampler Register Second Operand: if a sampler register is used
as a destination or first operand of an AGAL token.
@throws Error Indirect Only Allowed In Vertex: if indirect addressing is used
in a fragment program.
@throws Error Indirect Only Into Constant Registers: if indirect addressing
is used on a non-constant register.
@throws Error Indirect Source Type: if the indirect source type is not
attribute, constant or temporary register.
@throws Error Indirect Addressing Fields Must Be Zero: if not all indirect
addressing fields are zero for direct addressing.
@throws Error Varying Registers Only Read In Fragment: if a varying register is
read in a vertex program. Varying registers can only be written in vertex
programs and read in fragment programs.
@throws Error Attribute Registers Only Read In Vertex: if an attribute
registers is read in a fragment program. Attribute registers can only be read
in vertex programs.
@throws Error Can Not Read Output Register: if an output (position or color)
register is read. Output registers can only be written to, not read.
@throws Error Temp Register Read Without Write: if a temporary register is read
without being written to earlier.
@throws Error Temp Register Component Read Without Write: if a specific
temporary register component is read without being written to earlier.
@throws Error Sampler Register Cannot Be Written To: if a sampler register is
written to. Sampler registers can only be read, not written to.
@throws Error Varying Registers Write: if a varying register is written to in
a fragment program. Varying registers can only be written in vertex programs and
read in fragment programs.
@throws Error Attribute Register Cannot Be Written To: if an attribute
register is written to. Attribute registers are read-only.
@throws Error Constant Register Cannot Be Written To: if a constant register
is written to inside a shader program.
@throws Error Destination Writemask Is Zero: if a destination writemask is
zero. All components of an output register must be set.
@throws Error AGAL Reserved Bits Should Be Zero: if any reserved bits in a
token are not zero. This indicates an error in creating the bytecode (or
malformed bytecode).
@throws Error Unknown Register Type: if an invalid register type index is used.
@throws Error Sampler Register Out Of Bounds: if an invalid sampler register
index is used.
@throws Error Varying Register Out Of Bounds: if an invalid varying register
index is used.
@throws Error Attribute Register Out Of Bounds: if an invalid attribute
register index is used.
@throws Error Constant Register Out Of Bounds: if an invalid constant
register index is used.
@throws Error Output Register Out Of Bounds: if an invalid output register
index is used.
@throws Error Temporary Register Out Of Bounds: if an invalid temporary
register index is used.
@throws Error Cube Map Sampler Must Use Clamp: if a cube map sampler does not
set the wrap mode to clamp.
@throws Error Unknown Sampler Dimension: if a sample uses an unknown sampler
dimension. (Only 2D and cube textures are supported.)
@throws Error Unknown Filter Mode: if a sampler uses an unknown filter mode.
(Only nearest neighbor and linear filtering are supported.)
@throws Error Unknown Mipmap Mode: if a sampler uses an unknown mipmap mode.
(Only none, nearest neighbor, and linear mipmap modes are supported.)
@throws Error Unknown Wrapping Mode if a sampler uses an unknown wrapping mode.
(Only clamp and repeat wrapping modes are supported.)
@throws Error Unknown Special Flag: if a sampler uses an unknown special flag.
@throws Error Output Color Not Maskable: You cannot mask the color output
register in a fragment program. All components of the color register must be set.
@throws Error Second Operand Must Be Sampler Register: The AGAL tex opcode must
have a sampler as the second source operand.
@throws Error Indirect Not Allowed: indirect addressing used where not allowed.
@throws Error Swizzle Must Be Scalar: swizzling error.
@throws Error Cant Swizzle 2nd Source: swizzling error.
@throws Error Second Use Of Sampler Must Have Same Params: all samplers that
access the same texture must use the same dimension, wrap, filter, special, and
mipmap settings.
@throws Error 3768: The Stage3D API may not be used during background execution.**BETA**
Uploads a pair of rendering programs expressed in GLSL (GL Shader Language).
<__buildAGALUniformList set="method" line="481">
<__deleteShaders set="method" line="587">
<__disable set="method" line="609">
<__enable set="method" line="651">
<__flush set="method" line="706">
<__getSamplerState set="method" line="747">
<__markDirty set="method" line="752">
<__processGLSLData set="method" line="766">
<__setPositionScale set="method" line="838">
<__setSamplerState set="method" line="849">
<__uploadFromGLSL set="method" line="854">
The Program3D class represents a pair of rendering programs (also called "shaders")
uploaded to the rendering context.
Programs managed by a Program3D object control the entire rendering of triangles
during a Context3D drawTriangles() call. Upload the binary bytecode to the rendering
context using the upload method. (Once uploaded, the program in the original byte
array is no longer referenced; changing or discarding the source byte array does
not change the program.)
Programs always consist of two linked parts: A vertex and a fragment program.
1. The vertex program operates on data defined in VertexBuffer3D objects and is
responsible for projecting vertices into clip space and passing any required vertex
data, such as color, to the fragment shader.
2. The fragment shader operates on the attributes passed to it by the vertex program
and produces a color for every rasterized fragment of a triangle, resulting in pixel
colors. Note that fragment programs have several names in 3D programming literature,
including fragment shader and pixel shader.
Designate which program pair to use for subsequent rendering operations by passing the
corresponding Program3D instance to the Context3D `setProgram()` method.
You cannot create a Program3D object directly; use the Context3D `createProgram()`
method instead."tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.ShaderInputopenfl.display.ShaderParameteropenfl.display.Stage
<__getUniformRegisters get="inline" set="null" line="1013">
"tags=\"haxe,release\""openfl.display3D.Context3D"checkstyle:FieldDocComment"hide
<__allDirty>
<__anyDirty>
<__registerLookup>
<__uniforms>
"tags=\"haxe,release\"""checkstyle:FieldDocComment"hide
<__context>
<__data>
<__id>
<__memoryUsage>
<__numVertices>
<__stride>
<__tempFloat32Array>
<__usage>
<__vertexSize>
Frees all resources associated with this object. After disposing a vertex
buffer, calling `upload()` and rendering using this object will fail.Uploads the data for a set of points to the rendering context from a byte array.
@param data a byte array containing the vertex data. Each data value is four
bytes long. The number of values in a vertex is specified at buffer creation
using the data32PerVertex parameter to the Context3D `createVertexBuffer3D()`
method. The length of the data in bytes must be `byteArrayOffset` plus four times
the number of values per vertex times the number of vertices. The ByteArray object
must use the little endian format.
@param byteArrayOffset number of bytes to skip from the beginning of data
@param startVertex The index of the first vertex to be loaded. A value for
startVertex not equal to zero may be used to load a sub-region of the vertex data.
@param numVertices The number of vertices to be loaded from data.
@throws TypeError Null Pointer Error: when data is `null`.
@throws RangeError Bad Input Size: if `byteArrayOffset` is less than 0, or if
`byteArrayOffset` is greater than or equal to the length of data, or if no. of
elements in data - `byteArrayOffset` is less than `numVertices*data32pervertex*4`
given in Context3D `createVertexBuffer()`.
@throws Error 3768: The Stage3D API may not be used during background execution.{ byteLength : -1 }Uploads the data for a set of points to the rendering context from a typed array.
@param data a typed array of 32-bit values. A single vertex is comprised of a
number of values stored sequentially in the vector. The number of values in a
vertex is specified at buffer creation using the `data32PerVertex` parameter to the
Context3D `createVertexBuffer3D()` method.
@param byteLength The number of bytes to read.Uploads the data for a set of points to the rendering context from a vector array.
@param data a vector of 32-bit values. A single vertex is comprised of a
number of values stored sequentially in the vector. The number of values in a
vertex is specified at buffer creation using the data32PerVertex parameter to the
Context3D `createVertexBuffer3D()` method. The length of the vector must be the
number of values per vertex times the number of vertexes.
@param startVertex The index of the first vertex to be loaded. A value for
`startVertex` not equal to zero may be used to load a sub-region of the vertex data.
@param numVertices The number of vertices represented by data.
@throws TypeError Null Pointer Error: when `data` is `null`.
@throws RangeError Bad Input Size: when number of elements in data is less than
`numVertices * data32PerVertex` given in Context3D `createVertexBuffer()`, or
when `startVertex + numVertices` is greater than `numVertices` given in Context3D
`createVertexBuffer()`.The VertexBuffer3D class represents a set of vertex data uploaded to a rendering context.
Use a VertexBuffer3D object to define the data associated with each point in a set
of vertexes. You can upload the vertex data either from a Vector array or a ByteArray.
(Once uploaded, the data in the original array is no longer referenced; changing or
discarding the source array does not change the vertex data.)
The data associated with each vertex is in an application-defined format and is used
as the input for the vertex shader program. Identify which values belong to which
vertex program input using the Context3D `setVertexBufferAt()` function. A vertex
program can use up to eight inputs (also known as vertex attribute registers). Each
input can require between one and four 32-bit values. For example, the [x,y,z]
position coordinates of a vertex can be passed to a vertex program as a vector
containing three 32 bit values. The Context3DVertexBufferFormat class defines
constants for the supported formats for shader inputs. You can supply up to
sixty-four 32-bit values (256 bytes) of data for each point (but a single vertex
shader cannot use all of the data in this case).
The `setVertexBufferAt()` function also identifies which vertex buffer to use for
rendering any subsequent `drawTriangles()` calls. To render data from a different
vertex buffer, call setVertexBufferAt() again with the appropriate arguments. (You
can store data for the same point in multiple vertex buffers, say position data in
one buffer and texture coordinates in another, but typically rendering is more
efficient if all the data for a point comes from a single buffer.)
The Index3DBuffer object passed to the Context3D `drawTriangles()` method organizes
the vertex data into triangles. Each value in the index buffer is the index to a
vertex in the vertex buffer. A set of three indexes, in sequence, defines a triangle.
You cannot create a VertexBuffer3D object directly. Use the Context3D
`createVertexBuffer()` method instead.
To free the render context resources associated with a vertex buffer, call the object's
`dispose()` method."tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.Stage"tags=\"haxe,release\"""checkstyle:FieldDocComment"{ useMask : true }"tags=\"haxe,release\"""checkstyle:FieldDocComment"new Array(){ offset : 0 }"tags=\"haxe,release\"""checkstyle:FieldDocComment""tags=\"haxe,release\""cast 0cast 1cast 2cast 4cast 5cast 0cast 1cast 2cast 4cast 5"tags=\"haxe,release\"""checkstyle:FieldDocComment"{ offset : 0, emitSwizzle : true }"tags=\"haxe,release\"""checkstyle:FieldDocComment"cast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 4cast 5cast 0cast 1cast 2cast 3cast 0cast 1cast 2cast 30
<__readUInt24 set="method" line="145">
<__readUInt32 set="method" line="154">"tags=\"haxe,release\"""checkstyle:FieldDocComment"cast 0cast 1cast 0cast 1
<__currentGLArrayBuffer>
<__currentGLElementArrayBuffer>
<__currentGLFramebuffer>
<__currentGLTexture2D>
<__currentGLTextureCubeMap>
<__enableGLBlend>
<__enableGLCullFace>
<__enableGLDepthTest>
<__enableGLScissorTest>
<__enableGLStencilTest>
<__frontFaceGLCCW>
<__glBlendEquation>
<__primaryGLFramebuffer>
<__rttDepthGLRenderbuffer>
<__rttGLFramebuffer>
<__rttGLRenderbuffer>
<__rttStencilGLRenderbuffer>"checkstyle:FieldDocComment"
<__compressedFormats static="1">
<__compressedFormatsAlpha static="1">
<__supportsBGRA expr="null" line="37" static="1">
null
<__textureFormat static="1">
<__textureInternalFormat static="1">
<__alphaTexture>
<__context>
<__format>
<__glDepthRenderbuffer>
<__glFramebuffer>
<__glStencilRenderbuffer>
<__height>
<__internalFormat>
<__optimizeForRenderToTexture>
<__samplerState>
<__streamingLevels>
<__textureContext>
"checkstyle:Dynamic"
<__textureID>
<__textureTarget>
<__width>
Frees all GPU resources associated with this texture. After disposal, calling
`upload()` or rendering with this object fails.
<__getGLFramebuffer set="method" line="186">
"checkstyle:Dynamic"
<__getImage set="method" line="251">
<__getTexture set="method" line="304">
<__setSamplerState set="method" line="309">
<__uploadFromImage set="method" line="382">
The TextureBase class is the base class for Context3D texture objects.
**Note:** You cannot create your own texture classes using TextureBase. To add
functionality to a texture class, extend either Texture or CubeTexture instead."tags=\"haxe,release\""openfl.display._internal.SamplerStateopenfl.display3D.Context3Dopenfl.display.BitmapDataopenfl.display.Stage
<__framebufferSurface>
<__size>
<__uploadedSides>
{ async : false }Uploads a cube texture in Adobe Texture Format (ATF) from a byte array.
The byte array must contain all faces and mipmaps for the texture.
@param data a byte array that containing a compressed cube texture including
mipmaps. The ByteArray object must use the little endian format.
@param byteArrayOffset an optional offset at which to start reading the texture
data.
@param async If `true`, this function returns immediately. Any draw method which
attempts to use the texture will fail until the upload completes successfully. Upon
successful upload, this Texture object dispatches `Event.TEXTURE_READY`. Default
value: `false`.
@throws TypeError Null Pointer Error: when `data` is `null`.
@throws ArgumentError Texture Decoding Failed: when the compression format of
this object cannot be derived from the format of the compressed data in data.
@throws ArgumentError Texture Needs To Be Square: when the decompressed texture
does not have equal `width` and `height`.
@throws ArgumentError Texture Size Does Not Match: when the width and height of
the decompressed texture do not equal the length of the texture's edge.
@throws ArgumentError Miplevel Too Large: if the mip level of the decompressed
texture is greater than that implied by the length of the texture's edge.
@throws ArgumentError Texture Format Mismatch: if the decoded ATF bytes don't
contain a texture compatible with this texture's format or is not a cube texture.
@throws Error 3768: The Stage3D API may not be used during background execution.
@throws RangeError Bad Input Size: when there is integer overflow of
`byteArrayOffset` or if `byteArrayOffset` + 6 is greater than the length of `data`,
or if the number of bytes available from `byteArrayOffset` to the end of the data
byte array is less than the amount of data required for ATF texture.{ generateMipmap : false, miplevel : 0 }Uploads a component of a cube map texture from a BitmapData object.
This function uploads one mip level of one side of the cube map. Call
`uploadFromBitmapData()` as necessary to upload each mip level and face of the
cube map.
@param source a bitmap.
@param side A code indicating which side of the cube to upload:
positive X : 0
negative X : 1
positive Y : 2
negative Y : 3
positive Z : 4
negative Z : 5
@param miplevel the mip level to be loaded, level zero being the top-level
full-resolution image. The default value is zero.
@throws TypeError Null Pointer Error: if source is `null`.
@throws ArgumentError Miplevel Too Large: if the specified mip level is greater
than that implied by the the texture's dimensions.
@throws ArgumentError Invalid Cube Side: if side is greater than 5.
@throws ArgumentError Invalid BitmapData Error: if source if the BitmapData
object does not contain a valid cube texture face. The image must be square, with
sides equal to a power of two, and the correct size for the miplevel specified.
@throws ArgumentError Texture Format Mismatch: if the texture format is
`Context3DTextureFormat.COMPRESSED` or `Context3DTextureFormat.COMPRESSED_ALPHA`
and the code is executing on a mobile platform where runtime texture compression
is not supported.
@throws Error 3768: The Stage3D API may not be used during background execution.{ miplevel : 0 }Uploads a component of a cube map texture from a ByteArray object.
This function uploads one mip level of one side of the cube map. Call
`uploadFromByteArray()` as neccessary to upload each mip level and face of the
cube map.
@param data a byte array containing the image in the format specified when
this CubeTexture object was created. The ByteArray object must use the little
endian format.
@param byteArrayOffset reading of the byte array starts there.
@param side A code indicating which side of the cube to upload:
positive X : 0
negative X : 1
positive Y : 2
negative Y : 3
positive Z : 4
negative Z : 5
@param miplevel the mip level to be loaded, level zero is the top-level,
full-resolution image.
@throws TypeError Null Pointer Error: when data is null.
@throws ArgumentError Miplevel Too Large: if the specified mip level is greater than that implied by the Texture's dimensions.
@throws RangeError Bad Input Size: if the number of bytes available from byteArrayOffset to the end of the data byte array is less than the amount of data required for a texture of this mip level or if byteArrayOffset is greater than or equal to the length of data.
@throws ArgumentError Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported.
@throws Error 3768: The Stage3D API may not be used during background execution.{ miplevel : 0 }Uploads a component of a cube map texture from an ArrayBufferView object.
This function uploads one mip level of one side of the cube map. Call
`uploadFromTypedArray()` as necessary to upload each mip level and face of the
cube map.
@param data a typed array containing the image in the format specified when
this CubeTexture object was created.
@param side A code indicating which side of the cube to upload:
positive X : 0
negative X : 1
positive Y : 2
negative Y : 3
positive Z : 4
negative Z : 5
@param miplevel the mip level to be loaded, level zero is the top-level,
full-resolution image.
<__getGLFramebuffer set="method" line="257" override="1">
<__setSamplerState set="method" line="288" override="1">
<__sideToTarget set="method" line="325">
<__uploadCompressedTextureFromByteArray set="method" line="341">
The CubeTexture class represents a cube texture uploaded to a rendering context.
Defines a cube map texture for use during rendering. Cube mapping is used for many
rendering techniques, such as environment maps, skyboxes, and skylight illumination.
You cannot create a CubeTexture object directly; use the Context3D
`createCubeTexture()` instead."tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.Stageopenfl.events.EventUploads a texture from a BitmapData object.
@param source a bitmap.
@throws TypeError Null Pointer Error: when `source` is `null`.
@throws ArgumentError Invalid BitmapData Error: when `source` does not contain a
valid texture. The maximum allowed size in any dimension is 4096 or the size of the
backbuffer, whichever is greater.
@throws Error 3768: The Stage3D API may not be used during background execution.Uploads a texture from a ByteArray.
@param data a byte array that is contains enough bytes in the textures internal
format to fill the texture. rgba textures are read as bytes per texel component (1
or 4). float textures are read as floats per texel component (1 or 4). The
ByteArray object must use the little endian format.
@param byteArrayOffset the position in the byte array object at which to start
reading the texture data.
@throws TypeError Null Pointer Error: when `data` is `null`.
@throws RangeError Bad Input Size: if the number of bytes available from
`byteArrayOffset` to the end of data byte array is less than the amount of data
required for a texture, or if `byteArrayOffset` is greater than or equal to the
length of data.
@throws Error 3768: The Stage3D API may not be used during background execution.Uploads a texture from an ArrayBufferView.
@param data a typed array that contains enough bytes in the textures internal
format to fill the texture. rgba textures are read as bytes per texel component (1
or 4). float textures are read as floats per texel component (1 or 4).
<__setSamplerState set="method" line="124" override="1">
The Rectangle Texture class represents a 2-dimensional texture uploaded to a rendering
context.
Defines a 2D texture for use during rendering.
Texture cannot be instantiated directly. Create instances by using Context3D
`createRectangleTexture()` method."tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.Stage
<__lowMemoryMode expr="false" line="31" static="1">
false{ async : false }Uploads a compressed texture in Adobe Texture Format (ATF) from a ByteArray
object. ATF file version 2 requires SWF version 21 or newer and ATF file version 3
requires SWF version 29 or newer. For ATF files created with png image without
alpha the format string given during Context3DObject `createTexture` should be
`"COMPRESSED"` and for ATF files created with png image with alpha the format
string given during Context3DObject `createTexture` should be `"COMPRESSED_ALPHA"`.
@param data a byte array that contains a compressed texture including mipmaps.
The ByteArray object must use the little endian format.
@param byteArrayOffset the position in the byte array at which to start reading
the texture data.
@param async If true, this function returns immediately. Any draw method which
attempts to use the texture will fail until the upload completes successfully.
Upon successful upload, this CubeTexture object dispatches `Event.TEXTURE_READY`.
Default value: `false`.
@throws TypeError Null Pointer Error: when `data` is `null`.
@throws ArgumentError Texture Decoding Failed: when the compression format of
this object cannot be derived from the format of the compressed data in data or
when the SWF version is incompatible with the ATF file version.
@throws ArgumentError Texture Size Does Not Match: when the width and height of
the decompressed texture do not equal the dimensions of this Texture object.
@throws ArgumentError Miplevel Too Large: if the mip level of the decompressed
texture is greater than that implied by the size of the texture.
@throws ArgumentError Texture Format Mismatch: if the decoded ATF bytes don't
contain a texture compatible with this texture's format.
@throws Error 3768: The Stage3D API may not be used during background execution.
@throws RangeError Bad Input Size: when there is integer overflow of
`byteArrayOffset` or if `byteArrayOffset` + 6 is greater than the length of `data`,
or if the number of bytes available from `byteArrayOffset` to the end of the `data`
byte array is less than the amount of data required for ATF texture.{ generateMipmap : false, miplevel : 0 }Uploads a texture from a BitmapData object.
@param source a bitmap.
@param miplevel the mip level to be loaded, level zero being the top-level
full-resolution image.
@throws TypeError Null Pointer Error: when `source` is `null`.
@throws ArgumentError Miplevel Too Large: if the specified mip level is greater
than that implied by the larger of the Texture's dimensions.
@throws ArgumentError Invalid BitmapData Error: if `source` if the BitmapData
object does not contain a valid cube texture face. The image must have sides equal
to a power of two, and the correct size for the miplevel specified.
@throws ArgumentError Texture Format Mismatch: if the texture format is
Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and
the code is executing on a mobile platform where runtime texture compression is
not supported.
@throws Error 3768: The Stage3D API may not be used during background execution.{ miplevel : 0 }Uploads a texture from a ByteArray.
@param data a byte array that is contains enough bytes in the textures
internal format to fill the texture. rgba textures are read as bytes per texel
component (1 or 4). float textures are read as floats per texel component (1 or 4).
The ByteArray object must use the little endian format.
@param byteArrayOffset the position in the byte array object at which to start
reading the texture data.
@param miplevel the mip level to be loaded, level zero is the top-level,
full-resolution image.
@throws TypeError Null Pointer Error: when `data` is `null`.
@throws ArgumentError Miplevel Too Large: if the specified mip level is greater
than that implied by the larger of the Texture's dimensions.
@throws RangeError Bad Input Size: if the number of bytes available from
`byteArrayOffset` to the end of the data byte array is less than the amount of data
required for a texture of this mip level or if `byteArrayOffset` is greater than or
equal to the length of data.
@throws ArgumentError Texture Format Mismatch: if the texture format is
Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and
the code is executing on a mobile platform where runtime texture compression is not
supported.
@throws Error 3768: The Stage3D API may not be used during background execution.{ miplevel : 0 }Uploads a texture from an ArrayBufferView.
@param data a typed array that contains enough bytes in the textures
internal format to fill the texture. rgba textures are read as bytes per texel
component (1 or 4). float textures are read as floats per texel component (1 or 4).
@param miplevel the mip level to be loaded, level zero is the top-level,
full-resolution image.
<__setSamplerState set="method" line="263" override="1">
<__uploadCompressedTextureFromByteArray set="method" line="300">
The Texture class represents a 2-dimensional texture uploaded to a rendering context.
Defines a 2D texture for use during rendering.
Texture cannot be instantiated directly. Create instances by using Context3D
`createTexture()` method."tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.Stageopenfl.events.EventAn integer specifying the height of the video stream, in pixels.
For a live stream, this value is the same as the Camera.height property of the
Camera object that is capturing the video stream. For a recorded video file, this
value is the height of the video. The `NetStream.Video.DimensionChange` event is
dispatched in the case of recorded videos when this value changes.An integer specifying the width of the video stream, in pixels.
For a live stream, this value is the same as the Camera.width property of the
Camera object that is capturing the video stream. For a recorded video file, this
value is the width of the video. The `NetStream.Video.DimensionChange` event is
dispatched in the case of recorded videos when this value changes.
<__cacheTime>
<__netStream>
Specifies a video stream to be rendered within the texture of the VideoTexture
object.
A video file can be stored on the local file system or on Flash Media Server. If
the value of the netStream argument is `null`, the video is no longer played in the
VideoTexture object.
@param netStream
<__getTexture set="method" line="150" override="1">
<__textureReady set="method" line="166">
RGB
conversion) and so the standard shaders with static images can be used without change.
The image used by the rendering pipeline is the latest up-to-date frame at the time the
rendering occurs using this texture. There is no tearing in a video frame, however if
the same texture is used several times, some of the instances may be from different
timestamps.]]>"tags=\"haxe,release\""openfl.display3D.Context3Dopenfl.display.Stageopenfl.net.NetStreamopenfl.events.Event
<_pools expr="[]" line="9" static="1">
[]* Recycle or create new FlxRect.
* Be sure to put() them back into the pool after you're done with them!* Recycle or create a new FlxRect which will automatically be released
* to the pool when passed into a flixel function.
<_weak expr="false">
false
<_inPool expr="false">
false* Add this FlxRect to the recycling pool.* Add this FlxPoint to the recycling pool if it's a weak reference (allocated via weak()).* Does nothing* Necessary for IFlxDestroyable.{ message : "" }"tags=\"haxe,release\""{ message : "" }Creates a new IOError object.
@param message A string associated with the error object.The IOError exception is thrown when some type of input or output failure
occurs. For example, an IOError exception is thrown if a read/write
operation is attempted on a socket that has not connected or that has
become disconnected."tags=\"haxe,release\""{ id : 0, message : null }Creates a new EOFError object.
@param message A string associated with the error object.An EOFError exception is thrown when you attempt to read past the end of
the available data. For example, an EOFError is thrown when one of the read
methods in the IDataInput interface is called and there is insufficient
data to satisfy the read request."tags=\"haxe,release\""{ message : "" }Creates a new IllegalOperationError object.
@param message A string associated with the error object.The IllegalOperationError exception is thrown when a method is not
implemented or the implementation doesn't cover the current usage.
Examples of illegal operation error exceptions include:
* A base class, such as DisplayObjectContainer, provides more
functionality than a Stage can support(such as masks)
* Certain accessibility methods are called when the player is compiled
without accessibility support
* The mms.cfg setting prohibits a FileReference action
* ActionScript tries to run a `FileReference.browse()` call
when a browse dialog box is already open
* ActionScript tries to use an unsupported protocol for a FileReference
object(such as FTP)
* Authoring-only features are invoked from a run-time
player
* An attempt is made to set the name of a Timeline-placed
object"tags=\"haxe,release\""{ message : "" }"tags=\"haxe,release\""{ message : "" }"tags=\"haxe,release\"""activity"The `ActivityEvent.ACTIVITY` constant defines the value of the `type`
property of an `activity` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `activating` | `true` if the device is activating or `false` if it is deactivating. |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The object beginning or ending a session, such as a Camera or Microphone object. |Indicates whether the device is activating (`true`) or deactivating
(`false`).
<__init set="method" line="84" override="1">
{ activating : false, cancelable : false, bubbles : false }Creates an event object that contains information about activity
events. Event objects are passed as parameters to Event listeners.
@param type The type of the event. Event listeners can access
this information through the inherited `type`
property. There is only one type of activity event:
`ActivityEvent.ACTIVITY`.
@param bubbles Determines whether the Event object participates in
the bubbling phase of the event flow. Event
listeners can access this information through the
inherited `bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through
the inherited `cancelable` property.
@param activating Indicates whether the device is activating (`true`)
or deactivating (`false`). Event listeners can
access this information through the `activating`
property.A Camera or Microphone object dispatches an ActivityEvent object whenever
a camera or microphone reports that it has become active or inactive.
There is only one type of activity event: `ActivityEvent.ACTIVITY`."tags=\"haxe,release\"""link"Defines the value of the `type` property of a `link` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The text field containing the hyperlink that has been clicked. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `text` | The remainder of the URL after "event:" |"textInput"Defines the value of the `type` property of a `textInput` event
object.
**Note:** This event is not dispatched for the Delete or Backspace
keys.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The text field into which characters are being entered. The target is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
|`text` | The character or sequence of characters entered by the user. |` tag.]]>
<__init set="method" line="103" override="1">
{ text : "", cancelable : false, bubbles : false }Creates an Event object that contains information about text events. Event
objects are passed as parameters to event listeners.
@param type The type of the event. Event listeners can access this
information through the inherited `type`
property. Possible values are:
`TextEvent.LINK` and
`TextEvent.TEXT_INPUT`.
@param bubbles Determines whether the Event object participates in the
bubbling phase of the event flow. Event listeners can
access this information through the inherited
`bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through the
inherited `cancelable` property.
@param text One or more characters of text entered by the user.
Event listeners can access this information through the
`text` property.An object dispatches a TextEvent object when a user enters text in a text
field or clicks a hyperlink in an HTML-enabled text field. There are two
types of text events: `TextEvent.LINK` and
`TextEvent.TEXT_INPUT`."tags=\"haxe,release\"""error"Defines the value of the `type` property of an `error` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The object experiencing a network operation failure. |
| `text` | Text to be displayed as an error message. |Contains the reference number associated with the specific error. For a
custom ErrorEvent object, this number is the value from the
`id` parameter supplied in the constructor.
<__init set="method" line="96" override="1">
{ id : 0, text : "", cancelable : false, bubbles : false }Creates an Event object that contains information about error events.
Event objects are passed as parameters to event listeners.
@param type The type of the event. Event listeners can access this
information through the inherited `type`
property. There is only one type of error event:
`ErrorEvent.ERROR`.
@param bubbles Determines whether the Event object bubbles. Event
listeners can access this information through the
inherited `bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through the
inherited `cancelable` property.
@param text Text to be displayed as an error message. Event
listeners can access this information through the
`text` property.
@param id A reference number to associate with the specific error
(supported in Adobe AIR only).An object dispatches an ErrorEvent object when an error causes an
asynchronous operation to fail.
The ErrorEvent class defines only one type of `error` event:
`ErrorEvent.ERROR`. The ErrorEvent class also serves as the base
class for several other error event classes, including the AsyncErrorEvent,
IOErrorEvent, SecurityErrorEvent, SQLErrorEvent, and UncaughtErrorEvent
classes.
You can check for `error` events that do not have any
listeners by registering a listener for the `uncaughtError`
(UncaughtErrorEvent.UNCAUGHT_ERROR) event.
An uncaught error also causes an error dialog box displaying the error
event to appear when content is running in the debugger version of Flash
Player or the AIR Debug Launcher(ADL) application."tags=\"haxe,release\"""asyncError"The `AsyncErrorEvent.ASYNC_ERROR` constant defines the value of the
`type` property of an `asyncError` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The object dispatching the event. |
| `error` | The error that triggered the event. |The exception that was thrown.
<__init set="method" line="89" override="1">
{ error : null, text : "", cancelable : false, bubbles : false }Creates an AsyncErrorEvent object that contains information about
asyncError events. AsyncErrorEvent objects are passed as parameters to
event listeners.
@param type The type of the event. Event listeners can access
this information through the inherited `type`
property. There is only one type of error event:
`ErrorEvent.ERROR`.
@param bubbles Determines whether the Event object bubbles. Event
listeners can access this information through the
inherited `bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through
the inherited `cancelable` property.
@param text Text to be displayed as an error message. Event
listeners can access this information through the
`text` property.
@param error The exception that occurred. If error is non-null,
the event's `errorId` property is set from the
error's `errorId` property.An object dispatches an AsyncErrorEvent when an exception is thrown from
native asynchronous code, which could be from, for example,
LocalConnection, NetConnection, SharedObject, or NetStream. There is only
one type of asynchronous error event: `AsyncErrorEvent.ASYNC_ERROR`."tags=\"haxe,release\"""tags=\"haxe,release\"""checkstyle:FieldDocComment"hide"tags=\"haxe,release\"""checkstyle:FieldDocComment"The EventPhase class provides values for the `eventPhase`
property of the Event class.cast 2The target phase, which is the second phase of the event flow.cast 3The bubbling phase, which is the third phase of the event flow.cast 1The capturing phase, which is the first phase of the event flow.cast 2The target phase, which is the second phase of the event flow.cast 3The bubbling phase, which is the third phase of the event flow.cast 1The capturing phase, which is the first phase of the event flow.The EventType abstract type provides type safety when
matching dispatch events with the correct type of listener
For example, the following code has the wrong type in the
event listener, it should be a MouseEvent:
```haxe
addEventListener(MouseEvent.CLICK, function(event:TouchEvent) {});
```
OpenFL uses the EventType abstract for standard event types
to turn these logical errors into a compile-time errors.A == BA != BA == BA != B"focusIn"Defines the value of the `type` property of a `focusIn` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `keyCode` | 0; applies only to `keyFocusChange` events. |
| `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. |
| `shiftKey` | `false`; applies only to `keyFocusChange` events. |
| `target` | The InteractiveObject instance that has just received focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `direction` | The direction from which focus was assigned. This property reports the value of the `direction` parameter of the `assignFocus()` method of the stage. If the focus changed through some other means, the value will always be `FocusDirection.NONE`. Applies only to `focusIn` events. For all other focus events the value will be `FocusDirection.NONE`. |"focusOut"Defines the value of the `type` property of a `focusOut` event object.
This event has the following properties:
|Property | Value || --- | --- || `bubbles` | `true` || `cancelable` | `false`;
there is no default behavior to
cancel. || `currentTarget` | The
object that is actively processing the Event object with an event
listener. || `keyCode` | 0; applies
only to `keyFocusChange`
events. || `relatedObject` | The
complementary InteractiveObject instance that is affected by the
change in
focus. || `shiftKey` | `false`;
applies only to `keyFocusChange`
events. || `target` | The
InteractiveObject instance that has just lost focus. The `target` is
not always the object in the display list that registered the event
listener. Use the `currentTarget` property to access the object in the
display list that is currently processing the event.
|"keyFocusChange"Defines the value of the `type` property of a `keyFocusChange` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `keyCode` | The key code value of the key pressed to trigger a `keyFocusChange` event. |
| `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. |
| `shiftKey` | `true` if the Shift key modifier is activated; `false` otherwise. |
| `target` | The InteractiveObject instance that currently has focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"mouseFocusChange"Defines the value of the `type` property of a `mouseFocusChange` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `keyCode` | 0; applies only to `keyFocusChange` events. |
| `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. |
| `shiftKey` | `false`; applies only to `keyFocusChange` events. |
| `target` | The InteractiveObject instance that currently has focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |The key code value of the key pressed to trigger a
`keyFocusChange` event.A reference to the complementary InteractiveObject instance that is
affected by the change in focus. For example, when a `focusOut`
event occurs, the `relatedObject` represents the
InteractiveObject instance that has gained focus.
The value of this property can be `null` in two
circumstances: if there no related object, or there is a related object,
but it is in a security sandbox to which you don't have access. Use the
`isRelatedObjectInaccessible()` property to determine which of
these reasons applies.Indicates whether the Shift key modifier is activated, in which case the
value is `true`. Otherwise, the value is `false`.
This property is used only if the FocusEvent is of type
`keyFocusChange`.
<__init set="method" line="191" override="1">
{ keyCode : 0, shiftKey : false, relatedObject : null, cancelable : false, bubbles : false }Creates an Event object with specific information relevant to focus
events. Event objects are passed as parameters to event listeners.
@param type The type of the event. Possible values are:
`FocusEvent.FOCUS_IN`,
`FocusEvent.FOCUS_OUT`,
`FocusEvent.KEY_FOCUS_CHANGE`, and
`FocusEvent.MOUSE_FOCUS_CHANGE`.
@param bubbles Determines whether the Event object participates in
the bubbling stage of the event flow.
@param cancelable Determines whether the Event object can be canceled.
@param relatedObject Indicates the complementary InteractiveObject
instance that is affected by the change in focus. For
example, when a `focusIn` event occurs,
`relatedObject` represents the
InteractiveObject that has lost focus.
@param shiftKey Indicates whether the Shift key modifier is
activated.
@param keyCode Indicates the code of the key pressed to trigger a
`keyFocusChange` event.An object dispatches a FocusEvent object when the user changes the focus
from one object in the display list to another. There are four types of
focus events:
* `FocusEvent.FOCUS_IN`
* `FocusEvent.FOCUS_OUT`
* `FocusEvent.KEY_FOCUS_CHANGE`
* `FocusEvent.MOUSE_FOCUS_CHANGE`"tags=\"haxe,release\"""fullScreen"The `FullScreenEvent.FULL_SCREEN` constant defines the value of the
`type` property of a `fullScreen` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `fullScreen` | `true` if the display state is full screen or `false` if it is normal. |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Stage object. |"fullScreenInteractiveAccepted"The `FULL_SCREEN_INTERACTIVE_ACCEPTED:String` constant defines the value of the
type property of a `fullScreenInteractiveAccepted` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `fullScreen` | `true` if the display state is full screen or `false` if it is normal. |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Stage object. |Indicates whether the Stage object is in full-screen mode (`true`) or
not (`false`).Indicates whether the Stage object is in full-screen interactive mode (`true`) or
not (`false`).
<__init set="method" line="109" override="1">
{ interactive : false, fullScreen : false, cancelable : false, bubbles : false }Creates an event object that contains information about `fullScreen`
events. Event objects are passed as parameters to event listeners.
@param type The type of the event. Event listeners can access
this information through the inherited `type`
property. There is only one type of `fullScreen`
event: `FullScreenEvent.FULL_SCREEN`.
@param bubbles Determines whether the Event object participates in
the bubbling phase of the event flow. Event
listeners can access this information through the
inherited `bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through
the inherited `cancelable` property.
@param fullScreen Indicates whether the device is activating (`true`)
or deactivating (`false`). Event listeners can
access this information through the `activating`
property.The Stage object dispatches a FullScreenEvent object whenever the Stage
enters or leaves full-screen display mode. There is only one type of
`fullScreen` event: `FullScreenEvent.FULL_SCREEN`."tags=\"haxe,release\"""deviceAdded"Indicates that a compatible device has been connected or turned on."deviceRemoved"Indicates that one of the enumerated devices has been disconnected or turned off."deviceUnusable"Dispatched when a game input device is connected but is not usable.Returns a reference to the device that was added or removed. When a device is added, use this property to get a reference to the new device, instead of enumerating all of the devices to find the new one.
<__init set="method" line="61" override="1">
{ device : null, cancelable : false, bubbles : true }The GameInputEvent class represents an event that is dispatched when a game input device has either been added or removed from the application platform. A game input device also dispatches events when it is turned on or off."tags=\"haxe,release\"""httpResponseStatus"Unlike the `httpStatus` event, the `httpResponseStatus` event is
delivered before any response data. Also, the `httpResponseStatus`
event includes values for the `responseHeaders` and `responseURL`
properties (which are undefined for an `httpStatus` event. Note that
the `httpResponseStatus` event (if any) will be sent before (and in
addition to) any `complete` or `error` event.
The `HTTPStatusEvent.HTTP_RESPONSE_STATUS` constant defines the value
of the `type` property of a `httpResponseStatus` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `responseURL` | The URL from which the response was returned. |
| `responseHeaders` | The response headers that the response returned, as an array of URLRequestHeader objects. |
| `status` | The HTTP status code returned by the server. |
| `target` | The network object receiving an HTTP status code. |"httpStatus"The `HTTPStatusEvent.HTTP_STATUS` constant defines the value of the
`type` property of a `httpStatus` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `status` | The HTTP status code returned by the server. |
| `target` | The network object receiving an HTTP status code. |Indicates whether the request was redirected.The response headers that the response returned, as an array of
URLRequestHeader objects.The URL that the response was returned from. In the case of redirects,
this will be different from the request URL.The HTTP status code returned by the server. For example, a value of 404
indicates that the server has not found a match for the requested URI.
HTTP status codes can be found in sections 10.4 and 10.5 of the HTTP
specification at [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
If Flash Player or AIR cannot get a status code from the server, or if
it cannot communicate with the server, the default value of 0 is passed to
your code. A value of 0 can be generated in any player(for example, if a
malformed URL is requested), and a value of 0 is always generated by the
Flash Player plug-in when it is run in the following browsers, which do
not pass HTTP status codes to the player: Netscape, Mozilla, Safari,
Opera, and Internet Explorer for the Macintosh.
<__init set="method" line="148" override="1">
{ redirected : false, status : 0, cancelable : false, bubbles : false }Creates an Event object that contains specific information about HTTP
status events. Event objects are passed as parameters to event listeners.
@param type The type of the event. Event listeners can access this
information through the inherited `type`
property. There is only one type of HTTPStatus event:
`HTTPStatusEvent.HTTP_STATUS`.
@param bubbles Determines whether the Event object participates in the
bubbling stage of the event flow. Event listeners can
access this information through the inherited
`bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through the
inherited `cancelable` property.
@param status Numeric status. Event listeners can access this
information through the `status` property.The application dispatches HTTPStatusEvent objects when a network request
returns an HTTP status code.
HTTPStatusEvent objects are always sent before error or completion
events. An HTTPStatusEvent object does not necessarily indicate an error
condition; it simply reflects the HTTP status code(if any) that is
provided by the networking stack. Some Flash Player environments may be
unable to detect HTTP status codes; a status code of 0 is always reported
in these cases.
In Flash Player, there is only one type of HTTPStatus event:
`httpStatus`. In the AIR runtime, a FileReference, URLLoader, or
URLStream can register to listen for an `httpResponseStatus`,
which includes `responseURL` and `responseHeaders`
properties. These properties are undefined in a `httpStatus`
event."tags=\"haxe,release\"""ioError"Defines the value of the `type` property of an `ioError` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `errorID` | A reference number associated with the specific error (AIR only). |
| `target` | The network object experiencing the input/output error. |
| `text` | Text to be displayed as an error message. |"standardOutputIoError"The `standardOutputIoError` event is dispatched when an error occurs
while reading data from the `standardOutput` stream of a NativeProcess
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event. |
| `errorID` | The reference number associated with the specific error. |
| `target` | The object on which the error occurred. |
| `text` | Text to be displayed as an error message. |"standardErrorIoError"The `standardErrorIoError` event is dispatched when an error occurs
while reading data from the `standardError` stream of a NativeProcess
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event. |
| `errorID` | The reference number associated with the specific error. |
| `target` | The object on which the error occurred. |
| `text` | Text to be displayed as an error message. |{ id : 0, text : "", cancelable : false, bubbles : true }Creates an Event object that contains specific information about
`ioError` events. Event objects are passed as parameters to
Event listeners.
@param type The type of the event. Event listeners can access this
information through the inherited `type`
property. There is only one type of input/output error
event: `IOErrorEvent.IO_ERROR`.
@param bubbles Determines whether the Event object participates in the
bubbling stage of the event flow. Event listeners can
access this information through the inherited
`bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through the
inherited `cancelable` property.
@param text Text to be displayed as an error message. Event
listeners can access this information through the
`text` property.
@param id A reference number to associate with the specific error
(supported in Adobe AIR only).An IOErrorEvent object is dispatched when an error causes input or output
operations to fail.
You can check for error events that do not have any listeners by using
the debugger version of Flash Player or the AIR Debug Launcher(ADL). The
string defined by the `text` parameter of the IOErrorEvent
constructor is displayed."tags=\"haxe,release\"""keyDown"The `KeyboardEvent.KEY_DOWN` constant defines the value of the `type`
property of a `keyDown` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true` in AIR, `false` in Flash Player; in AIR, canceling this event prevents the character from being entered into a text field. |
| `charCode` | The character code value of the key pressed or released. |
| `commandKey` | `true` on Mac if the Command key is active. Otherwise, `false` |
| `controlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Control key is active. Otherwise, `false` |
| `ctrlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `keyCode` | The key code value of the key pressed or released. |
| `keyLocation` | The location of the key on the keyboard. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `target` | The InteractiveObject instance with focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"keyUp"The `KeyboardEvent.KEY_UP` constant defines the value of the `type`
property of a `keyUp` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `charCode` | Contains the character code value of the key pressed or released. |
| `commandKey` | `true` on Mac if the Command key is active. Otherwise, `false` |
| `controlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Control key is active. Otherwise, `false` |
| `ctrlKey` | `true` on Windows if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `keyCode` | The key code value of the key pressed or released. |
| `keyLocation` | The location of the key on the keyboard. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `target` | The InteractiveObject instance with focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |Indicates whether the Alt key is active(`true`) or inactive
(`false`) on Windows; indicates whether the Option key is
active on Mac OS.Contains the character code value of the key pressed or released. The
character code values are English keyboard values. For example, if you
press Shift+3, `charCode` is # on a Japanese keyboard, just as
it is on an English keyboard.
**Note: **When an input method editor(IME) is running,
`charCode` does not report accurate character codes.Indicates whether the Command key is active (`true`) or inactive
(`false`). Supported for Mac OS only. On Mac OS, the `commandKey`
property has the same value as the `ctrlKey` property.Indicates whether the Control key is active (`true`) or inactive
(`false`). On Windows and Linux, this is also true when the Ctrl key
is active.On Windows and Linux, indicates whether the Ctrl key is active
(`true`) or inactive(`false`); On Mac OS, indicates
whether either the Ctrl key or the Command key is active.The key code value of the key pressed or released.
**Note: **When an input method editor(IME) is running,
`keyCode` does not report accurate key codes.Indicates the location of the key on the keyboard. This is useful for
differentiating keys that appear more than once on a keyboard. For
example, you can differentiate between the left and right Shift keys by
the value of this property: `KeyLocation.LEFT` for the left and
`KeyLocation.RIGHT` for the right. Another example is
differentiating between number keys pressed on the standard keyboard
(`KeyLocation.STANDARD`) versus the numeric keypad
(`KeyLocation.NUM_PAD`).Indicates whether the Shift key modifier is active(`true`) or
inactive(`false`).
<__init set="method" line="212" override="1">
{ commandKeyValue : false, controlKeyValue : false, shiftKeyValue : false, altKeyValue : false, ctrlKeyValue : false, keyLocationValue : null, keyCodeValue : 0, charCodeValue : 0, cancelable : false, bubbles : false }Creates an Event object that contains specific information about keyboard
events. Event objects are passed as parameters to event listeners.
@param type The type of the event. Possible values are:
`KeyboardEvent.KEY_DOWN` and
`KeyboardEvent.KEY_UP`
@param bubbles Determines whether the Event object participates
in the bubbling stage of the event flow.
@param cancelable Determines whether the Event object can be
canceled.
@param charCodeValue The character code value of the key pressed or
released. The character code values returned are
English keyboard values. For example, if you press
Shift+3, the `Keyboard.charCode()`
property returns # on a Japanese keyboard, just as
it does on an English keyboard.
@param keyCodeValue The key code value of the key pressed or released.
@param keyLocationValue The location of the key on the keyboard.
@param ctrlKeyValue On Windows, indicates whether the Ctrl key is
activated. On Mac, indicates whether either the
Ctrl key or the Command key is activated.
@param altKeyValue Indicates whether the Alt key modifier is
activated(Windows only).
@param shiftKeyValue Indicates whether the Shift key modifier is
activated.
@param commandKeyValue Indicates whether the Command key modifier is
activated.A KeyboardEvent object id dispatched in response to user input through a
keyboard. There are two types of keyboard events:
`KeyboardEvent.KEY_DOWN` and `KeyboardEvent.KEY_UP`
Because mappings between keys and specific characters vary by device and
operating system, use the TextEvent event type for processing character
input.
To listen globally for key events, listen on the Stage for the capture
and target or bubble phase."tags=\"haxe,release\"""click"Defines the value of the `type` property of a `click` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | For click events, this value is always `false`. |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"doubleClick"Defines the value of the `type` property of a `doubleClick` event
object. The `doubleClickEnabled` property must be `true` for an object
to generate the `doubleClick` event.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | For double-click events, this value is always `false`. |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"middleClick"Defines the value of the `type` property of a `middleClick` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | For middle-click events, this property is always `false`. |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"middleMouseDown"Defines the value of the `type` property of a `middleMouseDown` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the middle mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"middleMouseUp"Defines the value of the `type` property of a `middleMouseUp` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the middle mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"mouseDown"Defines the value of the `type` property of a `mouseDown` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"mouseMove"Defines the value of the `type` property of a `mouseMove` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"mouseOut"Defines the value of the `type` property of a `mouseOut` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `relatedObject` | The display list object to which the pointing device now points. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"mouseOver"Defines the value of the `type` property of a `mouseOver` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `relatedObject` | The display list object to which the pointing device was pointing. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"mouseUp"Defines the value of the `type` property of a `mouseUp` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"mouseWheel"Defines the value of the `type` property of a `mouseWheel` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `delta` | The number of lines that that each notch on the mouse wheel represents. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"releaseOutside"Defines the value of the `type` property of a
`releaseOutside` event object.
This event has the following properties:"rightClick"Defines the value of the `type` property of a `rightClick` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | For right-click events, this property is always `false`. |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"rightMouseDown"Defines the value of the `type` property of a `rightMouseDown` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | For right-click events, this property is always `true`. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"rightMouseUp"Defines the value of the `type` property of a `rightMouseUp` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `true` |
| `buttonDown` | `true` if the right mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; the default behavior cannot be canceled. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"rollOut"Defines the value of the `type` property of a `rollOut` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `false` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `relatedObject` | The display list object to which the pointing device now points. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |"rollOver"Defines the value of the `type` property of a `rollOver` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows). |
| `bubbles` | `false` |
| `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `relatedObject` | The display list object to which the pointing device was pointing. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
<__altKey static="1">
<__buttonDown static="1">
<__commandKey static="1">
<__ctrlKey static="1">
<__shiftKey static="1">
<__create set="method" line="680" static="1">
{ delta : 0 }Indicates whether the Alt key is active(`true`) or inactive
(`false`). Supported for Windows only. On other operating
systems, this property is always set to `false`.Indicates whether the primary mouse button is pressed(`true`)
or not(`false`).Indicates whether the command key is activated (Mac only.)
The value of property `commandKey` will have the same value as property `ctrlKey`
on the Mac. Always `false` on Windows or Linux.Indicates whether or not the mouse down event is part of a multi-click sequence.
This parameter will be zero for all mouse events other than `MouseEvent.mouseDown`,
`MouseEvent.mouseUp`, `MouseEvent.middleMouseDown`, `MouseEvent.middleMouseUp`,
`MouseEvent.rightMouseDown`, and `MouseEvent.rightMouseUp`. Listening for single
clicks, double clicks, or any multi-click sequence is possible with the
`clickCount` parameter. For example, an initial `MouseEvent.mouseDown` and
`MouseEvent.mouseUp` will have a `clickCount` of 1, and the second
`MouseEvent.mouseDown` and `MouseEvent.mouseUp` in a double-click sequence will
have a `clickCount` of 2. If the mouse moves sufficiently or the multi-click
sequence is interrupted for some reason, then the next `MouseEvent.mouseDown`
will have a `clickCount` of 1. The `doubleClick` event will continue to fire as
expected.On Windows or Linux, indicates whether the Ctrl key is active
(`true`) or inactive(`false`). On Macintosh,
indicates whether either the Control key or the Command key is activated.Indicates how many lines should be scrolled for each unit the user rotates
the mouse wheel. A positive delta value indicates an upward scroll; a
negative value indicates a downward scroll. Typical values are 1 to 3, but
faster rotation may produce larger values. This setting depends on the
device and operating system and is usually configurable by the user. This
property applies only to the `MouseEvent.mouseWheel` event.If `true`, the `relatedObject` property is set to `null` for reasons related to
security sandboxes. If the nominal value of `relatedObject` is a reference to a
DisplayObject in another sandbox, `relatedObject` is set to `null` unless there is
permission in both directions across this sandbox boundary. Permission is
established by calling `Security.allowDomain()` from a SWF file, or by providing a
policy file from the server of an image file, and setting the
`LoaderContext.checkPolicyFile` property when loading the image.The horizontal coordinate at which the event occurred relative to the
containing sprite.The vertical coordinate at which the event occurred relative to the
containing sprite.A reference to a display list object that is related to the event. For
example, when a `mouseOut` event occurs,
`relatedObject` represents the display list object to which the
pointing device now points. This property applies to the
`mouseOut`, `mouseOver`, `rollOut`, and
`rollOver` events.
The value of this property can be `null` in two
circumstances: if there no related object, or there is a related object,
but it is in a security sandbox to which you don't have access. Use the
`isRelatedObjectInaccessible()` property to determine which of
these reasons applies.Indicates whether the Shift key is active(`true`) or inactive
(`false`).The horizontal coordinate at which the event occurred in global Stage
coordinates. This property is calculated when the `localX`
property is set.The vertical coordinate at which the event occurred in global Stage
coordinates. This property is calculated when the `localY`
property is set.Instructs Flash Player or Adobe AIR to render after processing of this
event completes, if the display list has been modified.
<__init set="method" line="690" override="1">
{ clickCount : 0, commandKey : false, delta : 0, buttonDown : false, shiftKey : false, altKey : false, ctrlKey : false, relatedObject : null, localY : 0, localX : 0, cancelable : false, bubbles : true }Creates an Event object that contains information about mouse events.
Event objects are passed as parameters to event listeners.
@param type The type of the event. Possible values are:
`MouseEvent.CLICK`,
`MouseEvent.DOUBLE_CLICK`,
`MouseEvent.MOUSE_DOWN`,
`MouseEvent.MOUSE_MOVE`,
`MouseEvent.MOUSE_OUT`,
`MouseEvent.MOUSE_OVER`,
`MouseEvent.MOUSE_UP`,
`MouseEvent.MIDDLE_CLICK`,
`MouseEvent.MIDDLE_MOUSE_DOWN`,
`MouseEvent.MIDDLE_MOUSE_UP`,
`MouseEvent.RIGHT_CLICK`,
`MouseEvent.RIGHT_MOUSE_DOWN`,
`MouseEvent.RIGHT_MOUSE_UP`,
`MouseEvent.MOUSE_WHEEL`,
`MouseEvent.ROLL_OUT`, and
`MouseEvent.ROLL_OVER`.
@param bubbles Determines whether the Event object participates in
the bubbling phase of the event flow.
@param cancelable Determines whether the Event object can be canceled.
@param localX The horizontal coordinate at which the event occurred
relative to the containing sprite.
@param localY The vertical coordinate at which the event occurred
relative to the containing sprite.
@param relatedObject The complementary InteractiveObject instance that is
affected by the event. For example, when a
`mouseOut` event occurs,
`relatedObject` represents the display
list object to which the pointing device now points.
@param ctrlKey On Windows or Linux, indicates whether the Ctrl key
is activated. On Mac, indicates whether either the
Ctrl key or the Command key is activated.
@param altKey Indicates whether the Alt key is activated(Windows
or Linux only).
@param shiftKey Indicates whether the Shift key is activated.
@param buttonDown Indicates whether the primary mouse button is
pressed.
@param delta Indicates how many lines should be scrolled for each
unit the user rotates the mouse wheel. A positive
delta value indicates an upward scroll; a negative
value indicates a downward scroll. Typical values are
1 to 3, but faster rotation may produce larger
values. This parameter is used only for the
`MouseEvent.mouseWheel` event.A MouseEvent object is dispatched into the event flow whenever mouse events
occur. A mouse event is usually generated by a user input device, such as a
mouse or a trackball, that uses a pointer.
When nested nodes are involved, mouse events target the deepest possible
nested node that is visible in the display list. This node is called the
_target node_. To have a target node's ancestor receive notification
of a mouse event, use `EventDispatcher.addEventListener()` on
the ancestor node with the `type` parameter set to the specific
mouse event you want to detect."tags=\"haxe,release\"""netStatus"Defines the value of the `type` property of a `netStatus` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `info` | An object with properties that describe the object's status or error condition. |
| `target` | The NetConnection or NetStream object reporting its status. |`. On Flash Media Server, `` is disabled by default. When enabled, the default timeout value is 3600 seconds (1 hour). For more information, see [Close idle connections](http://help.adobe.com/en_US/flashmediaserver/configadmin/WS5b3ccc516d4fbf351e63e3d119f2925e64-7ff0.html#WS5b3ccc516d4fbf351e63e3d119f2925e64-7fe9). |
| `"NetConnection.Connect.InvalidApp"` | `"error"` | The application name specified in the call to `NetConnection.connect()` is invalid. |
| `"NetConnection.Connect.NetworkChange"` | `"status"` | Flash Player has detected a network change, for example, a dropped wireless connection, a successful wireless connection,or a network cable loss. Use this event to check for a network interface change. Don't use this event to implement your NetConnection reconnect logic. Use `"NetConnection.Connect.Closed"` to implement your NetConnection reconnect logic. |
| `"NetConnection.Connect.Rejected"` | `"error"` | The connection attempt did not have permission to access the application. |
| `"NetConnection.Connect.Success"` | `"status"` | The connection attempt succeeded. |
| `"NetGroup.Connect.Failed"` | `"error"` | The NetGroup connection attempt failed. The `info.group` property indicates which NetGroup failed. |
| `"NetGroup.Connect.Rejected"` | `"error"` | The NetGroup is not authorized to function. The `info.group` property indicates which NetGroup was denied. |
| `"NetGroup.Connect.Succcess"` | `"status"` | The NetGroup is successfully constructed and authorized to function. The `info.group` property indicates which NetGroup has succeeded. |
| `"NetGroup.LocalCoverage.Notify"` | `"status"` | Sent when a portion of the group address space for which this node is responsible changes. |
| `"NetGroup.MulticastStream.PublishNotify"` | `"status"` | Sent when a new named stream is detected in NetGroup's Group. The `info.name:String` property is the name of the detected stream. |
| `"NetGroup.MulticastStream.UnpublishNotify"` | `"status"` | Sent when a named stream is no longer available in the Group. The `info.name:String` property is name of the stream which has disappeared. |
| `"NetGroup.Neighbor.Connect"` | `"status"` | Sent when a neighbor connects to this node. The `info.neighbor:String` property is the group address of the neighbor. The `info.peerID:String` property is the peer ID of the neighbor. |
| `"NetGroup.Neighbor.Disconnect"` | `"status"` | Sent when a neighbor disconnects from this node. The `info.neighbor:String` property is the group address of the neighbor. The `info.peerID:String` property is the peer ID of the neighbor. |
| `"NetGroup.Posting.Notify"` | `"status"` | Sent when a new Group Posting is received. The `info.message:Object` property is the message. The `info.messageID:String` property is this message's messageID. |
| `"NetGroup.Replication.Fetch.Failed"` | `"status"` | Sent when a fetch request for an object (previously announced with NetGroup.Replication.Fetch.SendNotify) fails or is denied. A new attempt for the object will be made if it is still wanted. The `info.index:Number` property is the index of the object that had been requested. |
| `"NetGroup.Replication.Fetch.Result"` | `"status"` | Sent when a fetch request was satisfied by a neighbor. The `info.index:Number` property is the object index of this result. The `info.object:Object` property is the value of this object. This index will automatically be removed from the Want set. If the object is invalid, this index can be re-added to the Want set with `NetGroup.addWantObjects()`. |
| `"NetGroup.Replication.Fetch.SendNotify"` | `"status"` | Sent when the Object Replication system is about to send a request for an object to a neighbor.The `info.index:Number` property is the index of the object that is being requested. |
| `"NetGroup.Replication.Request"` | `"status"` | Sent when a neighbor has requested an object that this node has announced with `NetGroup.addHaveObjects()`. This request **must** eventually be answered with either `NetGroup.writeRequestedObject()` or `NetGroup.denyRequestedObject()`. Note that the answer may be asynchronous. The `info.index:Number` property is the index of the object that has been requested. The `info.requestID:int` property is the ID of this request, to be used by `NetGroup.writeRequestedObject()` or `NetGroup.denyRequestedObject()`. |
| `"NetGroup.SendTo.Notify"` | `"status"` | Sent when a message directed to this node is received. The `info.message:Object` property is the message. The `info.from:String` property is the groupAddress from which the message was received. The `info.fromLocal:Boolean` property is `TRUE` if the message was sent by this node (meaning the local node is the nearest to the destination group address), and `FALSE` if the message was received from a different node. To implement recursive routing, the message must be resent with `NetGroup.sendToNearest()` if `info.fromLocal` is `FALSE`. |
| `"NetStream.Buffer.Empty"` | `"status"` | Flash Player is not receiving data quickly enough to fill the buffer. Data flow is interrupted until the buffer refills, at which time a `NetStream.Buffer.Full` message is sent and the stream begins playing again. |
| `"NetStream.Buffer.Flush"` | `"status"` | Data has finished streaming, and the remaining buffer is emptied. |
| `"NetStream.Buffer.Full"` | `"status"` | The buffer is full and the stream begins playing. |
| `"NetStream.Connect.Closed"` | `"status"` | The P2P connection was closed successfully. The `info.stream` property indicates which stream has closed. |
| `"NetStream.Connect.Failed"` | `"error"` | The P2P connection attempt failed. The `info.stream` property indicates which stream has failed. |
| `"NetStream.Connect.Rejected"` | `"error"` | The P2P connection attempt did not have permission to access the other peer. The `info.stream` property indicates which stream was rejected. |
| `"NetStream.Connect.Success"` | `"status"` | The P2P connection attempt succeeded. The `info.stream` property indicates which stream has succeeded. |
| `"NetStream.DRM.UpdateNeeded"` | `"status"` | A NetStream object is attempting to play protected content, but the required Flash Access module is either not present, not permitted by the effective content policy, or not compatible with the current player. To update the module or player, use the `update()` method of flash.system.SystemUpdater. |
| `"NetStream.Failed"` | `"error"` | (Flash Media Server) An error has occurred for a reason other than those listed in other event codes. |
| `"NetStream.MulticastStream.Reset"` | `"status"` | A multicast subscription has changed focus to a different stream published with the same name in the same group. Local overrides of multicast stream parameters are lost. Reapply the local overrides or the new stream's default parameters will be used. |
| `"NetStream.Pause.Notify"` | `"status"` | The stream is paused. |
| `"NetStream.Play.Failed"` | `"error"` | An error has occurred in playback for a reason other than those listed elsewhere in this table, such as the subscriber not having read access. |
| `"NetStream.Play.FileStructureInvalid"` | `"error"` | (AIR and Flash Player 9.0.115.0) The application detects an invalid file structure and will not try to play this type of file. |
| `"NetStream.Play.InsufficientBW"` | `"warning"` | (Flash Media Server) The client does not have sufficient bandwidth to play the data at normal speed. |
| `"NetStream.Play.NoSupportedTrackFound"` | `"error"` | (AIR and Flash Player 9.0.115.0) The application does not detect any supported tracks (video, audio or data) and will not try to play the file. |
| `"NetStream.Play.PublishNotify"` | `"status"` | The initial publish to a stream is sent to all subscribers. |
| `"NetStream.Play.Reset"` | `"status"` | Caused by a play list reset. |
| `"NetStream.Play.Start"` | `"status"` | Playback has started. |
| `"NetStream.Play.Stop"` | `"status"` | Playback has stopped. |
| `"NetStream.Play.StreamNotFound"` | `"error"` | The file passed to the `NetStream.play()` method can't be found. |
| `"NetStream.Play.Transition"` | `"status"` | (Flash Media Server 3.5) The server received the command to transition to another stream as a result of bitrate stream switching. This code indicates a success status event for the `NetStream.play2()` call to initiate a stream switch. If the switch does not succeed, the server sends a `NetStream.Play.Failed` event instead. When the stream switch occurs, an `onPlayStatus` event with a code of "NetStream.Play.TransitionComplete" is dispatched. For Flash Player 10 and later. |
| `"NetStream.Play.UnpublishNotify"` | `"status"` | An unpublish from a stream is sent to all subscribers. |
| `"NetStream.Publish.BadName"` | `"error"` | Attempt to publish a stream which is already being published by someone else. |
| `"NetStream.Publish.Idle"` | `"status"` | The publisher of the stream is idle and not transmitting data. |
| `"NetStream.Publish.Start"` | `"status"` | Publish was successful. |
| `"NetStream.Record.AlreadyExists"` | `"status"` | The stream being recorded maps to a file that is already being recorded to by another stream. This can happen due to misconfigured virtual directories. |
| `"NetStream.Record.Failed"` | `"error"` | An attempt to record a stream failed. |
| `"NetStream.Record.NoAccess"` | `"error"` | Attempt to record a stream that is still playing or the client has no access right. |
| `"NetStream.Record.Start"` | `"status"` | Recording has started. |
| `"NetStream.Record.Stop"` | `"status"` | Recording stopped. |
| `"NetStream.Seek.Failed"` | `"error"` | The seek fails, which happens if the stream is not seekable. |
| `"NetStream.Seek.InvalidTime"` | `"error"` | For video downloaded progressively, the user has tried to seek or play past the end of the video data that has downloaded thus far, or past the end of the video once the entire file has downloaded. The `info.details` property of the event object contains a time code that indicates the last valid position to which the user can seek. |
| `"NetStream.Seek.Notify"` | `"status"` | The seek operation is complete. Sent when `NetStream.seek()` is called on a stream in AS3 NetStream Data Generation Mode. The info object is extended to include `info.seekPoint` which is the same value passed to `NetStream.seek()`. |
| `"NetStream.Step.Notify"` | `"status"` | The step operation is complete. |
| `"NetStream.Unpause.Notify"` | `"status"` | The stream is resumed. |
| `"NetStream.Unpublish.Success"` | `"status"` | The unpublish operation was successfuul. |
| `"SharedObject.BadPersistence"` | `"error"` | A request was made for a shared object with persistence flags, but the request cannot be granted because the object has already been created with different flags. |
| `"SharedObject.Flush.Failed"` | `"error"` | The "pending" status is resolved, but the `SharedObject.flush()` failed. |
| `"SharedObject.Flush.Success"` | `"status"` | The "pending" status is resolved and the `SharedObject.flush()` call succeeded. |
| `"SharedObject.UriMismatch"` | `"error"` | An attempt was made to connect to a NetConnection object that has a different URI (URL) than the shared object. |
If you consistently see errors regarding the buffer, try changing the
buffer using the `NetStream.bufferTime` property.]]>
<__init set="method" line="171" override="1">
{ info : null, cancelable : false, bubbles : false }Creates an Event object that contains information about `netStatus`
events. Event objects are passed as parameters to event listeners.
@param type The type of the event. Event listeners can access
this information through the inherited `type`
property. There is only one type of status event:
`NetStatusEvent.NET_STATUS`.
@param bubbles Determines whether the Event object participates in
the bubbling stage of the event flow. Event
listeners can access this information through the
inherited `bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through
the inherited `cancelable` property.
@param info An object containing properties that describe the
object's status. Event listeners can access this
object through the `info` property.A NetConnection, NetStream, or SharedObject object dispatches
NetStatusEvent objects when a it reports its status. There is only one
type of status event: `NetStatusEvent.NET_STATUS`."tags=\"haxe,release\"""socketData"Defines the value of the `type` property of a `socketData` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event. |
| `bytesLoaded` | The number of items or bytes loaded at the time the listener processes the event. |
| `bytesTotal` | 0; this property is not used by `socketData` event objects. |
| `target` | The socket reporting progress. |"standardOutputData"Defines the value of the `type` property of a `standardOutputData` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event. |
| `bytesLoaded` | The number of bytes of output data buffered by the NativeProcessObject.standardOutput due to this event. |
| `bytesTotal` | 0; this property is not used by `standardOutputData` event objects. |
| `target` | The NativeProcess object reporting output data. |"standardErrorData"Defines the value of the `type` property of a `standardErrorData` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event. |
| `bytesLoaded` | The number of bytes of output data buffered by the NativeProcessObject.standardError due to this event. |
| `bytesTotal` | 0; this property is not used by `standardErrorData` event objects. |
| `target` | The NativeProcess object reporting output data. |The number of items or bytes loaded when the listener processes the event.The total number of items or bytes that will be loaded if the loading
process succeeds. If the progress event is dispatched/attached to a Socket
object, the bytesTotal will always be 0 unless a value is specified in the
bytesTotal parameter of the constructor. The actual number of bytes sent
back or forth is not set and is up to the application developer.
<__init set="method" line="145" override="1">
{ bytesTotal : 0, bytesLoaded : 0, cancelable : false, bubbles : false }Creates an Event object that contains information about progress events.
Event objects are passed as parameters to event listeners.
@param type The type of the event. Possible values
are:`ProgressEvent.PROGRESS`,
`ProgressEvent.SOCKET_DATA`,
`ProgressEvent.STANDARD_ERROR_DATA`,
`ProgressEvent.STANDARD_INPUT_PROGRESS`, and
`ProgressEvent.STANDARD_OUTPUT_DATA`.
@param bubbles Determines whether the Event object participates in the
bubbling stage of the event flow.
@param cancelable Determines whether the Event object can be canceled.
@param bytesLoaded The number of items or bytes loaded at the time the
listener processes the event.
@param bytesTotal The total number of items or bytes that will be loaded
if the loading process succeeds.A ProgressEvent object is dispatched when a load operation has begun or a
socket has received data. These events are usually generated when SWF
files, images or data are loaded into an application. There are two types
of progress events: `ProgressEvent.PROGRESS` and
`ProgressEvent.SOCKET_DATA`. Additionally, in AIR ProgressEvent
objects are dispatched when a data is sent to or from a child process using
the NativeProcess class."tags=\"haxe,release\"""clearDOM"The `RenderEvent.CLEAR_DOM` constant defines the value of the `type` property
of an `renderEvent` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true` |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `renderer` | A reference to the active display object renderer. |
| `target` | The display object that is going to be rendered. |"renderCairo"The `RenderEvent.RENDER_CAIRO` constant defines the value of the `type` property
of an `renderEvent` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true` |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `renderer` | A reference to the active display object renderer. |
| `target` | The display object that is going to be rendered. |"renderCanvas"The `RenderEvent.RENDER_CANVAS` constant defines the value of the `type` property
of an `renderEvent` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true` |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `renderer` | A reference to the active display object renderer. |
| `target` | The display object that is going to be rendered. |"renderDOM"The `RenderEvent.RENDER_DOM` constant defines the value of the `type` property
of an `renderEvent` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true` |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `renderer` | A reference to the active display object renderer. |
| `target` | The display object that is going to be rendered. |"renderOpenGL"The `RenderEvent.RENDER_OPENGL` constant defines the value of the `type` property
of an `renderEvent` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true` |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `renderer` | A reference to the active display object renderer. |
| `target` | The display object that is going to be rendered. |Whether the current render should allow smoothing.The concatenated color transform for the display object being rendered.The concatenated matrix for the display object being rendered.The display object renderer being used for this render.
<__init set="method" line="181" override="1">
{ allowSmoothing : true, objectColorTransform : null, objectMatrix : null, cancelable : false, bubbles : false }Creates an Event object that contains information about render events.
Event objects are passed as parameters to event listeners.
@param type The type of the event. Possible values
are: `RenderEvent.CLEAR_DOM`,
`RenderEvent.RENDER_CAIRO`,
`RenderEvent.RENDER_CANVAS`,
`RenderEvent.RENDER_DOM`, and
`RenderEvent.RENDER_OPENGL`.
@param bubbles Determines whether the Event object participates in the
bubbling stage of the event flow.
@param cancelable Determines whether the Event object can be canceled.
@param objectMatrix Sets the concatenated matrix for the display object being rendered.
@param objectTransform Sets the concatenated color transform for the display object being
rendered.
@param allowSmoothing Determines whether the current render should allow smoothing.**BETA**
RenderEvent is dispatched (optionally) once a listener is added to a
DisplayObject. When the internal Stage renderer is ready to draw the specified
object, a RenderEvent will be dispatched.
Caching a RenderEvent to access at a later time will not work properly. Also,
since the RenderEvent is more of an internal API, there may be additional
concerns to order to ensure that all objects and features work as-intended.
The type of RenderEvent dispatched will match the type of rendering being used.
This renderer type will match the default Stage render, but also can depend on
whether an off-screen render (such as DisplayObject `cacheAsBitmap` or BitmapData
`draw`) is being used."tags=\"haxe,release\""openfl.geom.ColorTransform"securityError"The `SecurityErrorEvent.SECURITY_ERROR` constant defines the value of
the `type` property of a `securityError` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The network object reporting the security error. |
| `text` | Text to be displayed as an error message. |{ id : 0, text : "", cancelable : false, bubbles : false }Creates an Event object that contains information about security error
events. Event objects are passed as parameters to event listeners.
@param type The type of the event. Event listeners can access this
information through the inherited `type`
property. There is only one type of error event:
`SecurityErrorEvent.SECURITY_ERROR`.
@param bubbles Determines whether the Event object participates in the
bubbling stage of the event flow. Event listeners can
access this information through the inherited
`bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through the
inherited `cancelable` property.
@param text Text to be displayed as an error message. Event
listeners can access this information through the
`text` property.
@param id A reference number to associate with the specific error.An object dispatches a SecurityErrorEvent object to report the occurrence
of a security error. Security errors reported through this class are
generally from asynchronous operations, such as loading data, in which
security violations may not manifest immediately. Your event listener can
access the object's `text` property to determine what operation
was attempted and any URLs that were involved. If there are no event
listeners, the debugger version of Flash Player or the AIR Debug Launcher
(ADL) application automatically displays an error message that contains the
contents of the `text` property. There is one type of security
error event: `SecurityErrorEvent.SECURITY_ERROR`.
Security error events are the final events dispatched for any target
object. This means that any other events, including generic error events,
are not dispatched for a target object that experiences a security
error."tags=\"haxe,release\"""timer"Defines the value of the `type` property of a `timer` event object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Timer object that has reached its interval. |"timerComplete"Defines the value of the `type` property of a `timerComplete` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `false` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `target` | The Timer object that has completed its requests. |Instructs Flash Player or the AIR runtime to render after processing of
this event completes, if the display list has been modified.{ cancelable : false, bubbles : false }Creates an Event object with specific information relevant to
`timer` events. Event objects are passed as parameters to event
listeners.
@param type The type of the event. Event listeners can access this
information through the inherited `type`
property.
@param bubbles Determines whether the Event object bubbles. Event
listeners can access this information through the
inherited `bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through the
inherited `cancelable` property.A Timer object dispatches a TimerEvent objects whenever the Timer object
reaches the interval specified by the `Timer.delay` property."tags=\"haxe,release\"""touchBegin"Defines the value of the `type` property of a `TOUCH_BEGIN` touch
event object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |"touchEnd"Defines the value of the `type` property of a `TOUCH_END` touch event
object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |"touchMove"Defines the value of the `type` property of a `TOUCH_MOVE` touch event
object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |"touchOut"Defines the value of the `type` property of a `TOUCH_OUT` touch event
object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |"touchOver"Defines the value of the `type` property of a `TOUCH_OVER` touch event
object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |"touchRollOut"Defines the value of the `type` property of a `TOUCH_ROLL_OUT` touch
event object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |"touchRollOver"Defines the value of the `type` property of a `TOUCH_ROLL_OVER` touch
event object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |"touchTap"Defines the value of the `type` property of a `TOUCH_TAP` touch event
object.
The dispatched TouchEvent object has the following properties:
| Property | Value |
| --- | --- |
| `altKey` | `true` if the Alt key is active (Windows or Linux). |
| `bubbles` | `true` |
| `cancelable` | `false`; there is no default behavior to cancel. |
| `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. |
| `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. |
| `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `eventPhase` | The current phase in the event flow. |
| `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. |
| `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. |
| `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. |
| `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. |
| `relatedObject` | A reference to a display list object related to the event. |
| `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. |
| `sizeX` | Width of the contact area. |
| `sizeY` | Height of the contact area. |
| `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. |
| `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. |
| `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. |
| `touchPointID` | A unique identification number (as an int) assigned to the touch point. |
<__create set="method" line="501" static="1">
Indicates whether the Alt key is active(`true`) or inactive
(`false`). Supported for Windows and Linux operating systems
only.Indicates whether the command key is activated (Mac only).
On a Mac OS, the value of the `commandKey` property is the same value as the
`ctrlKey` property. This property is always `false` on Windows or Linux.Indicates whether the Control key is activated on Mac and whether the Ctrl key is
activated on Windows or Linux.On Windows or Linux, indicates whether the Ctrl key is active
(`true`) or inactive(`false`). On Macintosh,
indicates whether either the Control key or the Command key is activated."checkstyle:FieldDocComment"hideIndicates whether the first point of contact is mapped to mouse events.The horizontal coordinate at which the event occurred relative to the
containing sprite.The vertical coordinate at which the event occurred relative to the
containing sprite.A value between `0.0` and `1.0` indicating force of
the contact with the device. If the device does not support detecting the
pressure, the value is `1.0`.A reference to a display list object that is related to the event. For
example, when a `touchOut` event occurs,
`relatedObject` represents the display list object to which the
pointing device now points. This property applies to the
`touchOut`, `touchOver`, `touchRollOut`,
and `touchRollOver` events.
The value of this property can be `null` in two
circumstances: if there is no related object, or there is a related
object, but it is in a security sandbox to which you don't have access.
Use the `isRelatedObjectInaccessible()` property to determine
which of these reasons applies.Indicates whether the Shift key is active(`true`) or inactive
(`false`).Width of the contact area.
Only supported on Android(C++ target), in the range of 0-1.Height of the contact area.
Only supported on Android(C++ target), in the range of 0-1.The horizontal coordinate at which the event occurred in global Stage
coordinates. This property is calculated when the `localX`
property is set.The vertical coordinate at which the event occurred in global Stage
coordinates. This property is calculated when the `localY`
property is set.A unique identification number(as an int) assigned to the touch point.Instructs Flash Player or Adobe AIR to render after processing of this
event completes, if the display list has been modified.
<__init set="method" line="511" override="1">
{ isTouchPointCanceled : false, samples : null, touchIntent : null, timestamp : 0, controlKey : false, commandKey : false, shiftKey : false, altKey : false, ctrlKey : false, relatedObject : null, pressure : 0, sizeY : 0, sizeX : 0, localY : 0, localX : 0, isPrimaryTouchPoint : false, touchPointID : 0, cancelable : false, bubbles : true }Creates an Event object that contains information about touch events.
Event objects are passed as parameters to event listeners.
@param type The type of the event. Possible values are:
`TouchEvent.TOUCH_BEGIN`,
`TouchEvent.TOUCH_END`,
`TouchEvent.TOUCH_MOVE`,
`TouchEvent.TOUCH_OUT`,
`TouchEvent.TOUCH_OVER`,
`TouchEvent.TOUCH_ROLL_OUT`,
`TouchEvent.TOUCH_ROLL_OVER`, and
`TouchEvent.TOUCH_TAP`.
@param bubbles Determines whether the Event object
participates in the bubbling phase of the event
flow.
@param cancelable Determines whether the Event object can be
canceled.
@param touchPointID A unique identification number(as an int)
assigned to the touch point.
@param isPrimaryTouchPoint Indicates whether the first point of contact is
mapped to mouse events.
@param relatedObject The complementary InteractiveObject instance
that is affected by the event. For example,
when a `touchOut` event occurs,
`relatedObject` represents the
display list object to which the pointing
device now points.
@param ctrlKey On Windows or Linux, indicates whether the Ctrl
key is activated. On Mac, indicates whether
either the Ctrl key or the Command key is
activated.
@param altKey Indicates whether the Alt key is activated
(Windows or Linux only).
@param shiftKey Indicates whether the Shift key is activated.The TouchEvent class lets you handle events on devices that detect user
contact with the device(such as a finger on a touch screen). When a user
interacts with a device such as a mobile phone or tablet with a touch
screen, the user typically touches the screen with his or her fingers or a
pointing device. You can develop applications that respond to basic touch
events(such as a single finger tap) with the TouchEvent class. Create
event listeners using the event types defined in this class. For user
interaction with multiple points of contact(such as several fingers moving
across a touch screen at the same time) use the related GestureEvent,
PressAndTapGestureEvent, and TransformGestureEvent classes. And, use the
properties and methods of these classes to construct event handlers that
respond to the user touching the device.
Use the Multitouch class to determine the current environment's support
for touch interaction, and to manage the support of touch interaction if
the current environment supports it.
**Note:** When objects are nested on the display list, touch events
target the deepest possible nested object that is visible in the display
list. This object is called the target node. To have a target node's
ancestor(an object containing the target node in the display list) receive
notification of a touch event, use
`EventDispatcher.addEventListener()` on the ancestor node with
the type parameter set to the specific touch event you want to detect."tags=\"haxe,release\"""uncaughtError"Defines the value of the `type` property of an `uncaughtError` event
object.
This event has the following properties:
| Property | Value |
| --- | --- |
| `bubbles` | `true` |
| `cancelable` | `true`; cancelling the event prevents the uncaught error dialog from appearing in debugger runtime versions |
| `currentTarget` | The object that is actively processing the Event object with an event listener. |
| `error` | The uncaught error. |
| `target` | The LoaderInfo object associated with the SWF where the error happened. |
| `text` | Text error message. |The error object associated with the uncaught error. Typically, this
object's data type is one of the following:
* An Error instance (or one of its subclasses), if the uncaught error
is a synchronous error created by a `throw` statement, such as an
error that could have been caught using a `try..catch` block
* An ErrorEvent instance (or one of its subclasses), if the uncaught
error is an asynchronous error that dispatches an error event when the
error happens
However, the `error` property can potentially be an object of any data
type. ActionScript does not require a `throw` statement to be used
only with Error objects. For example, the following code is legal both
at compile time and run time:
```haxe
throw new Sprite();
```
If that `throw` statement is not caught by a `try..catch` block, the
`throw` statement triggers an `uncaughtError` event. In that case, the
`error` property of the UncaughtErrorEvent object that's dispatched is
the Sprite object that's constructed in the `throw` statement.
Consequently, in your `uncaughtError` listener, you should check the
data type of the `error` property. The following example demonstrates
this check:
```haxe
function uncaughtErrorHandler(event:UncaughtErrorEvent):Void {
var message:String;
if (Std.isOfType(event.error, Error)) {
message = cast(event.error, Error).message;
} else if (Std.isOfType(event.error, ErrorEvent)) {
message = cast(event.error, ErrorEvent).text;
} else {
message = Std.string(event.error);
}
}
```
If the `error` property contains an Error instance (or Error
subclass), the available error information varies depending on the
version of the runtime in which the content is running. The following
functionality is only available when content is running in a debugger
version of the runtime, such as the debugger version of Flash Player
or the AIR Debug Launcher (ADL):
* `Error.getStackTrace()` to get the call stack that led to the error.
In non-debugger runtime versions, this method returns `null`. Note
that call stack information is never available when the `error`
property is an ErrorEvent instance.
* Complete `Error.message` text. In non-debugger runtime versions,
this property contains a short version of the error message, which is
often a combination of the `Error.errorID` and `Error.name`
properties.
All other properties and methods of the Error class are available in
all runtime versions.
<__init set="method" line="200" override="1">
{ error : null, cancelable : true, bubbles : true }Creates an UncaughtErrorEvent object that contains information about
an `uncaughtError` event.
@param type The type of the event.
@param bubbles Determines whether the Event object participates in
the bubbling stage of the event flow. Event
listeners can access this information through the
inherited `bubbles` property.
@param cancelable Determines whether the Event object can be canceled.
Event listeners can access this information through
the inherited `cancelable` property.
@param error_in The object associated with the error that was not
caught or handled (an Error or ErrorEvent object
under normal circumstances).An UncaughtErrorEvent object is dispatched by an instance of the
UncaughtErrorEvents class when an uncaught error occurs. An uncaught error
happens when an error is thrown outside of any `try..catch` blocks or when
an ErrorEvent object is dispatched with no registered listeners. The
uncaught error event functionality is often described as a "global error
handler."
The UncaughtErrorEvents object that dispatches the event is associated
with either a LoaderInfo object or a Loader object. Use the following
properties to access an UncaughtErrorEvents instance:
* `LoaderInfo.uncaughtErrorEvents`: to detect uncaught errors in code
defined in the same SWF.
* `Loader.uncaughtErrorEvents`: to detect uncaught errors in code defined
in the SWF loaded by a Loader object.
When an `uncaughtError` event happens, even if the event is handled,
execution does not continue in the call stack that caused the error. If
the error is a synchronous error, any code remaining in the function where
the error happened is not executed. Consequently, it is likely that when
an uncaught error event happens, your application is in an unstable state.
Since there can be many causes for an uncaught error, it is impossible to
predict what functionality is available. For example, your application may
be able to execute network operations or file operations. However, those
operations aren't necessarily available.
When one SWF loads another, `uncaughtError` events bubble down and up
again through the LoaderInfo heirarchy. For example, suppose A.swf loads
B.swf using a Loader instance. If an uncaught error occurs in B.swf, an
`uncaughtError` event is dispatched to LoaderInfo and Loader objects in
the following sequence:
1. (Capture phase) A.swf's LoaderInfo
2. (Capture phase) Loader in A.swf
3. (Target phase) B.swf's LoaderInfo
4. (Bubble phase) Loader in A.swf
5. (Bubble phase) A.swf's LoaderInfo
A Loader object's `uncaughtErrorEvents` property never dispatches an
`uncaughtErrorEvent` in the target phase. It only dispatches the event in
the capture and bubbling phases.
As with other event bubbling, calling `stopPropagation()` or
`stopImmediatePropagation()` stops the event from being dispatched to any
other listeners, with one important difference. A Loader object's
UncaughtErrorEvents object is treated as a pair with the loaded SWF's
`LoaderInfo.uncaughtErrorEvents` object for event propagation purposes. If
a listener registered with one of those objects calls the
`stopPropagation()` method, events are still dispatched to other listeners
registered with that UncaughtErrorEvents object _and_ to listeners
registered with its partner UncaughtErrorEvents object before event
propagation ends. The `stopImmediatePropagation()` method still prevents
events from being dispatched to all additional listeners.
When content is running in a debugger version of the runtime, such as the
debugger version of Flash Player or the AIR Debug Launcher (ADL), an
uncaught error dialog appears when an uncaught error happens. For those
runtime versions, the error dialog appears even when a listener is
registered for the `uncaughtError` event. To prevent the dialog from
appearing in that situation, call the UncaughtErrorEvent object's
`preventDefault()` method.
If the content loaded by a Loader object is an AVM1 (ActionScript 2) SWF
file, uncaught errors in the AVM1 SWF file do not result in an
`uncaughtError` event. In addition, JavaScript errors in HTML content
loaded in an HTMLLoader object (including a Flex HTML control) do not
result in an `uncaughtError` event."tags=\"haxe,release\""
<__enabled>
{ useWeakReference : false, priority : 0, useCapture : false }{ useCapture : false }Creates an UncaughtErrorEvents instance. Developer code shouldn't
create UncaughtErrorEvents instances directly. To access an
UncaughtErrorEvents object, use one of the following properties:
* `LoaderInfo.uncaughtErrorEvents`: to detect uncaught errors in code
defined in the same SWF.
* `Loader.uncaughtErrorEvents`: to detect uncaught errors in code
defined in the SWF loaded by a Loader object.try..catch` block to
isolate code that potentially throws a synchronous error
* When performing an operation that dispatches an event when an error
occurs, register a listener for that error event
If the content loaded by a Loader object is an AVM1 (ActionScript 2) SWF
file, uncaught errors in the AVM1 SWF file do not result in an
`uncaughtError` event. In addition, JavaScript errors in HTML content
loaded in an HTMLLoader object (including a Flex HTML control) do not
result in an `uncaughtError` event.
@event uncaughtError Dispatched when an error occurs and developer code
doesn't detect and handle the error.]]>"tags=\"haxe,release\""
<__bottomExtension>
<__leftExtension>
<__needSecondBitmapData>
<__numShaderPasses>
<__preserveObject>
<__renderDirty>
<__rightExtension>
<__shaderBlendMode>
<__smooth>
<__topExtension>
Returns a BitmapFilter object that is an exact copy of the original
BitmapFilter object.
@return A BitmapFilter object.
<__applyFilter set="method" line="63">
<__initShader set="method" line="68">
The BitmapFilter class is the base class for all image filter effects.
The BevelFilter, BlurFilter, ColorMatrixFilter, ConvolutionFilter,
DisplacementMapFilter, DropShadowFilter, GlowFilter, GradientBevelFilter,
and GradientGlowFilter classes all extend the BitmapFilter class. You can
apply these filter effects to any display object.
You can neither directly instantiate nor extend BitmapFilter."tags=\"haxe,release\""hideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internalhideopenfl.display._internal{ code : null }"attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;""openfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;""#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}""varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;""gl_FragColor = texture2D (openfl_Texture, openfl_TextureCoordv);""#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\""
<__update set="method" line="328" override="1">
"uniform sampler2D openfl_Texture;\n\n\t\tvarying vec2 vBlurCoords[7];\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 sum = vec4(0.0);\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[0]) * 0.00443;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[1]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[2]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[3]) * 0.39894;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[4]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[5]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[6]) * 0.00443;\n\n\t\t\tgl_FragColor = sum;\n\n\t\t}""attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vBlurCoords[7];\n\t\tuniform vec2 uTextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\tvec2 r = uRadius / uTextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * 0.75;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * 0.5;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * 0.5;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * 0.75;\n\t\t\tvBlurCoords[6] = openfl_TextureCoord + r;\n\n\t\t}"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\""
<__blurShader expr="new BlurShader()" line="73" static="1">
new BlurShader()The amount of horizontal blur. Valid values are from 0 to 255(floating
point). The default value is 4. Values that are a power of 2(such as 2,
4, 8, 16 and 32) are optimized to render more quickly than other values.The amount of vertical blur. Valid values are from 0 to 255(floating
point). The default value is 4. Values that are a power of 2(such as 2,
4, 8, 16 and 32) are optimized to render more quickly than other values.The number of times to perform the blur. The default value is
`BitmapFilterQuality.LOW`, which is equivalent to applying the
filter once. The value `BitmapFilterQuality.MEDIUM` applies the
filter twice; the value `BitmapFilterQuality.HIGH` applies it
three times and approximates a Gaussian blur. Filters with lower values
are rendered more quickly.
For most applications, a `quality` value of low, medium, or
high is sufficient. Although you can use additional numeric values up to
15 to increase the number of times the blur is applied, higher values are
rendered more slowly. Instead of increasing the value of
`quality`, you can often get a similar effect, and with faster
rendering, by simply increasing the values of the `blurX` and
`blurY` properties.
You can use the following BitmapFilterQuality constants to specify
values of the `quality` property:
* `BitmapFilterQuality.LOW`
* `BitmapFilterQuality.MEDIUM`
* `BitmapFilterQuality.HIGH`
<__blurX>
<__blurY>
<__horizontalPasses>
<__quality>
<__verticalPasses>
<__applyFilter set="method" line="185" override="1">
<__initShader set="method" line="198" override="1">
{ quality : 1, blurY : 4, blurX : 4 }Initializes the filter with the specified parameters. The default values
create a soft, unfocused image.
@param blurX The amount to blur horizontally. Valid values are from 0 to
255.0(floating-point value).
@param blurY The amount to blur vertically. Valid values are from 0 to
255.0(floating-point value).
@param quality The number of times to apply the filter. You can specify
the quality using the BitmapFilterQuality constants:
* `openfl.filters.BitmapFilterQuality.LOW`
* `openfl.filters.BitmapFilterQuality.MEDIUM`
* `openfl.filters.BitmapFilterQuality.HIGH`
High quality approximates a Gaussian blur. For most
applications, these three values are sufficient. Although
you can use additional numeric values up to 15 to achieve
different effects, be aware that higher values are rendered
more slowly.The BlurFilter class lets you apply a blur visual effect to display
objects. A blur effect softens the details of an image. You can produce
blurs that range from a softly unfocused look to a Gaussian blur, a hazy
appearance like viewing an image through semi-opaque glass. When the
`quality` property of this filter is set to low, the result is a
softly unfocused look. When the `quality` property is set to
high, it approximates a Gaussian blur filter. You can apply the filter to
any display object(that is, objects that inherit from the DisplayObject
class), such as MovieClip, SimpleButton, TextField, and Video objects, as
well as to BitmapData objects.
To create a new filter, use the constructor `new
BlurFilter()`. The use of filters depends on the object to which you
apply the filter:
* To apply filters to movie clips, text fields, buttons, and video, use
the `filters` property(inherited from DisplayObject). Setting
the `filters` property of an object does not modify the object,
and you can remove the filter by clearing the `filters`
property.
* To apply filters to BitmapData objects, use the
`BitmapData.applyFilter()` method. Calling
`applyFilter()` on a BitmapData object takes the source
BitmapData object and the filter object and generates a filtered image as a
result.
If you apply a filter to a display object, the
`cacheAsBitmap` property of the display object is set to
`true`. If you remove all filters, the original value of
`cacheAsBitmap` is restored.
This filter supports Stage scaling. However, it does not support general
scaling, rotation, and skewing. If the object itself is scaled
(`scaleX` and `scaleY` are not set to 100%), the
filter effect is not scaled. It is scaled only when the user zooms in on
the Stage.
A filter is not applied if the resulting image exceeds the maximum
dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in
width or height, and the total number of pixels cannot exceed 16,777,215
pixels.(So, if an image is 8,191 pixels wide, it can only be 2,048 pixels
high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the
limitation is 2,880 pixels in height and 2,880 pixels in width. If, for
example, you zoom in on a large movie clip with a filter applied, the
filter is turned off if the resulting image exceeds the maximum
dimensions."tags=\"haxe,release\""openfl.geom.Pointopenfl.geom.Rectangle"\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec4 uColor;\n\t\tuniform float uStrength;\n\t\tvarying vec2 vTexCoord;\n\t\tvarying vec2 vBlurCoords[6];\n\n\t\tvoid main(void)\n\t\t{\n vec4 texel = texture2D(openfl_Texture, vTexCoord);\n\n vec3 contributions = vec3(0.00443, 0.05399, 0.24197);\n vec3 top = vec3(\n texture2D(openfl_Texture, vBlurCoords[0]).a,\n texture2D(openfl_Texture, vBlurCoords[1]).a,\n texture2D(openfl_Texture, vBlurCoords[2]).a\n );\n vec3 bottom = vec3(\n texture2D(openfl_Texture, vBlurCoords[3]).a,\n texture2D(openfl_Texture, vBlurCoords[4]).a,\n texture2D(openfl_Texture, vBlurCoords[5]).a\n );\n\n float a = texel.a * 0.39894;\n\t\t\ta += dot(top, contributions.xyz);\n a += dot(bottom, contributions.zyx);\n\n\t\t\tgl_FragColor = uColor * clamp(a * uStrength, 0.0, 1.0);\n\t\t}\n\t""\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vTexCoord;\n\t\tvarying vec2 vBlurCoords[6];\n\n\t\tvoid main(void) {\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\tvTexCoord = openfl_TextureCoord;\n\n\t\t\tvec3 offset = vec3(0.5, 0.75, 1.0);\n\t\t\tvec2 r = uRadius / openfl_TextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r * offset.z;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * offset.y;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * offset.x;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord + r * offset.x;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * offset.y;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * offset.z;\n\t\t}\n\t"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\"""\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = glow * (1.0 - src.a);\n\t\t}\n\t""attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\"""\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = src + glow * (1.0 - src.a);\n\t\t}\n\t""attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\"""\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = glow * src.a;\n\t\t}\n\t""attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\"""\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = vec4((src.rgb * (1.0 - glow.a)) + (glow.rgb * src.a), src.a);\n\t\t}\n\t""attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\"""\n\t\tuniform sampler2D openfl_Texture;\n\t\tvarying vec2 vTexCoord;\n\n\t\tvoid main(void) {\n\t\t\tvec4 texel = texture2D(openfl_Texture, vTexCoord);\n\t\t\tgl_FragColor = vec4(texel.rgb, 1.0 - texel.a);\n\t\t}\n\t""\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tvarying vec2 vTexCoord;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\tvTexCoord = openfl_TextureCoord;\n\t\t}\n\t"openfl.utils._internal.ShaderMacro.build()openfl.utils._internal.ShaderMacro.build()"tags=\"haxe,release\""
<__invertAlphaShader expr="new InvertAlphaShader()" line="70" static="1">
new InvertAlphaShader()
<__blurAlphaShader expr="new BlurAlphaShader()" line="71" static="1">
new BlurAlphaShader()
<__combineShader expr="new CombineShader()" line="72" static="1">
new CombineShader()
<__innerCombineShader expr="new InnerCombineShader()" line="73" static="1">
new InnerCombineShader()
<__combineKnockoutShader expr="new CombineKnockoutShader()" line="74" static="1">
new CombineKnockoutShader()
<__innerCombineKnockoutShader expr="new InnerCombineKnockoutShader()" line="75" static="1">
new InnerCombineKnockoutShader()The alpha transparency value for the color. Valid values are 0 to 1. For
example, .25 sets a transparency value of 25%. The default value is 1.The amount of horizontal blur. Valid values are 0 to 255(floating point).
The default value is 6. Values that are a power of 2(such as 2, 4, 8, 16,
and 32) are optimized to render more quickly than other values.The amount of vertical blur. Valid values are 0 to 255(floating point).
The default value is 6. Values that are a power of 2(such as 2, 4, 8, 16,
and 32) are optimized to render more quickly than other values.The color of the glow. Valid values are in the hexadecimal format
0x_RRGGBB_. The default value is 0xFF0000.Specifies whether the glow is an inner glow. The value `true`
indicates an inner glow. The default is `false`, an outer glow
(a glow around the outer edges of the object).Specifies whether the object has a knockout effect. A value of
`true` makes the object's fill transparent and reveals the
background color of the document. The default value is `false`
(no knockout effect).The number of times to apply the filter. The default value is
`BitmapFilterQuality.LOW`, which is equivalent to applying the
filter once. The value `BitmapFilterQuality.MEDIUM` applies the
filter twice; the value `BitmapFilterQuality.HIGH` applies it
three times. Filters with lower values are rendered more quickly.
For most applications, a `quality` value of low, medium, or
high is sufficient. Although you can use additional numeric values up to
15 to achieve different effects, higher values are rendered more slowly.
Instead of increasing the value of `quality`, you can often get
a similar effect, and with faster rendering, by simply increasing the
values of the `blurX` and `blurY` properties.The strength of the imprint or spread. The higher the value, the more
color is imprinted and the stronger the contrast between the glow and the
background. Valid values are 0 to 255. The default is 2.
<__alpha>
<__blurX>
<__blurY>
<__color>
<__horizontalPasses>
<__inner>
<__knockout>
<__quality>
<__strength>
<__verticalPasses>
<__applyFilter set="method" line="259" override="1">
<__initShader set="method" line="277" override="1">
<__updateSize set="method" line="348">
<__calculateNumShaderPasses set="method" line="357">
{ knockout : false, inner : false, quality : 1, strength : 2, blurY : 6, blurX : 6, alpha : 1, color : 0xFF0000 }Initializes a new GlowFilter instance with the specified parameters.
@param color The color of the glow, in the hexadecimal format
0x_RRGGBB_. The default value is 0xFF0000.
@param alpha The alpha transparency value for the color. Valid values
are 0 to 1. For example, .25 sets a transparency value of
25%.
@param blurX The amount of horizontal blur. Valid values are 0 to 255
(floating point). Values that are a power of 2(such as 2,
4, 8, 16 and 32) are optimized to render more quickly than
other values.
@param blurY The amount of vertical blur. Valid values are 0 to 255
(floating point). Values that are a power of 2(such as 2,
4, 8, 16 and 32) are optimized to render more quickly than
other values.
@param strength The strength of the imprint or spread. The higher the
value, the more color is imprinted and the stronger the
contrast between the glow and the background. Valid values
are 0 to 255.
@param quality The number of times to apply the filter. Use the
BitmapFilterQuality constants:
* `BitmapFilterQuality.LOW`
* `BitmapFilterQuality.MEDIUM`
* `BitmapFilterQuality.HIGH`
For more information, see the description of the
`quality` property.
@param inner Specifies whether the glow is an inner glow. The value
` true` specifies an inner glow. The value
`false` specifies an outer glow(a glow around
the outer edges of the object).
@param knockout Specifies whether the object has a knockout effect. The
value `true` makes the object's fill
transparent and reveals the background color of the
document.The GlowFilter class lets you apply a glow effect to display objects. You
have several options for the style of the glow, including inner or outer
glow and knockout mode. The glow filter is similar to the drop shadow
filter with the `distance` and `angle` properties of
the drop shadow filter set to 0. You can apply the filter to any display
object(that is, objects that inherit from the DisplayObject class), such
as MovieClip, SimpleButton, TextField, and Video objects, as well as to
BitmapData objects.
The use of filters depends on the object to which you apply the
filter:
* To apply filters to display objects, use the `filters`
property(inherited from DisplayObject). Setting the `filters`
property of an object does not modify the object, and you can remove the
filter by clearing the `filters` property.
* To apply filters to BitmapData objects, use the
`BitmapData.applyFilter()` method. Calling
`applyFilter()` on a BitmapData object takes the source
BitmapData object and the filter object and generates a filtered image as a
result.
If you apply a filter to a display object, the
`cacheAsBitmap` property of the display object is set to
`true`. If you clear all filters, the original value of
`cacheAsBitmap` is restored.
This filter supports Stage scaling. However, it does not support general
scaling, rotation, and skewing. If the object itself is scaled(if
`scaleX` and `scaleY` are set to a value other than
1.0), the filter is not scaled. It is scaled only when the user zooms in on
the Stage.
A filter is not applied if the resulting image exceeds the maximum
dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in
width or height, and the total number of pixels cannot exceed 16,777,215
pixels.(So, if an image is 8,191 pixels wide, it can only be 2,048 pixels
high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the
limitation is 2,880 pixels in height and 2,880 pixels in width. For
example, if you zoom in on a large movie clip with a filter applied, the
filter is turned off if the resulting image exceeds the maximum
dimensions."tags=\"haxe,release\""openfl.geom.ColorTransformopenfl.geom.Pointopenfl.geom.Rectanglehide"checkstyle:FieldDocComment"The growth in pixels on the bottom side of the target object.
The growth is the area beyond the bounds of the target object that is
passed to the shader during execution. At execution time Flash Player
or AIR computes the normal bounds of a movie clip and extends the
bounds based on the `leftExtension`, `rightExtension`, `topExtension`,
and `bottomExtension` values.
@default 0The growth in pixels on the left side of the target object.
The growth is the area beyond the bounds of the target object that is
passed to the shader during execution. At execution time Flash Player
or AIR computes the normal bounds of a movie clip and extends the
bounds based on the `leftExtension`, `rightExtension`, `topExtension`,
and `bottomExtension` values.
@default 0The growth in pixels on the right side of the target object.
The growth is the area beyond the bounds of the target object that is
passed to the shader during execution. At execution time Flash Player
or AIR computes the normal bounds of a movie clip and extends the
bounds based on the `leftExtension`, `rightExtension`, `topExtension`,
and `bottomExtension` values.
@default 0The shader to use for this filter.
The Shader assigned to the `shader` property must specify at least one
`image4` input. The input **does not** need to be specified in code
using the associated ShaderInput object's `input` property. Instead,
the object to which the filter is applied is automatically used as the
first input (the input with `index` 0). A shader used as a filter can
specify more than one input, in which case any additional input must
be specified by setting its ShaderInput instance's `input` property.
When you assign a Shader instance to this property the shader is
copied internally and the filter operation uses that internal copy,
not a reference to the original shader. Any changes made to the
shader, such as changing a parameter value, input, or bytecode, are
not applied to the copied shader that's used for the filter. To make
it so that shader changes are taken into account in the filter output,
you must reassign the Shader instance to the `shader` property. As
with all filters, you must also reassign the ShaderFilter instance to
the display object's `filters` property in order to apply filter
changes.The growth in pixels on the top side of the target object.
The growth is the area beyond the bounds of the target object that is
passed to the shader during execution. At execution time Flash Player
or AIR computes the normal bounds of a movie clip and extends the
bounds based on the `leftExtension`, `rightExtension`, `topExtension`,
and `bottomExtension` values.
@default 0
<__initShader set="method" line="164" override="1">
Creates a new shader filter.
@param shader The Shader to use for this filter. For details and
limitations that the shader must conform to, see the
description for the `shader` property.The ShaderFilter class applies a filter by executing a shader on the
object being filtered. The filtered object is used as an input to the
shader, and the shader output becomes the filter result.
To create a new filter, use the constructor `new ShaderFilter()`. The use
of filters depends on the object to which you apply the filter:
* To apply filters to movie clips, text fields, buttons, and video, use
the `filters` property (inherited from DisplayObject). Setting the
`filters` property of an object does not modify the object, and you can
remove the filter by clearing the `filters` property.
* To apply filters to BitmapData objects, use the
`BitmapData.applyFilter()` method. Calling `applyFilter()` on a BitmapData
object takes the source BitmapData object and the filter object and
generates a filtered image as a result.
If you apply a filter to a display object, the value of the
`cacheAsBitmap` property of the object is set to true. If you remove all
filters, the original value of `cacheAsBitmap` is restored.
This filter supports stage scaling. However, it does not support general
scaling, rotation, and skewing. If the object itself is scaled (if the
`scaleX` and `scaleY` properties are not set to 100%), the filter is not
scaled. It is scaled only when the user zooms in on the stage.
A filter is not applied if the resulting image exceeds the maximum
dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in
width or height, and the total number of pixels cannot exceed 16,777,215
pixels. (So, if an image is 8,191 pixels wide, it can only be 2,048 pixels
high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the
limitation is 2,880 pixels in height and 2,880 pixels in width. If, for
example, you zoom in on a large movie clip with a filter applied, the
filter is turned off if the resulting image exceeds the maximum
dimensions.
To specify the Shader instance to use with the filter, pass the Shader
instance as an argument to the `ShaderFilter()` constructor, or set it as
the value of the `shader` property.
To allow the shader output to extend beyond the bounds of the filtered
object, use the `leftExtension`, `rightExtension`, `topExtension`, and
`bottomExtension` properties."tags=\"haxe,release\""The Orientation3D class is an enumeration of constant
values for representing the orientation style of a Matrix3D object.
The three types of orientation are Euler angles, axis angle, and quaternion.
The `decompose` and `recompose` methods of the Matrix3D object take one of these
enumerated types to identify the rotational components of the Matrix.cast 0The axis angle orientation uses a combination of an axis and an angle to determine
the orientation. A line or vector from the center of a three-dimensional globe to
the surface is an example of an axis. The axis around which the object is rotated
is a unit vector that represents any possible direction in the three-dimensional
space. The angle represents the magnitude of the rotation about the vector. The
direction determines where a display object is facing and the roll angle
determines which way is up. You can use Vector3D and the Matrix3D objects to
determine the various matrix transformations as well as to determine important
three-dimensional programming values such as the distance to the intersection of
two objects that can be used to detect simple collision between three-dimensional
objects.
The Matrix3D `appendRotation()` and Matrix3D `prependRotation()` methods use the
axis angle orientation.cast 1Euler angles, the default orientation for `decompose()` and `recompose()` methods,
defines the orientation with three separate angles of rotation for each axis.
Usually, a rotation around the x axis is followed by a rotation around the y axis,
which is followed by a rotation around the z axis.
Euler angles can sometimes lead to animation errors because of problems such as
singularities when rotating around the x axis or gimbal lock. For example, since
with Euler angles each axis is handled independently, gimbal lock can occur during
the rotation around two or more axes. The axes can become aligned, leading to
unexpected results.
The axis rotation properties of the display object perform Euler angles rotation.cast 2The quaternion orientation uses complex numbers. An orientation in quaternion is
by the three axes of rotation (x,y,z) and an angle of rotation (w). Quaternion
guarantees the shortest, most efficient path for the rotation. It also produces a
smooth, gimbal-lock-free rotation. A gimbal lock can occur when during the
rotation around two or more axes the axes are aligned, leading to unexpected
results.
The Matrix3D `interpolate()` method uses quaternion.cast 0The axis angle orientation uses a combination of an axis and an angle to determine
the orientation. A line or vector from the center of a three-dimensional globe to
the surface is an example of an axis. The axis around which the object is rotated
is a unit vector that represents any possible direction in the three-dimensional
space. The angle represents the magnitude of the rotation about the vector. The
direction determines where a display object is facing and the roll angle
determines which way is up. You can use Vector3D and the Matrix3D objects to
determine the various matrix transformations as well as to determine important
three-dimensional programming values such as the distance to the intersection of
two objects that can be used to detect simple collision between three-dimensional
objects.
The Matrix3D `appendRotation()` and Matrix3D `prependRotation()` methods use the
axis angle orientation.cast 1Euler angles, the default orientation for `decompose()` and `recompose()` methods,
defines the orientation with three separate angles of rotation for each axis.
Usually, a rotation around the x axis is followed by a rotation around the y axis,
which is followed by a rotation around the z axis.
Euler angles can sometimes lead to animation errors because of problems such as
singularities when rotating around the x axis or gimbal lock. For example, since
with Euler angles each axis is handled independently, gimbal lock can occur during
the rotation around two or more axes. The axes can become aligned, leading to
unexpected results.
The axis rotation properties of the display object perform Euler angles rotation.cast 2The quaternion orientation uses complex numbers. An orientation in quaternion is
by the three axes of rotation (x,y,z) and an angle of rotation (w). Quaternion
guarantees the shortest, most efficient path for the rotation. It also produces a
smooth, gimbal-lock-free rotation. A gimbal lock can occur when during the
rotation around two or more axes the axes are aligned, leading to unexpected
results.
The Matrix3D `interpolate()` method uses quaternion.A ColorTransform object containing values that universally adjust the
colors in the display object.
@throws TypeError The colorTransform is null when being setA ColorTransform object representing the combined color transformations
applied to the display object and all of its parent objects, back to the
root level. If different color transformations have been applied at
different levels, all of those transformations are concatenated into one
ColorTransform object for this property.A Matrix object representing the combined transformation matrixes of the
display object and all of its parent objects, back to the root level. If
different transformation matrixes have been applied at different levels,
all of those matrixes are concatenated into one matrix for this property.
Also, for resizeable SWF content running in the browser, this property
factors in the difference between stage coordinates and window coordinates
due to window resizing. Thus, the property converts local coordinates to
window coordinates, which may not be the same coordinate space as that of
the Stage.A Matrix object containing values that alter the scaling, rotation, and
translation of the display object.
If the `matrix` property is set to a value (not
`null`), the `matrix3D` property is
`null`. And if the `matrix3D` property is set to a
value(not `null`), the `matrix` property is
`null`.
@throws TypeError The matrix is null when being setProvides access to the Matrix3D object of a three-dimensional display
object. The Matrix3D object represents a transformation matrix that
determines the display object's position and orientation. A Matrix3D
object can also perform perspective projection.
If the `matrix` property is set to a value(not
`null`), the `matrix3D` property is
`null`. And if the `matrix3D` property is set to a
value(not `null`), the `matrix` property is
`null`.A Rectangle object that defines the bounding rectangle of the display
object on the stage.
<__colorTransform>
<__displayObject>
<__hasMatrix>
<__hasMatrix3D>
<__setTransform set="method" line="287">
The Transform class provides access to color adjustment properties and two-
or three-dimensional transformation objects that can be applied to a
display object. During the transformation, the color or the orientation and
position of a display object is adjusted(offset) from the current values
or coordinates to new values or coordinates. The Transform class also
collects data about color and two-dimensional matrix transformations that
are applied to a display object and all of its parent objects. You can
access these combined transformations through the
`concatenatedColorTransform` and `concatenatedMatrix`
properties.
To apply color transformations: create a ColorTransform object, set the
color adjustments using the object's methods and properties, and then
assign the `colorTransformation` property of the
`transform` property of the display object to the new
ColorTransformation object.
To apply two-dimensional transformations: create a Matrix object, set
the matrix's two-dimensional transformation, and then assign the
`transform.matrix` property of the display object to the new
Matrix object.
To apply three-dimensional transformations: start with a
three-dimensional display object. A three-dimensional display object has a
`z` property value other than zero. You do not need to create
the Matrix3D object. For all three-dimensional objects, a Matrix3D object
is created automatically when you assign a `z` value to a
display object. You can access the display object's Matrix3D object through
the display object's `transform` property. Using the methods of
the Matrix3D class, you can add to or modify the existing transformation
settings. Also, you can create a custom Matrix3D object, set the custom
Matrix3D object's transformation elements, and then assign the new Matrix3D
object to the display object using the `transform.matrix`
property.
To modify a perspective projection of the stage or root object: use the
`transform.matrix` property of the root display object to gain
access to the PerspectiveProjection object. Or, apply different perspective
projection properties to a display object by setting the perspective
projection properties of the display object's parent. The child display
object inherits the new properties. Specifically, create a
PerspectiveProjection object and set its properties, then assign the
PerspectiveProjection object to the `perspectiveProjection`
property of the parent display object's `transform` property.
The specified projection transformation then applies to all the display
object's three-dimensional children.
Since both PerspectiveProjection and Matrix3D objects perform
perspective transformations, do not assign both to a display object at the
same time. Use the PerspectiveProjection object for focal length and
projection center changes. For more control over the perspective
transformation, create a perspective projection Matrix3D object."tags=\"haxe,release\""openfl.display.DisplayObjectopenfl.geom.ColorTransformThe name of the album; corresponds to the ID3 2.0 tag TALB.The name of the artist; corresponds to the ID3 2.0 tag TPE1.A comment about the recording; corresponds to the ID3 2.0 tag COMM.The genre of the song; corresponds to the ID3 2.0 tag TCON.The name of the song; corresponds to the ID3 2.0 tag TIT2.The year of the recording; corresponds to the ID3 2.0 tag TYER.The ID3Info class contains properties that reflect ID3 metadata. You can get
additional metadata for MP3 files by accessing the `id3` property of the Sound
class; for example, `mySound.id3.TIME`. For more information, see the entry for
`Sound.id3` and the ID3 tag definitions at http://www.id3.org."tags=\"haxe,release\""The current amplitude(volume) of the left channel, from 0(silent) to 1
(full amplitude).When the sound is playing, the `position` property indicates in
milliseconds the current point that is being played in the sound file.
When the sound is stopped or paused, the `position` property
indicates the last point that was played in the sound file.
A common use case is to save the value of the `position`
property when the sound is stopped. You can resume the sound later by
restarting it from that saved position.
If the sound is looped, `position` is reset to 0 at the
beginning of each loop.The current amplitude(volume) of the right channel, from 0(silent) to 1
(full amplitude).The SoundTransform object assigned to the sound channel. A SoundTransform
object includes properties for setting volume, panning, left speaker
assignment, and right speaker assignment.
<__isValid>
<__soundTransform>
<__source>
Stops the sound playing in the channel.
<__dispose set="method" line="131">
<__updateTransform set="method" line="143">
{ soundTransform : null, source : null }The SoundChannel class controls a sound in an application. Every sound is
assigned to a sound channel, and the application can have multiple sound
channels that are mixed together. The SoundChannel class contains a
`stop()` method, properties for monitoring the amplitude
(volume) of the channel, and a property for assigning a SoundTransform
object to the channel.
@event soundComplete Dispatched when a sound has finished playing."tags=\"haxe,release\""openfl.media.SoundMixerThe number of milliseconds to preload a streaming sound into a buffer
before the sound starts to stream.
Note that you cannot override the value of
`SoundLoaderContext.bufferTime` by setting the global
`SoundMixer.bufferTime` property. The
`SoundMixer.bufferTime` property affects the buffer time for
embedded streaming sounds in a SWF file and is independent of dynamically
created Sound objects(that is, Sound objects created in
ActionScript).` tags.
If you set `checkPolicyFile` to `true`, Flash Player or AIR waits
until the policy file is verified before loading the sound. You should
wait to perform any low-level operations on the sound data, such as
calling `Sound.id3` or `SoundMixer.computeSpectrum()`, until
`progress` and `complete` events are dispatched from the Sound object.
If you set `checkPolicyFile` to `true` but no appropriate policy file
is found, you will not receive an error until you perform an operation
that requires a policy file, and then Flash Player or AIR throws a
`SecurityError` exception. After you receive a `complete` event, you
can test whether a relevant policy file was found by getting the value
of `Sound.id3` within a `try` block and seeing if a `SecurityError` is
thrown.
Be careful with `checkPolicyFile` if you are downloading sound from a
URL that uses server-side HTTP redirects. Flash Player or AIR tries to
retrieve policy files that correspond to the `url` property of the
URLRequest object passed to `Sound.load()`. If the final sound file
comes from a different URL because of HTTP redirects, then the
initially downloaded policy files might not be applicable to the
sound's final URL, which is the URL that matters in security
decisions.
If you find yourself in this situation, here is one possible solution.
After you receive a `progress` or `complete` event, you can examine
the value of the `Sound.url` property, which contains the sound's
final URL. Then call the `Security.loadPolicyFile()` method with a
policy file URL that you calculate based on the sound's final URL.
Finally, poll the value of `Sound.id3` until no exception is thrown.
This does not apply to content in the AIR application sandbox. Content
in the application sandbox always has programatic access to sound
content, regardless of its origin.
For more information related to security, see the Flash Player
Developer Center Topic: Security.]]>{ checkPolicyFile : false, bufferTime : 1000 }Creates a new sound loader context object.
@param bufferTime The number of seconds to preload a streaming sound
into a buffer before the sound starts to stream.
@param checkPolicyFile Specifies whether the existence of a URL policy
file should be checked upon loading the object
(`true`) or not.The SoundLoaderContext class provides security checks for files that load
sound. SoundLoaderContext objects are passed as an argument to the
constructor and the `load()` method of the Sound class.
When you use this class, consider the following security model:
* Loading and playing a sound is not allowed if the calling file is in
a network sandbox and the sound file to be loaded is local.
* By default, loading and playing a sound is not allowed if the calling
is local and tries to load and play a remote sound. A user must grant
explicit permission to allow this.
* Certain operations dealing with sound are restricted. The data in a
loaded sound cannot be accessed by a file in a different domain unless you
implement a URL policy file. Sound-related APIs that fall under this
restriction are the `Sound.id3` property and the
`SoundMixer.computeSpectrum()`,
`SoundMixer.bufferTime`, and `SoundTransform()`
methods.
However, in Adobe AIR, content in the `application` security
sandbox(content installed with the AIR application) are not restricted by
these security limitations.
For more information related to security, see the Flash Player Developer
Center Topic: [Security](http://www.adobe.com/go/devnet_security_en)."tags=\"haxe,release\""A value, from 0(none) to 1(all), specifying how much of the left input
is played in the left speaker.A value, from 0(none) to 1(all), specifying how much of the left input
is played in the right speaker.The left-to-right panning of the sound, ranging from -1(full pan left) to
1(full pan right). A value of 0 represents no panning(balanced center
between right and left).A value, from 0(none) to 1(all), specifying how much of the right input
is played in the left speaker.A value, from 0(none) to 1(all), specifying how much of the right input
is played in the right speaker.The volume, ranging from 0(silent) to 1(full volume)."checkstyle:FieldDocComment"hide{ panning : 0, vol : 1 }Creates a SoundTransform object.
@param vol The volume, ranging from 0(silent) to 1(full volume).
@param panning The left-to-right panning of the sound, ranging from -1
(full pan left) to 1(full pan right). A value of 0
represents no panning(center).The SoundTransform class contains properties for volume and panning."tags=\"haxe,release\""32The number of seconds to preload an embedded streaming sound into a
buffer before it starts to stream. The data in a loaded sound,
including its buffer time, cannot be accessed by a SWF file that is in
a different domain unless you implement a cross-domain policy file.
For more information about security and sound, see the Sound class
description. The data in a loaded sound, including its buffer time,
cannot be accessed by code in a file that is in a different domain
unless you implement a cross-domain policy file. However, in the
application sandbox in an AIR application, code can access data in
sound files from any source. For more information about security and
sound, see the Sound class description.
The `SoundMixer.bufferTime` property only affects the buffer time for
embedded streaming sounds in a SWF and is independent of dynamically
created Sound objects (that is, Sound objects created in
ActionScript). The value of `SoundMixer.bufferTime` cannot override or
set the default of the buffer time specified in the SoundLoaderContext
object that is passed to the `Sound.load()` method.The SoundTransform object that controls global sound properties. A
SoundTransform object includes properties for setting volume, panning,
left speaker assignment, and right speaker assignment. The
SoundTransform object used in this property provides final sound
settings that are applied to all sounds after any individual sound
settings are applied.
<__soundChannels expr="new Array()" line="51" static="1">
new Array()
<__soundTransform expr="new SoundTransform()" line="52" static="1">
new SoundTransform()Determines whether any sounds are not accessible due to security
restrictions. For example, a sound loaded from a domain other than
that of the content calling this method is not accessible if the
server for the sound has no URL policy file that grants access to the
domain of that domain. The sound can still be loaded and played, but
low-level operations, such as getting ID3 metadata for the sound,
cannot be performed on inaccessible sounds.
For AIR application content in the application security sandbox,
calling this method always returns `false`. All sounds, including
those loaded from other domains, are accessible to content in the
application security sandbox.
@return The string representation of the boolean.In Flash Professional, this method does not stop the playhead. Sounds
set to stream will resume playing as the playhead moves over the
frames in which they are located.
When using this property, consider the following security model:
* By default, calling the `SoundMixer.stopAll()` method stops only
sounds in the same security sandbox as the object that is calling the
method. Any sounds whose playback was not started from the same
sandbox as the calling object are not stopped.
* When you load the sound, using the `load()` method of the Sound
class, you can specify a `context` parameter, which is a
SoundLoaderContext object. If you set the `checkPolicyFile` property
of the SoundLoaderContext object to `true`, Flash Player or Adobe AIR
checks for a cross-domain policy file on the server from which the
sound is loaded. If the server has a cross-domain policy file, and the
file permits the domain of the calling content, then the file can stop
the loaded sound by using the `SoundMixer.stopAll()` method; otherwise
it cannot.
However, in Adobe AIR, content in the `application` security sandbox
(content installed with the AIR application) are not restricted by
these security limitations.
For more information related to security, see the Flash Player
Developer Center Topic: Security.]]>
<__registerSoundChannel set="method" line="180" static="1">
<__unregisterSoundChannel set="method" line="185" static="1">
The SoundMixer class contains static properties and methods for global
sound control in the application. The SoundMixer class controls embedded
and streaming sounds in the application. it does not control dynamically
created sounds (that is, sounds generated in response to a Sound object
dispatching a `sampleData` event)."tags=\"haxe,release\""openfl.media.SoundChannel5Indicates the type of filter applied to decoded video as part of
post-processing. The default value is 0, which lets the video
compressor apply a deblocking filter as needed.
Compression of video can result in undesired artifacts. You can use
the `deblocking` property to set filters that reduce blocking and, for
video compressed using the On2 codec, ringing.
_Blocking_ refers to visible imperfections between the boundaries of
the blocks that compose each video frame. _Ringing_ refers to
distorted edges around elements within a video image.
Two deblocking filters are available: one in the Sorenson codec and
one in the On2 VP6 codec. In addition, a deringing filter is available
when you use the On2 VP6 codec. To set a filter, use one of the
following values:
* 0—Lets the video compressor apply the deblocking filter as needed.
* 1—Does not use a deblocking filter.
* 2—Uses the Sorenson deblocking filter.
* 3—For On2 video only, uses the On2 deblocking filter but no
deringing filter.
* 4—For On2 video only, uses the On2 deblocking and deringing
filter.
* 5—For On2 video only, uses the On2 deblocking and a
higher-performance On2 deringing filter.
If a value greater than 2 is selected for video when you are using the
Sorenson codec, the Sorenson decoder defaults to 2.
Using a deblocking filter has an effect on overall playback
performance, and it is usually not necessary for high-bandwidth video.
If a user's system is not powerful enough, the user may experience
difficulties playing back video with a deblocking filter enabled.Specifies whether the video should be smoothed (interpolated) when it
is scaled. For smoothing to work, the runtime must be in high-quality
mode (the default). The default value is `false` (no smoothing).
For video playback using Flash Player 9.0.115.0 and later versions,
set this property to `true` to take advantage of mipmapping image
optimization.An integer specifying the height of the video stream, in pixels. For
live streams, this value is the same as the `Camera.height` property
of the Camera object that is capturing the video stream. For recorded
video files, this value is the height of the video.
You may want to use this property, for example, to ensure that the
user is seeing the video at the same size at which it was captured,
regardless of the actual size of the Video object on the Stage.An integer specifying the width of the video stream, in pixels. For
live streams, this value is the same as the `Camera.width` property of
the Camera object that is capturing the video stream. For recorded
video files, this value is the width of the video.
You may want to use this property, for example, to ensure that the
user is seeing the video at the same size at which it was captured,
regardless of the actual size of the Video object on the Stage.
<__active>
<__buffer>
<__bufferAlpha>
<__bufferColorTransform>
<__bufferContext>
<__bufferData>
<__dirty>
<__height>
<__indexBuffer>
<__indexBufferContext>
<__indexBufferData>
<__stream>
<__texture>
<__textureTime>
<__uvRect>
<__vertexBuffer>
<__vertexBufferContext>
<__vertexBufferData>
<__width>
Specifies a video stream from a camera to be displayed within the
boundaries of the Video object in the application.
Use this method to attach live video captured by the user to the Video
object. You can play the live video locally on the same computer or
device on which it is being captured, or you can send it to Flash
Media Server and use the server to stream it to other users.
**Note:** In an iOS AIR application, camera video cannot be displayed
when the application uses GPU rendering mode.
@param camera A Camera object that is capturing video data. To drop
the connection to the Video object, pass `null`.Clears the image currently displayed in the Video object (not the
video stream). This method is useful for handling the current image.
For example, you can clear the last image or display standby
information without hiding the Video object.
<__enterFrame set="method" line="274" override="1">
<__getBounds set="method" line="284" override="1">
<__getIndexBuffer set="method" line="295">
<__getTexture set="method" line="321">
<__getVertexBuffer set="method" line="349">
<__hitTest set="method" line="398" override="1">
<__hitTestMask set="method" line="421" override="1">
{ height : 240, width : 320 }Creates a new Video instance. If no values for the `width` and
`height` parameters are supplied, the default values are used. You can
also set the width and height properties of the Video object after the
initial construction, using `Video.width` and `Video.height`. When a
new Video object is created, values of zero for width or height are
not allowed; if you pass zero, the defaults will be applied.
After creating the Video, call the `DisplayObjectContainer.addChild()`
or `DisplayObjectContainer.addChildAt()` method to add the Video
object to a parent DisplayObjectContainer object.
@param width The width of the video, in pixels.
@param height The height of the video, in pixels. Library to display
it.
2. Add an embedded Video object to the library by clicking the Options menu
on the right side of the Library panel title bar and selecting New Video.
3. In the Video Properties dialog box, name the embedded Video object for
use in the library and click OK.
4. Drag the Video object to the Stage and use the Property Inspector to
give it a unique instance name, such as `my_video`. (Do not name it
Video.)
In AIR applications on the desktop, playing video in fullscreen mode
disables any power and screen saving features (when allowed by the
operating system).
**Note:** The Video class is not a subclass of the InteractiveObject
class, so it cannot dispatch mouse events. However, you can call the
`addEventListener()` method on the display object container that contains
the Video object.]]>"tags=\"haxe,release\""openfl.display3D.textures.TextureBaseopenfl.display3D.Context3Dopenfl.geom.ColorTransformopenfl.geom.Matrixopenfl.geom.Pointopenfl.geom.Rectangleopenfl.net.NetStreamThe description string for the filter. The description is visible to
the user in the dialog box that opens when `FileReference.browse()` or
`FileReferenceList.browse()` is called. The description string
contains a string, such as `"Images (*.gif, *.jpg, *.png)"`, that
can help instruct the user on what file types can be uploaded or
downloaded. Note that the actual file types that are supported by this
FileReference object are stored in the `extension` property.A list of file extensions. This list indicates the types of files that
you want to show in the file-browsing dialog box. (The list is not
visible to the user; the user sees only the value of the `description`
property.) The `extension` property contains a semicolon-delimited
list of file extensions, with a wildcard (*) preceding each
extension, as shown in the following string: `"*.jpg;*.gif;*.png"`.A list of Macintosh file types. This list indicates the types of files
that you want to show in the file-browsing dialog box. (This list
itself is not visible to the user; the user sees only the value of the
`description` property.) The `macType` property contains a
semicolon-delimited list of Macintosh file types, as shown in the
following string: `"JPEG;jp2_;GIFF"`.{ macType : null }Creates a new FileFilter instance.
@param description The description string that is visible to users
when they select files for uploading.
@param extension A list of file extensions that indicate which file
formats are visible to users when they select files
for uploading.
@param macType A list of Macintosh file types that indicate which
file types are visible to users when they select
files for uploading. If no value is passed, this
parameter is set to `null`.®.) On the
Macintosh, if you supply a list of Macintosh file types, that list is used
to filter the files. If not, the list of file extensions is used.]]>"tags=\"haxe,release\""The creation date of the file on the local disk. If the object is was
not populated, a call to get the value of this property returns
`null`.
@throws IOError If the file information cannot be
accessed, an exception is thrown with a
message indicating a file I/O error.
@throws IllegalOperationError If the `FileReference.browse()`,
`FileReferenceList.browse()`, or
`FileReference.download()` method was
not called successfully, an exception is
thrown with a message indicating that
functions were called in the incorrect
sequence or an earlier call was
unsuccessful. In this case, the value of
the `creationDate` property is `null`.The Macintosh creator type of the file, which is only used in Mac OS
versions prior to Mac OS X. In Windows or Linux, this property is
`null`. If the FileReference object was not populated, a call to get
the value of this property returns `null`.
@throws IllegalOperationError On Macintosh, if the
`FileReference.browse()`,
`FileReferenceList.browse()`, or
`FileReference.download()` method was
not called successfully, an exception is
thrown with a message indicating that
functions were called in the incorrect
sequence or an earlier call was
unsuccessful. In this case, the value of
the `creator` property is `null`.The ByteArray object representing the data from the loaded file after
a successful call to the `load()` method.
@throws IOError If the file cannot be opened or read, or
if a similar error is encountered in
accessing the file, an exception is
thrown with a message indicating a file
I/O error. In this case, the value of
the `data` property is `null`.
@throws IllegalOperationError If the `load()` method was not called
successfully, an exception is thrown
with a message indicating that functions
were called in the incorrect sequence or
an earlier call was unsuccessful. In
this case, the value of the `data`
property is `null`.The date that the file on the local disk was last modified. If the
FileReference object was not populated, a call to get the value of
this property returns `null`.
@throws IOError If the file information cannot be
accessed, an exception is thrown with a
message indicating a file I/O error.
@throws IllegalOperationError If the `FileReference.browse()`,
`FileReferenceList.browse()`, or
`FileReference.download()` method was
not called successfully, an exception is
thrown with a message indicating that
functions were called in the incorrect
sequence or an earlier call was
unsuccessful. In this case, the value of
the `modificationDate` property is
`null`.The name of the file on the local disk. If the FileReference object
was not populated (by a valid call to `FileReference.download()` or `
FileReference.browse()`), Flash Player throws an error when you try to
get the value of this property.
All the properties of a FileReference object are populated by calling
the `browse()` method. Unlike other FileReference properties, if you
call the `download()` method, the `name` property is populated when
the `select` event is dispatched.
@throws IllegalOperationError If the `FileReference.browse()`,
`FileReferenceList.browse()`, or
`FileReference.download()` method was
not called successfully, an exception is
thrown with a message indicating that
functions were called in the incorrect
sequence or an earlier call was
unsuccessful.The size of the file on the local disk in bytes. If `size` is 0, an
exception is thrown.
_Note:_ In the initial version of ActionScript 3.0, the `size`
property was defined as a uint object, which supported files with
sizes up to about 4 GB. It is now implemented as a Number object to
support larger files.
@throws IOError If the file cannot be opened or read, or
if a similar error is encountered in
accessing the file, an exception is
thrown with a message indicating a file
I/O error.
@throws IllegalOperationError If the `FileReference.browse()`,
`FileReferenceList.browse()`, or
`FileReference.download()` method was
not called successfully, an exception is
thrown with a message indicating that
functions were called in the incorrect
sequence or an earlier call was
unsuccessful.The file type.
In Windows or Linux, this property is the file extension. On the
Macintosh, this property is the four-character file type, which is
only used in Mac OS versions prior to Mac OS X. If the FileReference
object was not populated, a call to get the value of this property
returns `null`.
For Windows, Linux, and Mac OS X, the file extension ?the portion
of the `name` property that follows the last occurrence of the dot (.)
character ?identifies the file type.
@throws IllegalOperationError If the `FileReference.browse()`,
`FileReferenceList.browse()`, or
`FileReference.download()` method was
not called successfully, an exception is
thrown with a message indicating that
functions were called in the incorrect
sequence or an earlier call was
unsuccessful. In this case, the value of
the `type` property is `null`.The filename extension.
A file's extension is the part of the name following (and not including)
the final dot ("."). If there is no dot in the filename, the extension
is `null`.
Note: You should use the `extension` property to determine a file's
type; do not use the `creator` or `type` properties. You should consider
the `creator` and `type` properties to be considered deprecated. They
apply to older versions of Mac OS.
@throws IllegalOperationError If the reference is not initialized
<__data>
<__path>
<__urlLoader>
{ typeFilter : null }FileFilter
class.
@throws Error If the method is not called in response
to a user action, such as a mouse event
or keypress event.
@throws IllegalOperationError Thrown in the following situations: 1)
Another FileReference or
FileReferenceList browse session is in
progress; only one file browsing session
may be performed at a time. 2) A setting
in the user's mms.cfg file prohibits
this operation.
@event cancel Dispatched when the user cancels the file upload Browse
window.
@event select Dispatched when the user successfully selects an item
from the Browse file chooser.]]>Cancels any ongoing upload or download operation on this FileReference
object. Calling this method does not dispatch the `cancel` event; that
event is dispatched only when the user cancels the operation by
dismissing the file upload or download dialog box.{ defaultFileName : null }Security.
When you download a file using this method, it is flagged as
downloaded on operating systems that flag downloaded files:
* Windows XP service pack 2 and later, and on Windows Vista
* Mac OS 10.5 and later
Some operating systems, such as Linux, do not flag downloaded files.
Note that because of new functionality added to the Flash Player, when
publishing to Flash Player 10, you can have only one of the following
operations active at one time: `FileReference.browse()`,
`FileReference.upload()`, `FileReference.download()`,
`FileReference.load()`, `FileReference.save()`. Otherwise, Flash
Player throws a runtime error (code 2174). Use
`FileReference.cancel()` to stop an operation in progress. This
restriction applies only to Flash Player 10. Previous versions of
Flash Player are unaffected by this restriction on simultaneous
multiple operations.
In Adobe AIR, the download dialog is not always displayed in front of
windows that are "owned" by another window (windows that have a
non-null `owner` property). To avoid window ordering issues, hide
owned windows before calling this method.
@param request The URLRequest object. The `url` property of
the URLRequest object should contain the URL of
the file to download to the local computer. If
this parameter is `null`, an exception is
thrown. The `requestHeaders` property of the
URLRequest object is ignored; custom HTTP
request headers are not supported in uploads or
downloads. To send `POST` or GET parameters to
the server, set the value of `URLRequest.data`
to your parameters, and set `URLRequest.method`
to either `URLRequestMethod.POST` or
`URLRequestMethod.GET`.
On some browsers, URL strings are limited in
length. Lengths greater than 256 characters may
fail on some browsers or servers.
@param defaultFileName The default filename displayed in the dialog
box for the file to be downloaded. This string
must not contain the following characters: `/ \ : * ? " < > | %`
If you omit this parameter, the filename of the
remote URL is parsed and used as the default.
@throws ArgumentError If `url.data` is of type ByteArray, an
exception is thrown. For use with the
`FileReference.upload()` and
`FileReference.download()` methods,
`url.data` can only be of type
URLVariables or String.
@throws Error If the method is not called in response
to a user action, such as a mouse event
or keypress event.
@throws IllegalOperationError Thrown in the following situations: 1)
Another browse session is in progress;
only one file browsing session can be
performed at a time. 2) The value passed
to `request` does not contain a valid
path or protocol. 3) The filename to
download contains prohibited characters.
4) A setting in the user's mms.cfg file
prohibits this operation.
@throws MemoryError This error can occur for the following
reasons: 1) Flash Player cannot convert
the `URLRequest.data` parameter from
UTF8 to MBCS. This error is applicable
if the URLRequest object passed to the
`FileReference.download()` method is set
to perform a GET operation and if
`System.useCodePage` is set to `true`.
2) Flash Player cannot allocate memory
for the `POST` data. This error is
applicable if the URLRequest object
passed to the `FileReference.download()`
method is set to perform a `POST`
operation.
@throws SecurityError Local untrusted content may not
communicate with the Internet. To avoid
this situation, reclassify this SWF file
as local-with-networking or trusted.
This exception is thrown with a message
indicating the filename and the URL that
may not be accessed because of local
file security restrictions.
@throws SecurityError You cannot connect to commonly reserved
ports. For a complete list of blocked
ports, see "Restricting Networking APIs"
in the _ActionScript 3.0 Developer's
Guide_.
@event cancel Dispatched when the user dismisses the dialog
box.
@event complete Dispatched when the file download operation
successfully completes.
@event ioError Dispatched for any of the following reasons:
* An input/output error occurs while the file is
being read or transmitted.
* SWF content running in the stand-alone or
external versions of Flash Player tries to
download a file from a server that requires
authentication. During download, the standalone
and external players do not provide a means for
users to enter passwords. If a SWF file in these
players tries to download a file from a server
that requires authentication, the download fails.
File download can succeed only in the ActiveX
control and browser plug-in players.
@event open Dispatched when a download operation starts.
@event progress Dispatched periodically during the file download
operation.
@event securityError Dispatched when a download fails because of a
security error.
@event select Dispatched when the user selects a file for
download from the dialog box.]]>Starts the load of a local file selected by a user. Although Flash
Player has no restriction on the size of files you can upload,
download, load or save, it officially supports sizes of up to 100 MB.
For content running in Flash Player, you must call the
`FileReference.browse()` or `FileReferenceList.browse()` method before
you call the `load()` method. However, content running in AIR in the
application sandbox can call the `load()` method of a File object
without first calling the `browse()` method. (The AIR File class
extends the FileReference class.)
Listeners receive events to indicate the progress, success, or failure
of the load. Although you can use the FileReferenceList object to let
users select multiple files to load, you must load the files one by
one. To load the files one by one, iterate through the
`FileReferenceList.fileList` array of FileReference objects.
Adobe AIR also includes the FileStream class which provides more
options for reading files.
The `FileReference.upload()`, `FileReference.download()`,
`FileReference.load()` and `FileReference.save()` functions are
nonblocking. These functions return after they are called, before the
file transmission is complete. In addition, if the FileReference
object goes out of scope, any transaction that is not yet completed on
that object is canceled upon leaving the scope. Be sure that your
FileReference object remains in scope for as long as the upload,
download, load or save is expected to continue.
If the file finishes loading successfully, its contents are stored as
a byte array in the `data` property of the FileReference object.
The following security considerations apply:
* Loading operations are not allowed if the calling SWF file is in an
untrusted local sandbox.
* The default behavior is to deny access between sandboxes. A website
can enable access to a resource by adding a cross-domain policy file.
* You can prevent a file from using this method by setting the
`allowNetworking` parameter of the the `object` and `embed` tags in
the HTML page that contains the SWF content.
However, these considerations do not apply to AIR content in the
application sandbox.
Note that when publishing to Flash Player 10 or AIR 1.5, you can have
only one of the following operations active at one time:
`FileReference.browse()`, `FileReference.upload()`,
`FileReference.download()`, `FileReference.load()`,
`FileReference.save()`. Otherwise, the application throws a runtime
error (code 2174). Use `FileReference.cancel()` to stop an operation
in progress. This restriction applies only to Flash Player 10 and AIR
1.5. Previous versions of Flash Player or AIR are unaffected by this
restriction on simultaneous multiple operations.
In Adobe AIR, the file-browsing dialog is not always displayed in
front of windows that are "owned" by another window (windows that have
a non-null `owner` property). To avoid window ordering issues, hide
owned windows before calling this method.
@throws IllegalOperationError Thrown in the following situations: 1)
Another FileReference or
FileReferenceList browse session is in
progress; only one file browsing session
may be performed at a time. 2) A setting
in the user's mms.cfg file prohibits
this operation.
@throws MemoryError This error can occur if the application
cannot allocate memory for the file. The
file may be too large or available
memory may be too low.
@event complete Dispatched when the file load operation completes
successfully.
@event ioError Invoked if the load fails because of an input/output
error while the application is reading or writing the
file.
@event open Dispatched when an load operation starts.
@event progress Dispatched periodically during the file load
operation.{ defaultFileName : null } | %`
If a File object calls this method, the
filename will be that of the file the File
object references. (The AIR File class extends
the FileReference class.)
@throws ArgumentError If `data` is not of type ByteArray, and
it does not have a `toString()` method,
an exception is thrown. If `data` is not
of type XML, and it does not have a
`toXMLString()` method, an exception is
thrown.
@throws Error If the method is not called in response
to a user action, such as a mouse event
or keypress event.
@throws IllegalOperationError Thrown in the following situations: 1)
Another browse session is in progress;
only one file browsing session can be
performed at a time. 2) The filename to
download contains prohibited characters.
3) A setting in the user's mms.cfg file
prohibits this operation.
@throws MemoryError This error can occur if Flash Player
cannot allocate memory for the file. The
file may be too large or available
memory may be too low.
@event cancel Dispatched when the user dismisses the dialog box.
@event complete Dispatched when the file download operation
successfully completes.
@event ioError Dispatched if an input/output error occurs while the
file is being read or transmitted.
@event open Dispatched when a download operation starts.
@event progress Dispatched periodically during the file download
operation.
@event select Dispatched when the user selects a file for download
from the dialog box.]]>{ testUpload : false, uploadDataFieldName : "Filedata" }Security.
Note that because of new functionality added to the Flash Player, when
publishing to Flash Player 10, you can have only one of the following
operations active at one time: `FileReference.browse()`,
`FileReference.upload()`, `FileReference.download()`,
`FileReference.load()`, `FileReference.save()`. Otherwise, Flash
Player throws a runtime error (code 2174). Use
`FileReference.cancel()` to stop an operation in progress. This
restriction applies only to Flash Player 10. Previous versions of
Flash Player are unaffected by this restriction on simultaneous
multiple operations.
@param request The URLRequest object; the `url` property
of the URLRequest object should contain the
URL of the server script configured to
handle upload through HTTP `POST` calls. On
some browsers, URL strings are limited in
length. Lengths greater than 256 characters
may fail on some browsers or servers. If
this parameter is `null`, an exception is
thrown. The `requestHeaders` property of
the URLRequest object is ignored; custom
HTTP request headers are not supported in
uploads or downloads.
The URL can be HTTP or, for secure uploads,
HTTPS. To use HTTPS, use an HTTPS url in
the `url` parameter. If you do not specify
a port number in the `url` parameter, port
80 is used for HTTP and port 443 us used
for HTTPS, by default.
To send `POST` or `GET` parameters to the
server, set the `data` property of the
URLRequest object to your parameters, and
set the `method` property to either
`URLRequestMethod.POST` or
`URLRequestMethod.GET`.
@param uploadDataFieldName The field name that precedes the file data
in the upload `POST` operation. The
`uploadDataFieldName` value must be
non-null and a non-empty String. By
default, the value of `uploadDataFieldName`
is `"Filedata"`, as shown in the following
sample `POST` request:
@param testUpload A setting to request a test file upload. If
`testUpload` is `true`, for files larger
than 10 KB, Flash Player attempts a test
file upload `POST` with a Content-Length of
0. The test upload checks whether the
actual file upload will be successful and
that server authentication, if required,
will succeed. A test upload is only
available for Windows players.
@throws ArgumentError Thrown in the following situations: 1)
The `uploadDataFieldName` parameter is
an empty string. 2) `url.data` is of
type ByteArray. For use with the
`FileReference.upload()` and
`FileReference.download()` methods,
`url.data` may only be of type
URLVariables or String. 3) In the AIR
runtime (in the application security
sandbox), the method of the URLRequest
is not GET or POST (use
`uploadEncoded()` instead).
@throws IllegalOperationError Thrown in the following situations: 1)
Another FileReference or
FileReferenceList browse session is in
progress; only one file browsing session
may be performed at a time. 2) The URL
parameter is not a valid path or
protocol. File upload must use HTTP, and
file download must use FTP or HTTP. 3)
The `uploadDataFieldName` parameter is
set to `null`. 4) A setting in the
user's mms.cfg file prohibits this
operation.
@throws MemoryError This error can occur for the following
reasons: 1) Flash Player cannot convert
the `URLRequest.data` parameter from
UTF8 to MBCS. This error is applicable
if the URLRequest object passed to
`FileReference.upload()` is set to
perform a GET operation and if
`System.useCodePage` is set to `true`.
2) Flash Player cannot allocate memory
for the `POST` data. This error is
applicable if the URLRequest object
passed to `FileReference.upload()` is
set to perform a `POST` operation.
@throws SecurityError Local untrusted SWF files may not
communicate with the Internet. To avoid
this situation, reclassify this SWF file
as local-with-networking or trusted.
This exception is thrown with a message
indicating the name of the local file
and the URL that may not be accessed.
@throws SecurityError You cannot connect to commonly reserved
ports. For a complete list of blocked
ports, see "Restricting Networking APIs"
in the _ActionScript 3.0 Developer's
Guide_.
@event complete Dispatched when the file upload operation
completes successfully.
@event httpResponseStatus The upload operation completes successfully
and the server returns a response URL and
response headers.
@event httpStatus Dispatched when an upload fails because of
an HTTP error.
@event ioError Invoked in any of the following situations:
* The upload fails because of an
input/output error while Flash Player or
Adobe AIR is reading, writing, or
transmitting the file.
* The upload fails because an attempt to
upload a file to a server that requires
authentication (such as a user name and
password). During upload, no mean is
provided for users to enter passwords.
* The upload fails because the `url`
parameter contains an invalid protocol.
`FileReference.upload()` must use HTTP or
HTTPS.
@event open Dispatched when an upload operation starts.
@event progress Dispatched periodically during the file
upload operation.
@event securityError Dispatched when an upload fails because of a
security violation.
@event uploadCompleteData Dispatched when data has been received from
the server after a successful file upload.]]>Creates a new FileReference object. When populated, a FileReference
object represents a file on the user's local disk.® Player browser plug-in, but
uploading (on all players) and downloading (on the stand-alone or external
player) fails. Listen for FileReference events to determine whether
operations complete successfully and to handle errors.
For content running in Flash Player or for content running in Adobe AIR
outside of the application security sandbox, uploading and downloading
operations can access files only within its own domain and within any
domains that a URL policy file specifies. Put a policy file on the file
server if the content initiating the upload or download doesn't come from
the same domain as the file server.
Note that because of new functionality added to the Flash Player, when
publishing to Flash Player 10, you can have only one of the following
operations active at one time: `FileReference.browse()`,
`FileReference.upload()`, `FileReference.download()`,
`FileReference.load()`, `FileReference.save()`. Otherwise, Flash Player
throws a runtime error (code 2174). Use `FileReference.cancel()` to stop
an operation in progress. This restriction applies only to Flash Player
10. Previous versions of Flash Player are unaffected by this restriction
on simultaneous multiple operations.
While calls to the `FileReference.browse()`, `FileReferenceList.browse()`,
or `FileReference.download()` methods are executing, SWF file playback
pauses in stand-alone and external versions of Flash Player and in AIR for
Linux and Mac OS X 10.1 and earlier
The following sample HTTP `POST` request is sent from Flash Player to a
server-side script if no parameters are specified:
```
POST /handler.cfm HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data;
boundary=----------Ij5ae0ae0KM7GI3KM7
User-Agent: Shockwave Flash
Host: www.example.com
Content-Length: 421
Connection: Keep-Alive
Cache-Control: no-cache
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="Filename"
MyFile.jpg
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg"
Content-Type: application/octet-stream
FileDataHere
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="Upload"
Submit Query
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
```
Flash Player sends the following HTTP `POST` request if the user specifies
the parameters `"api_sig"`, `"api_key"`, and `"auth_token"`:
```
POST /handler.cfm HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data;
boundary=----------Ij5ae0ae0KM7GI3KM7
User-Agent: Shockwave Flash
Host: www.example.com
Content-Length: 421
Connection: Keep-Alive
Cache-Control: no-cache
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="Filename"
MyFile.jpg
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="api_sig"
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="api_key"
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="auth_token"
XXXXXXXXXXXXXXXXXXXXXX
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg"
Content-Type: application/octet-stream
FileDataHere
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name="Upload"
Submit Query
------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
```
@event cancel Dispatched when a file upload or download is
canceled through the file-browsing dialog box by
the user. Flash Player does not dispatch this
event if the user cancels an upload or download
through other means (closing the browser or
stopping the current application).
@event complete Dispatched when download is complete or when
upload generates an HTTP status code of 200. For
file download, this event is dispatched when
Flash Player or Adobe AIR finishes downloading
the entire file to disk. For file upload, this
event is dispatched after the Flash Player or
Adobe AIR receives an HTTP status code of 200
from the server receiving the transmission.
@event httpResponseStatus Dispatched if a call to the `upload()` or
`uploadUnencoded()` method attempts to access
data over HTTP and Adobe AIR is able to detect
and return the status code for the request.
@event httpStatus Dispatched when an upload fails and an HTTP
status code is available to describe the
failure. The `httpStatus` event is dispatched,
followed by an `ioError` event.
The `httpStatus` event is dispatched only for
upload failures. For content running in Flash
Player this event is not applicable for download
failures. If a download fails because of an HTTP
error, the error is reported as an I/O error.
@event ioError Dispatched when the upload or download fails. A
file transfer can fail for one of the following
reasons:
* An input/output error occurs while the player
is reading, writing, or transmitting the file.
* The SWF file tries to upload a file to a
server that requires authentication (such as a
user name and password). During upload, Flash
Player or Adobe AIR does not provide a means for
users to enter passwords. If a SWF file tries to
upload a file to a server that requires
authentication, the upload fails.
* The SWF file tries to download a file from a
server that requires authentication, within the
stand-alone or external player. During download,
the stand-alone and external players do not
provide a means for users to enter passwords. If
a SWF file in these players tries to download a
file from a server that requires authentication,
the download fails. File download can succeed
only in the ActiveX control, browser plug-in
players, and the Adobe AIR runtime.
* The value passed to the `url` parameter in the
`upload()` method contains an invalid protocol.
Valid protocols are HTTP and HTTPS.
**Important:** Only applications running in a
browser ?that is, using the browser plug-in
or ActiveX control ?and content running in
Adobe AIR can provide a dialog box to prompt the
user to enter a user name and password for
authentication, and then only for downloads. For
uploads using the plug-in or ActiveX control
version of Flash Player, or for upload or
download using either the stand-alone or the
external player, the file transfer fails.
@event open Dispatched when an upload or download operation
starts.
@event progress Dispatched periodically during the file upload
or download operation. The `progress` event is
dispatched while Flash Player transmits bytes to
a server, and it is periodically dispatched
during the transmission, even if the
transmission is ultimately not successful. To
determine if and when the file transmission is
actually successful and complete, listen for the
`complete` event.
In some cases, `progress` events are not
received. For example, when the file being
transmitted is very small or the upload or
download happens very quickly a `progress` event
might not be dispatched.
File upload progress cannot be determined on
Macintosh platforms earlier than OS X 10.3. The
`progress` event is called during the upload
operation, but the value of the `bytesLoaded`
property of the progress event is -1, indicating
that the progress cannot be determined.
@event securityError Dispatched when a call to the
`FileReference.upload()` or
`FileReference.download()` method tries to
upload a file to a server or get a file from a
server that is outside the caller's security
sandbox. The value of the text property that
describes the specific error that occurred is
normally `"securitySandboxError"`. The calling
SWF file may have tried to access a SWF file
outside its domain and does not have permission
to do so. You can try to remedy this error by
using a URL policy file.
In Adobe AIR, these security restrictions do not
apply to content in the application security
sandbox.
In Adobe AIR, these security restrictions do not
apply to content in the application security
sandbox.
@event select Dispatched when the user selects a file for
upload or download from the file-browsing dialog
box. (This dialog box opens when you call the
`FileReference.browse()`,
`FileReferenceList.browse()`, or
`FileReference.download()` method.) When the
user selects a file and confirms the operation
(for example, by clicking OK), the properties of
the FileReference object are populated.
For content running in Flash Player or outside
of the application security sandbox in the Adobe
AIR runtime, the `select` event acts slightly
differently depending on what method invokes it.
When the `select` event is dispatched after a
`browse()` call, Flash Player or the AIR
application can read all the FileReference
object's properties, because the file selected
by the user is on the local file system. When
the `select` event occurs after a `download()`
call, Flash Player or the AIR application can
read only the `name` property, because the file
hasn't yet been downloaded to the local file
system at the moment the `select` event is
dispatched. When the file is downloaded and the
`complete` event dispatched, Flash Player or the
AIR application can read all other properties of
the FileReference object.
@event uploadCompleteData Dispatched after data is received from the
server after a successful upload. This event is
not dispatched if data is not returned from the
server.]]>"tags=\"haxe,release\""Adds a dynamic property to the binary output of a serialized object.
When the object is subsequently read (using a method such as
`readObject`), it contains the new property. You can use this method to
exclude properties of dynamic objects from serialization; to write
values to properties of dynamic objects; or to create new properties for
dynamic objects.
@param name The name of the property. You can use this parameter either
to specify the name of an existing property of the dynamic object or
to create a new property.
@param value The value to write to the specified property.This interface controls the serialization of dynamic properties of dynamic
objects. You use this interface with the `IDynamicPropertyWriter` interface
and the `ObjectEncoding.dynamicPropertyWriter` property.Writes the name and value of an `IDynamicPropertyOutput` object to an
object with dynamic properties. If
`ObjectEncoding.dynamicPropertyWriter` is set, this method is invoked
for each object with dynamic properties.
@param obj The object to write to.
@param output The `IDynamicPropertyOutput` object that contains the name
and value to dynamically write to the object.This interface is used with the `IDynamicPropertyOutput` interface to
control the serialization of dynamic properties of dynamic objects. To use
this interface, assign an object that implements the
`IDynamicPropertyWriter` interface to the
`ObjectEncoding.dynamicPropertyWriter` property."NetConnection.Connect.Success""checkstyle:FieldDocComment"hide{ p5 : null, p4 : null, p3 : null, p2 : null, p1 : null }Flash Remoting documentation.
* Pass an "rtmp/e/s" URL to connect to a Flash Media Server
application.
* Pass an "rtmfp" URL to create a two-way network endpoint for RTMFP
client-server, peer-to-peer, and IP multicast communication.
* Pass the string "rtmfp:" to create a serverless two-way network
endpoint for RTMFP IP multicast communication.
Consider the following security model:
* By default, Flash Player or AIR denies access between sandboxes. A
website can enable access to a resource by using a URL policy file.
* Your application can deny access to a resource on the server. In a
Flash Media Server application, use Server-Side ActionScript code to
deny access. See the Flash Media Server documentation.
* You cannot call `NetConnection.connect()` if the calling file is in
the local-with-file-system sandbox.
* You cannot connect to commonly reserved ports. For a complete list
of blocked ports, see "Restricting Networking APIs" in the
_ActionScript 3.0 Developer's Guide_.
* To prevent a SWF file from calling this method, set the
`allowNetworking` parameter of the the `object` and `embed` tags in
the HTML page that contains the SWF content.
However, in Adobe AIR, content in the `application` security sandbox
(content installed with the AIR application) are not restricted by
these security limitations.
For more information about security, see the Adobe Flash Player
Developer Center: Security.
@param command Use one of the following values for the `command`
parameter:
* To play video and mp3 files from a local file system
or from a web server, pass `null`.
* To connect to an application server running Flash
Remoting, pass a URL that uses the `http` protocol.
* (Flash Player 10.1 or AIR 2 or later) To create a
serverless network endpoint for RTMFP IP multicast
communication, pass the string `"rtmfp:"`. Use this
connection type to receive an IP multicast stream from
a publisher without using a server. You can also use
this connection type to use IP multicast to discover
peers on the same local area network (LAN).
This connection type has the following limitations:
Only peers on the same LAN can discover each other.
Using IP multicast, Flash Player can receive streams,
it cannot send them.
Flash Player and AIR can send and receive streams in a
peer-to-peer group, but the peers must be discovered on
the same LAN using IP multicast.
This technique cannot be used for one-to-one
communication.
* To connect to Flash Media Server, pass the URI of the
application on the server. Use the following syntax
(items in brackets are optional):
`protocol:[//host][:port]/appname[/instanceName]`
Use one of the following protocols: `rtmp`, `rtmpe`,
`rtmps`, `rtmpt`, `rtmpte`, or `rtmfp`. If the
connection is successful, a `netStatus` event with a
`code` property of `NetConnection.Connect.Success` is
returned. See the `NetStatusEvent.info` property for a
list of all event codes returned in response to calling
`connect()`.
If the file is served from the same host where the
server is installed, you can omit the `//host`
parameter. If you omit the `/instanceName` parameter,
Flash Player or AIR connects to the application's
default instance.
(Flash Player 10.1 or AIR 2 or later)To create
peer-to-peer applications, use the `rtmfp` protocol.
@throws ArgumentError The URI passed to the `command` parameter is
improperly formatted.
@throws IOError The connection failed. This can happen if you
call `connect()` from within a `netStatus` event
handler, which is not allowed.
@throws SecurityError Local-with-filesystem SWF files cannot
communicate with the Internet. You can avoid
this problem by reclassifying the SWF file as
local-with-networking or trusted.
@throws SecurityError You cannot connect to commonly reserved ports.
For a complete list of blocked ports, see
"Restricting Networking APIs" in the
_ActionScript 3.0 Developer's Guide_.]]>Creates a NetConnection object. Call the `connect()` method to make a
connection.
If an application needs to communicate with servers released prior to
Flash Player 9, set the NetConnection object's `objectEncoding`
property.
The following code creates a NetConnection object:
```haxe
var nc = new NetConnection();
```Adobe
Stratus service. Call `NetConnection.connect()` to establish the
connection. Use the NetStream class to send streams of media and data over
the connection.
For security information about loading content and data into Flash Player
and AIR, see the following:
* To load content and data into Flash Player from a web server or from a
local location, see Flash Player Developer Center: Security.
* To load content and data into Flash Player and AIR from Flash Media
Server, see the Flash Media Server documentation.
* To load content and data into AIR, see the Adobe AIR
Developer Center.
To write callback methods for this class, extend the class and define the
callback methods in the subclass, or assign the `client` property to an
object and define the callback methods on that object.
@event asyncError Dispatched when an exception is thrown asynchronously
× that is, from native asynchronous code.
@event ioError Dispatched when an input or output error occurs that
causes a network operation to fail.
@event netStatus Dispatched when a NetConnection object is reporting
its status or error condition. The `netStatus` event
contains an `info` property, which is an information
object that contains specific information about the
event, such as whether a connection attempt succeeded
or failed.
@event securityError Dispatched if a call to NetConnection.call() attempts
to connect to a server outside the caller's security
sandbox.]]>"tags=\"haxe,release\""hide"checkstyle:FieldDocComment"The number of seconds of data currently in the buffer. You can use
this property with the `bufferTime` property to estimate how close the
buffer is to being full × for example, to display feedback to a user
who is waiting for data to be loaded into the buffer.http://www.adobe.com/go/learn_fms_smartpause_en.
**Flash Media Server**. The buffer behavior depends on whether the
buffer time is set on a publishing stream or a subscribing stream. For
a publishing stream, `bufferTime` specifies how long the outgoing
buffer can grow before the application starts dropping frames. On a
high-speed connection, buffer time is not a concern; data is sent
almost as quickly as the application can buffer it. On a slow
connection, however, there can be a significant difference between how
fast the application buffers the data and how fast it is sent to the
client.
For a subscribing stream, `bufferTime` specifies how long to buffer
incoming data before starting to display the stream.
When a recorded stream is played, if `bufferTime` is 0, Flash sets it
to a small value (approximately 10 milliseconds). If live streams are
later played (for example, from a playlist), this buffer time
persists. That is, `bufferTime` remains nonzero for the stream.]]>The number of bytes of data that have been loaded into the
application. You can use this property with the `bytesTotal` property
to estimate how close the buffer is to being full × for example, to
display feedback to a user who is waiting for data to be loaded into
the buffer.The total size in bytes of the file being loaded into the application.` tags.
If you set `checkPolicyFile` to `true`, the application waits until
the policy file is verified before downloading the video. Wait to
perform any pixel-level operations on the video data, such as calling
`BitmapData.draw()`, until you receive `onMetaData` or `NetStatus`
events from your NetStream object.
If you set `checkPolicyFile` to `true` but no relevant policy file is
found, you won't receive an error until you perform an operation that
requires a policy file, and then the application throws a
SecurityError exception.
Be careful with `checkPolicyFile` if you are downloading a file from a
URL that uses server-side HTTP redirects. The application tries to
retrieve policy files that correspond to the initial URL that you
specify in `NetStream.play()`. If the final file comes from a
different URL because of HTTP redirects, the initially downloaded
policy files might not be applicable to the file's final URL, which is
the URL that matters in security decisions.
For more information on policy files, see "Website controls (policy
files)" in the _ActionScript 3.0 Developer's Guide_ and the Flash
Player Developer Center Topic: Security.]]>Specifies the object on which callback methods are invoked to handle
streaming or F4V/FLV file data. The default object is `this`, the
NetStream object being created. If you set the `client` property to
another object, callback methods are invoked on that other object. The
`NetStream.client ` object can call the following functions and
receive an associated data object: `onCuePoint()`, `onImageData()`,
`onMetaData()`, `onPlayStatus()`, `onSeekPoint()`, `onTextData()`, and
`onXMPData()`.
**To associate the `client` property with an event handler:**
1. Create an object and assign it to the `client` property of the
NetStream object:
```as3
var customClient = new Object();
my_netstream.client = customClient;
```
2. Assign a handler function for the desired data event as a property
of the client object:
```haxe
customClient.onImageData = onImageDataHandler;
```
3. Write the handler function to receive the data event object, such
as:
```as3
public function onImageDataHandler(imageData:Object):void {
trace("imageData length: " + imageData.data.length);
}
```
When data is passed through the stream or during playback, the data
event object (in this case the `imageData` object) is populated with
the data. See the `onImageData` description, which includes a full
example of an object assigned to the `client` property.
**To associate the `client` property with a subclass:**
1. Create a subclass with a handler function to receive the data event
object:
```as3
class CustomClient {
public function onMetaData(info:Object):void {
trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
}
```
2. Assign an instance of the subclass to the `client` property of the
NetStream object:
```as3
my_netstream.client = new CustomClient();
```
When data is passed through the stream or during playback, the data
event object (in this case the `info` object) is populated with the
data. See the class example at the end of the NetStream class, which
shows the assignment of a subclass instance to the `client` property.
@throws TypeError The `client` property must be set to a non-null
object.The number of frames per second being displayed. If you are exporting
video files to be played back on a number of systems, you can check
this value during testing to help you determine how much compression
to apply when exporting the file.hide"checkstyle:FieldDocComment"The number of seconds of data in the subscribing stream's buffer in
live (unbuffered) mode. This property specifies the current network
transmission delay (lag time).
This property is intended primarily for use with a server such as
Flash Media Server; for more information, see the class description.
You can get the value of this property to roughly gauge the
transmission quality of the stream and communicate it to the user.The object encoding (AMF version) for this NetStream object. The
NetStream object inherits its `objectEncoding` value from the
associated NetConnection object. It's important to understand this
property if your ActionScript 3.0 SWF file needs to communicate with
servers released prior to Flash Player 9. For more information, see
the `objectEncoding` property description in the NetConnection class.
The value of this property depends on whether the stream is local or
remote. Local streams, where `null` was passed to the
`NetConnection.connect()` method, return the value of
`NetConnection.defaultObjectEncoding`. Remote streams, where you are
connecting to a server, return the object encoding of the connection
to the server.
If you try to read this property when not connected, or if you try to
change this property, the application throws an exception.Controls sound in this NetStream object. For more information, see the
SoundTransform class.hide"checkstyle:FieldDocComment"
<__closed>
<__connection>
<__soundTransform>
<__timer>
Stops playing all data on the stream, sets the `time` property to 0,
and makes the stream available for another use. This method also
deletes the local copy of a video file that was downloaded through
HTTP. Although the application deletes the local copy of the file that
it creates, a copy might persist in the cache directory. If you must
completely prevent caching or local storage of the video file, use
Flash Media Server.
When using Flash Media Server, this method is invoked implicitly when
you call `NetStream.play()` from a publishing stream or
`NetStream.publish()` from a subscribing stream. Please note that:
* If `close()` is called from a publishing stream, the stream stops
publishing and the publisher can now use the stream for another
purpose. Subscribers no longer receive anything that was being
published on the stream, because the stream has stopped publishing.
* If `close()` is called from a subscribing stream, the stream stops
playing for the subscriber, and the subscriber can use the stream for
another purpose. Other subscribers are not affected.
* You can stop a subscribing stream from playing, without closing the
stream or changing the stream type by using
`openfl.net.NetStream.play(false)`.Releases all the resources held by the NetStream object.
The `dispose()` method is similar to the `close` method. The main difference
between the two methods is that `dispose()` releases the memory used to display
the current video frame. If that frame is currently displayed on screen, the
display will go blank. The `close()` method does not blank the display because it
does not release this memory.Pauses playback of a video stream. Calling this method does nothing if
the video is already paused. To resume play after pausing a video,
call `resume()`. To toggle between pause and play (first pausing the
video, then resuming), call `togglePause()`.
Starting with Flash Player 9.0.115.0, Flash Player no longer clears
the buffer when `NetStream.pause()` is called. This behavior is called
"smart pause". Before Flash Player 9.0.115.0, Flash Player waited for
the buffer to fill up before resuming playback, which often caused a
delay.
**Note:** For backwards compatibility, the `"NetStream.Buffer.Flush"`
event (see the `NetStatusEvent.info` property) still fires, although
the server does not flush the buffer.
For a single pause, the `NetStream.bufferLength` property has a limit
of either 60 seconds or twice the value of `NetStream.bufferTime`,
whichever value is higher. For example, if `bufferTime` is 20 seconds,
Flash Player buffers until `NetStream.bufferLength` is the higher
value of either 20~~2 (40), or 60, so in this case it buffers until
`bufferLength` is 60. If `bufferTime` is 40 seconds, Flash Player
buffers until `bufferLength` is the higher value of 40~~2 (80), or 60,
so in this case it buffers until `bufferLength` is 80 seconds.
The `bufferLength` property also has an absolute limit. If any call to
`pause()` causes `bufferLength` to increase more than 600 seconds or
the value of `bufferTime` ~~ 2, whichever is higher, Flash Player
flushes the buffer and resets `bufferLength` to 0. For example, if
`bufferTime` is 120 seconds, Flash Player flushes the buffer if
`bufferLength` reaches 600 seconds; if `bufferTime` is 360 seconds,
Flash Player flushes the buffer if `bufferLength` reaches 720 seconds.
**Tip**: You can use `NetStream.pause()` in code to buffer data while
viewers are watching a commercial, for example, and then unpause when
the main video starts.{ p5 : null, p4 : null, p3 : null, p2 : null, p1 : null }Flash Media Server documentation
* Exploring Flash Player support for high-definition
H.264 video and AAC audio
* FLV/F4V open specification documents
**Workflow for playing a file or live stream**
1. Create a NetConnection object and call `NetConnection.connect()`.
To play a file from a local directory or web server, pass null.
To play a recorded file or live stream from Flash Media Server, pass
the URI of a Flash Media Server application.
2. Call `NetConnection.addEventListener(NetStatusEvent.NET_STATUS,
netStatusHandler)` to listen for NetStatusEvent events.
3. On `"NetConnection.Connect.Success"`, create a NetStream object and
pass the NetConnection object to the constructor.
4. Create a Video object and call `Video.attachNetStream()` and pass
the NetStream object.
5. Call `NetStream.play()`.
To play a live stream, pass the stream name passed to the
`NetStream.publish()` method.
To play a recorded file, pass the file name.
6. Call `addChild()` and pass the Video object to display the video.
**Note:**To see sample code, scroll to the example at the bottom of
this page.
**Enable Data Generation Mode**
Call `play(null)` to enable "Data Generation Mode". In this mode, call
the `appendBytes()` method to deliver data to the NetStream. Use Data
Generation Mode to stream content over HTTP from the Adobe HTTP
Dynamic Streaming Origin Module on an Apache HTTP Server. HTTP Dynamic
Streaming lets clients seek quickly to any point in a file. The Open
Source Media Framework (OSMF) supports HTTP Dynamic Streaming for vod
and live streams. For examples of how to use NetStream Data Generation
Mode, download the OSMF source. For more information about HTTP
Dynamic Streaming, see HTTP
Dynamic Streaming.
When you use this method without Flash Media Server, there are
security considerations. A file in the local-trusted or
local-with-networking sandbox can load and play a video file from the
remote sandbox, but cannot access the remote file's data without
explicit permission in the form of a URL policy file. Also, you can
prevent a SWF file running in Flash Player from using this method by
setting the `allowNetworking` parameter of the the `object` and
`embed` tags in the HTML page that contains the SWF content. For more
information related to security, see the Flash Player Developer Center
Topic: Security.
@throws ArgumentError At least one parameter must be specified.
@throws Error The NetStream Object is invalid. This may be due
to a failed NetConnection.
@throws SecurityError Local untrusted SWF files cannot communicate
with the Internet. You can work around this
restriction by reclassifying this SWF file as
local-with-networking or trusted.
@event status Dispatched when attempting to play content encrypted
with digital rights management (DRM). The value of the
`code` property is `"DRM.encryptedFLV"`.]]>hide"checkstyle:FieldDocComment"Resumes playback of a video stream that is paused. If the video is
already playing, calling this method does nothing.`
is set to `true` in the Application.xml configuration
file (which it is by default), the server generates a
keyframe at `offset`.
* To return to the beginning of the stream, pass 0 for
`offset`.
* To seek forward from the beginning of the stream, pass
the number of seconds to advance. For example, to
position the playhead at 15 seconds from the beginning
(or the keyframe before 15 seconds), use
`myStream.seek(15)`.
* To seek relative to the current position, pass
`NetStream.time + n` or `NetStream.time - n` to seek `n`
seconds forward or backward, respectively, from the
current position. For example, to rewind 20 seconds from
the current position, use `NetStream.seek(NetStream.time
- 20).`]]>Pauses or resumes playback of a stream. The first time you call this
method, it pauses play; the next time, it resumes play. You could use
this method to let users pause or resume playback by pressing a single
button.
<__dispatchStatus set="method" line="2122">
<__playStatus set="method" line="2129">
{ peerID : null }Creates a stream that you can use to play media files and send data
over a NetConnection object.
@param connection A NetConnection object.
@param peerID This optional parameter is available in Flash Player
10 and later, for use with RTMFP connections. (If
the value of the `NetConnection.protocol` property
is not `"rtmfp"`, this parameter is ignored.) Use
one of the following values:
* To connect to Flash Media Server, specify
`NetStream.CONNECT_TO_FMS`.
* To publish directly to peers, specify
`NetStream.DIRECT_CONNECTIONS`.
* To play directly from a specific peer, specify
that peer's identity (see `NetConnection.nearID` and
`NetStream.farID`).
* (Flash Player 10.1 or AIR 2 or later) To publish
or play a stream in a peer-to-peer multicast group,
specify a `groupspec` string (see the GroupSpecifier
class).
In most cases, a `groupspec` has the potential to
use the network uplink on the local system. In this
case, the user is asked for permission to use the
computer's network resources. If the user allows
this use, a `NetStream.Connect.Success`
NetStatusEvent is sent to the NetConnection's event
listener. If the user denies permission, a
`NetStream.Connect.Rejected` event is sent. When
specifying a `groupspec`, until a
`NetStream.Connect.Success` event is received, it is
an error to use any method of the NetStream object,
and an exception is raised.
If you include this parameter in your constructor
statement but pass a value of `null`, the value is
set to `"connectToFMS"`.
@throws ArgumentError The NetConnection instance is not connected.Flash Media Server documentation
* Exploring Flash Player support for high-definition H.264
video and AAC audio
* FLV/F4V open specification documents
**Receiving data from a Flash Media Server stream, progressive F4V file,
or progressive FLV file**
Flash Media Server, F4V files, and FLV files can send event objects
containing data at specific data points during streaming or playback. You
can handle data from a stream or FLV file during playback in two ways:
* Associate a client property with an event handler to receive the data
object. Use the `NetStream.client` property to assign an object to call
specific data handling functions. The object assigned to the
`NetStream.client` property can listen for the following data points:
`onCuePoint()`, `onImageData()`, `onMetaData()`, `onPlayStatus()`,
`onSeekPoint()`, `onTextData()`, and `onXMPData()`. Write procedures
within those functions to handle the data object returned from the stream
during playback. See the `NetStream.client` property for more information.
* Associate a client property with a subclass of the NetStream class,
then write an event handler to receive the data object. NetStream is a
sealed class, which means that properties or methods cannot be added to a
NetStream object at runtime. However, you can create a subclass of
NetStream and define your event handler in the subclass. You can also make
the subclass dynamic and add the event handler to an instance of the
subclass.
Wait to receive a `NetGroup.Neighbor.Connect` event before you use the
object replication, direct routing, or posting APIs.
**Note:** To send data through an audio file, like an mp3 file, use the
Sound class to associate the audio file with a Sound object. Then, use the
`Sound.id3` property to read metadata from the sound file.
@event asyncError Dispatched when an exception is thrown
asynchronously × that is, from native
asynchronous code. This event is dispatched when a
server calls a method on the client that is not
defined.
@event drmAuthenticate Dispatched when a NetStream object tries to play a
digital rights management (DRM) encrypted content
that requires a user credential for authentication
before playing.
Use the ` setDRMAuthenticationCredentials()`
method of the NetStream object to authenticate the
user. If user authentication failed, the
application retries authentication and dispatches
a new DRMAuthenticateEvent event for the NetStream
object.
@event drmError Dispatched when a NetStream object, trying to play
a digital rights management (DRM) encrypted file,
encounters a DRM-related error. For example, a
DRMErrorEvent object is dispatched when the user
authorization fails. This may be because the user
has not purchased the rights to view the content
or because the content provider does not support
the viewing application.
@event drmStatus Dispatched when the digital rights management
(DRM) encrypted content begins playing (when the
user is authenticated and authorized to play the
content).
DRMStatusEvent object contains information related
to the voucher, such as whether the content is
available offline or when the voucher expires and
users can no longer view the content.
@event ioError Dispatched when an input or output error occurs
that causes a network operation to fail.
@event mediaTypeData Dispatched when playing video content and certain
type of messages are processed.
A NetDataEvent is dispatched for the following
messages:
* onCuePoint
* onImageData
* onMetaData
* onPlayStatus (for code NetStream.Play.Complete)
* onTextData
* onXMPData
**Note:** This event is not dispatched by content
running in Flash Player in the browser on Android
or Blackberry Tablet OS or by content running in
AIR on iOS.
@event netStatus Dispatched when a NetStream object is reporting
its status or error condition. The `netStatus`
event contains an `info` property, which is an
information object that contains specific
information about the event, such as if a
connection attempt succeeded or failed.
@event onCuePoint Establishes a listener to respond when an embedded
cue point is reached while playing a video file.
You can use the listener to trigger actions in
your code when the video reaches a specific cue
point, which lets you synchronize other actions in
your application with video playback events. For
information about video file formats supported by
Flash Media Server, see the www.adobe.com/go/learn_fms_fileformats_en.
`onCuePoint` is actually a property of the
`NetStream.client` object. IThe property is listed
in the Events section because it responds to a
data event, either when streaming media using
Flash Media Server or during FLV file playback.
For more information, see the NetStream class
description. You cannot use the
`addEventListener()` method, or any other
EventDispatcher methods, to listen for, or process
`onCuePoint` as an event. Define a callback
function and attach it to one of the following
objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. Create a subclass of NetStream and define
your event handler in the subclass. You can also
make the subclass dynamic and add the event
handler function to an instance of the subclass.
The associated event listener is triggered after a
call to the `NetStream.play()` method, but before
the video playhead has advanced.
You can embed the following types of cue points in
a video file:
* A navigation cue point specifies a keyframe
within the video file and the cue point's `time`
property corresponds to that exact keyframe.
Navigation cue points are often used as bookmarks
or entry points to let users navigate through the
video file.
* An event cue point specifies a time. The time
may or may not correspond to a specific keyframe.
An event cue point usually represents a time in
the video when something happens that could be
used to trigger other application events.
The `onCuePoint` event object has the following
properties:
| Property | Description |
| --- | --- |
| `name` | The name given to the cue point when it was embedded in the video file. |
|`parameters` | An associative array of name and value pair strings specified for this cue point. Any valid string can be used for the parameter name or value. |
|`time` | The time in seconds at which the cue point occurred in the video file during playback. |
|`type` | The type of cue point that was reached, either navigation or event. |
You can define cue points in a video file when you
first encode the file, or when you import a video
clip in the Flash authoring tool by using the
Video Import wizard.
The `onMetaData` event also retrieves information
about the cue points in a video file. However the
`onMetaData` event gets information about all of
the cue points before the video begins playing.
The `onCuePoint` event receives information about
a single cue point at the time specified for that
cue point during playback.
Generally, to have your code respond to a specific
cue point at the time it occurs, use the
`onCuePoint` event to trigger some action in your
code.
You can use the list of cue points provided to the
`onMetaData` event to let the user start playing
the video at predefined points along the video
stream. Pass the value of the cue point's `time`
property to the `NetStream.seek()` method to play
the video from that cue point.
@event onDRMContentData Establishes a listener to respond when AIR
extracts DRM content metadata embedded in a media
file.
A DRMContentData object contains the information
needed to obtain a voucher required to play a
DRM-protected media file. Use the DRMManager class
to download the voucher with this information.
`onDRMContentData` is a property of the
`NetStream.client` object. This property is listed
in the Events section because it responds to a
data event when preloading embedded data from a
local media file. For more information, see the
NetStream class description. You cannot use the
`addEventListener()` method, or any other
EventDispatcher methods, to listen for, or process
`onDRMContentData` as an event. Rather, you must
define a single callback function and attach it
directly to one of the following objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. However, you can create a subclass of
NetStream and define your event handler in the
subclass or make the subclass dynamic and add the
event handler function to an instance of the
subclass.
@event onImageData Establishes a listener to respond when Flash
Player receives image data as a byte array
embedded in a media file that is playing. The
image data can produce either JPEG, PNG, or GIF
content. Use the
`openfl.display.Loader.loadBytes()` method to load
the byte array into a display object.
`onImageData` is actually a property of the
`NetStream.client` object. The property is listed
in the Events section because it responds to a
data event, either when streaming media using
Flash Media Server or during FLV file playback.
For more information, see the NetStream class
description. You cannot use the
`addEventListener()` method, or any other
EventDispatcher methods, to listen for, or process
`onImageData` as an event. Define a single
callback function and attach it to one of the
following objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. Create a subclass of NetStream and define
your event handler in the subclass. You can also
make the subclass dynamic and add the event
handler function to an instance of the subclass.
The associated event listener is triggered after a
call to the `NetStream.play()` method, but before
the video playhead has advanced.
The onImageData event object contains the image
data as a byte array sent through an AMF0 data
channel.
@event onMetaData Establishes a listener to respond when Flash
Player receives descriptive information embedded
in the video being played. For information about
video file formats supported by Flash Media
Server, see the www.adobe.com/go/learn_fms_fileformats_en.
`onMetaData` is actually a property of the
`NetStream.client` object. The property is listed
in the Events section because it responds to a
data event, either when streaming media using
Flash Media Server or during FLV file playback.
For more information, see the NetStream class
description and the `NetStream.client` property.
You cannot use the `addEventListener()` method, or
any other EventDispatcher methods, to listen for
or process `onMetaData` as an event. Define a
single callback function and attach it to one of
the following objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. You can create a subclass of NetStream
and define your event handler in the subclass. You
can also make the subclass dynamic and add the
event handler function to an instance of the
subclass.
The Flash Video Exporter utility (version 1.1 or
later) embeds a video's duration, creation date,
data rates, and other information into the video
file itself. Different video encoders embed
different sets of meta data.
The associated event listener is triggered after a
call to the `NetStream.play()` method, but before
the video playhead has advanced.
In many cases, the duration value embedded in
stream metadata approximates the actual duration
but is not exact. In other words, it does not
always match the value of the `NetStream.time`
property when the playhead is at the end of the
video stream.
The event object passed to the onMetaData event
handler contains one property for each piece of
data.
@event onPlayStatus Establishes a listener to respond when a NetStream
object has completely played a stream. The
associated event object provides information in
addition to what's returned by the `netStatus`
event. You can use this property to trigger
actions in your code when a NetStream object has
switched from one stream to another stream in a
playlist (as indicated by the information object
`NetStream.Play.Switch`) or when a NetStream
object has played to the end (as indicated by the
information object `NetStream.Play.Complete`).
`onPlayStaus` is actually a property of the
`NetStream.client` object. The property is listed
in the Events section because it responds to a
data event, either when streaming media using
Flash Media Server or during FLV file playback.
For more information, see the NetStream class
description. You cannot use the
`addEventListener()` method, or any other
EventDispatcher methods, to listen for, or process
`onPlayStatus` as an event. Define a callback
function and attach it to one of the following
objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. Create a subclass of NetStream and define
your event handler in the subclass. You can also
make the subclass dynamic and add the event
handler function to an instance of the subclass.
This event can return an information object with
the following properties:
| Code property | Level property | Meaning |
| --- | --- | --- |
| `NetStream.Play.Switch` | `"status"` | The subscriber is switching from one stream to another in a playlist. |
| `NetStream.Play.Complete` | `"status"` | Playback has completed. |
| `NetStream.Play.TransitionComplete` | `"status"` | The subscriber is switching to a new stream as a result of stream bit-rate switching |
@event onSeekPoint Called synchronously from `appendBytes()` when the
append bytes parser encounters a point that it
believes is a seekable point (for example, a video
key frame). Use this event to construct a seek
point table. The `byteCount` corresponds to the
`byteCount` at the first byte of the parseable
message for that seek point, and is reset to zero
as described above. To seek, at the event
`NetStream.Seek.Notify`, find the bytes that start
at a seekable point and call `appendBytes(bytes)`.
If the `bytes` argument is a `ByteArray`
consisting of bytes starting at the seekable
point, the video plays at that seek point.
**Note:** Calls to `appendBytes()` from within
this callback are ignored.
The `onSeekPoint` property is a property of the
`NetStream.client` object. The property is listed
in the Events section because it responds to data
coming into the `appendBytes()` method. For more
information, see the NetStream class description
and the `NetStream.client` property. You cannot
use the `addEventListener()` method, or any other
EventDispatcher methods, to listen for or process
`onSeekPoint` as an event. To use `onSeekPoint`,
define a callback function and attach it to one of
the following objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. However, you can create a subclass of
NetStream and define your event handler in the
subclass. You can also make the subclass dynamic
and add the event handler function to an instance
of the subclass.
@event onTextData Establishes a listener to respond when Flash
Player receives text data embedded in a media file
that is playing. The text data is in UTF-8 format
and can contain information about formatting based
on the 3GP timed text specification.
`onTextData` is actually a property of the
`NetStream.client` object. The property is listed
in the Events section because it responds to a
data event, either when streaming media using
Flash Media Server or during FLV file playback.
For more information, see the NetStream class
description. You cannot use the
`addEventListener()` method, or any other
EventDispatcher methods, to listen for, or process
`onTextData` as an event. Define a callback
function and attach it to one of the following
objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. Create a subclass of NetStream and define
your event handler in the subclass. You can also
make the subclass dynamic and add the event
handler function to an instance of the subclass.
The associated event listener is triggered after a
call to the `NetStream.play()` method, but before
the video playhead has advanced.
The onTextData event object contains one property
for each piece of text data.
@event onXMPData Establishes a listener to respond when Flash
Player receives information specific to Adobe
Extensible Metadata Platform (XMP) embedded in the
video being played. For information about video
file formats supported by Flash Media Server, see
the www.adobe.com/go/learn_fms_fileformats_en.
`onXMPData` is actually a property of the
`NetStream.client` object. The property is listed
in the Events section because it responds to a
data event, either when streaming media using
Flash Media Server or during FLV file playback.
For more information, see the NetStream class
description and the `NetStream.client` property.
You cannot use the `addEventListener()` method, or
any other EventDispatcher methods, to listen for
or process `onMetaData` as an event. Define a
callback function and attach it to one of the
following objects:
* The object that the `client` property of a
NetStream instance references.
* An instance of a NetStream subclass. NetStream
is a sealed class, which means that properties or
methods cannot be added to a NetStream object at
runtime. However, you can create a subclass of
NetStream and define your event handler in the
subclass. You can also make the subclass dynamic
and add the event handler function to an instance
of the subclass.
The associated event listener is triggered after a
call to the `NetStream.play()` method, but before
the video playhead has advanced.
The object passed to the `onXMPData()` event
handling function has one `data` property, which
is a string. The string is generated from a
top-level UUID box. (The 128-bit UUID of the top
level box is
`BE7ACFCB-97A9-42E8-9C71-999491E3AFAC`.) This
top-level UUID box contains exactly one XML
document represented as a null-terminated UTF-8
string.
@event status Dispatched when the application attempts to play
content encrypted with digital rights management
(DRM), by invoking the `NetStream.play()` method.
The value of the status code property will be
`"DRM.encryptedFLV"`.]]>openfl.media.SoundMixer"tags=\"haxe,release\""` in an OpenFL project XML file._
Adobe AIR and Flash Player 9 can serialize in two different formats:
AMF3 and AMF0. AMF3, the default serialization developed for
ActionScript 3.0, provides various advantages over AMF0, which is used
for ActionScript 1.0 and 2.0. AMF3 sends data over the network more
efficiently than AMF0. AMF3 supports sending `int` and `uint` objects as
integers and supports data types that are available only in
ActionScript 3.0, such as ByteArray, XML, and IExternalizable. It is
available only in ActionScript 3.0 and with servers that use AMF3
encoding, such as Flex 2.
The ByteArray, FileStream, NetConnection, NetStream, SharedObject,
Socket, and URLStream classes contain an `objectEncoding` property that is
assigned a constant from the ObjectEncoding class. The behavior of the
`objectEncoding` property differs depending on the object; each class's
`objectEncoding` property description explains the behavior more
thoroughly.]]>Allows greater control over the serialization of dynamic properties of
dynamic objects. When this property is set to `null`, the default value,
dynamic properties are serialized using native code, which writes all
dynamic properties excluding those whose value is a function.
This value is called only for properties of a dynamic object (objects
declared within a dynamic class) or for objects declared using the
`new` operator.
You can use this property to exclude properties of dynamic objects from
serialization; to write values to properties of dynamic objects; or to
create new properties for dynamic objects. To do so, set this property
to an object that implements the `IDynamicPropertyWriter` interface. For
more information, see the `IDynamicPropertyWriter` interface.cast 0Specifies that objects are serialized using the
Action Message Format for ActionScript 1.0 and 2.0.cast 3Specifies that objects are serialized using the
Action Message Format for ActionScript 3.0.cast 10Specifies that objects are serialized using the
Haxe Serialization Format.cast 12Specifies that objects are serialized using
JavaScript Object Notation.cast 10Specifies the default format for the current target and runtime.
Currently, the default on the Flash and AIR targets is AMF3, and
the default on other targets is HXSF. If, in the future, a newer
version of OpenFL introduces support for a new object encoding
format, this may change. You can use this constant only if you're
not concerned about interoperability with previous versions.Allows greater control over the serialization of dynamic properties of
dynamic objects. When this property is set to `null`, the default value,
dynamic properties are serialized using native code, which writes all
dynamic properties excluding those whose value is a function.
This value is called only for properties of a dynamic object (objects
declared within a dynamic class) or for objects declared using the
`new` operator.
You can use this property to exclude properties of dynamic objects from
serialization; to write values to properties of dynamic objects; or to
create new properties for dynamic objects. To do so, set this property
to an object that implements the `IDynamicPropertyWriter` interface. For
more information, see the `IDynamicPropertyWriter` interface.cast 0Specifies that objects are serialized using the
Action Message Format for ActionScript 1.0 and 2.0.cast 3Specifies that objects are serialized using the
Action Message Format for ActionScript 3.0.cast 10Specifies that objects are serialized using the
Haxe Serialization Format.cast 12Specifies that objects are serialized using
JavaScript Object Notation.cast 10Specifies the default format for the current target and runtime.
Currently, the default on the Flash and AIR targets is AMF3, and
the default on other targets is HXSF. If, in the future, a newer
version of OpenFL introduces support for a new object encoding
format, this may change. You can use this constant only if you're
not concerned about interoperability with previous versions.The SharedObjectFlushStatus class provides values for the code returned
from a call to the `SharedObject.flush()` method.cast 0Indicates that the flush completed successfully.cast 1Indicates that the user is being prompted to increase disk space for the
shared object before the flush can occur.cast 0Indicates that the flush completed successfully.cast 1Indicates that the user is being prompted to increase disk space for the
shared object before the flush can occur.Indicates the number of bytes that have been loaded thus far during the
load operation.Indicates the total number of bytes in the downloaded data. This property
contains 0 while the load operation is in progress and is populated when
the operation is complete. Also, a missing Content-Length header will
result in bytesTotal being indeterminate.The data received from the load operation. This property is populated only
when the load operation is complete. The format of the data depends on the
setting of the `dataFormat` property:
If the `dataFormat` property is
`URLLoaderDataFormat.TEXT`, the received data is a string
containing the text of the loaded file.
If the `dataFormat` property is
`URLLoaderDataFormat.BINARY`, the received data is a ByteArray
object containing the raw binary data.
If the `dataFormat` property is
`URLLoaderDataFormat.VARIABLES`, the received data is a
URLVariables object containing the URL-encoded variables.Controls whether the downloaded data is received as text
(`URLLoaderDataFormat.TEXT`), raw binary data
(`URLLoaderDataFormat.BINARY`), or URL-encoded variables
(`URLLoaderDataFormat.VARIABLES`).
If the value of the `dataFormat` property is
`URLLoaderDataFormat.TEXT`, the received data is a string
containing the text of the loaded file.
If the value of the `dataFormat` property is
`URLLoaderDataFormat.BINARY`, the received data is a ByteArray
object containing the raw binary data.
If the value of the `dataFormat` property is
`URLLoaderDataFormat.VARIABLES`, the received data is a
URLVariables object containing the URL-encoded variables.
@default URLLoaderDataFormat.TEXT
<__httpRequest>
Closes the load operation in progress. Any load operation in progress is
immediately terminated. If no URL is currently being streamed, an invalid
stream error is thrown.Sends and loads data from the specified URL. The data can be received as
text, raw binary data, or URL-encoded variables, depending on the value
you set for the `dataFormat` property. Note that the default
value of the `dataFormat` property is text. If you want to send
data to the specified URL, you can set the `data` property in
the URLRequest object.
**Note:** If a file being loaded contains non-ASCII characters(as
found in many non-English languages), it is recommended that you save the
file with UTF-8 or UTF-16 encoding as opposed to a non-Unicode format like
ASCII.
A SWF file in the local-with-filesystem sandbox may not load data
from, or provide data to, a resource that is in the network sandbox.
By default, the calling SWF file and the URL you load must be in
exactly the same domain. For example, a SWF file at www.adobe.com can load
data only from sources that are also at www.adobe.com. To load data from a
different domain, place a URL policy file on the server hosting the
data.
You cannot connect to commonly reserved ports. For a complete list of
blocked ports, see "Restricting Networking APIs" in the _ActionScript
3.0 Developer's Guide_.
In Flash Player 10 and later, if you use a multipart Content-Type(for
example "multipart/form-data") that contains an upload(indicated by a
"filename" parameter in a "content-disposition" header within the POST
body), the POST operation is subject to the security rules applied to
uploads:
* The POST operation must be performed in response to a user-initiated
action, such as a mouse click or key press.
* If the POST operation is cross-domain(the POST target is not on the
same server as the SWF file that is sending the POST request), the target
server must provide a URL policy file that permits cross-domain
access.
Also, for any multipart Content-Type, the syntax must be valid
(according to the RFC2046 standards). If the syntax appears to be invalid,
the POST operation is subject to the security rules applied to
uploads.
For more information related to security, see the Flash Player
Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@param request A URLRequest object specifying the URL to download.
@throws ArgumentError `URLRequest.requestHeader` objects may
not contain certain prohibited HTTP request headers.
For more information, see the URLRequestHeader class
description.
@throws MemoryError This error can occur for the following reasons: 1)
Flash Player or AIR cannot convert the
`URLRequest.data` parameter from UTF8 to
MBCS. This error is applicable if the URLRequest
object passed to `load()` is set to
perform a `GET` operation and if
`System.useCodePage` is set to
`true`. 2) Flash Player or AIR cannot
allocate memory for the `POST` data. This
error is applicable if the URLRequest object passed
to `load` is set to perform a
`POST` operation.
@throws SecurityError Local untrusted files may not communicate with the
Internet. This may be worked around by reclassifying
this file as local-with-networking or trusted.
@throws SecurityError You are trying to connect to a commonly reserved
port. For a complete list of blocked ports, see
"Restricting Networking APIs" in the _ActionScript
3.0 Developer's Guide_.
@throws TypeError The value of the request parameter or the
`URLRequest.url` property of the
URLRequest object passed are `null`.
@event complete Dispatched after data has loaded successfully.
@event httpResponseStatus Dispatched if a call to the `load()`
method attempts to access data over HTTP and
Adobe AIR is able to detect and return the
status code for the request.
@event httpStatus If access is over HTTP, and the current Flash
Player environment supports obtaining status
codes, you may receive these events in addition
to any `complete` or
`error` event.
@event ioError The load operation could not be completed.
@event open Dispatched when a load operation commences.
@event progress Dispatched when data is received as the download
operation progresses.
@event securityError A load operation attempted to retrieve data from
a server outside the caller's security sandbox.
This may be worked around using a policy file on
the server.
@event securityError A load operation attempted to load a SWZ file(a
Adobe platform component), but the certificate
is invalid or the digest does not match the
component.
<__dispatchStatus set="method" line="329">
<__prepareRequest set="method" line="351">
{ request : null }Creates a URLLoader object.
@param request A URLRequest object specifying the URL to download. If this
parameter is omitted, no load operation begins. If
specified, the load operation begins immediately(see the
`load` entry for more information).The URLLoader class downloads data from a URL as text, binary data, or
URL-encoded variables. It is useful for downloading text files, XML, or
other information to be used in a dynamic, data-driven application.
A URLLoader object downloads all of the data from a URL before making it
available to code in the applications. It sends out notifications about the
progress of the download, which you can monitor through the
`bytesLoaded` and `bytesTotal` properties, as well as
through dispatched events.
When loading very large video files, such as FLV's, out-of-memory errors
may occur.
When you use this class in Flash Player and in AIR application content
in security sandboxes other than then application security sandbox,
consider the following security model:
* A SWF file in the local-with-filesystem sandbox may not load data
from, or provide data to, a resource that is in the network sandbox.
* By default, the calling SWF file and the URL you load must be in
exactly the same domain. For example, a SWF file at www.adobe.com can load
data only from sources that are also at www.adobe.com. To load data from a
different domain, place a URL policy file on the server hosting the
data.
For more information related to security, see the Flash Player Developer
Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
@event complete Dispatched after all the received data is decoded
and placed in the data property of the URLLoader
object. The received data may be accessed once
this event has been dispatched.
@event httpResponseStatus Dispatched if a call to the load() method
attempts to access data over HTTP, and Adobe AIR
is able to detect and return the status code for
the request.
@event httpStatus Dispatched if a call to URLLoader.load() attempts
to access data over HTTP. For content running in
Flash Player, this event is only dispatched if
the current Flash Player environment is able to
detect and return the status code for the
request.(Some browser environments may not be
able to provide this information.) Note that the
`httpStatus` event(if any) is sent
before(and in addition to) any
`complete` or `error`
event.
@event ioError Dispatched if a call to URLLoader.load() results
in a fatal error that terminates the download.
@event open Dispatched when the download operation commences
following a call to the
`URLLoader.load()` method.
@event progress Dispatched when data is received as the download
operation progresses.
Note that with a URLLoader object, it is not
possible to access the data until it has been
received completely. So, the progress event only
serves as a notification of how far the download
has progressed. To access the data before it's
entirely downloaded, use a URLStream object.
@event securityError Dispatched if a call to URLLoader.load() attempts
to load data from a server outside the security
sandbox. Also dispatched if a call to
`URLLoader.load()` attempts to load a
SWZ file and the certificate is invalid or the
digest string does not match the component."tags=\"haxe,release\""The URLLoaderDataFormat class provides values that specify how downloaded
data is received.cast 0Specifies that downloaded data is received as raw binary data.cast 1Specifies that downloaded data is received as text.cast 2Specifies that downloaded data is received as URL-encoded variables.cast 0Specifies that downloaded data is received as raw binary data.cast 1Specifies that downloaded data is received as text.cast 2Specifies that downloaded data is received as URL-encoded variables.The MIME content type of the content in the the `data`
property.
The default value is
`application/x-www-form-urlencoded`.
**Note**:The `FileReference.upload()`,
`FileReference.download()`, and `HTMLLoader.load()`
methods do not support the `URLRequest.contentType`
property.
When sending a POST request, the values of the `contentType`
and `data` properties must correspond properly. The value of
the `contentType` property instructs servers on how to
interpret the value of the `data` property.
* If the value of the `data` property is a URLVariables
object, the value of `contentType` must be
`application/x-www-form-urlencoded`.
* If the value of the `data` property is any other type,
the value of `contentType` should indicate the type of the POST
data that will be sent(which is the binary or string data contained in
the value of the `data` property).
* For `FileReference.upload()`, the Content-Type of the
request is set automatically to `multipart/form-data`, and the
value of the `contentType` property is ignored.
In Flash Player 10 and later, if you use a multipart Content-Type(for
example "multipart/form-data") that contains an upload(indicated by a
"filename" parameter in a "content-disposition" header within the POST
body), the POST operation is subject to the security rules applied to
uploads:
* The POST operation must be performed in response to a user-initiated
action, such as a mouse click or key press.
* If the POST operation is cross-domain(the POST target is not on the
same server as the SWF file that is sending the POST request), the target
server must provide a URL policy file that permits cross-domain
access.
Also, for any multipart Content-Type, the syntax must be valid
(according to the RFC2046 standards). If the syntax appears to be invalid,
the POST operation is subject to the security rules applied to
uploads.An object containing data to be transmitted with the URL request.
This property is used in conjunction with the `method`
property. When the value of `method` is `GET`, the
value of `data` is appended to the value of
`URLRequest.url`, using HTTP query-string syntax. When the
`method` value is `POST`(or any value other than
`GET`), the value of `data` is transmitted in the
body of the HTTP request.
The URLRequest API offers binary `POST` support and support
for URL-encoded variables, as well as support for strings. The data object
can be a ByteArray, URLVariables, or String object.
The way in which the data is used depends on the type of object
used:
* If the object is a ByteArray object, the binary data of the
ByteArray object is used as `POST` data. For `GET`,
data of ByteArray type is not supported. Also, data of ByteArray type is
not supported for `FileReference.upload()` and
`FileReference.download()`.
* If the object is a URLVariables object and the method is
`POST`, the variables are encoded using
_x-www-form-urlencoded_ format and the resulting string is used as
`POST` data. An exception is a call to
`FileReference.upload()`, in which the variables are sent as
separate fields in a `multipart/form-data` post.
* If the object is a URLVariables object and the method is
`GET`, the URLVariables object defines variables to be sent
with the URLRequest object.
* Otherwise, the object is converted to a string, and the string is
used as the `POST` or `GET` data.
This data is not sent until a method, such as
`navigateToURL()` or `FileReference.upload()`, uses
the URLRequest object.
**Note**: The value of `contentType` must correspond to
the type of data in the `data` property. See the note in the
description of the `contentType` property.Specifies whether redirects are to be followed (`true`) or not (`false`).
**Note:** The `FileReference.upload()`, `FileReference.download()`, and
`HTMLLoader.load()` methods do not support the `URLRequest.followRedirects` property.
The default value is `true`.Specifies the idle timeout value (in milliseconds) for this request.
The idle timeout is the amount of time the client waits for a response from the
server, after the connection is established, before abandoning the request.
**Note:** The `HTMLLoader.load()` method does not support the
`URLRequest.idleTimeout` property. The HTMLLoader class defines its own
`idleTimeout` property.
The default value is initialized from the `URLRequestDefaults.idleTimeout` property. Preferences, and click the Security panel.
3. Click the Show Cookies button.
4. Click the Reomove All button.
To clear cookies on Windows:
1. Open the Internet Properties control panel, and click the General tab.
2. Click the Delete Cookies button.
The default value is `true`.]]>Controls the HTTP form submission method.
For SWF content running in Flash Player(in the browser), this property
is limited to GET or POST operations, and valid values are
`URLRequestMethod.GET` or
`URLRequestMethod.POST`.
For content running in Adobe AIR, you can use any string value if the
content is in the application security sandbox. Otherwise, as with content
running in Flash Player, you are restricted to using GET or POST
operations.
For content running in Adobe AIR, when using the
`navigateToURL()` function, the runtime treats a URLRequest
that uses the POST method(one that has its `method` property
set to `URLRequestMethod.POST`) as using the GET method.
**Note:** If running in Flash Player and the referenced form has no
body, Flash Player automatically uses a GET operation, even if the method
is set to `URLRequestMethod.POST`. For this reason, it is
recommended to always include a "dummy" body to ensure that the correct
method is used.
@default URLRequestMethod.GET
@throws ArgumentError If the `value` parameter is not
`URLRequestMethod.GET` or
`URLRequestMethod.POST`.The array of HTTP request headers to be appended to the HTTP request. The
array is composed of URLRequestHeader objects. Each object in the array
must be a URLRequestHeader object that contains a name string and a value
string, as follows:
Flash Player and the AIR runtime impose certain restrictions on request
headers; for more information, see the URLRequestHeader class
description.
Not all methods that accept URLRequest parameters support the
`requestHeaders` property, consult the documentation for the
method you are calling. For example, the
`FileReference.upload()` and
`FileReference.download()` methods do not support the
`URLRequest.requestHeaders` property.
Due to browser limitations, custom HTTP request headers are only
supported for `POST` requests, not for `GET`
requests.Specifies the user-agent string to be used in the HTTP request.
The default value is the same user agent string that is used by OpenFL on native
targets, by the web browser or by Flash Player (depending upon the target).
**Note:** This property does not affect the user agent string when the
URLRequest object is used with the `load()` method of an HTMLLoader object. To set
the user agent string for an HTMLLoader object, set the `userAgent` property of the
HTMLLoader object or set the static `URLRequestDefaults.userAgent` property.{ url : null }Creates a URLRequest object. If `System.useCodePage` is
`true`, the request is encoded using the system code page,
rather than Unicode. If `System.useCodePage` is
`false`, the request is encoded using Unicode, rather than the
system code page.
@param url The URL to be requested. You can set the URL later by using the
`url` property.The URLRequest class captures all of the information in a single HTTP
request. URLRequest objects are passed to the `load()` methods
of the Loader, URLStream, and URLLoader classes, and to other loading
operations, to initiate URL downloads. They are also passed to the
`upload()` and `download()` methods of the
FileReference class.
A SWF file in the local-with-filesystem sandbox may not load data from,
or provide data to, a resource that is in the network sandbox.
By default, the calling SWF file and the URL you load must be in the
same domain. For example, a SWF file at www.adobe.com can load data only
from sources that are also at www.adobe.com. To load data from a different
domain, place a URL policy file on the server hosting the data.
However, in Adobe AIR, content in the application security sandbox
(content installed with the AIR application) is not restricted by these
security limitations. For content running in Adobe AIR, files in the
application security sandbox can access URLs using any of the following URL
schemes:
* `http` and `https`
* `file`
* `app-storage`
* `app`
Content running in Adobe AIR that is not in the application security
sandbox observes the same restrictions as content running in the browser
(in Flash Player), and loading is governed by the content's domain and any
permissions granted in URL policy files.
For more information related to security, see the Flash Player Developer
Center Topic: [Security](http://www.adobe.com/go/devnet_security_en)."tags=\"haxe,release\""trueThe default setting for the `followRedirects` property of URLRequest objects.
Setting the `followRedirects` property in a URLRequest object overrides this
default setting. This setting does not apply to URLRequest objects used in file
upload or RTMP requests.
The default value is `true`.0The default setting for the `idleTimeout` property of URLRequest objects and
HTMLLoader objects.
The idle timeout is the amount of time (in milliseconds) that the client waits for
a response from the server, after the connection is established, before abandoning
the request.
This defines the default idle timeout used by the URLRequest or HTMLLoader object.
Setting the `idleTimeout` property in a URLRequest object or an HTMLLoader object
overrides this default setting.
When this property is set to 0 (the default), the runtime uses the default idle
timeout value defined by the operating system. The default idle timeout value
varies between operating systems (such as Mac OS, Linux, or Windows) and between
operating system versions.
This setting does not apply to URLRequest objects used in file upload or RTMP
requests.
The default value is 0.trueThe default setting for the manageCookies property of URLRequest objects. Setting
the manageCookies property in a URLRequest object overrides this default setting.
**Note:** This setting does not apply to URLRequest objects used in file upload
or RTMP requests.
The default value is `true`.The default setting for the `userAgent` property of URLRequest objects. Setting the
`userAgent` property in a URLRequest object overrides this default setting.
This is also the default user agent string for all HTMLLoader objects (used when
you call the `load()` method of the HTMLLoader object). Setting the `userAgent`
property of the HTMLLoader object overrides the `URLRequestDefaults.userAgent`
setting.
This default value varies depending on the runtime operating system (such as Mac OS,
Linux or Windows), the runtime language, and the runtime version, as in the
following examples:
* `"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"`
* `"Mozilla/5.0 (Windows; U; en) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"`
* `"Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"`The URLRequestDefaults class includes static properties that you can set to define
default values for the properties of the URLRequest class. It also includes a static
method, `URLRequestDefaults.setLoginCredentialsForHost()`, which lets you define
default authentication credentials for requests. The URLRequest class defines the
information to use in an HTTP request.
Any properties set in a URLRequest object override those static properties set for the
URLRequestDefaults class.
URLRequestDefault settings only apply to content in the caller's application domain,
with one exception: settings made by calling
`URLRequestDefaults.setLoginCredentialsForHost()` apply to all application domains in
the currently running application.
Only Adobe® AIR® content running in the application security sandbox can use the
URLRequestDefaults class. Other content will result in a SecurityError being thrown
when accessing the members or properties of this class."tags=\"haxe,release\""An HTTP request header name(such as `Content-Type` or
`SOAPAction`).The value associated with the `name` property(such as
`text/plain`).{ value : "", name : "" }Creates a new URLRequestHeader object that encapsulates a single HTTP
request header. URLRequestHeader objects are used in the
`requestHeaders` property of the URLRequest class.
@param name An HTTP request header name(such as
`Content-Type` or `SOAPAction`).
@param value The value associated with the `name` property
(such as `text/plain`).® AIR®, content in the application
security sandbox(such as content installed with the AIR application) can
use any request headers, without error. However, for content running in
Adobe AIR that is in a different security sandbox, or for content running
in Flash® Player, using following request headers cause a
runtime error to be thrown, and the restricted terms are not case-sensitive
(for example, `Get`, `get`, and `GET` are
each not allowed):
In Flash Player and in Adobe AIR content outside of the application
security sandbox, the following request headers cannot be used, and the
restricted terms are not case-sensitive(for example, `Get`,
`get`, and `GET` are all not allowed). Also,
hyphenated terms apply if an underscore character is used(for example,
both `Content-Length` and `Content_Length` are not
allowed):
`Accept-Charset`, `Accept-Encoding`,
`Accept-Ranges`, `Age`, `Allow`,
`Allowed`, `Authorization`, `Charge-To`,
`Connect`, `Connection`, `Content-Length`,
`Content-Location`, `Content-Range`,
`Cookie`, `Date`, `Delete`,
`ETag`, `Expect`, `Get`,
`Head`, `Host`, `If-Modified-Since`,
`Keep-Alive`, `Last-Modified`, `Location`,
`Max-Forwards`, `Options`, `Origin`,
`Post`, `Proxy-Authenticate`,
`Proxy-Authorization`, `Proxy-Connection`,
`Public`, `Put`, `Range`,
`Referer`, `Request-Range`, `Retry-After`,
`Server`, `TE`, `Trace`,
`Trailer`, `Transfer-Encoding`, `Upgrade`,
`URI`, `User-Agent`, `Vary`,
`Via`, `Warning`, `WWW-Authenticate`,
`x-flash-version`.
URLRequestHeader objects are restricted in length. If the cumulative
length of a URLRequestHeader object(the length of the `name`
property plus the `value` property) or an array of
URLRequestHeader objects used in the `URLRequest.requestHeaders`
property exceeds the acceptable length, an exception is thrown.
Content running in Adobe AIR sets the `ACCEPT` header to the
following, unless you specify a setting for the `ACCEPT` header
in the `requestHeaders` property of the URLRequest class:
```
text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, * /*;q=0.5
```
Not all methods that accept URLRequest parameters support the
`requestHeaders` property, consult the documentation for the
method you are calling. For example, the
`FileReference.upload()` and
`FileReference.download()` methods do not support the
`URLRequest.requestHeaders` property.
Due to browser limitations, custom HTTP request headers are only
supported for `POST` requests, not for `GET`
requests.]]>"tags=\"haxe,release\""The URLRequestMethod class provides values that specify whether the
URLRequest object should use the `POST` method or the
`GET` method when sending data to a server.cast "DELETE"Specifies that the URLRequest object is a `DELETE`.cast "GET"Specifies that the URLRequest object is a `GET`.cast "HEAD"Specifies that the URLRequest object is a `HEAD`.cast "OPTIONS"Specifies that the URLRequest object is `OPTIONS`.cast "POST"Specifies that the URLRequest object is a `POST`.
_Note:_ For content running in Adobe AIR, when using the
`navigateToURL()` function, the runtime treats a URLRequest
that uses the POST method(one that has its `method` property
set to `URLRequestMethod.POST`) as using the GET method.cast "PUT"Specifies that the URLRequest object is a `PUT`.cast "DELETE"Specifies that the URLRequest object is a `DELETE`.cast "GET"Specifies that the URLRequest object is a `GET`.cast "HEAD"Specifies that the URLRequest object is a `HEAD`.cast "OPTIONS"Specifies that the URLRequest object is `OPTIONS`.cast "POST"Specifies that the URLRequest object is a `POST`.
_Note:_ For content running in Adobe AIR, when using the
`navigateToURL()` function, the runtime treats a URLRequest
that uses the POST method(one that has its `method` property
set to `URLRequestMethod.POST`) as using the GET method.cast "PUT"Specifies that the URLRequest object is a `PUT`.new ApplicationDomain(null)Gets the current application domain in which your code is executing.Gets the parent domain of this application domain.Gets a public definition from the specified application domain. The
definition can be that of a class, a namespace, or a function.
@param name The name of the definition.
@return The object associated with the definition.
@throws ReferenceError No public definition exists with the specified
name.Checks to see if a public definition exists within the specified
application domain. The definition can be that of a class, a
namespace, or a function.
@param name The name of the definition.
@return A value of `true` if the specified definition exists;
otherwise, `false`.{ parentDomain : null }Creates a new application domain.
@param parentDomain If no parent domain is passed in, this application
domain takes the system domain as its parent.The ApplicationDomain class is a container for discrete groups of class
definitions. Application domains are used to partition classes that are in
the same security domain. They allow multiple definitions of the same
class to exist and allow children to reuse parent definitions.
Application domains are used when an external SWF file is loaded through
the Loader class. All ActionScript 3.0 definitions in the loaded SWF file
are stored in the application domain, which is specified by the
`applicationDomain` property of the LoaderContext object that you pass as
a `context` parameter of the Loader object's `load()` or `loadBytes()`
method. The LoaderInfo object also contains an `applicationDomain`
property, which is read-only.
All code in a SWF file is defined to exist in an application domain. The
current application domain is where your main application runs. The system
domain contains all application domains, including the current domain,
which means that it contains all Flash Player classes.
Every application domain, except the system domain, has an associated
parent domain. The parent domain of your main application's application
domain is the system domain. Loaded classes are defined only when their
parent doesn't already define them. You cannot override a loaded class
definition with a newer definition.
For usage examples of application domains, see the _ActionScript 3.0
Developer's Guide_.
The `ApplicationDomain()` constructor function allows you to create an
ApplicationDomain object."tags=\"haxe,release\""trueSpecifies whether access to the user's camera and microphone has been
administratively prohibited(`true`) or allowed
(`false`). The server string is `AVD`.
For content in Adobe AIRâ„¢, this property applies only to content in
security sandboxes other than the application security sandbox. Content in
the application security sandbox can always access the user's camera and
microphone.Specifies the current CPU architecture. The `cpuArchitecture`
property can return the following strings: "`PowerPC`",
"`x86`", "`SPARC`", and "`ARM`". The
server string is `ARCH`.falseSpecifies whether the system supports(`true`) or does not
support(`false`) communication with accessibility aids. The
server string is `ACC`.trueSpecifies whether the system has audio capabilities. This property is
always `true`. The server string is `A`.falseSpecifies whether the system can(`true`) or cannot
(`false`) encode an audio stream, such as that coming from a
microphone. The server string is `AE`.falseSpecifies whether the system supports(`true`) or does not
support(`false`) embedded video. The server string is
`EV`.falseSpecifies whether the system does(`true`) or does not
(`false`) have an input method editor(IME) installed. The
server string is `IME`.falseSpecifies whether the system does(`true`) or does not
(`false`) have an MP3 decoder. The server string is
`MP3`.falseSpecifies whether the system does(`true`) or does not
(`false`) support printing. The server string is
`PR`.falseSpecifies whether the system does(`true`) or does not
(`false`) support the development of screen broadcast
applications to be run through Flash Media Server. The server string is
`SB`.falseSpecifies whether the system does(`true`) or does not
(`false`) support the playback of screen broadcast applications
that are being run through Flash Media Server. The server string is
`SP`.falseSpecifies whether the system can(`true`) or cannot
(`false`) play streaming audio. The server string is
`SA`.falseSpecifies whether the system can(`true`) or cannot
(`false`) play streaming video. The server string is
`SV`.trueSpecifies whether the system supports native SSL sockets through
NetConnection(`true`) or does not(`false`). The
server string is `TLS`.falseSpecifies whether the system can(`true`) or cannot
(`false`) encode a video stream, such as that coming from a web
camera. The server string is `VE`.falseSpecifies whether the system is a special debugging version
(`true`) or an officially released version
(`false`). The server string is `DEB`. This property
is set to `true` when running in the debug version of Flash
Player or the AIR Debug Launcher(ADL).falseSpecifies whether the Flash runtime is embedded in a PDF file that is open
in Acrobat 9.0 or higher(`true`) or not(`false`).Specifies the language code of the system on which the content is
running. The language is specified as a lowercase two-letter language
code from ISO 639-1. For Chinese, an additional uppercase two-letter
country code from ISO 3166 distinguishes between Simplified and
Traditional Chinese. The languages codes are based on the English
names of the language: for example, `hu` specifies Hungarian.
On English systems, this property returns only the language code
(`en`), not the country code. On Microsoft Windows systems, this
property returns the user interface (UI) language, which refers to the
language used for all menus, dialog boxes, error messages, and help
files. The following table lists the possible values:
| Language | Value |
| --- | --- |
| Czech | `cs` |
| Danish | `da` |
| Dutch | `nl` |
| English | `en` |
| Finnish | `fi` |
| French | `fr` |
| German | `de` |
| Hungarian | `hu` |
| Italian | `it` |
| Japanese | `ja` |
| Korean | `ko` |
| Norwegian | `no` |
| Other/unknown | `xu` |
| Polish | `pl` |
| Portuguese | `pt` |
| Russian | `ru` |
| Simplified Chinese | `zh-CN` |
| Spanish | `es` |
| Swedish | `sv` |
| Traditional Chinese | `zh-TW` |
| Turkish | `tr` |
_Note:_ The value of `Capabilities.language` property is limited to
the possible values on this list. Because of this limitation, Adobe
AIR applications should use the first element in the
`Capabilities.languages` array to determine the primary user interface
language for the system.
The server string is `L`.falseSpecifies whether read access to the user's hard disk has been
administratively prohibited(`true`) or allowed
(`false`). For content in Adobe AIR, this property applies only
to content in security sandboxes other than the application security
sandbox.(Content in the application security sandbox can always read from
the file system.) If this property is `true`, Flash Player
cannot read files(including the first file that Flash Player launches
with) from the user's hard disk. If this property is `true`,
AIR content outside of the application security sandbox cannot read files
from the user's hard disk. For example, attempts to read a file on the
user's hard disk using load methods will fail if this property is set to
`true`.
Reading runtime shared libraries is also blocked if this property is
set to `true`, but reading local shared objects is allowed
without regard to the value of this property.
The server string is `LFD`.Specifies the manufacturer of the running version of Flash Player or the
AIR runtime, in the format `"Adobe`
`_OSName_"`. The value for `_OSName_`
could be `"Windows"`, `"Macintosh"`,
`"Linux"`, or another operating system name. The server string
is `M`.
Do _not_ use `Capabilities.manufacturer` to determine a
capability based on the operating system if a more specific capability
property exists. Basing a capability on the operating system is a bad
idea, since it can lead to problems if an application does not consider
all potential target operating systems. Instead, use the property
corresponding to the capability for which you are testing. For more
information, see the Capabilities class description.0Retrieves the highest H.264 Level IDC that the client hardware supports.
Media run at this level are guaranteed to run; however, media run at the
highest level might not run with the highest quality. This property is
useful for servers trying to target a client's capabilities. Using this
property, a server can determine the level of video to send to the client.
The server string is `ML`.Specifies the current operating system. The `os` property can return
the following strings:
|Operating system | Value |
| --- | --- |
| Windows 7 | `"Windows 7"` |
| Windows Vista | `"Windows Vista"` |
| Windows Server 2008 R2 | `"Windows Server 2008 R2"` |
| Windows Server 2008 | `"Windows Server 2008"` |
| Windows Home Server | `"Windows Home Server"` |
| Windows Server 2003 R2 | `"Windows Server 2003 R2"` |
| Windows Server 2003 | `"Windows Server 2003"` |
| Windows XP 64 | `"Windows Server XP 64"` |
| Windows XP | `"Windows XP"` |
| Windows 98 | `"Windows 98"` |
| Windows 95 | `"Windows 95"` |
| Windows NT | `"Windows NT"` |
| Windows 2000 | `"Windows 2000"` |
| Windows ME | `"Windows ME"` |
| Windows CE | `"Windows CE"` |
| Windows SmartPhone | `"Windows SmartPhone"` |
| Windows PocketPC | `"Windows PocketPC"` |
| Windows CEPC | `"Windows CEPC"` |
| Windows Mobile | `"Windows Mobile"` |
| Mac OS | `"Mac OS X.Y.Z"` (where X.Y.Z is the version number, for example: `"Mac OS 10.5.2"`) |
| Linux | `"Linux"` (Flash Player attaches the Linux version, such as `"Linux 2.6.15-1.2054_FC5smp"` |
| iPhone OS 4.1 | `"iPhone3,1"` |
The server string is `OS`.
Do _not_ use `Capabilities.os` to determine a capability based on the
operating system if a more specific capability property exists. Basing
a capability on the operating system is a bad idea, since it can lead
to problems if an application does not consider all potential target
operating systems. Instead, use the property corresponding to the
capability for which you are testing. For more information, see the
Capabilities class description.Specifies the pixel aspect ratio of the screen. The server string is
`AR`."StandAlone" or in test mode
* `"PlugIn"` for the Flash Player browser plug-in(and for
SWF content loaded by an HTML page in an AIR application)
* `"StandAlone"` for the stand-alone Flash Player
The server string is `PT`.]]>"color"Specifies the screen color. This property can have the value
`"color"`, `"gray"`(for grayscale), or
`"bw"`(for black and white). The server string is
`COL`.Specifies the dots-per-inch(dpi) resolution of the screen, in pixels. The
server string is `DP`.Specifies the maximum horizontal resolution of the screen. The server
string is `R`(which returns both the width and height of the
screen). This property does not update with a user's screen resolution and
instead only indicates the resolution at the time Flash Player or an Adobe
AIR application started. Also, the value only specifies the primary
screen.Specifies the maximum vertical resolution of the screen. The server string
is `R`(which returns both the width and height of the screen).
This property does not update with a user's screen resolution and instead
only indicates the resolution at the time Flash Player or an Adobe AIR
application started. Also, the value only specifies the primary screen.""trueSpecifies whether the system supports running 32-bit processes. The server
string is `PR32`.trueSpecifies whether the system supports running 64-bit processes. The server
string is `PR64`.TouchscreenType.FINGERSpecifies the type of touchscreen supported, if any. Values are defined in
the openfl.system.TouchscreenType class.® AIR® platform
and version information. The format of the version number is: _platform
majorVersion,minorVersion,buildNumber,internalBuildNumber_. Possible
values for _platform_ are `"WIN"`, ` `"MAC"`,
`"LNX"`, and `"AND"`. Here are some examples of
version information: `WIN 9,0,0,0 // Flash
Player 9 for Windows MAC 7,0,25,0 // Flash Player 7 for Macintosh LNX
9,0,115,0 // Flash Player 9 for Linux AND 10,2,150,0 // Flash Player 10
for Android`
Do _not_ use `Capabilities.version` to determine a
capability based on the operating system if a more specific capability
property exists. Basing a capability on the operating system is a bad
idea, since it can lead to problems if an application does not consider
all potential target operating systems. Instead, use the property
corresponding to the capability for which you are testing. For more
information, see the Capabilities class description.
The server string is `V`.]]>
<__standardDensities expr="[120, 160, 240, 320, 480, 640, 800, 960]" line="476" static="1">
[120, 160, 240, 320, 480, 640, 800, 960]Specifies whether the system supports multichannel audio of a specific type. The
class flash.media.AudioDecoder enumerates the possible types.
_AIR profile support:_ Multichannel audio is supported only on AIR for TV devices.
On all other devices, this method always returns `false`. See AIR Profile Support
for more information regarding API support across multiple profiles.
**Note:** When using one of the DTS audio codecs, scenarios exist in which
`hasMultiChannelAudio()` returns `true` but the DTS audio is not played. For
example, consider a Blu-ray player with an S/PDIF output, connected to an old
amplifier. The old amplifier does not support DTS, but S/PDIF has no protocol to
notify the Blu-ray player. If the Blu-ray player sends the DTS stream to the old
amplifier, the user hears nothing. Therefore, as a best practice when using DTS,
provide a user interface so that the user can indicate if no sound is playing.
Then, your application can revert to a different codec.
The following table shows the server string for each multichannel audio type:
| Multichannel audio type | Server string |
| --- | --- |
| AudioDecoder.DOLBY_DIGITAL | DD |
| AudioDecoder.DOLBY_DIGITAL_PLUS | DDP |
| AudioDecoder.DTS | DTS |
| AudioDecoder.DTS_EXPRESS | DTE |
| AudioDecoder.DTS_HD_HIGH_RESOLUTION_AUDIO | DTH |
| AudioDecoder.DTS_HD_MASTER_AUDIO | DTM |
@param type A String value representing a multichannel audio type. The valid
values are the constants defined in flash.media.AudioDecoder.
@returns The Boolean value `true` if the system supports the multichannel audio
type passed in the `type` parameter. Otherwise, the return value is `false`.A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&
SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows&
R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP&
L=en&PT=External&AVD=f&LFD=f&WD=f&IME=t
The following table lists the properties of the Capabilities class and
corresponding server strings: Capabilities class
propertyServer
string |
|`avHardwareDisable` | `AVD` |
|`hasAccessibility` | `ACC` |
|`hasAudio` | `A` |
|`hasAudioEncoder` | `AE` |
|`hasEmbeddedVideo` | `EV` |
|`hasIME` | `IME` |
|`hasMP3` | `MP3` |
|`hasPrinting` | `PR` |
|`hasScreenBroadcast` | `SB` |
|`hasScreenPlayback` | `SP` |
|`hasStreamingAudio` | `SA` |
|`hasStreamingVideo` | `SV` |
|`hasTLS` | `TLS` |
|`hasVideoEncoder` | `VE` |
|`isDebugger` | `DEB` |
|`language` | `L` |
|`localFileReadDisable` | `LFD` |
|`manufacturer` | `M` |
|`maxLevelIDC` | `ML` |
|`os` | `OS` |
|`pixelAspectRatio` | `AR` |
|`playerType` | `PT` |
|`screenColor` | `COL` |
|`screenDPI` | `DP` |
|`screenResolutionX` | `R` |
|`screenResolutionY` | `R` |
|`version` | `V` |
There is also a `WD` server string that specifies whether windowless mode
is disabled. Windowless mode can be disabled in Flash Player due to
incompatibility with the web browser or to a user setting in the mms.cfg
file. There is no corresponding Capabilities property.
All properties of the Capabilities class are read-only.]]>"tags=\"haxe,release\""Specifies whether you can use a `Loader` object to import content with
executable code, such as a SWF file, into the caller's security
sandbox. There are two affected importing operations: the
`Loader.loadBytes()` method, and the `Loader.load()` method with
`LoaderContext.securityDomain = SecurityDomain.currentDomain`. (The
latter operation is not supported in the AIR application sandbox.)
With the `allowCodeImport` property set to `false`, these importing
operations are restricted to safe operations, such as loading images.
Normal, non-importing SWF file loading with the `Loader.load()` method
is not affected by the value of this property.
This property is useful when you want to import image content into
your sandbox - for example, when you want to replicate or process an
image from a different domain - but you don't want to take the
security risk of receiving a SWF file when you expected only an image
file. Since SWF files may contain ActionScript code, importing a SWF
file is a much riskier operation than importing an image file.
In AIR content in the application sandbox, the default value is
`false`. In non-application content (which includes all content in
Flash Player), the default value is `true`.
The `allowCodeImport` property was added in Flash Player 10.1 and AIR
2.0. However, this property is made available to SWF files and AIR
applications of all versions when the Flash Runtime supports it.Legacy property, replaced by `allowCodeImport`, but still supported
for compatibility. Previously, the only operation affected by
`allowLoadBytesCodeExecution` was the `Loader.loadBytes()` method, but
as of Flash Player 10.1 and AIR 2.0, the import-loading operation of
`Loader.load()` with `LoaderContext.securityDomain =
SecurityDomain.currentDomain` is affected as well. (The latter
operation is not supported in the AIR application sandbox.) This dual
effect made the property name `allowLoadBytesCodeExecution` overly
specific, so now `allowCodeImport` is the preferred property name.
Setting either of `allowCodeImport` or `allowLoadBytesCodeExecution`
will affect the value of both.
Specifies whether you can use a `Loader` object to import content with
executable code, such as a SWF file, into the caller's security
sandbox. With this property set to `false`, these importing operations
are restricted to safe operations, such as loading images.
In AIR content in the application sandbox, the default value is
`false`. In non-application content, the default value is `true`.Specifies the application domain to use for the `Loader.load()` or
`Loader.loadBytes()` method. Use this property only when loading a SWF
file written in ActionScript 3.0 (not an image or a SWF file written
in ActionScript 1.0 or ActionScript 2.0).
Every security domain is divided into one or more application domains,
represented by ApplicationDomain objects. Application domains are not
for security purposes; they are for managing cooperating units of
ActionScript code. If you are loading a SWF file from another domain,
and allowing it to be placed in a separate security domain, then you
cannot control the choice of application domain into which the loaded
SWF file is placed; and if you have specified a choice of application
domain, it will be ignored. However, if you are loading a SWF file
into your own security domain � either because the SWF file comes
from your own domain, or because you are importing it into your
security domain � then you can control the choice of application
domain for the loaded SWF file.
You can pass an application domain only from your own security domain
in `LoaderContext.applicationDomain`. Attempting to pass an
application domain from any other security domain results in a
`SecurityError` exception.
You have four choices for what kind of `ApplicationDomain` property to
use:
* **Child of loader's ApplicationDomain.** The default. You can
explicitly represent this choice with the syntax `new
ApplicationDomain(ApplicationDomain.currentDomain)`. This allows the
loaded SWF file to use the parent's classes directly, for example by
writing `new MyClassDefinedInParent()`. The parent, however, cannot
use this syntax; if the parent wishes to use the child's classes, it
must call `ApplicationDomain.getDefinition()` to retrieve them. The
advantage of this choice is that, if the child defines a class with
the same name as a class already defined by the parent, no error
results; the child simply inherits the parent's definition of that
class, and the child's conflicting definition goes unused unless
either child or parent calls the `ApplicationDomain.getDefinition()`
method to retrieve it.
* **Loader's own ApplicationDomain.** You use this application domain
when using `ApplicationDomain.currentDomain`. When the load is
complete, parent and child can use each other's classes directly. If
the child attempts to define a class with the same name as a class
already defined by the parent, the parent class is used and the child
class is ignored.
* **Child of the system ApplicationDomain.** You use this application
domain when using `new ApplicationDomain(null)`. This separates loader
and loadee entirely, allowing them to define separate versions of
classes with the same name without conflict or overshadowing. The only
way either side sees the other's classes is by calling the
`ApplicationDomain.getDefinition()` method.
* **Child of some other ApplicationDomain.** Occasionally you may have
a more complex ApplicationDomain hierarchy. You can load a SWF file
into any ApplicationDomain from your own SecurityDomain. For example,
`new
ApplicationDomain(ApplicationDomain.currentDomain.parentDomain.parentDomain)`
loads a SWF file into a new child of the current domain's parent's
parent.
When a load is complete, either side (loading or loaded) may need to
find its own ApplicationDomain, or the other side's ApplicationDomain,
for the purpose of calling `ApplicationDomain.getDefinition()`. Either
side can retrieve a reference to its own application domain by using
`ApplicationDomain.currentDomain`. The loading SWF file can retrieve a
reference to the loaded SWF file's ApplicationDomain via
`Loader.contentLoaderInfo.applicationDomain`. If the loaded SWF file
knows how it was loaded, it can find its way to the loading SWF file's
ApplicationDomain object. For example, if the child was loaded in the
default way, it can find the loading SWF file's application domain by
using `ApplicationDomain.currentDomain.parentDomain`.
For more information, see the "ApplicationDomain class" section of the
"Client System Environment" chapter of the _ActionScript 3.0
Developer's Guide_.` tags.
If you set `checkPolicyFile` to `true`, the main download that
specified in the `Loader.load()` method does not load until the policy
file has been completely processed. Therefore, as long as the policy
file that you need exists, as soon as you have received any
`ProgressEvent.PROGRESS` or `Event.COMPLETE` events from the
`contentLoaderInfo` property of your Loader object, the policy file
download is complete, and you can safely begin performing operations
that require the policy file.
If you set `checkPolicyFile` to `true`, and no relevant policy file is
found, you will not receive any error indication until you attempt an
operation that throws a `SecurityError` exception. However, once the
LoaderInfo object dispatches a `ProgressEvent.PROGRESS` or
`Event.COMPLETE` event, you can test whether a relevant policy file
was found by checking the value of the `LoaderInfo.childAllowsParent`
property.
If you will not need pixel-level access to the image that you are
loading, you should not set the `checkPolicyFile` property to `true`.
Checking for a policy file in this case is wasteful, because it may
delay the start of your download, and it may consume network bandwidth
unnecessarily.
Also try to avoid setting `checkPolicyFile` to `true` if you are using
the `Loader.load()` method to download a SWF file. This is because
SWF-to-SWF permissions are not controlled by policy files, but rather
by the `Security.allowDomain()` method, and thus `checkPolicyFile` has
no effect when you load a SWF file. Checking for a policy file in this
case is wasteful, because it may delay the download of the SWF file,
and it may consume network bandwidth unnecessarily. (Flash Player or
AIR cannot tell whether your main download will be a SWF file or an
image, because the policy file download occurs before the main
download.)
Be careful with `checkPolicyFile` if you are downloading an object
from a URL that may use server-side HTTP redirects. Policy files are
always retrieved from the corresponding initial URL that you specify
in `URLRequest.url`. If the final object comes from a different URL
because of HTTP redirects, then the initially downloaded policy files
might not be applicable to the object's final URL, which is the URL
that matters in security decisions. If you find yourself in this
situation, you can examine the value of `LoaderInfo.url` after you
have received a `ProgressEvent.PROGRESS` or `Event.COMPLETE` event,
which tells you the object's final URL. Then call the
`Security.loadPolicyFile()` method with a policy file URL based on the
object's final URL. Then poll the value of
`LoaderInfo.childAllowsParent` until it becomes `true`.
You do not need to set this property for AIR content running in the
application sandbox. Content in the AIR application sandbox can call
the `BitmapData.draw()` method using any loaded image content as the
source.]]>Specifies the security domain to use for a `Loader.load()` operation.
Use this property only when loading a SWF file (not an image).
The choice of security domain is meaningful only if you are loading a
SWF file that might come from a different domain (a different server)
than the loading SWF file. When you load a SWF file from your own
domain, it is always placed into your security domain. But when you
load a SWF file from a different domain, you have two options. You can
allow the loaded SWF file to be placed in its "natural" security
domain, which is different from that of the loading SWF file; this is
the default. The other option is to specify that you want to place the
loaded SWF file placed into the same security domain as the loading
SWF file, by setting `myLoaderContext.securityDomain` to be equal to
`SecurityDomain.currentDomain`. This is called _import loading_, and
it is equivalent, for security purposes, to copying the loaded SWF
file to your own server and loading it from there. In order for import
loading to succeed, the loaded SWF file's server must have a policy
file trusting the domain of the loading SWF file.
You can pass your own security domain only in
`LoaderContext.securityDomain`. Attempting to pass any other security
domain results in a `SecurityError` exception.
Content in the AIR application security sandbox cannot load content
from other sandboxes into its SecurityDomain.
For more information, see the "Security" chapter in the _ActionScript
3.0 Developer's Guide_.{ securityDomain : null, applicationDomain : null, checkPolicyFile : false }Creates a new LoaderContext object, with the specified settings. For
complete details on these settings, see the descriptions of the
properties of this class.
@param checkPolicyFile Specifies whether a check should be made for
the existence of a URL policy file before
loading the object.
@param applicationDomain Specifies the ApplicationDomain object to use
for a Loader object.
@param securityDomain Specifies the SecurityDomain object to use
for a Loader object.
_Note:_ Content in the air application
security sandbox cannot load content from
other sandboxes into its SecurityDomain.The LoaderContext class provides options for loading SWF files and other
media by using the Loader class. The LoaderContext class is used as the
`context` parameter in the `load()` and `loadBytes()` methods of the
Loader class.
When loading SWF files with the `Loader.load()` method, you have two
decisions to make: into which security domain the loaded SWF file should
be placed, and into which application domain within that security domain?
For more details on these choices, see the `applicationDomain` and
`securityDomain` properties.
When loading a SWF file with the `Loader.loadBytes()` method, you have the
same application domain choice to make as for `Loader.load()`, but it's
not necessary to specify a security domain, because `Loader.loadBytes()`
always places its loaded SWF file into the security domain of the loading
SWF file.
When loading images (JPEG, GIF, or PNG) instead of SWF files, there is no
need to specify a SecurityDomain or an application domain, because those
concepts are meaningful only for SWF files. Instead, you have only one
decision to make: do you need programmatic access to the pixels of the
loaded image? If so, see the `checkPolicyFile` property. If you want to
apply deblocking when loading an image, use the JPEGLoaderContext class
instead of the LoaderContext class."tags=\"haxe,release\""new SecurityDomain()Gets the current security domain.The SecurityDomain class represents the current security "sandbox," also
known as a security domain. By passing an instance of this class to
`Loader.load()`, you can request that loaded media be placed in a
particular sandbox."tags=\"haxe,release\"""checkstyle:UnnecessaryConstructor"The amount of memory(in bytes) currently in use that has been directly
allocated by Flash Player or AIR.
This property does not return _all_ memory used by an Adobe AIR
application or by the application(such as a browser) containing Flash
Player content. The browser or operating system may consume other memory.
The `System.privateMemory` property reflects _all_ memory
used by an application.
If the amount of memory allocated is greater than the maximum value for
a uint object(`uint.MAX_VALUE`, or 4,294,967,295), then this
property is set to 0. The `System.totalMemoryNumber` property
allows larger values.falseA Boolean value that determines which code page to use to interpret
external text files. When the property is set to `false`,
external text files are interpretted as Unicode.(These files must be
encoded as Unicode when you save them.) When the property is set to
`true`, external text files are interpretted using the
traditional code page of the operating system running the application. The
default value of `useCodePage` is `false`.
Text that you load as an external file(using
`Loader.load()`, the URLLoader class or URLStream) must have
been saved as Unicode in order for the application to recognize it as
Unicode. To encode external files as Unicode, save the files in an
application that supports Unicode, such as Notepad on Windows.
If you load external text files that are not Unicode-encoded, set
`useCodePage` to `true`. Add the following as the
first line of code of the file that is loading the data(for Flash
Professional, add it to the first frame):
`System.useCodePage = true;`
When this code is present, the application interprets external text
using the traditional code page of the operating system. For example, this
is generally CP1252 for an English Windows operating system and Shift-JIS
for a Japanese operating system.
If you set `useCodePage` to `true`, Flash Player
6 and later treat text as Flash Player 5 does.(Flash Player 5 treated all
text as if it were in the traditional code page of the operating system
running the player.)
If you set `useCodePage` to `true`, remember that
the traditional code page of the operating system running the application
must include the characters used in your external text file in order to
display your text. For example, if you load an external text file that
contains Chinese characters, those characters cannot display on a system
that uses the CP1252 code page because that code page does not include
Chinese characters.
To ensure that users on all platforms can view external text files used
in your application, you should encode all external text files as Unicode
and leave `useCodePage` set to `false`. This way,
the application(Flash Player 6 and later, or AIR) interprets the text as
Unicode.hideUndocumented propertyhideMakes the specified XML object immediately available for garbage
collection. This method will remove parent and child connections
between all the nodes for the specified XML node.
@param node XML reference that should be made available for garbage
collection.Closes Flash Player.
_For the standalone Flash Player debugger version only._
AIR applications should call the `NativeApplication.exit()`
method to exit the application.
@param code A value to pass to the operating system. Typically, if the
process exits normally, the value is 0.Forces the garbage collection process.
_For the Flash Player debugger version and AIR applications only._
In an AIR application, the `System.gc()` method is only enabled
in content running in the AIR Debug Launcher(ADL) or, in an installed
application, in content in the application security sandbox.Pauses Flash Player or the AIR Debug Launcher(ADL). After calling this
method, nothing in the application continues except the delivery of Socket
events.
_For the Flash Player debugger version or the AIR Debug Launcher
(ADL) only._Resumes the application after calling `System.pause()`.
_For the Flash Player debugger version or the AIR Debug Launcher
(ADL) only._Replaces the contents of the Clipboard with a specified text string. This
method works from any security context when called as a result of a user
event(such as a keyboard or input device event handler).
This method is provided for SWF content running in Flash Player 9. It
allows only adding String content to the Clipboard.
Flash Player 10 content and content in the application security sandbox
in an AIR application can call the `Clipboard.setData()`
method.
@param string A plain-text string of characters to put on the system
Clipboard, replacing its current contents(if any).The System class contains properties related to local settings and
operations. Among these are settings for camers and microphones, operations
with shared objects and the use of the Clipboard.
Additional properties and methods are in other classes within the
openfl.system package: the Capabilities class, the IME class, and the
Security class.
This class contains only static methods and properties. You cannot
create new instances of the System class."tags=\"haxe,release\""The TouchscreenType class is an enumeration class that provides values for
the different types of touch screens.
Use the values defined by the TouchscreenType class with the
`Capabilities.touchscreenType` property.cast 0A touchscreen designed to respond to finger touches.cast 1The computer or device does not have a supported touchscreen.cast 2A touchscreen designed for use with a stylus.cast 0A touchscreen designed to respond to finger touches.cast 1The computer or device does not have a supported touchscreen.cast 2A touchscreen designed for use with a stylus.The AntiAliasType class provides values for anti-aliasing in the
openfl.text.TextField class.cast 0Sets anti-aliasing to advanced anti-aliasing. Advanced anti-aliasing
allows font faces to be rendered at very high quality at small sizes. It
is best used with applications that have a lot of small text. Advanced
anti-aliasing is not recommended for very large fonts(larger than 48
points). This constant is used for the `antiAliasType` property
in the TextField class. Use the syntax
`AntiAliasType.ADVANCED`.cast 1Sets anti-aliasing to the anti-aliasing that is used in Flash Player 7 and
earlier. This setting is recommended for applications that do not have a
lot of text. This constant is used for the `antiAliasType`
property in the TextField class. Use the syntax
`AntiAliasType.NORMAL`.cast 0Sets anti-aliasing to advanced anti-aliasing. Advanced anti-aliasing
allows font faces to be rendered at very high quality at small sizes. It
is best used with applications that have a lot of small text. Advanced
anti-aliasing is not recommended for very large fonts(larger than 48
points). This constant is used for the `antiAliasType` property
in the TextField class. Use the syntax
`AntiAliasType.ADVANCED`.cast 1Sets anti-aliasing to the anti-aliasing that is used in Flash Player 7 and
earlier. This setting is recommended for applications that do not have a
lot of text. This constant is used for the `antiAliasType`
property in the TextField class. Use the syntax
`AntiAliasType.NORMAL`.The FontStyle class provides values for the TextRenderer class.cast 0Defines the bold style of a font for the `fontStyle` parameter
in the `setAdvancedAntiAliasingTable()` method. Use the syntax
`FontStyle.BOLD`.cast 1Defines the italic style of a font for the `fontStyle`
parameter in the `setAdvancedAntiAliasingTable()` method. Use
the syntax `FontStyle.ITALIC`.cast 2Defines the italic style of a font for the `fontStyle`
parameter in the `setAdvancedAntiAliasingTable()` method. Use
the syntax `FontStyle.ITALIC`.cast 3Defines the plain style of a font for the `fontStyle` parameter
in the `setAdvancedAntiAliasingTable()` method. Use the syntax
`FontStyle.REGULAR`.cast 0Defines the bold style of a font for the `fontStyle` parameter
in the `setAdvancedAntiAliasingTable()` method. Use the syntax
`FontStyle.BOLD`.cast 1Defines the italic style of a font for the `fontStyle`
parameter in the `setAdvancedAntiAliasingTable()` method. Use
the syntax `FontStyle.ITALIC`.cast 2Defines the italic style of a font for the `fontStyle`
parameter in the `setAdvancedAntiAliasingTable()` method. Use
the syntax `FontStyle.ITALIC`.cast 3Defines the plain style of a font for the `fontStyle` parameter
in the `setAdvancedAntiAliasingTable()` method. Use the syntax
`FontStyle.REGULAR`.The FontType class contains the enumerated constants
`"embedded"` and `"device"` for the
`fontType` property of the Font class.cast 0Indicates that this is a device font. The SWF file renders fonts with
those installed on the system.
Using device fonts results in a smaller movie size, because font data
is not included in the file. Device fonts are often a good choice for
displaying text at small point sizes, because anti-aliased text can be
blurry at small sizes. Device fonts are also a good choice for large
blocks of text, such as scrolling text.
Text fields that use device fonts may not be displayed the same across
different systems and platforms, because they are rendered with fonts
installed on the system. For the same reason, device fonts are not
anti-aliased and may appear jagged at large point sizes.cast 1Indicates that this is an embedded font. Font outlines are embedded in the
published SWF file.
Text fields that use embedded fonts are always displayed in the chosen
font, whether or not that font is installed on the playback system. Also,
text fields that use embedded fonts are always anti-aliased(smoothed).
You can select the amount of anti-aliasing you want by using the
`TextField.antiAliasType property`.
One drawback to embedded fonts is that they increase the size of the
SWF file.
Fonts of type `EMBEDDED` can only be used by TextField. If
flash.text.engine classes are directed to use such a font they will fall
back to device fonts.cast 2Indicates that this is an embedded CFF font. Font outlines and a subset of
OpenType tables are embedded in the published SWF file.
Text that uses embedded CFF fonts is always displayed in the chosen font, whether
or not that font is installed on the playback system. Also, text that uses
embedded CFF fonts is always anti-aliased (smoothed) by Flash Player. You can
select the rendering mode and hinting for an embedded CFF font using the
`flash.text.engine.FontDescription.renderingMode` and
`flash.text.engine.FontDescription.cffHinting` properties.
One drawback to embedded CFF fonts is that they increase the size of the SWF file.
However, embedded CFF fonts are typically 20% to 30% smaller than regular
embedded fonts.
Fonts of type EMBEDDED_CFF can only be used by the `flash.text.engine` classes. A
TextField directed to use such a font will fail to render.cast 0Indicates that this is a device font. The SWF file renders fonts with
those installed on the system.
Using device fonts results in a smaller movie size, because font data
is not included in the file. Device fonts are often a good choice for
displaying text at small point sizes, because anti-aliased text can be
blurry at small sizes. Device fonts are also a good choice for large
blocks of text, such as scrolling text.
Text fields that use device fonts may not be displayed the same across
different systems and platforms, because they are rendered with fonts
installed on the system. For the same reason, device fonts are not
anti-aliased and may appear jagged at large point sizes.cast 1Indicates that this is an embedded font. Font outlines are embedded in the
published SWF file.
Text fields that use embedded fonts are always displayed in the chosen
font, whether or not that font is installed on the playback system. Also,
text fields that use embedded fonts are always anti-aliased(smoothed).
You can select the amount of anti-aliasing you want by using the
`TextField.antiAliasType property`.
One drawback to embedded fonts is that they increase the size of the
SWF file.
Fonts of type `EMBEDDED` can only be used by TextField. If
flash.text.engine classes are directed to use such a font they will fall
back to device fonts.cast 2Indicates that this is an embedded CFF font. Font outlines and a subset of
OpenType tables are embedded in the published SWF file.
Text that uses embedded CFF fonts is always displayed in the chosen font, whether
or not that font is installed on the playback system. Also, text that uses
embedded CFF fonts is always anti-aliased (smoothed) by Flash Player. You can
select the rendering mode and hinting for an embedded CFF font using the
`flash.text.engine.FontDescription.renderingMode` and
`flash.text.engine.FontDescription.cffHinting` properties.
One drawback to embedded CFF fonts is that they increase the size of the SWF file.
However, embedded CFF fonts are typically 20% to 30% smaller than regular
embedded fonts.
Fonts of type EMBEDDED_CFF can only be used by the `flash.text.engine` classes. A
TextField directed to use such a font will fail to render.The GridFitType class defines values for grid fitting in the TextField
class.cast 0Doesn't set grid fitting. Horizontal and vertical lines in the glyphs
are not forced to the pixel grid. This constant is used in setting the
`gridFitType` property of the TextField class. This is often a good
setting for animation or for large font sizes. Use the syntax
`GridFitType.NONE`.cast 1Fits strong horizontal and vertical lines to the pixel grid. This
constant is used in setting the `gridFitType` property of the
TextField class. This setting only works for left-justified text
fields and acts like the `GridFitType.SUBPIXEL` constant in static
text. This setting generally provides the best readability for
left-aligned text. Use the syntax `GridFitType.PIXEL`.cast 2Fits strong horizontal and vertical lines to the sub-pixel grid on LCD
monitors. (Red, green, and blue are actual pixels on an LCD screen.)
This is often a good setting for right-aligned or center-aligned
dynamic text, and it is sometimes a useful tradeoff for animation vs.
text quality. This constant is used in setting the `gridFitType`
property of the TextField class. Use the syntax
`GridFitType.SUBPIXEL`.cast 0Doesn't set grid fitting. Horizontal and vertical lines in the glyphs
are not forced to the pixel grid. This constant is used in setting the
`gridFitType` property of the TextField class. This is often a good
setting for animation or for large font sizes. Use the syntax
`GridFitType.NONE`.cast 1Fits strong horizontal and vertical lines to the pixel grid. This
constant is used in setting the `gridFitType` property of the
TextField class. This setting only works for left-justified text
fields and acts like the `GridFitType.SUBPIXEL` constant in static
text. This setting generally provides the best readability for
left-aligned text. Use the syntax `GridFitType.PIXEL`.cast 2Fits strong horizontal and vertical lines to the sub-pixel grid on LCD
monitors. (Red, green, and blue are actual pixels on an LCD screen.)
This is often a good setting for right-aligned or center-aligned
dynamic text, and it is sometimes a useful tradeoff for animation vs.
text quality. This constant is used in setting the `gridFitType`
property of the TextField class. Use the syntax
`GridFitType.SUBPIXEL`.
<__supportedStyles expr="["color", "display", "font-family", "font-size", "font-style", "font-weight", "kerning", "leading", "letter-spacing", "margin-left", "margin-right", "text-align", "text-decoration", "text-indent"]" line="54" static="1">
["color", "display", "font-family", "font-size", "font-style", "font-weight", "kerning", "leading", "letter-spacing", "margin-left", "margin-right", "text-align", "text-decoration", "text-indent"]An array that contains the names (as strings) of all of the styles registered in this style sheet.
<__styleNames>
<__styleNamesDirty>
<__styles>
Removes all styles from the style sheet object.Returns a copy of the style object associated with the style named `styleName`.
If there is no style object associated with `styleName`, `null` is returned.
@param styleName A string that specifies the name of the style to retrieve.
@return An object.Parses the CSS in `CSSText` and loads the style sheet with it. If a style
in `CSSText` is already in `styleSheet`, the properties in `styleSheet` are
retained, and only the ones in `CSSText` are added or changed in `styleSheet`.
To extend the native CSS parsing capability, you can override this method
by creating a subclass of the StyleSheet class.
@param CSSText The CSS text to parse (a string).Adds a new style with the specified name to the style sheet object. If
the named style does not already exist in the style sheet, it is added.
If the named style already exists in the style sheet, it is replaced.
If the styleObject parameter is null, the named style is removed.
Flash Player creates a copy of the style object that you pass to this method.
For a list of supported styles, see the table in the description for the
StyleSheet class.
@param styleName A string that specifies the name of the style to add to the style sheet.
@param styleObject An object that describes the style, or `null`.Extends the CSS parsing capability. Advanced developers can override this
method by extending the StyleSheet class.
@param formatObject An object that describes the style, containing style rules as properties of the object, or `null`.
@return A TextFormat object containing the result of the mapping of CSS rules to text format properties.
<__applyStyle set="method" line="222">
<__applyStyleObject set="method" line="232">
<__parseFont set="method" line="334">
Creates a new StyleSheet object.The StyleSheet class lets you create a StyleSheet object that contains text formatting rules
for font size, color, and other styles. You can then apply styles defined by a style sheet to
a TextField object that contains HTML- or XML-formatted text. The text in the TextField object
is automatically formatted according to the tag styles defined by the StyleSheet object. You
can use text styles to define new formatting tags, redefine built-in HTML tags, or create style
classes that you can apply to certain HTML tags.
To apply styles to a TextField object, assign the StyleSheet object to a TextField object's
`styleSheet` property.
*Note:* A text field with a style sheet is not editable. In other words, a text field with the
type property set to TextFieldType.INPUT applies the StyleSheet to the default text for the text
field, but the content will no longer be editable by the user. Consider using the TextFormat
class to assign styles to input text fields.
Flash Player supports a subset of properties in the original CSS1 specification
([https://www.w3.org/TR/REC-CSS1](www.w3.org/TR/REC-CSS1)). The following table shows the
supported Cascading Style Sheet (CSS) properties and values, as well as their corresponding
Haxe property names. (Each Haxe property name is derived from the corresponding
CSS property name; if the name contains a hyphen, the hyphen is omitted and the subsequent
character is capitalized.)
| CSS property | Haxe property | Usage and supported values |
| --- | --- | --- |
| `color` | `color` | Only hexadecimal color values are supported. Named colors (such as blue) are not supported. Colors are written in the following format: `#FF0000`. |
| `display` | `display` | Supported values are `inline`, `block`, and `none`. |
| `font-family` | `fontFamily` | A comma-separated list of fonts to use, in descending order of desirability. Any font family name can be used. If you specify a generic font name, it is converted to an appropriate device font. The following font conversions are available: `mono` is converted to `_typewriter`, `sans-serif` is converted to `_sans`, and `serif` is converted to `_serif`. |
| `font-size` | `fontSize` | Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. |
| `font-style` | `fontStyle` | Recognized values are `normal` and `italic`. |
| `font-weight` | `fontWeight` | Recognized values are `normal` and `bold`. |
| `kerning` | `kerning` | Recognized values are `true` and `false`. Kerning is supported for embedded fonts only. Certain fonts, such as Courier New, do not support kerning. The kerning property is only supported in SWF files created in Windows, not in SWF files created on the Macintosh. However, these SWF files can be played in non-Windows versions of Flash Player and the kerning still applies. |
| `leading` | `leading` | The amount of space that is uniformly distributed between lines. The value specifies the number of pixels that are added after each line. A negative value condenses the space between lines. Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. |
| `letter-spacing` | `letterSpacing` | The amount of space that is uniformly distributed between characters. The value specifies the number of pixels that are added after each character. A negative value condenses the space between characters. Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. |
| `margin-left` | `marginLeft` | Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. |
| `text-align` | `textAlign` | Recognized values are `left`, `center`, `right`, and `justify`. |
| `text-decoration` | `textDecoration` | Recognized values are `none` and `underline`. |
| `text-indent` | `textIndent` | Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. |The TextFieldAutoSize class is an enumeration of constant values used in
setting the `autoSize` property of the TextField class.
cast 0Specifies that the text is to be treated as center-justified text. Any
resizing of a single line of a text field is equally distributed to both
the right and left sides.
cast 1Specifies that the text is to be treated as left-justified text, meaning
that the left side of the text field remains fixed and any resizing of a
single line is on the right side.cast 2Specifies that no resizing is to occur.cast 3Specifies that the text is to be treated as right-justified text, meaning
that the right side of the text field remains fixed and any resizing of a
single line is on the left side.
cast 0Specifies that the text is to be treated as center-justified text. Any
resizing of a single line of a text field is equally distributed to both
the right and left sides.
cast 1Specifies that the text is to be treated as left-justified text, meaning
that the left side of the text field remains fixed and any resizing of a
single line is on the right side.cast 2Specifies that no resizing is to occur.cast 3Specifies that the text is to be treated as right-justified text, meaning
that the right side of the text field remains fixed and any resizing of a
single line is on the left side.The TextFieldType class is an enumeration of constant values used in
setting the `type` property of the TextField class.cast 0Used to specify a `dynamic` TextField.cast 1Used to specify an `input` TextField.cast 0Used to specify a `dynamic` TextField.cast 1Used to specify an `input` TextField.Indicates the alignment of the paragraph. Valid values are TextFormatAlign
constants.
@default TextFormatAlign.LEFT
@throws ArgumentError The `align` specified is not a member of
openfl.text.TextFormatAlign.Indicates the block indentation in pixels. Block indentation is applied to
an entire block of text; that is, to all lines of the text. In contrast,
normal indentation(`TextFormat.indent`) affects only the first
line of each paragraph. If this property is `null`, the
TextFormat object does not specify block indentation(block indentation is
0).Specifies whether the text is boldface. The default value is
`null`, which means no boldface is used. If the value is
`true`, then the text is boldface.Indicates that the text is part of a bulleted list. In a bulleted list,
each paragraph of text is indented. To the left of the first line of each
paragraph, a bullet symbol is displayed. The default value is
`null`, which means no bulleted list is used.Indicates the color of the text. A number containing three 8-bit RGB
components; for example, 0xFF0000 is red, and 0x00FF00 is green. The
default value is `null`, which means that Flash Player uses the
color black(0x000000).The name of the font for text in this text format, as a string. The
default value is `null`, which means that Flash Player uses
Times New Roman font for the text.Indicates the indentation from the left margin to the first character in
the paragraph. The default value is `null`, which indicates
that no indentation is used.Indicates whether text in this text format is italicized. The default
value is `null`, which means no italics are used.A Boolean value that indicates whether kerning is enabled
(`true`) or disabled(`false`). Kerning adjusts the
pixels between certain character pairs to improve readability, and should
be used only when necessary, such as with headings in large fonts. Kerning
is supported for embedded fonts only.
Certain fonts such as Verdana and monospaced fonts, such as Courier
New, do not support kerning.
The default value is `null`, which means that kerning is not
enabled.An integer representing the amount of vertical space(called
_leading_) between lines. The default value is `null`,
which indicates that the amount of leading used is 0.The left margin of the paragraph, in pixels. The default value is
`null`, which indicates that the left margin is 0 pixels.A number representing the amount of space that is uniformly distributed
between all characters. The value specifies the number of pixels that are
added to the advance after each character. The default value is
`null`, which means that 0 pixels of letter spacing is used.
You can use decimal values such as `1.75`.The right margin of the paragraph, in pixels. The default value is
`null`, which indicates that the right margin is 0 pixels.The size in pixels of text in this text format. The default value is
`null`, which means that a size of 12 is used.Specifies custom tab stops as an array of non-negative integers. Each tab
stop is specified in pixels. If custom tab stops are not specified
(`null`), the default tab stop is 4(average character width).Indicates the target window where the hyperlink is displayed. If the
target window is an empty string, the text is displayed in the default
target window `_self`. You can choose a custom name or one of
the following four names: `_self` specifies the current frame
in the current window, `_blank` specifies a new window,
`_parent` specifies the parent of the current frame, and
`_top` specifies the top-level frame in the current window. If
the `TextFormat.url` property is an empty string or
`null`, you can get or set this property, but the property will
have no effect.` tag, but the latter is
not true underlining, because it does not skip descenders correctly. The
default value is `null`, which indicates that underlining is
not used.]]>Indicates the target URL for the text in this text format. If the
`url` property is an empty string, the text does not have a
hyperlink. The default value is `null`, which indicates that
the text does not have a hyperlink.
**Note:** The text with the assigned text format must be set with
the `htmlText` property for the hyperlink to work.
<__ascent>
<__descent>
<__cacheKey>
"checkstyle:FieldDocComment"hide
<__merge set="method" line="300">
<__toCacheKey set="method" line="327">
{ leading : null, indent : null, rightMargin : null, leftMargin : null, align : null, target : null, url : null, underline : null, italic : null, bold : null, color : null, size : null, font : null }Creates a TextFormat object with the specified properties. You can then
change the properties of the TextFormat object to change the formatting of
text fields.
Any parameter may be set to `null` to indicate that it is
not defined. All of the parameters are optional; any omitted parameters
are treated as `null`.
@param font The name of a font for text as a string.
@param size An integer that indicates the size in pixels.
@param color The color of text using this text format. A number
containing three 8-bit RGB components; for example,
0xFF0000 is red, and 0x00FF00 is green.
@param bold A Boolean value that indicates whether the text is
boldface.
@param italic A Boolean value that indicates whether the text is
italicized.
@param underline A Boolean value that indicates whether the text is
underlined.
@param url The URL to which the text in this text format
hyperlinks. If `url` is an empty string, the
text does not have a hyperlink.
@param target The target window where the hyperlink is displayed. If
the target window is an empty string, the text is
displayed in the default target window
`_self`. If the `url` parameter
is set to an empty string or to the value
`null`, you can get or set this property,
but the property will have no effect.
@param align The alignment of the paragraph, as a TextFormatAlign
value.
@param leftMargin Indicates the left margin of the paragraph, in pixels.
@param rightMargin Indicates the right margin of the paragraph, in pixels.
@param indent An integer that indicates the indentation from the left
margin to the first character in the paragraph.
@param leading A number that indicates the amount of leading vertical
space between lines.The TextFormat class represents character formatting information. Use the
TextFormat class to create specific text formatting for text fields. You
can apply text formatting to both static and dynamic text fields. The
properties of the TextFormat class apply to device and embedded fonts.
However, for embedded fonts, bold and italic text actually require
specific fonts. If you want to display bold or italic text with an
embedded font, you need to embed the bold and italic variations of that
font.
You must use the constructor `new TextFormat()` to create a TextFormat
object before setting its properties. When you apply a TextFormat object
to a text field using the `TextField.defaultTextFormat` property or the
`TextField.setTextFormat()` method, only its defined properties are
applied. Use the `TextField.defaultTextFormat` property to apply
formatting BEFORE you add text to the `TextField`, and the
`setTextFormat()` method to add formatting AFTER you add text to the
`TextField`. The TextFormat properties are `null` by default because if
you don't provide values for the properties, Flash Player uses its own
default formatting. The default formatting that Flash Player uses for each
property (if property's value is `null`) is as follows:
| | |
| --- | --- |
| align = "left" | |
| blockIndent = 0 | |
| bold = false | |
| bullet = false | |
| color = 0x000000 | |
| font = "Times New Roman" (default font is Times on Mac OS X) | |
| indent = 0 | |
| italic = false | |
| kerning = false | |
| leading = 0 | |
| leftMargin = 0 | |
| letterSpacing = 0 | |
| rightMargin = 0 | |
| size = 12 | |
| tabStops = [] (empty array) | |
| target = "" (empty string) | |
| underline = false | |
| url = "" (empty string) | |
The default formatting for each property is also described in each
property description."tags=\"haxe,release\""The TextFormatAlign class provides values for text alignment in the
TextFormat class.
cast 0Constant; centers the text in the text field. Use the syntax
`TextFormatAlign.CENTER`.
cast 1Constant; aligns text to the end edge of a line. Same as right for left-to-right
languages and same as left for right-to-left languages.
The `END` constant may only be used with the StageText class.cast 2Constant; justifies text within the text field. Use the syntax
`TextFormatAlign.JUSTIFY`.cast 3Constant; aligns text to the left within the text field. Use the syntax
`TextFormatAlign.LEFT`.cast 4Constant; aligns text to the right within the text field. Use the syntax
`TextFormatAlign.RIGHT`.cast 5Constant; aligns text to the start edge of a line. Same as left for left-to-right
languages and same as right for right-to-left languages.
The `START` constant may only be used with the StageText class.
cast 0Constant; centers the text in the text field. Use the syntax
`TextFormatAlign.CENTER`.
cast 1Constant; aligns text to the end edge of a line. Same as right for left-to-right
languages and same as left for right-to-left languages.
The `END` constant may only be used with the StageText class.cast 2Constant; justifies text within the text field. Use the syntax
`TextFormatAlign.JUSTIFY`.cast 3Constant; aligns text to the left within the text field. Use the syntax
`TextFormatAlign.LEFT`.cast 4Constant; aligns text to the right within the text field. Use the syntax
`TextFormatAlign.RIGHT`.cast 5Constant; aligns text to the start edge of a line. Same as left for left-to-right
languages and same as right for right-to-left languages.
The `START` constant may only be used with the StageText class.The ascent value of the text is the length from the baseline to the
top of the line height in pixels. See the "Ascent" measurement in the
overview diagram for this class.The descent value of the text is the length from the baseline to the
bottom depth of the line in pixels. See the "Descent" measurement in
the overview diagram for this class.The height value of the text of the selected lines (not necessarily
the complete text) in pixels. The height of the text line does not
include the gutter height. See the "Line height" measurement in the
overview diagram for this class.The leading value is the measurement of the vertical distance between
the lines of text. See the "Leading" measurement in the overview
diagram for this class.The width value is the width of the text of the selected lines (not
necessarily the complete text) in pixels. The width of the text line
is not the same as the width of the text field. The width of the text
line is relative to the text field width, minus the gutter width of 4
pixels (2 pixels on each side). See the "Text Line width" measurement
in the overview diagram for this class.The x value is the left position of the first character in pixels.
This value includes the margin, indent (if any), and gutter widths.
See the "Text Line x-position" in the overview diagram for this class.Creates a TextLineMetrics object. The TextLineMetrics object contains
information about the text metrics of a line of text in a text field.
Objects of this class are returned by the
openfl.text.TextField.getLineMetrics() method.
@param x The left position of the first character in pixels.
@param width The width of the text of the selected lines (not
necessarily the complete text) in pixels.
@param height The height of the text of the selected lines (not
necessarily the complete text) in pixels.
@param ascent The length from the baseline to the top of the line
height in pixels.
@param descent The length from the baseline to the bottom depth of
the line in pixels.
@param leading The measurement of the vertical distance between the
lines of text.The TextLineMetrics class contains information about the text position and
measurements of a _line of text_ within a text field. All measurements are
in pixels. Objects of this class are returned by the
`openfl.text.TextField.getLineMetrics()` method.
For measurements related to the text field containing the line of text
(for example, the "Text Field height" measurement in the diagram), see
openfl.text.TextField.
The following diagram indicates the points and measurements of a text
field and the line of text the field contains:
"tags=\"haxe,release\""[][]new EReg("([\\s\\S]*?){([\\s\\S]*?)*}", "ig")"((@media [\\s\\S]*?){([\\s\\S]*?}\\s*?)})""((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})""((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)*?})""(\\/\\*[\\s\\S]*?\\*\\/)"new EReg("@import .*?;", "ig"){ value : null }{ contains : false }{ reverse : false }{ reverse : false }* Get Imports
*{ index : 0 }* ...
* @author Damilare Akinlaja
<__collisions>
<__wordMap>
<__addCollision set="method" line="42">"tags=\"haxe,release\"""checkstyle:FieldDocComment"{ offset : null }"tags=\"haxe,release\""["checkstyle:FieldDocComment", "checkstyle:Dynamic"]
<__regexAlign expr="~/align\s?=\s?("([^"]+)"|'([^']+)')/" line="16" static="1">
~/align\s?=\s?("([^"]+)"|'([^']+)')/
<__regexBreakTag expr="~/<br\s*/?>/" line="17" static="1">
/]]>
<__regexBlockIndent expr="~/blockindent\s?=\s?("([^"]+)"|'([^']+)')/" line="18" static="1">
~/blockindent\s?=\s?("([^"]+)"|'([^']+)')/
<__regexClass expr="~/class\s?=\s?("([^"]+)"|'([^']+)')/" line="19" static="1">
~/class\s?=\s?("([^"]+)"|'([^']+)')/
<__regexColor expr="~/color\s?=\s?("#([^"]+)"|'#([^']+)')/" line="20" static="1">
~/color\s?=\s?("#([^"]+)"|'#([^']+)')/
<__regexEntities expr="[~/"/, ~/'/, ~/&/, ~/</, ~/>/, ~/ /]" line="21" static="1">
<__regexCharEntity expr="~/(?:([0-9]+)|(x[0-9a-fA-F]+));/" line="22" static="1">
<__regexFace expr="~/face\s?=\s?("([^"]+)"|'([^']+)')/" line="23" static="1">
~/face\s?=\s?("([^"]+)"|'([^']+)')/
<__regexHTMLTag expr="~/<.*?>/" line="24" static="1">
/]]>
<__regexHref expr="~/href\s?=\s?("([^"]+)"|'([^']+)')/" line="25" static="1">
~/href\s?=\s?("([^"]+)"|'([^']+)')/
<__regexIndent expr="~/ indent\s?=\s?("([^"]+)"|'([^']+)')/" line="26" static="1">
~/ indent\s?=\s?("([^"]+)"|'([^']+)')/
<__regexLeading expr="~/leading\s?=\s?("([^"]+)"|'([^']+)')/" line="27" static="1">
~/leading\s?=\s?("([^"]+)"|'([^']+)')/
<__regexLeftMargin expr="~/leftmargin\s?=\s?("([^"]+)"|'([^']+)')/" line="28" static="1">
~/leftmargin\s?=\s?("([^"]+)"|'([^']+)')/
<__regexRightMargin expr="~/rightmargin\s?=\s?("([^"]+)"|'([^']+)')/" line="29" static="1">
~/rightmargin\s?=\s?("([^"]+)"|'([^']+)')/
<__regexSize expr="~/size\s?=\s?("([^"]+)"|'([^']+)')/" line="30" static="1">
~/size\s?=\s?("([^"]+)"|'([^']+)')/
<__regexTabStops expr="~/tabstops\s?=\s?("([^"]+)"|'([^']+)')/" line="31" static="1">
~/tabstops\s?=\s?("([^"]+)"|'([^']+)')/
<__getAttributeMatch set="method" line="308" static="1">"tags=\"haxe,release\""openfl.text.StyleSheet"checkstyle:FieldDocComment"
<__shortWordMap>
<__longWordMap>
<__cacheShortWord set="method" line="53">
<__cacheLongWord set="method" line="76">"tags=\"haxe,release\""openfl.text.TextFormat"checkstyle:FieldDocComment"2910320x2D
<__defaultFonts static="1">
<__cursorTimer>
<__hasFocus>
<__isKeyDown>
<__measuredHeight>
<__measuredWidth>
<__restrictRegexp>
<__selectionStart>
<__shapeCache>
<__showCursor>
<__textFormat>
<__textLayout>
<__texture>
<__useIntAdvances>
<__cairoFont public="1">
"checkstyle:Dynamic"hide
<__font public="1">
hide{ startIndex : 0 }"tags=\"haxe,release\""openfl.text.Fontopenfl.text.TextFieldopenfl.text.TextFormat"checkstyle:FieldDocComment"{ boldItalic : null, italic : null, bold : null }"tags=\"haxe,release\""012481632641282565121024204840968192163843276865536"checkstyle:Dynamic"0
<__buffer>
<__direction>
<__dirty>
<__handle>
"checkstyle:Dynamic"
<__language>
<__script>
<__font>
<__hbBuffer>
"checkstyle:Dynamic"
<__hbFont>
"checkstyle:Dynamic"
<__create set="method" line="89">
<__position set="method" line="101">
"checkstyle:Dynamic"{ language : "en", script : COMMON, direction : LEFT_TO_RIGHT, size : 12, font : null, text : "" }"tags=\"haxe,release\"""checkstyle:FieldDocComment""checkstyle:FieldDocComment"cast 0cast 4cast 5cast 6cast 7cast 0cast 4cast 5cast 6cast 7"checkstyle:FieldDocComment"cast "Zyyy"cast "Zinh"cast "Zzzz"cast "Arab"cast "Armn"cast "Beng"cast "Cyrl"cast "Deva"cast "Geor"cast "Grek"cast "Gujr"cast "Guru"cast "Hang"cast "Hani"cast "Hebr"cast "Hira"cast "Knda"cast "Kana"cast "Laoo"cast "Latn"cast "Mlym"cast "Orya"cast "Taml"cast "Telu"cast "Thai"cast "Tibt"cast "Bopo"cast "Brai"cast "Cans"cast "Cher"cast "Ethi"cast "Khmr"cast "Mong"cast "Mymr"cast "Ogam"cast "Runr"cast "Sinh"cast "Syrc"cast "Thaa"cast "Yiii"cast "Dsrt"cast "Goth"cast "Ital"cast "Buhd"cast "Hano"cast "Tglg"cast "Tagb"cast "Cprt"cast "Limb"cast "Linb"cast "Osma"cast "Shaw"cast "Tale"cast "Ugar"cast "Bugi"cast "Copt"cast "Glag"cast "Khar"cast "Talu"cast "Xpeo"cast "Sylo"cast "Tfng"cast "Bali"cast "Xsux"cast "Nkoo"cast "Phag"cast "Phnx"cast "Cari"cast "Cham"cast "Kali"cast "Lepc"cast "Lyci"cast "Lydi"cast "Olck"cast "Rjng"cast "Saur"cast "Sund"cast "Vaii"cast "Avst"cast "Bamu"cast "Egyp"cast "Armi"cast "Phli"cast "Prti"cast "Java"cast "Kthi"cast "Lisu"cast "Mtei"cast "Sarb"cast "Orkh"cast "Samr"cast "Lana"cast "Tavt"cast "Batk"cast "Brah"cast "Mand"cast "Cakm"cast "Merc"cast "Mero"cast "Plrd"cast "Shrd"cast "Sora"cast "Takr"cast "Bass"cast "Aghb"cast "Dupl"cast "Elba"cast "Gran"cast "Khoj"cast "Sind"cast "Lina"cast "Mahj"cast "Mani"cast "Mend"cast "Modi"cast "Mroo"cast "Nbat"cast "Narb"cast "Perm"cast "Hmng"cast "Palm"cast "Pauc"cast "Phlp"cast "Sidd"cast "Tirh"cast "Wara"cast "Zyyy"cast "Zinh"cast "Zzzz"cast "Arab"cast "Armn"cast "Beng"cast "Cyrl"cast "Deva"cast "Geor"cast "Grek"cast "Gujr"cast "Guru"cast "Hang"cast "Hani"cast "Hebr"cast "Hira"cast "Knda"cast "Kana"cast "Laoo"cast "Latn"cast "Mlym"cast "Orya"cast "Taml"cast "Telu"cast "Thai"cast "Tibt"cast "Bopo"cast "Brai"cast "Cans"cast "Cher"cast "Ethi"cast "Khmr"cast "Mong"cast "Mymr"cast "Ogam"cast "Runr"cast "Sinh"cast "Syrc"cast "Thaa"cast "Yiii"cast "Dsrt"cast "Goth"cast "Ital"cast "Buhd"cast "Hano"cast "Tglg"cast "Tagb"cast "Cprt"cast "Limb"cast "Linb"cast "Osma"cast "Shaw"cast "Tale"cast "Ugar"cast "Bugi"cast "Copt"cast "Glag"cast "Khar"cast "Talu"cast "Xpeo"cast "Sylo"cast "Tfng"cast "Bali"cast "Xsux"cast "Nkoo"cast "Phag"cast "Phnx"cast "Cari"cast "Cham"cast "Kali"cast "Lepc"cast "Lyci"cast "Lydi"cast "Olck"cast "Rjng"cast "Saur"cast "Sund"cast "Vaii"cast "Avst"cast "Bamu"cast "Egyp"cast "Armi"cast "Phli"cast "Prti"cast "Java"cast "Kthi"cast "Lisu"cast "Mtei"cast "Sarb"cast "Orkh"cast "Samr"cast "Lana"cast "Tavt"cast "Batk"cast "Brah"cast "Mand"cast "Cakm"cast "Merc"cast "Mero"cast "Plrd"cast "Shrd"cast "Sora"cast "Takr"cast "Bass"cast "Aghb"cast "Dupl"cast "Elba"cast "Gran"cast "Khoj"cast "Sind"cast "Lina"cast "Mahj"cast "Mani"cast "Mend"cast "Modi"cast "Mroo"cast "Nbat"cast "Narb"cast "Perm"cast "Hmng"cast "Palm"cast "Pauc"cast "Phlp"cast "Sidd"cast "Tirh"cast "Wara""tags=\"haxe,release\"""checkstyle:FieldDocComment"Returns the GameInputDevice object that contains this control.Returns the id of this control.Returns the maximum value for this control.Returns the minimum value for this control.Returns the value for this control.{ value : 0 }"tags=\"haxe,release\""32000Specifies the maximum size for the buffer used to cache sampled control values.
If `startCachingSamples` returns samples that require more memory than you specify,
it throws a memory error.Enables or disables this device.Returns the ID of this device.Returns the name of this device.Returns the number of controls on this device.Specifies the rate (in milliseconds) at which to retrieve control values.
<__axis expr="new Map()">
new Map()
<__button expr="new Map()">
new Map()
<__controls expr="new Array()">
new Array()
<__gamepad>
{ append : false }Writes cached sample values to the ByteArray.
@param data
@param append
@returnRetrieves a specific control from a device.
@param i
@returnRequests this device to start keeping a cache of sampled values.
@param numSamples
@param controlsStops sample caching."tags=\"haxe,release\""openfl.ui.GameInputControlThe KeyLocation class contains constants that indicate the location of a
key pressed on the keyboard or keyboard-like input device.
The KeyLocation constants are used in the `KeyboardEvent.keyLocation`
property.cast 1Indicates the key activated is in the left key location (there is more
than one possible location for this key). Example: The left Shift key
on a PC 101 Key US keyboard.cast 3Indicates the key activation originated on the numeric keypad or with a virtual
key corresponding to the numeric keypad. Example: The 1 key on a PC 101 Key US
keyboard located on the numeric pad.cast 2Indicates the key activated is in the right key location (there is
more than one possible location for this key). Example: The right
Shift key on a PC 101 Key US keyboard.cast 0Indicates the key activation is not distinguished as the left or right
version of the key, and did not originate on the numeric keypad (or
did not originate with a virtual key corresponding to the numeric
keypad). Example: The Q key on a PC 101 Key US keyboard.cast 1Indicates the key activated is in the left key location (there is more
than one possible location for this key). Example: The left Shift key
on a PC 101 Key US keyboard.cast 3Indicates the key activation originated on the numeric keypad or with a virtual
key corresponding to the numeric keypad. Example: The 1 key on a PC 101 Key US
keyboard located on the numeric pad.cast 2Indicates the key activated is in the right key location (there is
more than one possible location for this key). Example: The right
Shift key on a PC 101 Key US keyboard.cast 0Indicates the key activation is not distinguished as the left or right
version of the key, and did not originate on the numeric keypad (or
did not originate with a virtual key corresponding to the numeric
keypad). Example: The Q key on a PC 101 Key US keyboard.48Constant associated with the key code value for the 0 key(48).49Constant associated with the key code value for the 1 key(49).50Constant associated with the key code value for the 2 key(50).51Constant associated with the key code value for the 3 key(51).52Constant associated with the key code value for the 4 key(52).53Constant associated with the key code value for the 5 key(53).54Constant associated with the key code value for the 6 key(54).55Constant associated with the key code value for the 7 key(55).56Constant associated with the key code value for the 8 key(56).57Constant associated with the key code value for the 9 key(57).65Constant associated with the key code value for the A key(65).66Constant associated with the key code value for the B key(66).67Constant associated with the key code value for the C key(67).68Constant associated with the key code value for the D key(68).69Constant associated with the key code value for the E key(69).70Constant associated with the key code value for the F key(70).71Constant associated with the key code value for the G key(71).72Constant associated with the key code value for the H key(72).73Constant associated with the key code value for the I key(73).74Constant associated with the key code value for the J key(74).75Constant associated with the key code value for the K key(75).76Constant associated with the key code value for the L key(76).77Constant associated with the key code value for the M key(77).78Constant associated with the key code value for the N key(78).79Constant associated with the key code value for the O key(79).
80Constant associated with the key code value for the P key(80).
81Constant associated with the key code value for the Q key(81).82Constant associated with the key code value for the R key(82).83Constant associated with the key code value for the S key(83).84Constant associated with the key code value for the T key(84).85Constant associated with the key code value for the U key(85).86Constant associated with the key code value for the V key(85).87Constant associated with the key code value for the W key(87).88Constant associated with the key code value for the X key(88).89Constant associated with the key code value for the Y key(89).90Constant associated with the key code value for the Z key(90).96Constant associated with the key code value for the number 0 key on the
number pad(96).97Constant associated with the key code value for the number 1 key on the
number pad(97).98Constant associated with the key code value for the number 2 key on the
number pad(98).99Constant associated with the key code value for the number 3 key on the
number pad(99).100Constant associated with the key code value for the number 4 key on the
number pad(100).101Constant associated with the key code value for the number 5 key on the
number pad(101).102Constant associated with the key code value for the number 6 key on the
number pad(102).103Constant associated with the key code value for the number 7 key on the
number pad(103).104Constant associated with the key code value for the number 8 key on the
number pad(104).105Constant associated with the key code value for the number 9 key on the
number pad(105).106Constant associated with the key code value for the multiplication key on
the number pad(106).107Constant associated with the key code value for the addition key on the
number pad(107).108Constant associated with the key code value for the Enter key on the
number pad(108).109Constant associated with the key code value for the subtraction key on the
number pad(109).110Constant associated with the key code value for the decimal key on the
number pad(110).111Constant associated with the key code value for the division key on the
number pad(111).112Constant associated with the key code value for the F1 key(112).113Constant associated with the key code value for the F2 key(113).114Constant associated with the key code value for the F3 key(114).115Constant associated with the key code value for the F4 key(115).116Constant associated with the key code value for the F5 key(116).117Constant associated with the key code value for the F6 key(117).118Constant associated with the key code value for the F7 key(118).119Constant associated with the key code value for the F8 key(119).120Constant associated with the key code value for the F9 key(120).121Constant associated with the key code value for the F10 key(121).122Constant associated with the key code value for the F11 key(122).123Constant associated with the key code value for the F12 key(123).124Constant associated with the key code value for the F13 key(124).125Constant associated with the key code value for the F14 key(125).126Constant associated with the key code value for the F15 key(126).8Constant associated with the key code value for the Backspace key(8).9Constant associated with the key code value for the Tab key(9).18Constant associated with the key code value for the Alternate(Option) key
(18).13Constant associated with the key code value for the Enter key(13).15Constant associated with the Mac command key(15). This constant is
currently only used for setting menu key equivalents.16Constant associated with the key code value for the Shift key(16).17Constant associated with the key code value for the Control key(17).19"checkstyle:FieldDocComment"hide20Constant associated with the key code value for the Caps Lock key(20).21Constant associated with the pseudo-key code for the the number pad(21).
Use to set numpad modifier on key equivalents27Constant associated with the key code value for the Escape key(27).32Constant associated with the key code value for the Spacebar(32).33Constant associated with the key code value for the Page Up key(33).34Constant associated with the key code value for the Page Down key(34).35Constant associated with the key code value for the End key(35).36Constant associated with the key code value for the Home key(36).37Constant associated with the key code value for the Left Arrow key(37).39Constant associated with the key code value for the Right Arrow key(39).38Constant associated with the key code value for the Up Arrow key(38).40Constant associated with the key code value for the Down Arrow key(40).45Constant associated with the key code value for the Insert key(45).46Constant associated with the key code value for the Delete key(46).144"checkstyle:FieldDocComment"hide186Constant associated with the key code value for the ; key(186).187Constant associated with the key code value for the:Int = key(187).188Constant associated with the key code value for the , key(188).189Constant associated with the key code value for the - key(189).190Constant associated with the key code value for the . key(190).191Constant associated with the key code value for the / key(191).192Constant associated with the key code value for the ` key(192).219Constant associated with the key code value for the [ key(219).220Constant associated with the key code value for the \ key(220).221Constant associated with the key code value for the ] key(221).222Constant associated with the key code value for the ' key(222).Specifies whether the Caps Lock key is activated(`true`) or
not(`false`).Specifies whether the Num Lock key is activated(`true`) or not
(`false`).Specifies whether the last key pressed is accessible by other SWF files.
By default, security restrictions prevent code from a SWF file in one
domain from accessing a keystroke generated from a SWF file in another
domain.
@return The value `true` if the last key pressed can be
accessed. If access is not permitted, this method returns
`false`.
<__convertKeyCode get="inline" set="null" line="571" static="1">
<__getCharCode set="method" line="815" static="1">
{ shift : false }
<__getKeyLocation get="inline" set="null" line="948" static="1">
The Keyboard class is used to build an interface that can be controlled by
a user with a standard keyboard. You can use the methods and properties of
the Keyboard class without using a constructor. The properties of the
Keyboard class are constants representing the keys that are most commonly
used to control games."tags=\"haxe,release\""Sets or returns the type of cursor, or, for a native cursor, the
cursor name.
The default value is `openfl.ui.MouseCursor.AUTO`.
To set values for this property, use the following string values:
| String value | Description |
| --- | --- |
| `openfl.ui.MouseCursor.AUTO` | Mouse cursor will change automatically based on the object under the mouse. |
| `openfl.ui.MouseCursor.ARROW` | Mouse cursor will be an arrow. |
| `openfl.ui.MouseCursor.BUTTON` | Mouse cursor will be a button clicking hand. |
| `openfl.ui.MouseCursor.HAND` | Mouse cursor will be a dragging hand. |
| `openfl.ui.MouseCursor.IBEAM` | Mouse cursor will be an I-beam. |
**Note:** For Flash Player 10.2 or AIR 2.6 and later versions, this
property sets or gets the cursor name when you are using a native
cursor. A native cursor name defined using `Mouse.registerCursor()`
overwrites currently predefined cursor types (such as
`openfl.ui.MouseCursor.IBEAM`).
@throws ArgumentError If set to any value which is not a member of
`openfl.ui.MouseCursor`, or is not a string
specified using the `Mouse.registerCursor()`
method.trueIndicates whether the computer or device displays a persistent cursor.
The `supportsCursor` property is `true` on most desktop computers and
`false` on most mobile devices.
**Note:** Mouse events can be dispatched whether or not this property
is `true`. However, mouse events may behave differently depending on
the physical characteristics of the pointing device.trueIndicates whether the current configuration supports native cursors.
<__cursor expr="MouseCursor.AUTO" line="68" static="1">
MouseCursor.AUTO
<__hidden static="1">
Hides the pointer. The pointer is visible by default.
**Note:** You need to call `Mouse.hide()` only once,
regardless of the number of previous calls to
`Mouse.show()`.Displays the pointer. The pointer is visible by default.
**Note:** You need to call `Mouse.show()` only once,
regardless of the number of previous calls to
`Mouse.hide()`.The pointer is visible by default,
but you can hide it and implement a custom pointer.]]>"tags=\"haxe,release\""openfl.display.StageThe MouseCursor class is an enumeration of constant values used in setting
the `cursor` property of the Mouse class.cast "arrow"Used to specify that the arrow cursor should be used.cast "auto"Used to specify that the cursor should be selected automatically based
on the object under the mouse.cast "hand"Used to specify that the dragging hand cursor should be used.cast "ibeam"Used to specify that the I-beam cursor should be used.
<__CROSSHAIR get="inline" set="null" expr="cast "crosshair"" line="40" static="1">
cast "crosshair"
<__CUSTOM get="inline" set="null" expr="cast "custom"" line="41" static="1">
cast "custom"
<__MOVE get="inline" set="null" expr="cast "move"" line="42" static="1">
cast "move"
<__RESIZE_NESW get="inline" set="null" expr="cast "resize_nesw"" line="43" static="1">
cast "resize_nesw"
<__RESIZE_NS get="inline" set="null" expr="cast "resize_ns"" line="44" static="1">
cast "resize_ns"
<__RESIZE_NWSE get="inline" set="null" expr="cast "resize_nwse"" line="45" static="1">
cast "resize_nwse"
<__RESIZE_WE get="inline" set="null" expr="cast "resize_we"" line="46" static="1">
cast "resize_we"
<__WAIT get="inline" set="null" expr="cast "wait"" line="47" static="1">
cast "wait"
<__WAIT_ARROW get="inline" set="null" expr="cast "waitarrow"" line="48" static="1">
cast "waitarrow"cast "arrow"Used to specify that the arrow cursor should be used.cast "auto"Used to specify that the cursor should be selected automatically based
on the object under the mouse.cast "hand"Used to specify that the dragging hand cursor should be used.cast "ibeam"Used to specify that the I-beam cursor should be used.
<__CROSSHAIR get="inline" set="null" expr="cast "crosshair"" line="40" static="1">
cast "crosshair"
<__CUSTOM get="inline" set="null" expr="cast "custom"" line="41" static="1">
cast "custom"
<__MOVE get="inline" set="null" expr="cast "move"" line="42" static="1">
cast "move"
<__RESIZE_NESW get="inline" set="null" expr="cast "resize_nesw"" line="43" static="1">
cast "resize_nesw"
<__RESIZE_NS get="inline" set="null" expr="cast "resize_ns"" line="44" static="1">
cast "resize_ns"
<__RESIZE_NWSE get="inline" set="null" expr="cast "resize_nwse"" line="45" static="1">
cast "resize_nwse"
<__RESIZE_WE get="inline" set="null" expr="cast "resize_we"" line="46" static="1">
cast "resize_we"
<__WAIT get="inline" set="null" expr="cast "wait"" line="47" static="1">
cast "wait"
<__WAIT_ARROW get="inline" set="null" expr="cast "waitarrow"" line="48" static="1">
cast "waitarrow"Identifies the multi-touch mode for touch and gesture event handling. Use
this property to manage whether or not events are dispatched as touch
events with multiple points of contact and specific events for different
gestures(such as rotation and pan), or only a single point of contact
(such as tap), or none at all(contact is handled as a mouse event). To
set this property, use values from the openfl.ui.MultitouchInputMode class.
@default gestureThe maximum number of concurrent touch points supported by the current
environment.A Vector array(a typed array of string values) of multi-touch contact
types supported in the current environment. The array of strings can be
used as event types to register event listeners. Possible values are
constants from the GestureEvent, PressAndTapGestureEvent, and
TransformGestureEvent classes(such as `GESTURE_PAN`).
If the Flash runtime is in an environment that does not support any
multi-touch gestures, the value is `null`.
**Note:** For Mac OS 10.5.3 and later,
`Multitouch.supportedGestures` returns non-null values
(possibly indicating incorrectly that gesture events are supported) even
if the current hardware does not support gesture input.
Use this property to test for multi-touch gesture support. Then, use
event handlers for the available multi-touch gestures. For those gestures
that are not supported in the current evironment, you'll need to create
alternative event handling.Indicates whether the current environment supports gesture input, such as
rotating two fingers around a touch screen. Gesture events are listed in
the TransformGestureEvent, PressAndTapGestureEvent, and GestureEvent
classes.
**Note:** For Mac OS 10.5.3 and later, this value is always
`true`. `Multitouch.supportsGestureEvent` returns
`true` even if the hardware does not support gesture
events.Indicates whether the current environment supports basic touch input, such
as a single finger tap. Touch events are listed in the TouchEvent class.The Multitouch class manages and provides information about the current
environment's support for handling contact from user input devices,
including contact that has two or more touch points(such as a user's
fingers on a touch screen). When a user interacts with a device such as a
mobile phone or tablet with a touch screen, the user typically touches the
screen with his or her fingers or a pointing device. While there is a broad
range of pointing devices, such as a mouse or a stylus, many of these
devices only have a single point of contact with an application. For
pointing devices with a single point of contact, user interaction events
can be handled as a mouse event, or using a basic set of touch events
(called "touch point" events). However, for pointing devices that have
several points of contact and perform complex movement, such as the human
hand, Flash runtimes support an additional set of event handling API called
gesture events. The API for handling user interaction with these gesture
events includes the following classes:
* openfl.events.TouchEvent
* openfl.events.GestureEvent
* openfl.events.GesturePhase
* openfl.events.TransformGestureEvent
* openfl.events.PressAndTapGestureEvent
Use the listed classes to write code that handles touch events. Use the
Multitouch class to determine the current environment's support for touch
interaction, and to manage the support of touch interaction if the current
environment supports touch input.
You cannot create a Multitouch object directly from ActionScript code.
If you call `new Multitouch()`, an exception is thrown.
**Note:** The Multitouch feature is not supported for SWF files
embedded in HTML running on Mac OS."tags=\"haxe,release\""The MultitouchInputMode class provides values for the
`inputMode` property in the openfl.ui.Multitouch class. These
values set the type of touch events the Flash runtime dispatches when the
user interacts with a touch-enabled device.cast 0Specifies that TransformGestureEvent, PressAndTapGestureEvent, and
GestureEvent events are dispatched for the related user interaction
supported by the current environment, and other touch events(such as a
simple tap) are interpreted as mouse events.cast 1Specifies that all user contact with a touch-enabled device is interpreted as a
type of mouse event.cast 2Specifies that all user contact with a touch-enabled device is interpreted
as a type of mouse event.cast 0Specifies that TransformGestureEvent, PressAndTapGestureEvent, and
GestureEvent events are dispatched for the related user interaction
supported by the current environment, and other touch events(such as a
simple tap) are interpreted as mouse events.cast 1Specifies that all user contact with a touch-enabled device is interpreted as a
type of mouse event.cast 2Specifies that all user contact with a touch-enabled device is interpreted
as a type of mouse event.new Map()new Map()new Map()44096"fragment""vertex"812162024280x10x20x200x400x10x80x100x200x400x800x1000x2000x400"mov""add""sub""mul"
"div"
"rcp""min""max""frc""sqt""rsq""pow""log""exp""nrm""sin""cos""crs""dp3""dp4""abs""neg""sat""m33""m44""m34""ddx""ddy""ife""ine""ifg""ifl""ieg""iel""els""eif""ted""kil""tex""sge""slt""sgn""seq""sne""va""vc""vt""vo""vi""fc""ft""fs""fo""fd""iid""2d""3d""cube""mipnearest""miplinear""mipnone""nomip""nearest""linear""anisotropic2x""anisotropic4x""anisotropic8x""anisotropic16x""centroid""single""ignoresampler""repeat""wrap""clamp""repeat_u_clamp_v""clamp_u_repeat_v""rgba""compressed""compressedalpha""dxt1""dxt5"falsefalse{ ignoreLimits : false, version : 1 }{ debugging : false }"tags=\"haxe,release\""["checkstyle:ConstantName", "checkstyle:FieldDocComment"]"tags=\"haxe,release\"""checkstyle:FieldDocComment""tags=\"haxe,release\"""checkstyle:FieldDocComment""tags=\"haxe,release\"""checkstyle:FieldDocComment"{ rootPath : null }{ rootPath : null }{ rootPath : null }{ rootPath : null }
<__proxy>
{ instance : null }"tags=\"haxe,release\""{ rootPath : null }{ rootPath : null }{ rootPath : null }{ rootPath : null }{ rootPath : null }
<__fromLimeManifest set="method" line="131" static="1">
{ id : null }{ id : null }{ id : null }{ id : null }{ id : null }"tags=\"haxe,release\""The AssetType enum lists the core set of available
asset types from the OpenFL command-line tools.cast "BINARY"Binary assets (data that is not readable as text)cast "FONT"Font assets, such as *.ttf or *.otf filescast "IMAGE"Image assets, such as *.png or *.jpg filescast "MOVIE_CLIP"MovieClip assets, such as from a *.swf filecast "MUSIC"Audio assets, such as *.ogg or *.wav files
In previous versions of OpenFL, `AssetType.MUSIC` was recommended
for long background music, but in current versions, both
`AssetType.MUSIC` and `AssetType.SOUND` behave similarly.
A future version may implement optimizations specific to each audio type
again.cast "SOUND"Audio assets, such as *.ogg or *.wav files
In previous versions of OpenFL, `AssetType.SOUND` was recommended
for short or repetitively used sounds, but in current versions, both
`AssetType.MUSIC` and `AssetType.SOUND` behave similarly.
A future version may implement optimizations specific to each audio type
again.cast "TEMPLATE"hideUsed internally in the toolscast "TEXT"Text assetscast "BINARY"Binary assets (data that is not readable as text)cast "FONT"Font assets, such as *.ttf or *.otf filescast "IMAGE"Image assets, such as *.png or *.jpg filescast "MOVIE_CLIP"MovieClip assets, such as from a *.swf filecast "MUSIC"Audio assets, such as *.ogg or *.wav files
In previous versions of OpenFL, `AssetType.MUSIC` was recommended
for long background music, but in current versions, both
`AssetType.MUSIC` and `AssetType.SOUND` behave similarly.
A future version may implement optimizations specific to each audio type
again.cast "SOUND"Audio assets, such as *.ogg or *.wav files
In previous versions of OpenFL, `AssetType.SOUND` was recommended
for short or repetitively used sounds, but in current versions, both
`AssetType.MUSIC` and `AssetType.SOUND` behave similarly.
A future version may implement optimizations specific to each audio type
again.cast "TEMPLATE"hideUsed internally in the toolscast "TEXT"Text assetsnew AssetCache()new EventDispatcher()new Map(){ useWeakReference : false, priority : 0, useCapture : false }{ type : null }Returns whether a specific asset exists
@param id The ID or asset path for the asset
@param type The asset type to match, or null to match any type
@return Whether the requested asset ID and type exists{ useCache : true }Gets an instance of an embedded bitmap
@usage var bitmap = new Bitmap (Assets.getBitmapData ("image.png"));
@param id The ID or asset path for the bitmap
@param useCache (Optional) Whether to allow use of the asset cache (Default: true)
@return A new BitmapData objectGets an instance of an embedded binary asset
@usage var bytes = Assets.getBytes ("file.zip");
@param id The ID or asset path for the asset
@return A new ByteArray object{ useCache : true }Gets an instance of an embedded font
@usage var fontName = Assets.getFont ("font.ttf").fontName;
@param id The ID or asset path for the font
@param useCache (Optional) Whether to allow use of the asset cache (Default: true)
@return A new Font objectGets an instance of an included MovieClip
@usage var movieClip = Assets.getMovieClip ("library:BouncingBall");
@param id The ID for the MovieClip
@return A new MovieClip object{ useCache : true }Gets the file path (if available) for an asset
@usage var path = Assets.getPath ("file.txt");
@param id The ID or asset path for the asset
@return The path to the asset, or null if it does not exist{ useCache : true }Gets an instance of an embedded sound
@usage var sound = Assets.getSound ("sound.wav");
@param id The ID or asset path for the sound
@param useCache (Optional) Whether to allow use of the asset cache (Default: true)
@return A new Sound objectGets an instance of an embedded text asset
@usage var text = Assets.getText ("text.txt");
@param id The ID or asset path for the asset
@return A new String object{ instance : null }Connects a user-defined class to a related asset class.
This method call is added to the beginning of user-defined class constructors when
the `@:bind` meta-data is used. This allows insertion of related asset resources in
compatible super classes, such as `openfl.display.MovieClip`.
@param className The registered class name of the asset constructor
@param instance The current class instance to be bound (default is null)
@return Whether asset binding was successful{ useCache : true, type : null }Returns whether an asset is "local", and therefore can be loaded synchronously
@param id The ID or asset path for the asset
@param type The asset type to match, or null to match any type
@param useCache (Optional) Whether to allow use of the asset cache (Default: true)
@return Whether the asset is localignore{ type : null }Returns a list of all embedded assets (by type)
@param type The asset type to match, or null to match any type
@return An array of asset ID values{ useCache : true }]]>]]>{ useCache : true }]]>]]>{ useCache : true }]]>]]>{ useCache : true }]]>]]>Registers an AssetLibrary binding for use with @:bind or Assets.bind
@param className The class name to use for the binding
@param method The AssetLibrary responsible for the bindingRegisters a new AssetLibrary with the Assets class
@param name The name (prefix) to use for the library
@param library An AssetLibrary instance to register{ capture : false }Unregisters an AssetLibrary binding for use with @:bind or Assets.bind
@param className The class name to use for the binding
@param method The AssetLibrary responsible for the binding
in the project file.]]>"tags=\"haxe,release\""openfl.display.BitmapDataopenfl.display.Spriteopenfl.text.Fontopenfl.utils.AssetLibraryThe ByteArray class provides methods and properties to optimize reading,
writing, and working with binary data.
_Note:_ The ByteArray class is for advanced developers who need to
access data on the byte level.
In-memory data is a packed array (the most compact representation for
the data type) of bytes, but an instance of the ByteArray class can be
manipulated with the standard `[]`(array access) operators. It
also can be read and written to as an in-memory file, using methods similar
to those in the URLStream and Socket classes.
On the Flash and AIR targets, the ByteArray type is a real class, but on
other platforms, ByteArray is a Haxe abstract over a hidden `ByteArrayData`
type. To check if an object is a ByteArray at runtime, import the ByteArray
type, then compare with ByteArrayData, such as `Std.is (ba, ByteArrayData)`.
In addition, all platforms support zlib compression and decompression, as
well as additional formats for object serialization.
Possible uses of the ByteArray class include the following:
* Creating a custom protocol to connect to a server.
* Writing your own URLEncoder/URLDecoder.
* Writing your own AMF/Remoting packet.
* Optimizing the size of your data by using data types.
* Working with binary data loaded from a local file.
* Supporting new binary file formats.haxe.io.Bytesopenfl.utils.ByteArrayDataendianobjectEncodingDenotes the default endianness for the ByteArray class to use for a
new ByteArray instance. When you create a new ByteArray instance, the
endian value on that instance starts with the value of
`defaultEndian`. The `defaultEndian`
property is initialized to the default system endianness. This will
most likely be `Endian.LITTLE_ENDIAN` on the majority platforms
except for the Flash runtime.
On Flash and AIR targets, this property cannot be changed and will
always be set to `Endian.BIG_ENDIAN`.Denotes the default object encoding for the ByteArray class to use for a
new ByteArray instance. When you create a new ByteArray instance, the
encoding on that instance starts with the value of
`defaultObjectEncoding`. The `defaultObjectEncoding`
property is initialized to `ObjectEncoding.DEFAULT`. This value varies
between platforms.
When an object is written to or read from binary data, the
`objectEncoding` value is used to determine whether the
Haxe, JavaScript, ActionScript 3.0, ActionScript 2.0 or ActionScript 1.0
format should be used. The value is a constant from the ObjectEncoding
class.
<__bytePointer expr="new BytePointer()" line="103" static="1">
new BytePointer()The number of bytes of data available for reading from the current
position in the byte array to the end of the array.
Use the `bytesAvailable` property in conjunction with the
read methods each time you access a ByteArray object to ensure that you
are reading valid data.The length of the ByteArray object, in bytes.
If the length is set to a value that is larger than the current length,
the right side of the byte array is filled with zeros.
If the length is set to a value that is smaller than the current
length, the byte array is truncated.Moves, or returns the current position, in bytes, of the file pointer into
the ByteArray object. This is the point at which the next call to a read
method starts reading or a write method starts writing.
<_new public="1" get="inline" set="null" line="170" static="1">
{ length : 0 }Creates a ByteArray instance representing a packed array of bytes, so that
you can use the methods and properties in this class to optimize your data
storage and stream.Clears the contents of the byte array and resets the `length`
and `position` properties to 0. Calling this method explicitly
frees up the memory used by the ByteArray instance.{ algorithm : null }air.CompressionAlgorithm.DEFLATE)` on the
original ByteArray. However, the result from `compress(air.CompressionAlgorithm.ZLIB)` includes
the extra metadata, while the
`compress(CompressionAlgorithm.DEFLATE)` result includes only
the compressed version of the original ByteArray data and nothing
else.
In order to use the deflate format to compress a ByteArray instance's
data in a specific format such as gzip or zip, you cannot simply call
`compress(CompressionAlgorithm.DEFLATE)`. You must create a
ByteArray structured according to the compression format's specification,
including the appropriate metadata as well as the compressed data obtained
using the deflate format. Likewise, in order to decode data compressed in
a format such as gzip or zip, you can't simply call
`uncompress(CompressionAlgorithm.DEFLATE)` on that data. First,
you must separate the metadata from the compressed data, and you can then
use the deflate format to decompress the compressed data.]]>Compresses the byte array using the deflate compression algorithm. The
entire byte array is compressed.
After the call, the `length` property of the ByteArray is
set to the new length. The `position` property is set to the
end of the byte array.
The deflate compression algorithm is described at
[http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt).
In order to use the deflate format to compress a ByteArray instance's
data in a specific format such as gzip or zip, you cannot simply call
`deflate()`. You must create a ByteArray structured according
to the compression format's specification, including the appropriate
metadata as well as the compressed data obtained using the deflate format.
Likewise, in order to decode data compressed in a format such as gzip or
zip, you can't simply call `inflate()` on that data. First, you
must separate the metadata from the compressed data, and you can then use
the deflate format to decompress the compressed data.Converts an ArrayBuffer into a ByteArray.
@param buffer An ArrayBuffer instance
@returns A new ByteArrayConverts a Bytes object into a ByteArray.
@param buffer A Bytes instance
@returns A new ByteArrayConverts a BytesData object into a ByteArray.
@param buffer A BytesData instance
@returns A new ByteArrayCreates a new ByteArray from a file path synchronously. This means that the
ByteArray will be returned immediately (if supported).
HTML5 and Flash do not support loading files synchronously, so these targets
always return `null`.
In order to load files from a remote web address, use the `loadFromFile` method,
which supports asynchronous loading.
@param path A local file path
@returns A new ByteArray if successful, or `null` if unsuccessfulConverts a Lime Bytes object into a ByteArray.
@param buffer A Lime Bytes instance
@returns A new ByteArrayDecompresses the byte array using the deflate compression algorithm. The
byte array must have been compressed using the same algorithm.
After the call, the `length` property of the ByteArray is
set to the new length. The `position` property is set to 0.
The deflate compression algorithm is described at
[http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt).
In order to decode data compressed in a format that uses the deflate
compression algorithm, such as data in gzip or zip format, it will not
work to simply call `inflate()` on a ByteArray containing the
compression formation data. First, you must separate the metadata that is
included as part of the compressed data format from the actual compressed
data. For more information, see the `compress()` method
description.
@throws IOError The data is not valid compressed data; it was not
compressed with the same compression algorithm used to
compress.Creates a new ByteArray from haxe.io.Bytes. Progress, completion and error
callbacks will be dispatched using callbacks attached to a returned Future
object.
@param bytes A haxe.io.Bytes instance
@returns A Future ByteArrayCreates a new ByteArray from a file path or web address asynchronously. The file
load will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param path A local file path or web address
@returns A Future ByteArrayReads a Boolean value from the byte stream. A single byte is read, and
`true` is returned if the byte is nonzero, `false`
otherwise.
@return Returns `true` if the byte is nonzero,
`false` otherwise.
@throws EOFError There is not sufficient data available to read.Reads a signed byte from the byte stream.
The returned value is in the range -128 to 127.
@return An integer between -128 and 127.
@throws EOFError There is not sufficient data available to read.{ length : 0, offset : 0 }Reads the number of data bytes, specified by the `length`
parameter, from the byte stream. The bytes are read into the ByteArray
object specified by the `bytes` parameter, and the bytes are
written into the destination ByteArray starting at the position specified
by `offset`.
@param bytes The ByteArray object to read data into.
@param offset The offset(position) in `bytes` at which the
read data should be written.
@param length The number of bytes to read. The default value of 0 causes
all available data to be read.
@throws EOFError There is not sufficient data available to read.
@throws RangeError The value of the supplied offset and length, combined,
is greater than the maximum for a uint.Reads an IEEE 754 double-precision(64-bit) floating-point number from the
byte stream.
@return A double-precision(64-bit) floating-point number.
@throws EOFError There is not sufficient data available to read.Reads an IEEE 754 single-precision(32-bit) floating-point number from the
byte stream.
@return A single-precision(32-bit) floating-point number.
@throws EOFError There is not sufficient data available to read.Reads a signed 32-bit integer from the byte stream.
The returned value is in the range -2147483648 to 2147483647.
@return A 32-bit signed integer between -2147483648 and 2147483647.
@throws EOFError There is not sufficient data available to read.Supported Character
Sets.
**Note:** If the value for the `charSet`
parameter is not recognized by the current system, the
application uses the system's default code page as the
character set. For example, a value for the
`charSet` parameter, as in
`myTest.readMultiByte(22, "iso-8859-01")` that
uses `01` instead of `1` might work
on your development system, but not on another system. On
the other system, the application will use the system's
default code page.
@return UTF-8 encoded string.
@throws EOFError There is not sufficient data available to read.]]>Reads an object from the byte array, encoded in AMF serialized format.
@return The deserialized object.
@throws EOFError There is not sufficient data available to read.Reads a signed 16-bit integer from the byte stream.
The returned value is in the range -32768 to 32767.
@return A 16-bit signed integer between -32768 and 32767.
@throws EOFError There is not sufficient data available to read.Reads a UTF-8 string from the byte stream. The string is assumed to be
prefixed with an unsigned short indicating the length in bytes.
@return UTF-8 encoded string.
@throws EOFError There is not sufficient data available to read.Reads a sequence of UTF-8 bytes specified by the `length`
parameter from the byte stream and returns a string.
@param length An unsigned short indicating the length of the UTF-8 bytes.
@return A string composed of the UTF-8 bytes of the specified length.
@throws EOFError There is not sufficient data available to read.Reads an unsigned byte from the byte stream.
The returned value is in the range 0 to 255.
@return A 32-bit unsigned integer between 0 and 255.
@throws EOFError There is not sufficient data available to read.Reads an unsigned 32-bit integer from the byte stream.
The returned value is in the range 0 to 4294967295.
@return A 32-bit unsigned integer between 0 and 4294967295.
@throws EOFError There is not sufficient data available to read.Reads an unsigned 16-bit integer from the byte stream.
The returned value is in the range 0 to 65535.
@return A 16-bit unsigned integer between 0 and 65535.
@throws EOFError There is not sufficient data available to read.Converts a ByteArray into an ArrayBuffer.
@param buffer A ByteArray instance
@returns A new ArrayBufferConverts the byte array to a string. If the data in the array begins with
a Unicode byte order mark, the application will honor that mark when
converting to a string. If `System.useCodePage` is set to
`true`, the application will treat the data in the array as
being in the current system code page when converting.
@return The string representation of the byte array.{ algorithm : null }Decompresses the byte array. For content running in Adobe AIR, you can
specify a compression algorithm by passing a value(defined in the
CompressionAlgorithm class) as the `algorithm` parameter. The
byte array must have been compressed using the same algorithm. Flash
Player supports only the default algorithm, zlib.
After the call, the `length` property of the ByteArray is
set to the new length. The `position` property is set to 0.
The zlib compressed data format is described at
[http://www.ietf.org/rfc/rfc1950.txt](http://www.ietf.org/rfc/rfc1950.txt).
The deflate compression algorithm is described at
[http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt).
In order to decode data compressed in a format that uses the deflate
compression algorithm, such as data in gzip or zip format, it will not
work to call `uncompress(CompressionAlgorithm.DEFLATE)` on a
ByteArray containing the compression formation data. First, you must
separate the metadata that is included as part of the compressed data
format from the actual compressed data. For more information, see the
`compress()` method description.
@throws IOError The data is not valid compressed data; it was not
compressed with the same compression algorithm used to
compress.Writes a Boolean value. A single byte is written according to the
`value` parameter, either 1 if `true` or 0 if
`false`.
@param value A Boolean value determining which byte is written. If the
parameter is `true`, the method writes a 1; if
`false`, the method writes a 0.Writes a byte to the byte stream.
The low 8 bits of the parameter are used. The high 24 bits are ignored.
@param value A 32-bit integer. The low 8 bits are written to the byte
stream.{ length : 0, offset : 0 }Writes a sequence of `length` bytes from the specified byte
array, `bytes`, starting `offset`(zero-based index)
bytes into the byte stream.
If the `length` parameter is omitted, the default length of
0 is used; the method writes the entire buffer starting at
`offset`. If the `offset` parameter is also omitted,
the entire buffer is written.
If `offset` or `length` is out of range, they are
clamped to the beginning and end of the `bytes` array.
@param bytes The ByteArray object.
@param offset A zero-based index indicating the position into the array to
begin writing.
@param length An unsigned integer indicating how far into the buffer to
write.Writes an IEEE 754 double-precision(64-bit) floating-point number to the
byte stream.
@param value A double-precision(64-bit) floating-point number.Writes an IEEE 754 single-precision(32-bit) floating-point number to the
byte stream.
@param value A single-precision(32-bit) floating-point number.Writes a 32-bit signed integer to the byte stream.
@param value An integer to write to the byte stream.Supported Character
Sets.]]>Writes an object into the byte array in AMF serialized format.
@param object The object to serialize.Writes a 16-bit integer to the byte stream. The low 16 bits of the
parameter are used. The high 16 bits are ignored.
@param value 32-bit integer, whose low 16 bits are written to the byte
stream.Writes a UTF-8 string to the byte stream. The length of the UTF-8 string
in bytes is written first, as a 16-bit integer, followed by the bytes
representing the characters of the string.
@param value The string value to be written.
@throws RangeError If the length is larger than 65535.Writes a UTF-8 string to the byte stream. Similar to the
`writeUTF()` method, but `writeUTFBytes()` does not
prefix the string with a 16-bit length word.
@param value The string value to be written.Writes a 32-bit unsigned integer to the byte stream.
@param value An unsigned integer to write to the byte stream.openfl.utils.ByteArrayDatahaxe.io.BytesDenotes the default endianness for the ByteArray class to use for a
new ByteArray instance. When you create a new ByteArray instance, the
endian value on that instance starts with the value of
`defaultEndian`. The `defaultEndian`
property is initialized to the default system endianness. This will
most likely be `Endian.LITTLE_ENDIAN` on the majority platforms
except for the Flash runtime.
On Flash and AIR targets, this property cannot be changed and will
always be set to `Endian.BIG_ENDIAN`.Denotes the default object encoding for the ByteArray class to use for a
new ByteArray instance. When you create a new ByteArray instance, the
encoding on that instance starts with the value of
`defaultObjectEncoding`. The `defaultObjectEncoding`
property is initialized to `ObjectEncoding.DEFAULT`. This value varies
between platforms.
When an object is written to or read from binary data, the
`objectEncoding` value is used to determine whether the
Haxe, JavaScript, ActionScript 3.0, ActionScript 2.0 or ActionScript 1.0
format should be used. The value is a constant from the ObjectEncoding
class.
<__bytePointer expr="new BytePointer()" line="103" static="1">
new BytePointer()The number of bytes of data available for reading from the current
position in the byte array to the end of the array.
Use the `bytesAvailable` property in conjunction with the
read methods each time you access a ByteArray object to ensure that you
are reading valid data.The length of the ByteArray object, in bytes.
If the length is set to a value that is larger than the current length,
the right side of the byte array is filled with zeros.
If the length is set to a value that is smaller than the current
length, the byte array is truncated.Moves, or returns the current position, in bytes, of the file pointer into
the ByteArray object. This is the point at which the next call to a read
method starts reading or a write method starts writing.
<_new public="1" get="inline" set="null" line="170" static="1">
{ length : 0 }Creates a ByteArray instance representing a packed array of bytes, so that
you can use the methods and properties in this class to optimize your data
storage and stream.Clears the contents of the byte array and resets the `length`
and `position` properties to 0. Calling this method explicitly
frees up the memory used by the ByteArray instance.{ algorithm : null }air.CompressionAlgorithm.DEFLATE)` on the
original ByteArray. However, the result from `compress(air.CompressionAlgorithm.ZLIB)` includes
the extra metadata, while the
`compress(CompressionAlgorithm.DEFLATE)` result includes only
the compressed version of the original ByteArray data and nothing
else.
In order to use the deflate format to compress a ByteArray instance's
data in a specific format such as gzip or zip, you cannot simply call
`compress(CompressionAlgorithm.DEFLATE)`. You must create a
ByteArray structured according to the compression format's specification,
including the appropriate metadata as well as the compressed data obtained
using the deflate format. Likewise, in order to decode data compressed in
a format such as gzip or zip, you can't simply call
`uncompress(CompressionAlgorithm.DEFLATE)` on that data. First,
you must separate the metadata from the compressed data, and you can then
use the deflate format to decompress the compressed data.]]>Compresses the byte array using the deflate compression algorithm. The
entire byte array is compressed.
After the call, the `length` property of the ByteArray is
set to the new length. The `position` property is set to the
end of the byte array.
The deflate compression algorithm is described at
[http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt).
In order to use the deflate format to compress a ByteArray instance's
data in a specific format such as gzip or zip, you cannot simply call
`deflate()`. You must create a ByteArray structured according
to the compression format's specification, including the appropriate
metadata as well as the compressed data obtained using the deflate format.
Likewise, in order to decode data compressed in a format such as gzip or
zip, you can't simply call `inflate()` on that data. First, you
must separate the metadata from the compressed data, and you can then use
the deflate format to decompress the compressed data.Converts an ArrayBuffer into a ByteArray.
@param buffer An ArrayBuffer instance
@returns A new ByteArrayConverts a Bytes object into a ByteArray.
@param buffer A Bytes instance
@returns A new ByteArrayConverts a BytesData object into a ByteArray.
@param buffer A BytesData instance
@returns A new ByteArrayCreates a new ByteArray from a file path synchronously. This means that the
ByteArray will be returned immediately (if supported).
HTML5 and Flash do not support loading files synchronously, so these targets
always return `null`.
In order to load files from a remote web address, use the `loadFromFile` method,
which supports asynchronous loading.
@param path A local file path
@returns A new ByteArray if successful, or `null` if unsuccessfulConverts a Lime Bytes object into a ByteArray.
@param buffer A Lime Bytes instance
@returns A new ByteArrayDecompresses the byte array using the deflate compression algorithm. The
byte array must have been compressed using the same algorithm.
After the call, the `length` property of the ByteArray is
set to the new length. The `position` property is set to 0.
The deflate compression algorithm is described at
[http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt).
In order to decode data compressed in a format that uses the deflate
compression algorithm, such as data in gzip or zip format, it will not
work to simply call `inflate()` on a ByteArray containing the
compression formation data. First, you must separate the metadata that is
included as part of the compressed data format from the actual compressed
data. For more information, see the `compress()` method
description.
@throws IOError The data is not valid compressed data; it was not
compressed with the same compression algorithm used to
compress.Creates a new ByteArray from haxe.io.Bytes. Progress, completion and error
callbacks will be dispatched using callbacks attached to a returned Future
object.
@param bytes A haxe.io.Bytes instance
@returns A Future ByteArrayCreates a new ByteArray from a file path or web address asynchronously. The file
load will occur in the background.
Progress, completion and error callbacks will be dispatched in the current
thread using callbacks attached to a returned Future object.
@param path A local file path or web address
@returns A Future ByteArrayReads a Boolean value from the byte stream. A single byte is read, and
`true` is returned if the byte is nonzero, `false`
otherwise.
@return Returns `true` if the byte is nonzero,
`false` otherwise.
@throws EOFError There is not sufficient data available to read.Reads a signed byte from the byte stream.
The returned value is in the range -128 to 127.
@return An integer between -128 and 127.
@throws EOFError There is not sufficient data available to read.{ length : 0, offset : 0 }Reads the number of data bytes, specified by the `length`
parameter, from the byte stream. The bytes are read into the ByteArray
object specified by the `bytes` parameter, and the bytes are
written into the destination ByteArray starting at the position specified
by `offset`.
@param bytes The ByteArray object to read data into.
@param offset The offset(position) in `bytes` at which the
read data should be written.
@param length The number of bytes to read. The default value of 0 causes
all available data to be read.
@throws EOFError There is not sufficient data available to read.
@throws RangeError The value of the supplied offset and length, combined,
is greater than the maximum for a uint.Reads an IEEE 754 double-precision(64-bit) floating-point number from the
byte stream.
@return A double-precision(64-bit) floating-point number.
@throws EOFError There is not sufficient data available to read.Reads an IEEE 754 single-precision(32-bit) floating-point number from the
byte stream.
@return A single-precision(32-bit) floating-point number.
@throws EOFError There is not sufficient data available to read.Reads a signed 32-bit integer from the byte stream.
The returned value is in the range -2147483648 to 2147483647.
@return A 32-bit signed integer between -2147483648 and 2147483647.
@throws EOFError There is not sufficient data available to read.Supported Character
Sets.
**Note:** If the value for the `charSet`
parameter is not recognized by the current system, the
application uses the system's default code page as the
character set. For example, a value for the
`charSet` parameter, as in
`myTest.readMultiByte(22, "iso-8859-01")` that
uses `01` instead of `1` might work
on your development system, but not on another system. On
the other system, the application will use the system's
default code page.
@return UTF-8 encoded string.
@throws EOFError There is not sufficient data available to read.]]>Reads an object from the byte array, encoded in AMF serialized format.
@return The deserialized object.
@throws EOFError There is not sufficient data available to read.Reads a signed 16-bit integer from the byte stream.
The returned value is in the range -32768 to 32767.
@return A 16-bit signed integer between -32768 and 32767.
@throws EOFError There is not sufficient data available to read.Reads a UTF-8 string from the byte stream. The string is assumed to be
prefixed with an unsigned short indicating the length in bytes.
@return UTF-8 encoded string.
@throws EOFError There is not sufficient data available to read.Reads a sequence of UTF-8 bytes specified by the `length`
parameter from the byte stream and returns a string.
@param length An unsigned short indicating the length of the UTF-8 bytes.
@return A string composed of the UTF-8 bytes of the specified length.
@throws EOFError There is not sufficient data available to read.Reads an unsigned byte from the byte stream.
The returned value is in the range 0 to 255.
@return A 32-bit unsigned integer between 0 and 255.
@throws EOFError There is not sufficient data available to read.Reads an unsigned 32-bit integer from the byte stream.
The returned value is in the range 0 to 4294967295.
@return A 32-bit unsigned integer between 0 and 4294967295.
@throws EOFError There is not sufficient data available to read.Reads an unsigned 16-bit integer from the byte stream.
The returned value is in the range 0 to 65535.
@return A 16-bit unsigned integer between 0 and 65535.
@throws EOFError There is not sufficient data available to read.Converts a ByteArray into an ArrayBuffer.
@param buffer A ByteArray instance
@returns A new ArrayBufferConverts the byte array to a string. If the data in the array begins with
a Unicode byte order mark, the application will honor that mark when
converting to a string. If `System.useCodePage` is set to
`true`, the application will treat the data in the array as
being in the current system code page when converting.
@return The string representation of the byte array.{ algorithm : null }Decompresses the byte array. For content running in Adobe AIR, you can
specify a compression algorithm by passing a value(defined in the
CompressionAlgorithm class) as the `algorithm` parameter. The
byte array must have been compressed using the same algorithm. Flash
Player supports only the default algorithm, zlib.
After the call, the `length` property of the ByteArray is
set to the new length. The `position` property is set to 0.
The zlib compressed data format is described at
[http://www.ietf.org/rfc/rfc1950.txt](http://www.ietf.org/rfc/rfc1950.txt).
The deflate compression algorithm is described at
[http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt).
In order to decode data compressed in a format that uses the deflate
compression algorithm, such as data in gzip or zip format, it will not
work to call `uncompress(CompressionAlgorithm.DEFLATE)` on a
ByteArray containing the compression formation data. First, you must
separate the metadata that is included as part of the compressed data
format from the actual compressed data. For more information, see the
`compress()` method description.
@throws IOError The data is not valid compressed data; it was not
compressed with the same compression algorithm used to
compress.Writes a Boolean value. A single byte is written according to the
`value` parameter, either 1 if `true` or 0 if
`false`.
@param value A Boolean value determining which byte is written. If the
parameter is `true`, the method writes a 1; if
`false`, the method writes a 0.Writes a byte to the byte stream.
The low 8 bits of the parameter are used. The high 24 bits are ignored.
@param value A 32-bit integer. The low 8 bits are written to the byte
stream.{ length : 0, offset : 0 }Writes a sequence of `length` bytes from the specified byte
array, `bytes`, starting `offset`(zero-based index)
bytes into the byte stream.
If the `length` parameter is omitted, the default length of
0 is used; the method writes the entire buffer starting at
`offset`. If the `offset` parameter is also omitted,
the entire buffer is written.
If `offset` or `length` is out of range, they are
clamped to the beginning and end of the `bytes` array.
@param bytes The ByteArray object.
@param offset A zero-based index indicating the position into the array to
begin writing.
@param length An unsigned integer indicating how far into the buffer to
write.Writes an IEEE 754 double-precision(64-bit) floating-point number to the
byte stream.
@param value A double-precision(64-bit) floating-point number.Writes an IEEE 754 single-precision(32-bit) floating-point number to the
byte stream.
@param value A single-precision(32-bit) floating-point number.Writes a 32-bit signed integer to the byte stream.
@param value An integer to write to the byte stream.Supported Character
Sets.]]>Writes an object into the byte array in AMF serialized format.
@param object The object to serialize.Writes a 16-bit integer to the byte stream. The low 16 bits of the
parameter are used. The high 16 bits are ignored.
@param value 32-bit integer, whose low 16 bits are written to the byte
stream.Writes a UTF-8 string to the byte stream. The length of the UTF-8 string
in bytes is written first, as a 16-bit integer, followed by the bytes
representing the characters of the string.
@param value The string value to be written.
@throws RangeError If the length is larger than 65535.Writes a UTF-8 string to the byte stream. Similar to the
`writeUTF()` method, but `writeUTFBytes()` does not
prefix the string with a 16-bit length word.
@param value The string value to be written.Writes a 32-bit unsigned integer to the byte stream.
@param value An unsigned integer to write to the byte stream.openfl.utils.ByteArrayDatahaxe.io.BytesThe CompressionAlgorithm class defines string constants for the names of
compress and uncompress options. These constants are used as values of the
`algorithm` parameter of the `ByteArray.compress()` and
`ByteArray.uncompress()` methods.cast 0Defines the string to use for the deflate compression algorithm.cast 1cast 2Defines the string to use for the zlib compression algorithm.cast 0Defines the string to use for the deflate compression algorithm.cast 1cast 2Defines the string to use for the zlib compression algorithm.The Dictionary class lets you create a dynamic collection of properties,
which uses strict equality (`===`) for key comparison. When an object is
used as a key, the object's identity is used to look up the object, and
not the value returned from calling `toString()` on it.
The following statements show the relationship between a Dictionary object
and a key object:
```as3
var dict = new Dictionary();
var obj = new Object();
var key:Object = new Object();
key.toString = function() { return "key" }
dict[key] = "Letters";
obj["key"] = "Letters";
dict[key] == "Letters"; // true
obj["key"] == "Letters"; // true
obj[key] == "Letters"; // true because key == "key" is true b/c key.toString == "key"
dict["key"] == "Letters"; // false because "key" === key is false
delete dict[key]; //removes the key
```KReturns `true` if `key` has a mapping, `false` otherwise.
If key is `null`, the result is unspecified.Returns the current mapping of `key`.
If no such mapping exists, `null` is returned.
Note that a check like `dict.get(key) == null` can hold for two reasons:
1. The Dictionary has no mapping for `key`
2. The Dictionary has a mapping with a value of `null`
If it is important to distinguish these cases, `exists()` should be used.
If `key` is null, the result is unspecified.Returns an Iterator over the keys and values of this Dictionary.
The order of values is undefined.Removes the mapping of `key` and returns `true` if such a mapping existed, `false` otherwise.
If `key` is `null`, the result is unspecified.Maps `key` to `value`.
If `key` already has a mapping, the previous value disappears.
If `key` is `null`, the result is unspecified.Returns an Iterator over the keys of this Dictionary.
The order of values is undefined.Returns an Iterator over each of the values of this Dictionary.
The order of values is undefined.Returns `true` if `key` has a mapping, `false` otherwise.
If key is `null`, the result is unspecified.Returns the current mapping of `key`.
If no such mapping exists, `null` is returned.
Note that a check like `dict.get(key) == null` can hold for two reasons:
1. The Dictionary has no mapping for `key`
2. The Dictionary has a mapping with a value of `null`
If it is important to distinguish these cases, `exists()` should be used.
If `key` is null, the result is unspecified.Returns an Iterator over the keys and values of this Dictionary.
The order of values is undefined.Removes the mapping of `key` and returns `true` if such a mapping existed, `false` otherwise.
If `key` is `null`, the result is unspecified.Maps `key` to `value`.
If `key` already has a mapping, the previous value disappears.
If `key` is `null`, the result is unspecified.Returns an Iterator over the keys of this Dictionary.
The order of values is undefined.Returns an Iterator over each of the values of this Dictionary.
The order of values is undefined."tags=\"haxe,release\"""checkstyle:FieldDocComment"hideBinary search through floatKeys array, which is sorted, to find an index of a given key. If the array
doesn't contain such key -1 is returned.Insert the key at a proper index in the array and return the index. The array must will remain sorted.
The keys are unique so if the key already existis in the array it isn't added but it's index is returned."tags=\"haxe,release\"""checkstyle:FieldDocComment"hide"tags=\"haxe,release\"""checkstyle:FieldDocComment"hideThe Endian class contains values that denote the byte order used to
represent multibyte numbers. The byte order is either bigEndian (most
significant byte first) or littleEndian (least significant byte first).
OpenFL content can interface with a server by using the binary protocol of
that server, directly. Some servers use the bigEndian byte order and some
servers use the littleEndian byte order. Most servers on the Internet use
the bigEndian byte order because "network byte order" is bigEndian. The
littleEndian byte order is popular because the Intel x86 architecture uses
it. Use the endian byte order that matches the protocol of the server that
is sending or receiving data.cast 0Indicates the most significant byte of the multibyte number
appears first in the sequence of bytes.
The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal
digits per byte). The most significant byte is 0x12. The
least significant byte is 0x78. (For the equivalent decimal
number, 305419896, the most significant digit is 3, and the
least significant digit is 6).
A stream using the bigEndian byte order (the most significant
byte first) writes:
```
12 34 56 78
```cast 1Indicates the least significant byte of the multibyte number
appears first in the sequence of bytes.
The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal
digits per byte). The most significant byte is 0x12. The
least significant byte is 0x78. (For the equivalent decimal
number, 305419896, the most significant digit is 3, and the
least significant digit is 6).
A stream using the littleEndian byte order (the most
significant byte first) writes:
```
78 56 34 12
```cast 0Indicates the most significant byte of the multibyte number
appears first in the sequence of bytes.
The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal
digits per byte). The most significant byte is 0x12. The
least significant byte is 0x78. (For the equivalent decimal
number, 305419896, the most significant digit is 3, and the
least significant digit is 6).
A stream using the bigEndian byte order (the most significant
byte first) writes:
```
12 34 56 78
```cast 1Indicates the least significant byte of the multibyte number
appears first in the sequence of bytes.
The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal
digits per byte). The most significant byte is 0x12. The
least significant byte is 0x78. (For the equivalent decimal
number, 305419896, the most significant digit is 3, and the
least significant digit is 6).
A stream using the littleEndian byte order (the most
significant byte first) writes:
```
78 56 34 12
```
<_new public="1" get="inline" set="null" line="13" static="1">
"checkstyle:FieldDocComment"hide
<__fieldRead get="inline" set="null" line="92" static="1">
a.b
<__fieldWrite get="inline" set="null" line="99" static="1">
a.b
<__get public="1" set="method" line="106" static="1">
"checkstyle:FieldDocComment"hide
<__set public="1" get="inline" set="null" line="124" static="1">
"checkstyle:FieldDocComment"hide
<__getArray public="1" set="method" line="135" static="1">
"checkstyle:FieldDocComment"hide
<__setArray public="1" set="method" line="143" static="1">
"checkstyle:FieldDocComment"hide
<__negate get="inline" set="null" line="189" static="1">
-A
<__preIncrement get="inline" set="null" line="195" static="1">
++A
<__postIncrement get="inline" set="null" line="201" static="1">
A++
<__preDecrement get="inline" set="null" line="207" static="1">
--A
<__postDecrement get="inline" set="null" line="213" static="1">
A--
<__add get="inline" set="null" line="219" static="1">
A + B
<__addString get="inline" set="null" line="234" static="1">
A + B
<__addInt get="inline" set="null" line="240" static="1">
A + B
<__addFloat set="method" line="246" static="1">
A + B
<__sub get="inline" set="null" line="252" static="1">
A - B
<__subInt get="inline" set="null" line="259" static="1">
A - B
<__intSub get="inline" set="null" line="265" static="1">
A - B
<__subFloat set="method" line="271" static="1">
A - B
<__floatSub set="method" line="277" static="1">
A - B
<__mul set="method" line="283" static="1">
A * B
<__mulInt get="inline" set="null" line="290" static="1">
A * B
<__mulFloat set="method" line="296" static="1">
A * B
<__div set="method" line="302" static="1">
A / B
<__divInt set="method" line="309" static="1">
A / B
<__intDiv set="method" line="315" static="1">
A / B
<__divFloat set="method" line="321" static="1">
A / B
<__floatDiv set="method" line="327" static="1">
A / B
<__mod set="method" line="333" static="1">
A % B
<__modInt set="method" line="340" static="1">
A % B
<__intMod set="method" line="346" static="1">
A % B
<__modFloat set="method" line="352" static="1">
A % B
<__floatMod set="method" line="358" static="1">
A % B
<__eq set="method" line="364" static="1">
A == B
<__eqDynamic set="method" line="371" static="1">
A == B
<__neq set="method" line="377" static="1">
A != B
<__neqDynamic set="method" line="384" static="1">
A != B
<__lt set="method" line="390" static="1">
<__ltInt set="method" line="397" static="1">
<__intLt set="method" line="403" static="1">
<__ltFloat set="method" line="409" static="1">
<__floatLt set="method" line="415" static="1">
<__lte set="method" line="421" static="1">
<__lteInt set="method" line="428" static="1">
<__intLte set="method" line="434" static="1">
<__lteFloat set="method" line="440" static="1">
<__floatLte set="method" line="446" static="1">
<__gt set="method" line="452" static="1">
B]]>
<__gtInt set="method" line="459" static="1">
B]]>
<__intGt set="method" line="465" static="1">
B]]>
<__gtFloat set="method" line="471" static="1">
B]]>
<__floatGt set="method" line="477" static="1">
B]]>
<__gte set="method" line="483" static="1">
= B]]>
<__gteInt set="method" line="490" static="1">
= B]]>
<__intGte set="method" line="496" static="1">
= B]]>
<__gteFloat set="method" line="502" static="1">
= B]]>
<__floatGte set="method" line="508" static="1">
= B]]>
<__complement set="method" line="514" static="1">
~A
<__and set="method" line="520" static="1">
<__andInt set="method" line="527" static="1">
<__or set="method" line="533" static="1">
A | B
<__orInt set="method" line="540" static="1">
A | B
<__xor set="method" line="546" static="1">
A ^ B
<__xorInt set="method" line="553" static="1">
A ^ B
<__shr set="method" line="559" static="1">
> B]]>
<__shrInt set="method" line="566" static="1">
> B]]>
<__intShr set="method" line="572" static="1">
> B]]>
<__ushr set="method" line="578" static="1">
>> B]]>
<__ushrInt set="method" line="585" static="1">
>> B]]>
<__intUshr set="method" line="591" static="1">
>> B]]>
<__shl set="method" line="597" static="1">
<__shlInt set="method" line="604" static="1">
<__intShl set="method" line="610" static="1">
<_new public="1" get="inline" set="null" line="13" static="1">
"checkstyle:FieldDocComment"hide
<__fieldRead get="inline" set="null" line="92" static="1">
a.b
<__fieldWrite get="inline" set="null" line="99" static="1">
a.b
<__get public="1" set="method" line="106" static="1">
"checkstyle:FieldDocComment"hide
<__set public="1" get="inline" set="null" line="124" static="1">
"checkstyle:FieldDocComment"hide
<__getArray public="1" set="method" line="135" static="1">
"checkstyle:FieldDocComment"hide
<__setArray public="1" set="method" line="143" static="1">
"checkstyle:FieldDocComment"hide
<__negate get="inline" set="null" line="189" static="1">
-A
<__preIncrement get="inline" set="null" line="195" static="1">
++A
<__postIncrement get="inline" set="null" line="201" static="1">
A++
<__preDecrement get="inline" set="null" line="207" static="1">
--A
<__postDecrement get="inline" set="null" line="213" static="1">
A--
<__add get="inline" set="null" line="219" static="1">
A + B
<__addString get="inline" set="null" line="234" static="1">
A + B
<__addInt get="inline" set="null" line="240" static="1">
A + B
<__addFloat set="method" line="246" static="1">
A + B
<__sub get="inline" set="null" line="252" static="1">
A - B
<__subInt get="inline" set="null" line="259" static="1">
A - B
<__intSub get="inline" set="null" line="265" static="1">
A - B
<__subFloat set="method" line="271" static="1">
A - B
<__floatSub set="method" line="277" static="1">
A - B
<__mul set="method" line="283" static="1">
A * B
<__mulInt get="inline" set="null" line="290" static="1">
A * B
<__mulFloat set="method" line="296" static="1">
A * B
<__div set="method" line="302" static="1">
A / B
<__divInt set="method" line="309" static="1">
A / B
<__intDiv set="method" line="315" static="1">
A / B
<__divFloat set="method" line="321" static="1">
A / B
<__floatDiv set="method" line="327" static="1">
A / B
<__mod set="method" line="333" static="1">
A % B
<__modInt set="method" line="340" static="1">
A % B
<__intMod set="method" line="346" static="1">
A % B
<__modFloat set="method" line="352" static="1">
A % B
<__floatMod set="method" line="358" static="1">
A % B
<__eq set="method" line="364" static="1">
A == B
<__eqDynamic set="method" line="371" static="1">
A == B
<__neq set="method" line="377" static="1">
A != B
<__neqDynamic set="method" line="384" static="1">
A != B
<__lt set="method" line="390" static="1">
<__ltInt set="method" line="397" static="1">
<__intLt set="method" line="403" static="1">
<__ltFloat set="method" line="409" static="1">
<__floatLt set="method" line="415" static="1">
<__lte set="method" line="421" static="1">
<__lteInt set="method" line="428" static="1">
<__intLte set="method" line="434" static="1">
<__lteFloat set="method" line="440" static="1">
<__floatLte set="method" line="446" static="1">
<__gt set="method" line="452" static="1">
B]]>
<__gtInt set="method" line="459" static="1">
B]]>
<__intGt set="method" line="465" static="1">
B]]>
<__gtFloat set="method" line="471" static="1">
B]]>
<__floatGt set="method" line="477" static="1">
B]]>
<__gte set="method" line="483" static="1">
= B]]>
<__gteInt set="method" line="490" static="1">
= B]]>
<__intGte set="method" line="496" static="1">
= B]]>
<__gteFloat set="method" line="502" static="1">
= B]]>
<__floatGte set="method" line="508" static="1">
= B]]>
<__complement set="method" line="514" static="1">
~A
<__and set="method" line="520" static="1">
<__andInt set="method" line="527" static="1">
<__or set="method" line="533" static="1">
A | B
<__orInt set="method" line="540" static="1">
A | B
<__xor set="method" line="546" static="1">
A ^ B
<__xorInt set="method" line="553" static="1">
A ^ B
<__shr set="method" line="559" static="1">
> B]]>
<__shrInt set="method" line="566" static="1">
> B]]>
<__intShr set="method" line="572" static="1">
> B]]>
<__ushr set="method" line="578" static="1">
>> B]]>
<__ushrInt set="method" line="585" static="1">
>> B]]>
<__intUshr set="method" line="591" static="1">
>> B]]>
<__shl set="method" line="597" static="1">
<__shlInt set="method" line="604" static="1">
<__intShl set="method" line="610" static="1">
"checkstyle:FieldDocComment""haxe.lang.Iterator""checkstyle:FieldDocComment""haxe.lang.Iterable"hideThe total number of times the timer has fired since it started at zero. If
the timer has been reset, only the fires since the reset are counted.The delay, in milliseconds, between timer events. If you set the delay
interval while the timer is running, the timer will restart at the same
`repeatCount` iteration.
**Note:** A `delay` lower than 20 milliseconds is not
recommended. Timer frequency is limited to 60 frames per second, meaning a
delay lower than 16.6 milliseconds causes runtime problems.
@throws Error Throws an exception if the delay specified is negative or
not a finite number.The total number of times the timer is set to run. If the repeat count is
set to 0, the timer continues forever or until the `stop()`
method is invoked or the program stops. If the repeat count is nonzero,
the timer runs the specified number of times. If `repeatCount`
is set to a total that is the same or less then `currentCount`
the timer stops and will not fire again.The timer's current state; `true` if the timer is running,
otherwise `false`.
<__delay>
<__repeatCount>
<__timer>
<__timerID>
Stops the timer, if it is running, and sets the `currentCount`
property back to 0, like the reset button of a stopwatch. Then, when
`start()` is called, the timer instance runs for the specified
number of repetitions, as set by the `repeatCount` value.Starts the timer, if it is not already running.Stops the timer. When `start()` is called after
`stop()`, the timer instance runs for the _remaining_
number of repetitions, as set by the `repeatCount` property.{ repeatCount : 0 }Constructs a new Timer object with the specified `delay` and
`repeatCount` states.
The timer does not start automatically; you must call the
`start()` method to start it.
@param delay The delay between timer events, in milliseconds. A
`delay` lower than 20 milliseconds is not
recommended. Timer frequency is limited to 60 frames
per second, meaning a delay lower than 16.6
milliseconds causes runtime problems.
@param repeatCount Specifies the number of repetitions. If zero, the timer
repeats infinitely. If nonzero, the timer runs the
specified number of times and then stops.
@throws Error if the delay specified is negative or not a finite numberThe Timer class is the interface to timers, which let you run code on a
specified time sequence. Use the `start()` method to start a
timer. Add an event listener for the `timer` event to set up
code to be run on the timer interval.
You can create Timer objects to run once or repeat at specified
intervals to execute code on a schedule. Depending on the SWF file's
framerate or the runtime environment(available memory and other factors),
the runtime may dispatch events at slightly offset intervals. For example,
if a SWF file is set to play at 10 frames per second(fps), which is 100
millisecond intervals, but your timer is set to fire an event at 80
milliseconds, the event will be dispatched close to the 100 millisecond
interval. Memory-intensive scripts may also offset the events.
@event timer Dispatched whenever a Timer object reaches an interval
specified according to the `Timer.delay`
property.
@event timerComplete Dispatched whenever it has completed the number of
requests set by `Timer.repeatCount`."tags=\"haxe,release\""
<__sentWarnings expr="new Map()" line="19" static="1">
new Map()"checkstyle:NullableParameter""tags=\"haxe,release\"""checkstyle:FieldDocComment"
<__pool public="1" expr="new ObjectPool<TouchData>(function() return new TouchData(), function(data) data.reset())" line="16" static="1">
(function() return new TouchData(), function(data) data.reset())]]>"checkstyle:Dynamic""tags=\"haxe,release\"""checkstyle:FieldDocComment"* Triggered after the characters XML has been loaded.* Triggered after the character has been entirely loaded.* Triggered every frame.* Triggered everytime the character will dance (play its idle animation).* Triggered every beat* Triggered every step* Triggered everytime the game tries to play an animation on your character.* Triggered everytime the game tries to get your player's camera position.
* This event cannot be cancelled.* Triggered everytime the game tries to play a sing, alt sing or miss animation.* Contains all callbacks you can add in a Character script.
*
* To add a Character script, create a file here: `data/characters/my-char.hx`* Called whenever the game gains focus.* Called whenever the game loses focus.* Called whenever the game loses focus.
* @param width Width of the game
* @param height Height of the game* Called after the screen has been drawn.* Called after the game has been reset.* Called after the game has been started.* Called after the state has been switched.* Called after the game has been updated.
*
* Aliases: `postUpdate`
*
* @param elapsed Time elapsed since last frame* Called before the game draws on screen.* Called before the game resets.* Called before the game starts.* Called before the state creates.* Called before the state switches.* Called before the game updates.
*
* Aliases: `preUpdate`* A global script is a special kind of script that runs on everywhere on your mod: menus, game, etc...
*
* To create one, go to data and create a script named "global", then press F5 in game to hot reload.
*
* All flixel signals are automatically binded, as shown below.* Triggered after the characters has been created, during PlayState's creation.* Triggered at the very end of PlayState's creation* Triggered every frame.
* @param elapsed Time elapsed since last frame.* Triggered at the end of every frame.
* @param elapsed Time elapsed since last frame.* Triggered every step
* @param curStep Current step.* Triggered every beat.
* @param curBeat Current beat.* Triggered every countdown.
* @param event Countdown event.* Triggered after every countdown.
* @param event Countdown event.* Triggered whenever the player hits a note.
* @param note Event object with the note being pressed, the character who pressed it, and functions to alter or cancel the default behaviour.* Triggered whenever the opponent hits a note.
* @param note Event object with the note being pressed, the character who pressed it, and functions to alter or cancel the default behaviour.* Triggered whenever the input system updates.
* @param note Event object with the pressed notes, which allows you to alter which notes are being pressed during this frame, or simply cancel the input update.* Triggered after the input system updates.
* @param note Event object with the pressed, justPressed and justReleased notes.* Triggered on each note creation
* @param event Event object containing information about the note.* Triggered on each strum creation
* @param event Event object containing information about the strum.* Triggered on substate open.
* @param event Event object containing the substate, which is cancellable.* Triggered on substate close.
* @param event Event object containing the substate, which is cancellable.* Contains all callbacks you can add in modcharts and stage scripts.
*
*
*
* NOTE: In case you're scripting a stage, all sprites of that stage are directly accessible via their name.
*
* Ex: If you added a `superCoolBG` element in your stage XML, you'll be able to access it via scripts by using `superCoolBG`.The user id for the file owner.The size of the file, in bytes.The device type on which stat resides (special files only).The number of hard links to stat.The last modification time for the file.The permission bits of stat. The meaning of the bits is platform dependent.The inode number for stat.The user group id for the file owner.The device on which stat resides.The creation time for the file (not all file systems support this).The last access time for the file (when enabled by the file system).File information, as given by `sys.FileSystem.stat`.Returns `true` if the file or directory specified by `path` exists.Renames/moves the file or directory specified by `path` to `newPath`.
If `path` is not a valid file system entry, or if it is not accessible,
or if `newPath` is not accessible, an exception is thrown.Returns `FileStat` information for the file or directory specified by
`path`.Returns the full path of the file or directory specified by `relPath`,
which is relative to the current working directory. Symlinks will be
followed and the path will be normalized.Returns the full path of the file or directory specified by `relPath`,
which is relative to the current working directory. The path doesn't
have to exist.Returns `true` if the file or directory specified by `path` is a directory.
If `path` is not a valid file system entry or if its destination is not
accessible, an exception is thrown.Creates a directory specified by `path`.
This method is recursive: The parent directories don't have to exist.
If the directory cannot be created, an exception is thrown.Deletes the file specified by `path`.
If `path` does not denote a valid file, or if that file cannot be
deleted, an exception is thrown.Deletes the directory specified by `path`. Only empty directories can
be deleted.
If `path` does not denote a valid directory, or if that directory cannot
be deleted, an exception is thrown.Returns the names of all files and directories in the directory specified
by `path`. `"."` and `".."` are not included in the output.
If `path` does not denote a valid directory, an exception is thrown.This class provides information about files and directories.
If `null` is passed as a file path to any function in this class, the
result is unspecified, and may differ from target to target.
See `sys.io.File` for the complementary file API."]]>nullMakes a synchronous request to `url`.
This creates a new Http instance and makes a GET request by calling its
`request(false)` method.
If `url` is null, the result is unspecified.{ mimeType : "application/octet-stream" }"Use fileTransfer instead"{ mimeType : "application/octet-stream" }Get amount of rows left in this set.
Depending on a database management system accessing this field may cause
all rows to be fetched internally. However, it does not affect `next` calls.Amount of columns in a row.
Depending on a database management system may return `0` if the query
did not match any rows.Tells whether there is a row to be fetched.Fetch next row.Fetch all the rows not fetched yet.Get the value of `n`-th column of the current row.
Throws an exception if the reGet the value of `n`-th column of the current row as an integer value.Get the value of `n`-th column of the current row as a float value.Get the list of column names.
Depending on a database management system may return `null` if there's no
more rows to fetch.
<__r>
<__use_date expr="Date" line="197" static="1">
Date
<__c>"]]>Opens a new SQLite connection on the specified path.
(cs) You will need a SQLite ADO.NET Provider
(see http://www.mono-project.com/docs/database-access/providers/sqlite/).
Also note that this will try to open an assembly named `Mono.Data.Sqlite`
if it wasn't loaded yet.
(java) You will need a SQLite JDBC driver (e.g.
https://github.com/xerial/sqlite-jdbc/releases)."]]>Retrieves the content of the file specified by `path` as a String.
If the file does not exist or can not be read, an exception is thrown.
`sys.FileSystem.exists` can be used to check for existence.
If `path` is null, the result is unspecified.Retrieves the binary content of the file specified by `path`.
If the file does not exist or can not be read, an exception is thrown.
`sys.FileSystem.exists` can be used to check for existence.
If `path` is null, the result is unspecified.Stores `content` in the file specified by `path`.
If the file cannot be written to, an exception is thrown.
If `path` or `content` are null, the result is unspecified.Stores `bytes` in the file specified by `path` in binary mode.
If the file cannot be written to, an exception is thrown.
If `path` or `bytes` are null, the result is unspecified.{ binary : true }Returns an `FileInput` handle to the file specified by `path`.
If `binary` is true, the file is opened in binary mode. Otherwise it is
opened in non-binary mode.
If the file does not exist or can not be read, an exception is thrown.
Operations on the returned `FileInput` handle read on the opened file.
File handles should be closed via `FileInput.close` once the operation
is complete.
If `path` is null, the result is unspecified.{ binary : true }Returns an `FileOutput` handle to the file specified by `path`.
If `binary` is true, the file is opened in binary mode. Otherwise it is
opened in non-binary mode.
If the file cannot be written to, an exception is thrown.
Operations on the returned `FileOutput` handle write to the opened file.
If the file existed, its previous content is overwritten.
File handles should be closed via `FileOutput.close` once the operation
is complete.
If `path` is null, the result is unspecified.{ binary : true }Similar to `sys.io.File.write`, but appends to the file if it exists
instead of overwriting its contents.{ binary : true }Similar to `sys.io.File.append`. While `append` can only seek or write
starting from the end of the file's previous contents, `update` can
seek to any position, so the file's previous contents can be
selectively overwritten.Copies the contents of the file specified by `srcPath` to the file
specified by `dstPath`.
If the `srcPath` does not exist or cannot be read, or if the `dstPath`
file cannot be written to, an exception is thrown.
If the file at `dstPath` exists, its contents are overwritten.
If `srcPath` or `dstPath` are null, the result is unspecified.API for reading and writing files.
See `sys.FileSystem` for the complementary file system API.
<__f>Use `sys.io.File.read` to create a `FileInput`.
<__f>Use `sys.io.File.write` to create a `FileOutput`.
Standard output. The output stream where a process writes its output data.Standard error. The output stream to output error messages or diagnostics.Standard input. The stream data going into a process.Return the process ID.{ block : true }Query the exit code of the process.
If `block` is true or not specified, it will block until the process terminates.
If `block` is false, it will return either the process exit code if it's already terminated or null if it's still running.
If the process has already exited, return the exit code immediately.Close the process handle and release the associated resources.
All `Process` fields should not be used after `close()` is called.Kill the process.Construct a `Process` object, which run the given command immediately.
Command arguments can be passed in two ways: 1. using `args`, 2. appending to `cmd` and leaving `args` as `null`.
1. When using `args` to pass command arguments, each argument will be automatically quoted, and shell meta-characters will be escaped if needed.
`cmd` should be an executable name that can be located in the `PATH` environment variable, or a path to an executable.
2. When `args` is not given or is `null`, command arguments can be appended to `cmd`. No automatic quoting/escaping will be performed. `cmd` should be formatted exactly as it would be when typed at the command line.
It can run executables, as well as shell commands that are not executables (e.g. on Windows: `dir`, `cd`, `echo` etc).
`detached` allows the created process to be standalone. You cannot communicate with it but you can look at its exit code. Not supported on php.
`close()` should be called when the `Process` is no longer used.An address is used to represent a port on a given host ip.
It is used by `sys.net.UdpSocket`.Returns the local computer host nameThe provided host string.The actual IP corresponding to the host.Returns the IP representation of the hostPerform a reverse-DNS query to resolve a host name from an IP.Creates a new Host : the name can be an IP in the form "127.0.0.1" or an host name such as "google.com", in which case
the corresponding IP address is resolved using DNS. An exception occur if the host name could not be found.A given IP host name.
<__s>
<__s>
<__s>
<__timeout expr="0.0">
0.0
<__blocking expr="true">
true
<__fastSend expr="false">
falseThe stream on which you can read available data. By default the stream is blocking until the requested data is available,
use `setBlocking(false)` or `setTimeout` to prevent infinite waiting.A custom value that can be associated with the socket. Can be used to retrieve your custom infos after a `select`.
*Closes the socket : make sure to properly close all your sockets or you will crash when you run out of file descriptors.Read the whole data available on the socket.
*Note*: this is **not** meant to be used together with `setBlocking(false)`,
as it will always throw `haxe.io.Error.Blocked`. `input` methods should be used directly instead.Write the whole data to the socket output.
*Note*: this is **not** meant to be used together with `setBlocking(false)`, as
`haxe.io.Error.Blocked` may be thrown mid-write with no indication of how many bytes have been written.
`output.writeBytes()` should be used instead as it returns this information.Connect to the given server host/port. Throw an exception in case we couldn't successfully connect.Allow the socket to listen for incoming questions. The parameter tells how many pending connections we can have until they get refused. Use `accept()` to accept incoming connections.Shutdown the socket, either for reading or writing.Bind the socket to the given host/port so it can afterwards listen for connections there.Accept a new connected client. This will return a connected socket on which you can read/write some data.Return the information about the other side of a connected socket.Return the information about our side of a connected socket.Gives a timeout (in seconds) after which blocking socket operations (such as reading and writing) will abort and throw an exception.Block until some data is available for read on the socket.Change the blocking mode of the socket. A blocking socket is the default behavior. A non-blocking socket will abort blocking operations immediately by throwing a haxe.io.Error.Blocked value.Allows the socket to immediately send the data when written to its output : this will cause less ping but might increase the number of packets / data size, especially when doing a lot of small writes.Creates a new unconnected socket.A TCP socket class : allow you to both connect to a given server and exchange messages or start your own server and wait for connections.Sends data to the specified target host/port address.Reads data from any incoming address and store the receiver address into the address parameter.Allows the socket to send to broadcast addresses.A UDP socket class
<__h>
<__x>sys.ssl.Socketcast "MD5"cast "SHA1"cast "SHA224"cast "SHA256"cast "SHA384"cast "SHA512"cast "RIPEMD160"cast "MD5"cast "SHA1"cast "SHA224"cast "SHA256"cast "SHA384"cast "SHA512"cast "RIPEMD160"
<__k>
<__s>
sys.ssl.Socket
<__s>
sys.ssl.SockettrueDefine if peer certificate is verified during SSL handshake.Perform the SSL handshake.Configure the certificate chain for peer certificate verification.Configure the hostname for Server Name Indication TLS extension.Configure own certificate and private key.Configure additionals certificates and private keys for Server Name Indication extension.
The callback may be called during handshake to determine the certificate to use.Return the certificate received from the other side of a connection.A TLS socket class : allow you to both connect to a given server and exchange messages or start your own server and wait for connections.Adds an element at the end of `this` Deque.
(Java,Jvm): throws `java.lang.NullPointerException` if `i` is `null`.Adds an element at the front of `this` Deque.
(Java,Jvm): throws `java.lang.NullPointerException` if `i` is `null`.Tries to retrieve an element from the front of `this` Deque.
If an element is available, it is removed from the queue and returned.
If no element is available and `block` is `false`, `null` is returned.
Otherwise, execution blocks until an element is available and returns it.Create a new Deque instance which is initially empty.A Deque is a double-ended queue with a `pop` method that can block until
an element is available. It is commonly used to synchronize threads.Amount of alive threads in this pool.Indicates if `shutdown` method of this pool has been called.Submit a task to run in a thread.
Throws an exception if the pool is shut down.Initiates a shutdown.
All previousely submitted tasks will be executed, but no new tasks will
be accepted.
Multiple calls to this method have no effect.A thread pool interface.Indicates if `shutdown` method of this pool has been called.
<_isShutdown expr="false">
false[] Void>()]]>new Mutex()Submit a task to run in a thread.
Throws an exception if the pool is shut down.Initiates a shutdown.
All previousely submitted tasks will be executed, but no new tasks will
be accepted.
Multiple calls to this method have no effect.{ threadTimeout : 60 }Create a new thread pool with `threadsCount` threads.
If a worker thread does not receive a task for `threadTimeout` seconds it
is terminated.Thread pool with a varying amount of threads.
A new thread is spawned every time a task is submitted while all existing
threads are busy.falsenew Mutex()new Lock()falseThere's already an event waiting to be executedNo new events are expected.An event is expected to arrive at any time.
If `time` is specified, then the event will be ready at that time for sure.An event is expected to be ready for execution at `time`.When an event loop has an available event to execute.falseIndicates if `shutdown` method of this pool has been called.
<_isShutdown expr="false">
falsenew Mutex() Void>()]]>Submit a task to run in a thread.
Throws an exception if the pool is shut down.Initiates a shutdown.
All previousely submitted tasks will be executed, but no new tasks will
be accepted.
Multiple calls to this method have no effect.Create a new thread pool with `threadsCount` threads.Thread pool with a constant amount of threads.
Threads in the pool will exist until the pool is explicitly shut down.{ timeout : -1 }Waits for the lock to be released, or `timeout` (in seconds)
to expire. Returns `true` if the lock is released and `false`
if a time-out occurs.Releases the lock once.
The thread does not need to own the lock in order to release
it. Each call to `release` allows exactly one call to `wait`
to execute.Creates a new Lock which is initially locked.A Lock allows blocking execution until it has been unlocked. It keeps track
of how often `release` has been called, and blocks exactly as many `wait`
calls.
The order of the `release` and `wait` calls is irrelevant. That is, a Lock
can be released before anyone waits for it. In that case, the `wait` call
will execute immediately.
Usage example:
```haxe
var lock = new Lock();
var elements = [1, 2, 3];
for (element in elements) {
// Create one thread per element
new Thread(function() {
trace(element);
Sys.sleep(1);
// Release once per thread = 3 times
lock.release();
});
}
for (_ in elements) {
// Wait 3 times
lock.wait();
}
trace("All threads finished");
```{ msg : "Event loop is not available. Refer to sys.thread.Thread.runWithEventLoop." }0Creates thread local storage. This is placeholder that can store
a value that will be different depending on the local thread.
Set the tls value to `null` before exiting the thread
or the memory will never be collected.Creates thread local storage.
(hl) Warning: At the moment `Tls` does not protect the value from being
garbage collected. Keep the value reachable to avoid crashes.01false
<_width>
<_height>{ autoScale : true, height : 240, width : 320 }* ...
* @author Tommy S"#include \"LibVLC.cpp\"""LibVLC::create""setPath""openMedia""play""play""playInWindow""playInWindow""stop""pause""resume""togglePause""fullscreen""showMainWindow""getLength""getDuration""getWidth""getHeight""getMeta""isPlaying""isSeekable""setVolume""getVolume""getTime""setTime""getPosition""setPosition""useHWacceleration""getLastError""getRepeat"{ repeat : 1 }"setRepeat""getPixelData""getFPS""flags"* ...
* @author Tommy S"]]>"LibVLC.h""LibVLC*"