<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.orx-project.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.orx-project.org/wiki/feed.php">
        <title>Orx Learning - en:examples:orx_scroll</title>
        <description></description>
        <link>https://www.orx-project.org/wiki/</link>
        <image rdf:resource="https://www.orx-project.org/wiki/_media/favicon.ico" />
       <dc:date>2026-04-15T03:07:48+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/collisions_with_scrollobjects?rev=1759253179&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/delete_bodypart_from_scrollobject_by_name?rev=1759253179&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/delete_child_from_scrollobject_by_name?rev=1759253179&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/get_child_under_scrollobject_by_name?rev=1759253179&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/main?rev=1759253179&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobjects_and_custom_classes?rev=1759253179&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobject_following_scrollobject?rev=1759253179&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobject_start_position?rev=1759253179&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.orx-project.org/wiki/_media/favicon.ico">
        <title>Orx Learning</title>
        <link>https://www.orx-project.org/wiki/</link>
        <url>https://www.orx-project.org/wiki/_media/favicon.ico</url>
    </image>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/collisions_with_scrollobjects?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Collisions with ScrollObjects</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/collisions_with_scrollobjects?rev=1759253179&amp;do=diff</link>
        <description>Collisions with ScrollObjects

Collisions can be tested in ScrollObjects using the OnCollide function. The incoming _poCollider is the ScrollObject that is colliding with this ScrollObject.

Also, the individual parts of both ScrollObjects that are colliding are available in the function.</description>
    </item>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/delete_bodypart_from_scrollobject_by_name?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Delete a BodyPart from a ScrollObject by Name</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/delete_bodypart_from_scrollobject_by_name?rev=1759253179&amp;do=diff</link>
        <description>Delete a BodyPart from a ScrollObject by Name


void Ship::DeleteBodyPartByName(const orxSTRING partName) {
    orxOBJECT *ship = this-&gt;GetOrxObject();
    orxBODY *body = orxOBJECT_GET_STRUCTURE(ship, BODY);

    for (orxBODY_PART *part = orxBody_GetNextPart(body, orxNULL); part; part = orxBody_GetNextPart(body, part)) {
        if (orxString_Compare(orxBody_GetPartName(part), partName) == 0) {
            orxBody_RemovePart(part);
        }
    }
}</description>
    </item>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/delete_child_from_scrollobject_by_name?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Delete a Child Object from a ScrollObject by Name</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/delete_child_from_scrollobject_by_name?rev=1759253179&amp;do=diff</link>
        <description>Delete a Child Object from a ScrollObject by Name


void Ship::DeleteChildByName(const orxSTRING childName) {
	
	for (ScrollObject *child = this-&gt;GetOwnedChild(); child; child = child-&gt;GetOwnedSibling()) {
		if (orxString_Compare(child-&gt;GetModelName(), childName) == 0) {
			child-&gt;SetLifeTime(0);
			return;
		}
	}
}</description>
    </item>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/get_child_under_scrollobject_by_name?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Get Child ScrollObject By Name</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/get_child_under_scrollobject_by_name?rev=1759253179&amp;do=diff</link>
        <description>Get Child ScrollObject By Name

Scroll has a pair of methods for finding child objects.

FindChild(path) finds an object located at path under the children hierarchy of this object. It uses orxObject_FindChild internally.

FindOwnedChild(path) finds an object located at</description>
    </item>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/main?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Orx/Scroll Examples</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/main?rev=1759253179&amp;do=diff</link>
        <description>Orx/Scroll Examples

delete_child_from_scrollobject_by_name 
Deleting Child from ScrollObject by Name
get_child_under_scrollobject_by_name 
Get Child under a ScrollObject by Name
delete_bodypart_from_scrollobject_by_name 
Deleting a BodyPart from ScrollObject by Name
scrollobject_start_position 
ScrollObject Start Position
scrollobject_following_scrollobject 
ScrollObject following a ScrollObject
collisions_with_scrollObjects 
Collisions with ScrollObjects</description>
    </item>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobjects_and_custom_classes?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Working with ScrollObjects and Custom Classes</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobjects_and_custom_classes?rev=1759253179&amp;do=diff</link>
        <description>Working with ScrollObjects and Custom Classes

ScrollObjects are Class Templates. They provide many functions such as OnCreate, Update, OnCollide etc.

If we had a scroll object class file, say: Spaceship.cpp, and it had been included and properly bound, We could create an instance of our object with:</description>
    </item>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobject_following_scrollobject?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ScrollObject following another ScrollObject</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobject_following_scrollobject?rev=1759253179&amp;do=diff</link>
        <description>ScrollObject following another ScrollObject

This routine will use the Update function of a ScrollObject, physics and some orxVECTOR math to always try to follow another object.



void Enemy::Update(const orxCLOCK_INFO &amp;_rstInfo)
{
	orxOBJECT *enemyObject = this-&gt;GetOrxObject();

	orxVECTOR enemyPosition = orxVECTOR_0;
	this-&gt;GetPosition(enemyPosition, orxTRUE);

	orxVECTOR playerPosition = orxVECTOR_0;
	playerPosition = karbon_game::GetInstance().GetPlayerPosition(); //you&#039;ll need to implement…</description>
    </item>
    <item rdf:about="https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobject_start_position?rev=1759253179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T17:26:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ScrollObject Start Position</title>
        <link>https://www.orx-project.org/wiki/en/examples/orx_scroll/scrollobject_start_position?rev=1759253179&amp;do=diff</link>
        <description>ScrollObject Start Position

While an object can simply be given a starting position using the Position property in config. The position can even be a range of random positions. This could be enough, however you may wish to customise the position, for example to ensure that the object only appears on the edges of the screen, and nowhere else.</description>
    </item>
</rdf:RDF>
